Introducción a SOA

15,249 views

Published on

7 Comments
46 Likes
Statistics
Notes
No Downloads
Views
Total views
15,249
On SlideShare
0
From Embeds
0
Number of Embeds
337
Actions
Shares
0
Downloads
0
Comments
7
Likes
46
Embeds 0
No embeds

No notes for slide

Introducción a SOA

  1. 1. SOA Workshop: Introducción a SOA Ing. Diego Campodónico [email_address]
  2. 2. <ul><li>Entender que significa SOA. </li></ul><ul><li>Comprender los conceptos básicos de SOA desde el punto de vista tecnológico y de negocio. </li></ul><ul><li>Relación entre SOA, la estrategias de IT, las estrategias de negocio y la compañía. </li></ul><ul><li>Identificar los elementos que forman y estructuran una arquitectura SOA. </li></ul>Objetivos
  3. 3. <ul><li>¿Qué es SOA? </li></ul><ul><li>Inicios de SOA y SOA hoy. </li></ul><ul><li>SOA y el negocio. </li></ul><ul><li>Arquitectura SOA </li></ul><ul><ul><li>Servicios </li></ul></ul><ul><ul><li>Contrato </li></ul></ul><ul><ul><li>Endpoint </li></ul></ul><ul><ul><li>Mensaje </li></ul></ul><ul><ul><li>Políticas </li></ul></ul><ul><li>Principios </li></ul><ul><li>Arquitectura de referencia </li></ul>Agenda
  4. 4. <ul><li>EAI </li></ul><ul><li>ESB </li></ul><ul><li>BPM </li></ul><ul><li>BPEL </li></ul><ul><li>BAM </li></ul><ul><li>CEP </li></ul><ul><li>Canonical Model </li></ul><ul><li>Portal </li></ul><ul><li>SOA Governance </li></ul><ul><li>Register </li></ul>Agenda
  5. 5. <ul><li>SOA = Service Oriented Ambiguity? </li></ul><ul><ul><li>http://www.martinfowler.com/bliki/ServiceOrientedAmbiguity.html </li></ul></ul><ul><li>SOA = Web Services? </li></ul><ul><ul><li>SOA es exponer servicios usando web services? </li></ul></ul><ul><ul><li>Usar Web Services no significa estar usando SOA. </li></ul></ul><ul><ul><li>Se puede implementar SOA sin utilizar Web Services. </li></ul></ul>¿Qué es SOA?
  6. 6. <ul><li>Es un componente de software que puede ser accedida a través de un protocolo estándar y abierto, usando XML. </li></ul><ul><li>Conecta sistemas heterogéneos en plataforma, tecnología y lenguaje. </li></ul><ul><li>Expone una interface bien definida y descripta. </li></ul><ul><li>Estándares: </li></ul><ul><ul><li>HTTP, HTTPS, FTP: Protocolo de transporte. </li></ul></ul><ul><ul><li>XML: Mensajería </li></ul></ul><ul><ul><li>SOAP: Descripción del mensaje </li></ul></ul><ul><ul><li>WSDL: Descripción del servicio </li></ul></ul><ul><ul><li>UDDI: Registración y organización de los servicios </li></ul></ul><ul><ul><li>WS-* </li></ul></ul>Web Services
  7. 7. <ul><li>SOA = Integración? </li></ul><ul><ul><li>Con SOA puedo llevar adelante la implementación de una arquitectura de integración. </li></ul></ul><ul><ul><li>Pero SOA no es solo integración de sistemas. </li></ul></ul><ul><li>Significa cosas diferentes para diferentes personas. </li></ul>¿Qué es SOA?
  8. 8. <ul><li>SOA es un estilo de arquitectura que enfatiza el uso de servicios de red, seguros, compartibles, de grano fino y desacoplados para incrementar la flexibilidad del negocio de una manera interoperable agnóstica tecnológicamente. </li></ul><ul><li>SOA es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos del negocio. </li></ul><ul><ul><li>http://es.wikipedia.org/wiki/Arquitectura_orientada_a_servicios </li></ul></ul><ul><li>SOA es un paradigma arquitectural que favorece la creación de aplicaciones via la orquestación de los servicios que interactúan a través de una variedad de interfaces basados en estándares. </li></ul>¿Qué es SOA?
  9. 9. <ul><li>Como arquitectura: </li></ul><ul><ul><li>Basada en estándares (XML, HTTP, SOAP, WSDL, RPC, Rest, etc.) </li></ul></ul><ul><ul><li>Facilita: </li></ul></ul><ul><ul><ul><li>Interoperabilidad </li></ul></ul></ul><ul><ul><ul><li>Reutilización </li></ul></ul></ul><ul><ul><ul><li>Integración </li></ul></ul></ul><ul><ul><ul><li>Agilidad. Acerca IT al negocio </li></ul></ul></ul><ul><ul><li>Service-orientation: </li></ul></ul><ul><ul><ul><li>Bajo acoplamiento </li></ul></ul></ul><ul><ul><ul><li>Composición y orquestación </li></ul></ul></ul><ul><ul><ul><li>Encapsulación </li></ul></ul></ul><ul><ul><ul><li>Contrato </li></ul></ul></ul><ul><ul><ul><li>Statelessnes </li></ul></ul></ul>¿Qué es SOA?
  10. 10. <ul><li>Como estrategia de IT: </li></ul><ul><ul><li>Organiza las funciones contenidas en aplicaciones empresariales convirtiéndolas en servicios. </li></ul></ul><ul><ul><li>Se aproxima a la estrategia de negocio de la empresa </li></ul></ul><ul><ul><ul><li>Reduce costos </li></ul></ul></ul><ul><ul><ul><li>Aumenta el ROI </li></ul></ul></ul><ul><ul><ul><li>Disminuye el Time-To-Market </li></ul></ul></ul><ul><ul><ul><li>Mejora el aprovechamiento de recursos y la productividad </li></ul></ul></ul><ul><li>Como estrategia de negocio: </li></ul><ul><ul><li>Compromiso organizacional que permita adoptar las premisas de dicho paradigma y enmarcarlas dentro de la estrategia de la empresa. </li></ul></ul><ul><ul><li>Implica un cambio de mentalidad tanto desde las líneas directivas como de las áreas operativas de la empresa. </li></ul></ul>¿Qué es SOA?
  11. 11. Integración punto a punto Dependencia entre sistemas Dificultad de mantenimiento Alto acoplamiento Responsabilidades poco claras
  12. 12. Service Oriented Architecture
  13. 13. <ul><li>El termino SOA fue usado por primera vez por Gartner en 1996. </li></ul><ul><li>Hacia foco en la interacción entre módulos (consumidor y proveedor) usando comunicación request/response. </li></ul><ul><ul><li>Fue una evolución a RPC. </li></ul></ul><ul><li>En 2003 logra ingresar al mercado por medio de los web services. </li></ul><ul><ul><li>Estandarización </li></ul></ul><ul><ul><li>Flexibilidad </li></ul></ul><ul><ul><li>Firewall friendly </li></ul></ul><ul><ul><li>Diversas empresas (IBM, Microsoft, Sun, Oracle, etc.) </li></ul></ul>SOA en sus inicios.
  14. 14. <ul><li>Hoy en día SOA se ve como </li></ul><ul><ul><li>Una estrategia de IT </li></ul></ul><ul><ul><li>Una estrategia de negocio </li></ul></ul><ul><ul><li>Un estilo de Arquitectura de software </li></ul></ul><ul><ul><li>Una arquitectura empresarial </li></ul></ul><ul><ul><li>Un nuevo paradigma </li></ul></ul><ul><ul><li>Una filosofía de trabajo </li></ul></ul>SOA hoy.
  15. 15. <ul><li>Microsoft </li></ul><ul><li>IBM </li></ul><ul><li>Tibco </li></ul><ul><li>Oracle </li></ul><ul><li>Software AG </li></ul><ul><li>SAP </li></ul><ul><li>Sonic Software </li></ul><ul><li>Etc. </li></ul>Proveedores de SOA
  16. 16. <ul><li>IT juega un rol fundamental en la estrategia de negocio de una empresa. </li></ul><ul><li>Sin embargo, la estrategia de IT no es vista como “socia” de la estrategia de negocio. </li></ul><ul><ul><li>Frecuentemente es percibida como lenta y no se mueve con la velocidad que el negocio requiere </li></ul></ul><ul><li>Esto genera un gap entre las necesidades del negocio y la ejecución de IT. </li></ul>SOA, el negocio y las empresas Business GAP
  17. 17. SOA, el negocio y las empresas <ul><li>Las compañías y empresas desarrollan las estrategias de negocio por un lado y luego intentan implementarlas a través de una estrategia de IT separada. </li></ul><ul><li>Las estrategias son consideradas desde puntos de vista diferentes. </li></ul><ul><ul><li>Business strategy: Considera la empresa en su conjunto a largo plazo </li></ul></ul><ul><ul><li>IT strategy: Se considera a corto plazo para atender las necesidades puntuales de una línea de negocio. </li></ul></ul><ul><li>El resultado es un programa IT en silos que no es compatible con la empresa en su conjunto. </li></ul>
  18. 18. SOA, el negocio y las empresas La realidad es que existen procesos “cross” que involucran más de un aspecto del negocio y que estos suelen ser los de mayor valor para la empresa. Ventas Producto Logística Almacenes Ventas: Desde el cliente hasta la entrega Realizar Campañas
  19. 19. <ul><li>Desafíos: </li></ul><ul><ul><li>IT soporte el negocio y responsa rápidamente a necesidades de cambios. </li></ul></ul><ul><ul><li>Aumentar la productividad. </li></ul></ul><ul><ul><li>Minimizar el gap entre las necesidades de negocio y la ejecución de IT. </li></ul></ul><ul><li>Esto requiere cambios fundamentales y fundacionales para alineas ambas estrategias. </li></ul><ul><li>SOA Program </li></ul>SOA, el negocio y las empresas
  20. 20. SOA, el negocio y las empresas Ventas Producto Logística Almacenes Ventas: Desde el cliente hasta la entrega Realizar Campañas Las aplicaciones existentes no suelen soportar bien la dinámica de cambio en los procesos “cross-organizational” App Ventas (Vendor A) App Prod. (Vendor B) Logistica (Excel) Ordenes (Custom) SOA Business y IT son socios
  21. 21. SOA, el negocio y las empresas Lógica de negocio Lógica de aplicación Modelo del negocio y lógica de los dominios (altamente acoplados)
  22. 22. SOA, el negocio y las empresas Lógica de negocio Lógica de aplicación Modelo del negocio, modelo de servicios y lógica de los dominios (Los servicios se interponen entre las aplicaciones y la lógica del negocio) Aplicación A Aplicación B Aplicación C Servicios
  23. 23. SOA, el negocio y las empresas Lógica de negocio Lógica de aplicación Modelo del negocio, modelo de servicios y lógica de los dominios (Los servicios abstraen la conectividad de las aplicaciones y sus entornos) Aplicación A Aplicación B Aplicación C Servicios Los servicios hacen convergente al negocio con la lógica de las aplicaciones
  24. 24. <ul><li>SOA requiere cambios en la cultura de una organización. </li></ul><ul><ul><li>La manera en que las personas trabajan </li></ul></ul><ul><ul><li>En como piensan </li></ul></ul><ul><ul><li>En como lograr entregar funcionalidad al negocio </li></ul></ul><ul><li>Un programa SOA es una forma. </li></ul><ul><ul><li>Promueve compartir y entender la estrategia de negocio global. </li></ul></ul><ul><ul><li>Define el roadmap a seguir. </li></ul></ul><ul><ul><li>Define la arquitectura (dinámica y basada en estándares) </li></ul></ul><ul><ul><li>Identifica y optimiza los procesos de negocio. </li></ul></ul><ul><ul><li>Determina las prioridades para el desarrollo de servicios. </li></ul></ul><ul><ul><li>Establece el governance para asegurar que los procesos, políticas y estándares sean seguidos. </li></ul></ul>SOA Program
  25. 25. <ul><li>Estilo de arquitectura que permite construir sistemas basados en la interacción de componentes autónomos de granularidad gruesa llamados servicios . </li></ul><ul><li>Cada servicio expone procesos y comportamiento a través de contratos. </li></ul>Arquitectura SOA
  26. 26. <ul><li>“ una facilidad para suministrar alguna demanda pública” </li></ul><ul><ul><li>Merriam Webster </li></ul></ul><ul><li>“ un mecanismo para acceder a una o mas capacidades, donde el acceso es provisto por medio de una interface prescripta y se ejerce de conformidad con restricciones y políticas tal cual se especifica en la descripción del servicio” </li></ul><ul><ul><li>OASIS </li></ul></ul><ul><li>Es una unidad bien definida de funcionalidad que es accesible vía un protocolo estándar y puede ser invocada por medio de una interface bien definida. Dentro de una arquitectura SOA el servicio sigue un conjunto de principios y puede estar monitoreado y manejado. </li></ul>Servicio
  27. 27. <ul><li>Cada recurso de IT, ya sea una aplicación, sistema, partner, puede ser accedido por medio de un servicio. </li></ul><ul><li>Mediante la composición de servicios se logran crear nuevos servicios que implementan nueva lógica de negocios. </li></ul><ul><ul><li>Rápida respuesta a los cambios del negocio. </li></ul></ul><ul><ul><li>Reducción de costos. </li></ul></ul><ul><ul><li>Reduce la complejidad. </li></ul></ul>Servicio
  28. 28. <ul><li>El contrato es la colección de todos los mensajes que puede soportar el servicio. </li></ul><ul><li>El contrato es unilateral. </li></ul><ul><li>El contrato puede ser considerado como la interface del servicio. </li></ul><ul><li>El endpoint es la dirección (URI) donde el servicio puede ser encontrado y consumido. </li></ul><ul><li>Un contrato especifico puede ser expuesto en un endpoint especifico. </li></ul>Contrato y endpoint
  29. 29. <ul><li>La unidad comunicacional de SOA es el mensaje. </li></ul><ul><li>Un mensaje tiene: </li></ul><ul><ul><li>Header: Información genérica. Puede ser entendido por componentes de infrastructura o frameworks. Por ejemplo: Seguridad, Ruteo de mensajes, etc. </li></ul></ul><ul><ul><li>Body: Información particular del mensaje </li></ul></ul>Mensaje
  30. 30. <ul><li>Las políticas separan la especificación dinámica de la estática/semántica. </li></ul><ul><li>Una política representa condiciones para la especificación semántica para los consumidores del servicio. </li></ul><ul><li>Los aspectos de una política pueden ser actualizados en runtime y son externos a la lógica de negocio. </li></ul><ul><li>Ejemplo: </li></ul><ul><ul><li>SLA </li></ul></ul><ul><ul><li>Auditoria </li></ul></ul><ul><ul><li>Seguridad </li></ul></ul>Políticas
  31. 31. <ul><li>Bajo acoplamiento: </li></ul><ul><ul><li>La relación entre los servicios minimiza las dependencias </li></ul></ul><ul><li>Definición de un contrato de servicio: </li></ul><ul><ul><li>Los servicios adhieren a un acuerdo de comunicación definido en los descriptores de servicios </li></ul></ul><ul><li>Autonomía: </li></ul><ul><ul><li>Los servicios tiene control total sobre la lógica que encapsulan </li></ul></ul><ul><li>Abstracción: </li></ul><ul><ul><li>Fuera de lo que se describe en los contratos de servicio los mismos ocultan su lógica al mundo exterior. </li></ul></ul><ul><li>Reusabilidad: </li></ul><ul><ul><li>La lógica se distribuye en los servicios con la intención de reusabilidad. </li></ul></ul>Principios
  32. 32. <ul><li>Composición: </li></ul><ul><ul><li>Se combinarán colecciones de servicios coordinándolos y ensamblándolos de manera que se formen servicios compuestos </li></ul></ul><ul><li>Sin estado </li></ul><ul><ul><li>Los servicios minimizarán la retención de información específica de una actividad </li></ul></ul><ul><li>Descubrimiento </li></ul><ul><ul><li>Los servicios son diseñados de manera que sea posible describirlos para que puedan ser encontrados y accedidos vía mecanismos de descubrimiento. </li></ul></ul>Principios
  33. 33. Principios
  34. 34. <ul><li>Una arquitectura de referencia refiere a la definición de una arquitectura para un dominio en particular. </li></ul><ul><li>Describe en alto nivel los elementos involucrados y sus interacciones en un software en un dominio. Los elementos son diseñados intencionalmente en alto nivel para poder aplicar a un gran número de sistemas para ese dominio. </li></ul><ul><li>Una arquitectura de referencia SOA es la definición de SOA dentro de un dominio. Es un framework que ayuda a guiar la implementación de SOA, y debe ser tomado como un canal de comunicación de las especificaciones de arquitectura. </li></ul>Arquitectura de referencia
  35. 35. Arquitectura de referencia
  36. 36. <ul><li>Surgió como intento para resolver la integración de sistemas empresariales ( enteprise integration spaghetti ). </li></ul><ul><li>Logro el objetivo de conectar aplicaciones y transferir datos entre estas en una forma no-estándar (o semi-estándar). </li></ul>Enterprise Application Integration
  37. 37. <ul><li>Arquitectura Hub and spoke (o bus) </li></ul><ul><li>Pero ha fallado en: </li></ul><ul><ul><li>No estándar </li></ul></ul><ul><ul><li>Conectores y adaptadores propietarios. </li></ul></ul><ul><ul><li>Centrado en datos y aplicaciones pero no en procesos ni servicios. </li></ul></ul><ul><ul><li>No puede seguir el ritmo de los procesos de negocio. </li></ul></ul><ul><ul><li>Son complejas técnicamente. </li></ul></ul><ul><ul><li>Por lo general dependen de un vendor. Costosas. </li></ul></ul><ul><ul><li>Son centralizados. </li></ul></ul><ul><ul><li>No existe abstracción. </li></ul></ul>Enterprise Application Integration
  38. 38. <ul><li>“ Infraestructura software que posibilita SOA, al actuar como una capa de middleware de intermediación a través del cual se puede acceder a un conjunto de servicios de negocio reutilizables” </li></ul><ul><ul><li>Mike Gilpin, Forrester Research, Agosto 2004 </li></ul></ul><ul><li>Es el componente encargado de conectar a todos los participantes en un SOA. </li></ul><ul><li>Permite una abstracción a nivel de servicios. </li></ul><ul><li>Es un elemento fundamental para la implementación de SOA. </li></ul>Enterprise Service Bus
  39. 39. <ul><li>Incorpora diferentes tecnologías: </li></ul><ul><ul><li>MOM </li></ul></ul><ul><ul><li>Web Services </li></ul></ul><ul><ul><li>REST </li></ul></ul><ul><ul><li>Legacy connectors </li></ul></ul><ul><li>Hace un intensivo uso de estándares (XML, WS, WSLD, HTTP). </li></ul><ul><li>Implementa o lleva a la implementación de patrones de integración. </li></ul><ul><ul><li>Enterprise Integration Patterns (Gregor Hohpe) </li></ul></ul>Enterprise Service Bus
  40. 40. <ul><li>Características: </li></ul><ul><ul><li>Conectividad : Suministra interconexión de los participantes en una SOA. Servicios y aplicaciones (front-end) pueden invocar funcionalidad de otros servicios. </li></ul></ul><ul><ul><li>Soporte a tecnologías heterogéneas : Suministra compatibilidad con estándares y tecnologías, protocolos y plataformas propietarias. </li></ul></ul><ul><ul><li>Soporte a paradigmas de comunicación : Da soporte a comunicación sincroniza y asincrónica, así como también a capacidades de integración: transformación y enrutamiento de mensajes, auditoria, logging, transacciones, seguridad, etc. </li></ul></ul><ul><li>Beneficios: </li></ul><ul><ul><li>Bajo acoplamiento. </li></ul></ul><ul><ul><li>Location Transparency </li></ul></ul><ul><ul><li>Service orquestation </li></ul></ul>Enterprise Service Bus
  41. 41. Enterprise Service Bus 
  42. 42. EAI vs ESB EAI ESB Dependen del vendor Soporta estandares Centralizado Distribuido Integra aplicaciones Integra servicios Hub and Spoke Bus Baja escalabilidad Modelo federado Alto costo Costo flexible
  43. 43. <ul><li>Un proceso de negocio es un conjunto de actividades que generan un valor para la empresa. </li></ul><ul><li>Un  proceso de negocio  es un conjunto de tareas relacionadas lógicamente llevadas a cabo para lograr un resultado de negocio definido. </li></ul><ul><li>La orientación SOA permite modelar un proceso como una “orquestación” de servicios. </li></ul><ul><li>Ejemplo: </li></ul><ul><ul><li>Otorgar un crédito (banco). </li></ul></ul><ul><ul><li>Activar una línea (Telco). </li></ul></ul><ul><ul><li>Presentar una DDJJ (Gubernamental). </li></ul></ul>Proceso de negocio
  44. 44. <ul><li>Un proceso de negocio se compone de: </li></ul><ul><ul><li>Actividades: Son las tareas (humanas o automatizadas) dentro del proceso. </li></ul></ul><ul><ul><li>Roles y usuarios: Son los responsables de ejecutar las tareas. </li></ul></ul><ul><ul><li>Objetivo de negocio. </li></ul></ul><ul><ul><li>Flujos: Secuencia que se define entre las actividades. </li></ul></ul><ul><ul><li>Decisiones: Criterios para tomar distintas direcciones en un flujo. </li></ul></ul><ul><ul><li>Subprocesos </li></ul></ul>Proceso de negocio
  45. 45. <ul><li>Es el conjunto de servicios y herramientas que facilitan la administración de procesos de negocio. </li></ul><ul><ul><li>Por administración de procesos entendemos: análisis, definición, ejecución, monitoreo, y control de los procesos. </li></ul></ul><ul><li>Un BPM crear, modela, ejecuta y optimizar procesos de negocio. </li></ul><ul><li>La adopción de SOA y BPM están muy relacionadas. Un reciente estudio de Forrester mostró que el 92% de los encuestados que estaban implementando SOA también consideraban que BPM es importante para el futuro de su organización. </li></ul>Business Process Management
  46. 46. <ul><li>Herramientas: </li></ul><ul><ul><li>Modelador: Diseñar procesos de negocio </li></ul></ul><ul><ul><li>IDE: Desarrollar/integrar los servicios para implementar el proceso. </li></ul></ul><ul><ul><li>Monitor </li></ul></ul>Business Process Management
  47. 47. Business Process Management Ejemplo: Proceso de negocio: Aprobación de reintegros (Prepaga) a través de la web. Notación: BPMN
  48. 48. Business Process Management
  49. 49. <ul><li>Notaciones: </li></ul><ul><ul><li>BPMN: Intalio BPMS, TIBCO Business Studio </li></ul></ul><ul><ul><li>BPEL: IBM WebSphere Business Modeler, Oracle BPEL Process Manager </li></ul></ul><ul><ul><li>XPDL: TIBCO Business Studio, JBoss JBPM </li></ul></ul><ul><li>BPM se ejecuta: </li></ul><ul><ul><li>BPMN engine: Intalio BPMS, ActiveMatrix BPM </li></ul></ul><ul><ul><li>BPEL engine: Intalio BPMS, IBM WebSphere Process Server, Oracle BPEL Process Manager </li></ul></ul>Business Process Management
  50. 50. Business Process Management
  51. 51. <ul><li>Es una lenguaje estandarizado (por OASIS) para la composición y orquestación de Web Services. </li></ul><ul><li>Es un lenguaje basado en XML para describir la lógica que orquesta la interacción entre web services en un proceso de negocio. </li></ul>Business Process Execution Language
  52. 52. Business Process Execution Language
  53. 53. Business Process Execution Language <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <process name=&quot;SynchronousSample&quot; targetNamespace=&quot;http://enterprise.netbeans.org/bpel/SynchronousSample2/SynchronousSample&quot; xmlns=&quot;http://docs.oasis-open.org/wsbpel/2.0/process/executable&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:sxt=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace&quot; xmlns:sxed=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor&quot; xmlns:tns=&quot;http://enterprise.netbeans.org/bpel/SynchronousSample2/SynchronousSample&quot; xmlns:ns0=&quot;http://xml.netbeans.org/schema/SynchronousSample&quot;> <import namespace=&quot;http://j2ee.netbeans.org/wsdl/SynchronousSample&quot; location=&quot;SynchronousSample.wsdl&quot; importType=&quot;http://schemas.xmlsoap.org/wsdl/&quot;/> <partnerLinks> <partnerLink name=&quot;PartnerLink1&quot; xmlns:tns= http://j2ee.netbeans.org/wsdl/SynchronousSample partnerLinkType=&quot;tns:SynchronousSample&quot; myRole=&quot;SynchronousSamplePortTypeRole&quot;/> </partnerLinks> <variables> <variable name=&quot;outputVar&quot; xmlns:tns=&quot;http://j2ee.netbeans.org/wsdl/SynchronousSample&quot; messageType=&quot;tns:SynchronousSampleOperationResponse&quot;/> <variable name=&quot;inputVar&quot; xmlns:tns=&quot;http://j2ee.netbeans.org/wsdl/SynchronousSample&quot; messageType=&quot;tns:SynchronousSampleOperationRequest&quot;/> </variables> <sequence> <receive name=&quot;start&quot; createInstance=&quot;yes&quot; partnerLink=&quot;PartnerLink1&quot; operation=&quot;SynchronousSampleOperation“ xmlns:tns=&quot;http://j2ee.netbeans.org/wsdl/SynchronousSample&quot; portType=&quot;tns:SynchronousSamplePortType&quot; variable=&quot;inputVar&quot;/> <assign name=&quot;Assign1&quot;> <copy> <from>$inputVar.inputType/ns0:paramA</from> <to>$outputVar.resultType/ns0:paramA</to> </copy> </assign> <reply name=&quot;end&quot; partnerLink=&quot;PartnerLink1&quot; operation=&quot;SynchronousSampleOperation“ xmlns:tns=&quot;http://j2ee.netbeans.org/wsdl/SynchronousSample&quot; portType=&quot;tns:SynchronousSamplePortType&quot; variable=&quot;outputVar&quot;/> </sequence> </process>
  54. 54. Business Process Execution Language
  55. 55. <ul><li>El verdadero valor de SOA, y BPMS, es la visibilidad que se provee de la operaciones de negocio. </li></ul><ul><ul><li>Visualizar en tiempo real e histórica las actividades de los procesos. </li></ul></ul><ul><ul><li>Monitorear la performance de los procesos de negocio, y su estado. </li></ul></ul><ul><ul><li>Obtener indicadores de performance y SLA. </li></ul></ul><ul><li>BAM es una tecnología que muestra en tiempo real el estado y evolución de las actividades de negocio. </li></ul>Business Activity Monitoring
  56. 56. <ul><li>El objetivo de BAM proveer información en tiempo real acerca del estado y resultados de diversas operaciones, procesos y transacciones. La mayor aportación es permitir a la organización tomar decisiones en base a información más completa y real, identificar rápidamente las causas y poder reorientar las organizaciones para sacar ventaja de las oportunidades. </li></ul><ul><li>Tablero de control o dashboard. </li></ul>Business Activity Monitoring
  57. 57. <ul><li>Es una técnica para el procesamiento de gran cantidad de eventos (flujos de mensajes) y descubrir patrones complejos entre múltiples flujos de datos. </li></ul><ul><li>CEP se nutre de la información asociada a los eventos que ocurren en la organización, a partir de los propios procesos ya sean de BPM o internos de un sistema. Un CEP recoge los eventos en tiempo real, los correlaciona con el histórico y extrae conclusiones para lanzar acciones o asistir al directivo en decisiones que le permitan adaptar la organización al mercado. </li></ul>Complex Event Processing
  58. 58. <ul><li>Beneficios: </li></ul><ul><ul><li>Visibilidad: Sistemas, aplicaciones </li></ul></ul><ul><ul><li>Predicción </li></ul></ul><ul><ul><li>Inferir comportamientos </li></ul></ul><ul><ul><li>Información en tiempo real </li></ul></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>Detección de fraudes </li></ul></ul><ul><ul><li>Gestión de SLAs. </li></ul></ul><ul><ul><li>Logística y operación de vuelos. </li></ul></ul><ul><ul><li>Análisis de acciones en el mercado financiero. </li></ul></ul>Complex Event Processing
  59. 59. <ul><li>Sirve de interface homogénea y única para las aplicaciones SOA y BPM. </li></ul><ul><li>Provee una visualización única de todas las herramientas y aplicaciones que un usuario final requiere para ejecutar su trabajo. </li></ul><ul><li>El objetivo es lograr reutilización y customización a nivel de presentación (portlets). </li></ul><ul><li>Mejora la administración de recursos. </li></ul>Portal
  60. 60. <ul><li>Dentro de una organización tendremos: </li></ul><ul><ul><li>cientos o miles de servicios en donde cada servicio expone un contrato bien definido. </li></ul></ul><ul><ul><li>cientos de entidades de negocio que es necesario modelar. </li></ul></ul><ul><li>Los servicios implementan lógica de negocio… </li></ul><ul><ul><li>Los servicios de negocio usen las entidades de negocio. </li></ul></ul><ul><ul><li>Las entidades de negocio serán parte de la entrada o la salida de cada servicio. </li></ul></ul><ul><li>Si cada servicio utiliza un modelo de datos particular para representar una entidad de negocio… </li></ul><ul><ul><li>Transformaciones entre modelos de datos </li></ul></ul><ul><ul><ul><li>Incrementa el desarrollo </li></ul></ul></ul><ul><ul><ul><li>Diseño complejo </li></ul></ul></ul><ul><ul><ul><li>Overhead en runtime </li></ul></ul></ul>Canonical Model
  61. 61. <ul><li>Un modelo de datos canónico define de manera estandarizada a las entidades de negocio de la organización. </li></ul><ul><li>Los servicios, en su contrato, usan este modelo estándar </li></ul><ul><ul><li>Evitando así transformaciones. </li></ul></ul><ul><ul><li>Desacoplando a nivel de mensaje los sistemas. </li></ul></ul><ul><li>Existirán servicios que no pueden aplicar el modelo canónico </li></ul><ul><ul><li>Habrá transformaciones pero siempre entre el tipo particular y el modelo canónico. </li></ul></ul><ul><li>Los mensajes dentro del ESB siempre tendrán la forma canónica. </li></ul>Canonical Model
  62. 62. <ul><li>SOA: </li></ul><ul><ul><li>Cambia la forma de pensar basada en aplicaciones a una perspectiva que abarque toda la empresa. </li></ul></ul><ul><ul><li>Es necesario poder controlar la forma en la que se cumple con los flujos de trabajo y la forma en la que se desarrollan, implementan y gestionan los servicios durante todo su ciclo de vida para así cumplir los objetivos de negocios de la empresa. </li></ul></ul><ul><ul><li>Los servicios desarrollados en un área deben poder ser reutilizados por procesos a lo largo de la organización. </li></ul></ul><ul><li>El gobierno (o gobernabilidad) SOA ofrece a las organizaciones la capacidad de definir, promover y contabilizar las mejores prácticas SOA, estándares y alineación de las necesidades de negocio con TI y los servicios generados. </li></ul>Governance
  63. 63. <ul><li>“ El conjunto de normas, prácticas, funciones, responsabilidades y acuerdos (tanto formales como informales) que controlan la forma en la que trabajamos” </li></ul><ul><ul><li>IBM </li></ul></ul><ul><li>El Governance es la tecnología que permite no sólo tener visibilidad sobre la arquitectura SOA completa, sus servicios y rendimiento, sino también gobernar la plataforma en su día a día y su evolución con un enfoque “end-to-end” donde las interrelaciones entre servicios, proveedores y consumidores sean visibles. </li></ul>Governance
  64. 64. <ul><li>Define: </li></ul><ul><ul><li>Que se debe hacer: Definiendo un plan/estrategia global (SOA Roadmap o SOA Program). </li></ul></ul><ul><ul><li>Como se debe hacer: Definiendo procesos, normal, estándares, políticas, best practices, productos y herramientas, etc. </li></ul></ul><ul><ul><li>Quien lo debe hacer: Grupos de trabajos (SOA Office, EA Office, etc.) </li></ul></ul><ul><ul><li>Como medir: Métricas para medir el éxito. </li></ul></ul>Governance
  65. 65. <ul><li>Es una herramienta de governance que permite: </li></ul><ul><ul><li>Gestión única, centralizada y escalable de los servicios. </li></ul></ul><ul><ul><li>Publicación y descubrimiento de servicios. </li></ul></ul><ul><ul><li>Visibilidad: </li></ul></ul><ul><ul><ul><li>El analista de negocio necesita determinar que servicios estan disponibles para automatizar procesos de negocio. </li></ul></ul></ul><ul><ul><ul><li>El desarrollador necesita conocer los servicios disponibles para determinar el reuso. </li></ul></ul></ul><ul><ul><ul><li>El arquitecto necesita conocer el versionado y dependencias de servicios. </li></ul></ul></ul><ul><ul><ul><li>Gestión operativa necesita saber como administrar los servicios. </li></ul></ul></ul><ul><ul><li>Promueve el reuso: </li></ul></ul><ul><ul><ul><li>Aumenta el ROI </li></ul></ul></ul><ul><ul><ul><li>Composición </li></ul></ul></ul>Registro
  66. 66. <ul><li>Material </li></ul><ul><ul><li>SOA-Introducción.pdf </li></ul></ul><ul><ul><li>SOA-MaterialAdicional.pdf </li></ul></ul><ul><li>Encuesta. </li></ul><ul><li>Gracias por su atención!!!! </li></ul>Cierre
  67. 67. Preguntas finales

×