Date post: | 03-Jan-2015 |
Category: |
Documents |
Upload: | urbano-quiroz |
View: | 6 times |
Download: | 3 times |
(D3) Como programar la (D3) Como programar la integración de integración de aplicaciones utilizando aplicaciones utilizando Microsoft Business Microsoft Business Integrator 3.0Integrator 3.0
Hernan de LahitteHernan de LahitteSoftware ArchitectSoftware [email protected]@lagash.com
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
Roadmap e IniciativaRoadmap e Iniciativa
AudienciaAudiencia
ArquitectosArquitectosEstandarizar el desarrollo de aplicaciones Estandarizar el desarrollo de aplicaciones distribuidasdistribuidas
Lead DevelopersLead DevelopersCustomizar la solución para reunir los Customizar la solución para reunir los requerimientos de una organizaciónrequerimientos de una organización
Arquitectos y DesarrolladoresArquitectos y DesarrolladoresSolución a problemas particularesSolución a problemas particulares
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
RoadmapRoadmap
¿Porque MBI?¿Porque MBI?
Construir soluciones corporativas es Construir soluciones corporativas es una tarea compleja:una tarea compleja:
Escasa Visión Integrada de Arquitectura Escasa Visión Integrada de Arquitectura ITIT
Excesiva problemática técnica por Excesiva problemática técnica por resolverresolver
Aplicaciones de misión críticaAplicaciones de misión crítica
Seguridad y calidad son factores clavesSeguridad y calidad son factores claves
Integración de aplicacionesIntegración de aplicaciones
Necesidad de integrar diferentes canalesNecesidad de integrar diferentes canales
Necesidad de desarrollar soluciones de Necesidad de desarrollar soluciones de negocio más rápidonegocio más rápido
¿Qué es MBI?¿Qué es MBI?
Resuelve escenarios recurrentes de una empresa Resuelve escenarios recurrentes de una empresa corporativacorporativa
Es una arquitectura de referencia para la Es una arquitectura de referencia para la construcción de aplicacionesconstrucción de aplicaciones
Incorpora mejores prácticas de Microsoft Incorpora mejores prácticas de Microsoft CorporationCorporation
Arquitectura de integración común a todos los Arquitectura de integración común a todos los Portfolios de SolucionesPortfolios de Soluciones
Reducción de costos de desarrollo y Reducción de costos de desarrollo y mantenimientomantenimiento
MBI es un MBI es un frameworkframework para crear, ejecutar para crear, ejecutar y mantener aplicaciones corporativas y mantener aplicaciones corporativas basadas en la plataforma Microsoft .NETbasadas en la plataforma Microsoft .NET
OLTPOLTP
Aplicaciones multicanalAplicaciones multicanal
Ruteo on-line de transaccionesRuteo on-line de transacciones
Aplicaciones orientadas a tareasAplicaciones orientadas a tareas
Enterprise Application Integration (EAI)*Enterprise Application Integration (EAI)*
Consistencia de Datos (publicación / Consistencia de Datos (publicación / suscripción)suscripción)
Automatización de Procesos de NegocioAutomatización de Procesos de Negocio
Aplicaciones Compuestas / AgregaciónAplicaciones Compuestas / Agregación
MBI brinda soluciones en estos MBI brinda soluciones en estos escenarios:escenarios:
* Definición del Gartner Group
¿Qué es MBI? – Escenarios ¿Qué es MBI? – Escenarios
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
RoadmapRoadmap
¿Qué es Shadowfax¿Qué es Shadowfax??
Es una Es una Guía de ArquitecturaGuía de Arquitectura para para estandarizar el desarrollo de estandarizar el desarrollo de sistemas sistemas distribuidosdistribuidos
Es un Es un Framework de AplicacionesFramework de Aplicaciones Extensible el cual incorpora recursos Extensible el cual incorpora recursos de la plataforma; ASP.NET-WS, MSMQ, de la plataforma; ASP.NET-WS, MSMQ, Enterprise Services, Remoting, WSE Enterprise Services, Remoting, WSE
Es una Es una Implementación de ReferenciaImplementación de Referencia que usa el Framework en un modelo que usa el Framework en un modelo bancariobancario
Es una iniciativa (PAG) apoyada en un Es una iniciativa (PAG) apoyada en un fuerte feedback de la comunidad y la fuerte feedback de la comunidad y la industriaindustria
Visión de ShadowfaxVisión de Shadowfax
Percibir los beneficios de SOA con Percibir los beneficios de SOA con .NET sin experimentar grandes .NET sin experimentar grandes complicaciones en su complicaciones en su implementaciónimplementación
Estrategia de ShadowfaxEstrategia de Shadowfax
Crear un Framework pensando en Crear un Framework pensando en SOASOA
Basado en las experiencias de socios y Basado en las experiencias de socios y clientes lideresclientes lideres
Proveerá acceso multi-canal a los Proveerá acceso multi-canal a los serviciosservicios
Incorporará bloques y guías existentesIncorporará bloques y guías existentes
Altamente extensible y adaptable Altamente extensible y adaptable (source code)(source code)
Crear una implementación de Crear una implementación de referenciareferencia
Basada en problemática recurrente en Basada en problemática recurrente en sistemas distribuidos de grandes clientessistemas distribuidos de grandes clientes
Modelo ConceptualModelo Conceptual
Todo se reduce a esta Todo se reduce a esta simple interaccisimple interaccióón n pero…pero…Problemas a ResolverProblemas a Resolver
Entrega del mensajeEntrega del mensaje
Cross BoundariesCross Boundaries
Manejo de ErroresManejo de Errores
Soporte de Soporte de TransaccionesTransacciones
El desafEl desafíío es lograr que o es lograr que todo siga siendo asi de todo siga siendo asi de simple pero en un simple pero en un modelo SOAmodelo SOA
Modelo Orientado a Modelo Orientado a ServiciosServicios
Biz Operation Invocation
DataDataSQLSQL
Pipes and FiltersPipes and FiltersImplementationImplementation
Separa la interfase del servicio de sus Separa la interfase del servicio de sus detalles de implementacióndetalles de implementaciónSepara la lógica de negocios de la Separa la lógica de negocios de la lógica de procesamiento transversallógica de procesamiento transversalSepara la lógica de negocios del Separa la lógica de negocios del transporte subyacentetransporte subyacente
InterfaceInterface
Uso de Patterns & Uso de Patterns & PracticesPractices
Patrones DominantesPatrones DominantesService InterfaceService Interface
Delegator (variante del Interceptor)Delegator (variante del Interceptor)
Chain of Responsibility (Pipelines)Chain of Responsibility (Pipelines)
Applications Blocks utilizadosApplications Blocks utilizadosData AccessData Access
Configuration Management Configuration Management
Logging Logging
Authorization & ProfilingAuthorization & Profiling
Service Interface & Service Interface & DelegatorDelegator
Cadena de Cadena de ResponsabilidadResponsabilidad
Un pipeline articula la ejecuciUn pipeline articula la ejecución de la ón de la cadena de handlers y el target como cadena de handlers y el target como end pointend point de la cadena de la cadena
Separación de Separación de FuncionalidadesFuncionalidades
Built-in HandlersBuilt-in HandlersSeguridadSeguridad
AutenticaciAutenticacióón (Windows, DB, Custom, DS)n (Windows, DB, Custom, DS)AutorizaciAutorizacióón (DB, Custom)n (DB, Custom)
InstrumentaciInstrumentación y Loggingón y LoggingPublicaciPublicacióón de Eventosn de EventosInstrumentaciInstrumentación (Perf.Counters)ón (Perf.Counters)Client Trace (Monitoreo)Client Trace (Monitoreo)
MensajeMensajeDetecciDeteccióón de Mensajes Duplicadosn de Mensajes DuplicadosTransformaciTransformacióónnValidaciValidaciónón sint sintácticaáctica
InfraestructuraInfraestructuraManejo de Timeouts de RequestsManejo de Timeouts de RequestsSoporte de Transacciones Atomicas y Compensadas (Long Soporte de Transacciones Atomicas y Compensadas (Long Running)Running)
EscenarioEscenario de de DeploymentDeployment
InternInternetet
Dispositivos
Móviles
Dispositivos
Móviles
ServiceImpl. Svr.Service
Impl. Svr.Service
Interface Svr
Service Interface
Svr
Sistemas Corporativos
Sistemas Corporativos
Aplicaciones
Cliente
Aplicaciones
Cliente
Red Perimetral
Red Perimetral
Red InternaRed Interna
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
RoadmapRoadmap
MBI 3.0 & ShadowfaxMBI 3.0 & Shadowfax
DefiniciónDefiniciónImplementación prescriptiva de Implementación prescriptiva de Shadowfax Shadowfax
Revisada por el equipo de PAG de Microsoft Revisada por el equipo de PAG de Microsoft Corp.Corp.
MBI 3.0 complementa a Shadowfax en MBI 3.0 complementa a Shadowfax en escenarios que Shadowfax aún no escenarios que Shadowfax aún no resuelveresuelve
MBI 3.0 implementa como componente MBI 3.0 implementa como componente central a Shadowfax central a Shadowfax
MBI & Shadowfax proveen el contexto MBI & Shadowfax proveen el contexto adecuado para la construcción de adecuado para la construcción de aplicaciones orientadas a serviciosaplicaciones orientadas a servicios
MBI 3.0 & ShadowfaxMBI 3.0 & Shadowfax
Beneficios adoptadosBeneficios adoptadosCódigo de base mejorado (80% Código de base mejorado (80% Refactoring)Refactoring)
Mayor esfuerzo en horas de pruebasMayor esfuerzo en horas de pruebas
Modelo más flexible y extensible (white Modelo más flexible y extensible (white box)box)
Integración con los Application Blocks Integración con los Application Blocks corporativos (EIF, CMAB, Etc.)corporativos (EIF, CMAB, Etc.)
Maximización del uso de la plataformaMaximización del uso de la plataforma
Decisiones de diseño pensadas en Decisiones de diseño pensadas en compatibilidad y tendencias a futurocompatibilidad y tendencias a futuro
MBI 3.0 y ademas …MBI 3.0 y ademas …
Compatibilidad 100% con MBI 2.xCompatibilidad 100% con MBI 2.xInterfaces, binarios, soporte sInterfaces, binarios, soporte side by sideide by side de de versionesversiones
Confiabilidad y PerformanceConfiabilidad y PerformanceHosting IIS/ASP.NET Health MonitoringHosting IIS/ASP.NET Health MonitoringAislación entre aplicaciones (AppDomains)Aislación entre aplicaciones (AppDomains)
SeguridadSeguridadIIS/Sfx Handlers/Configs/etc.IIS/Sfx Handlers/Configs/etc.
Mantenimiento y OperaciónMantenimiento y OperaciónActualización de configs y assemblies Actualización de configs y assemblies on-the-flyon-the-flyMonitoreo (WMI) y Debugging (Tracers)Monitoreo (WMI) y Debugging (Tracers)
DesarrolloDesarrolloNuevas Tools y WizardsNuevas Tools y Wizards
Diseño sobre ShadowfaxDiseño sobre Shadowfax
Interface Transport: Web Service Interface Transport: Web Service (ex (ex Dispatcher)Dispatcher)
Hosting en IISHosting en IIS
Refactoring en Targets y HandlersRefactoring en Targets y HandlersAuth/Authz handlersAuth/Authz handlers
Command, Providers, Transacciones, Command, Providers, Transacciones, TimeoutTimeout
AppDomainTarget (aislacion entre AppDomainTarget (aislacion entre aplicaciones)aplicaciones)
ActionTarget (Ejecución de Business ActionTarget (Ejecución de Business Actions)Actions)
Conectores y Procesos ExternosConectores y Procesos ExternosMSMQ transport (acople débil con el MSMQ transport (acople débil con el corecore systemsystem))
IISIIS
ExecuteAction
ExecuteBatch
ExecuteAction
ExecuteBatch
Implementation PipelineImplementation Pipeline
Arquitectura MBI 3.0Arquitectura MBI 3.0
Interface PipelineInterface Pipeline
Web Service (Default AppDomain)Web Service (Default AppDomain)
AuthAuth CommandCommand StandInsStandIns AuthzAuthz ApDmTargetApDmTarget
AccionesAccionesAccionesAcciones
Application DomainApplication DomainApplication DomainApplication Domain
Application DomainApplication Domain
TimeoutTimeout HooksHooks TransactionsTransactions OutputProvsOutputProvs ActionTargetActionTarget
WTx
AccionesAcciones
Equipos de DesarrolloEquipos de Desarrollo
Equipo de Web UIEquipo de Web UI
Enfocado sólo en la Enfocado sólo en la capa de capa de presentaciónpresentación
Piensa en enviar y Piensa en enviar y recibir mensajesrecibir mensajes
Pasa Pasa requerimientos al requerimientos al equipo de serviciosequipo de servicios
Equipo de ServiciosEquipo de Servicios
Enfocado sólo en la Enfocado sólo en la capa de servicioscapa de servicios
Piensa en recibir y Piensa en recibir y devolver mensajesdevolver mensajes
No diseñan en una No diseñan en una “burbuja” (Interop)“burbuja” (Interop)
Equipos de DesarrolloEquipos de Desarrollo
Equipo de Web UIEquipo de Web UI
En su “burbuja”En su “burbuja”
Desean una Desean una respuesta rápidarespuesta rápida
Desean un fácil Desean un fácil acceso a los datosacceso a los datos
Equipo de ServiciosEquipo de Servicios
Piensa a largo Piensa a largo plazoplazo
Construye servicios Construye servicios autónomosautónomos
No confía en nadie No confía en nadie (Seguridad)(Seguridad)
TensiónTensión
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
RoadmapRoadmap
Pip
elines
Pip
elines
TaskTaskTaskTareaSistemas Externos
TaskTaskTaskTarea
AplicaciónAplicación
Pip
elines
Pip
elines
Servicios
Entity
Entity
Entity
BusinessAction
BusinessAction
BusinessAction
Sistemas Externos
•TransferFunds
•GetBalances
•PayBill
•Customer
•Account
•PaymentOrder
ServiciosServicios
Modelos de InvocaciónModelos de Invocación
Interfaz centrada en Interfaz centrada en CommandCommand PatternPattern
Interfaz centrada en el MensajeInterfaz centrada en el Mensaje
[WebServiceInterfaceAdapter][WebServiceInterfaceAdapter]
[WebMethod][WebMethod]
MessageResponse ExecuteAction(MessageRequest req)MessageResponse ExecuteAction(MessageRequest req)
{{
}}
[WebMethod][WebMethod]
MyActionResponse MyAction(MyActionRequest req)MyActionResponse MyAction(MyActionRequest req)
{{
DispWebMethod dwm = new DispWebMethod(); DispWebMethod dwm = new DispWebMethod();
… …
}}
Modelo de Aplicación Modelo de Aplicación con MBI 3.0con MBI 3.0
AgendaAgenda
Introducción a MBIIntroducción a MBI
Introducción a ShadowfaxIntroducción a Shadowfax
Arquitectura de MBI 3.0Arquitectura de MBI 3.0
Implementación de AplicacionesImplementación de Aplicaciones
RoadmapRoadmap
MBI 3.0 & ShadowfaxMBI 3.0 & Shadowfax
2002 2003 2004
MBI 2.X
MBI 1.X
ShadowfaxMBI 3.0 (Powered by Shadowfax)
Evolución de MBI como Framework Evolución de MBI como Framework para Arquitectura de Aplicaciones para Arquitectura de Aplicaciones CorporativasCorporativas
2005
Resumen MBI 3.0Resumen MBI 3.0
Mejor implementación sobre Mejor implementación sobre ShadowfaxShadowfax
Con un ojo puesto en las tecnologías Con un ojo puesto en las tecnologías emergentes y tendencias del mercadoemergentes y tendencias del mercado
Permite una evolución gradual entre Permite una evolución gradual entre ambas Arq.ambas Arq.
Complementa con servicios propios de Complementa con servicios propios de MBIMBI
Alineado con las guías y documentos de Alineado con las guías y documentos de PAG PAG
Full Compatible con MBI 2.xFull Compatible con MBI 2.xInterfaces, Binarios, ConfiguraciónInterfaces, Binarios, Configuración
Experiencia simple de migración y Experiencia simple de migración y deploymentdeployment
MBI 3.0 – IniciativaMBI 3.0 – Iniciativa
RecursosRecursosLista de distribuciónLista de distribución
Workspace en GotDotNet Workspace en GotDotNet http://www.gotdotnet.com/Community/Workspahttp://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=49485933-6169-4571-ces/workspace.aspx?id=49485933-6169-4571-987f-7865087b09c6987f-7865087b09c6
Versión de MBI actual: 2.1.0.0Versión de MBI actual: 2.1.0.0
Beta 1 de MBI 3.0 disponible en octubreBeta 1 de MBI 3.0 disponible en octubre
Información: Información: [email protected]@microsoft.com
Shadowfax InfoShadowfax Info
GotDotNet WorkspaceGotDotNet Workspacehttp://workspaces.gotdotnet.com/shadowfxhttp://workspaces.gotdotnet.com/shadowfx
Wiki Wiki http://channel9.msdn.com/wiki/default.aspx/Channel9http://channel9.msdn.com/wiki/default.aspx/Channel9.ShadowfaxWiki.ShadowfaxWiki
Patterns & Practices Patterns & Practices http://www.microsoft.com/practiceshttp://www.microsoft.com/practices
Weblog Weblog http://weblogs.asp.net/hernandlhttp://weblogs.asp.net/hernandl http://www.gotdotnet.com/workspaces/rss.aspx?http://www.gotdotnet.com/workspaces/rss.aspx?id=9c29a963-594e-4e7a-9c45-id=9c29a963-594e-4e7a-9c45-576198df8058&feed=news576198df8058&feed=news
PreguntasPreguntas