33
SOA: Panorama JUAN CARLOS CONDE RAMÍREZ WEB-SERVICES

SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Embed Size (px)

Citation preview

Page 1: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

SOA: PanoramaJUAN CARLOS CONDE RAMÍREZ

WEB-SERVICES

Page 2: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Modelo WEB tradicional

FCC-BUAP 2

Page 3: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Limitaciones del modelo tradicional

FCC-BUAP 3

Page 4: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Introducción

FCC-BUAP 4

•La arquitectura orientada a servicios de cliente (SOA), define la utilización de servicios para darsoporte a los requisitos del negocio.

•Permite la creación de sistemas de información:◦ Altamente escalables

◦ Reflejan el negocio de la organización

◦ Brinda una forma bien definida de exposición e invocación de servicios (comúnmente pero noexclusivamente servicios web).

•Por lo tanto, SOA facilita la interacción entre diferentes sistemas propios o de terceros.

Page 5: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Introducción

FCC-BUAP 5

Page 6: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Un poco de Historia•Surge la necesidad de estandarizar la comunicación entre distintas plataformas y lenguajes deprogramación.

•Se habían realizado intentos creando estándares pero fracasaron o no tuvieron el suficiente éxito, porejemplo CORBA, DCOM (ambos dependientes de la implementación).

•El otro problema, es que como estilo de comunicación se utilizaba RPC (Remote Procedure Call) o RMI(Remote Method Invocation) para la comunicación entre nodos.

•Esto presentaba problemas de seguridad dado que la implementación en Internet es casi imposible;muchos firewalls bloquean este tipo de mensajes.

FCC-BUAP 6

Page 7: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Servicios Web: vista previa•Permite la interacción entre sistemas, aunque estén programados en lenguajes de programacióndistintos y se ejecuten en diferentes sistemas operativos.

•Es una tecnología propuesta como estándar por IBM y Microsoft, miembros fundadores de laWebServices Interoperability Organization cuya misión es asegurar la interoperabilidad entreservicios web desarrollados en distintas plataformas (http://www.ws-i.org/).

•IBM ha desarrollado gran parte de los API de Java para trabajar con WebServices.

•Microsoft se ha encargado de hacerlo con .Net.

FCC-BUAP 7

Page 8: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Servicios Web: esquema

FCC-BUAP 8

Page 9: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Servicios Web: reutilización•La reutilización de los componentes permite:

◦ Mayor integración de sistemas y lograr tiempos de desarrollo más cortos usando sistemas estándar nopropietarios de comunicación.

◦ Tolerancia a cambios de diseño e infraestructura.

◦ Interacción dinámica entre socios de negocio.

◦ Soporte para sistemas heterogéneos.

◦ Mejorar la flexibilidad de los sistemas.

FCC-BUAP 9

Page 10: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Servicios Web: estatus actual•Hoy en día, los Servicio Web se están utilizando más de manera interna que en aplicaciones B2B(Business-to-Business).

•Esta situación se debe a varias razones:◦ Para poder lograr integrarse con socios de negocios, estos primero deben estar preparados.

◦ De momento la adaptación ha sido más lenta de lo esperada.

•Por otro lado, cada vez hay más Servicios Web públicos de calidad y la situación va mejorandorápidamente

FCC-BUAP 10

Page 11: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Servicios Web: beneficios empresariales•La implementación de Servicios Web dentro de una empresa es fácil y aporta grandes beneficiosde manera inmediata como:◦ Simplificación de los sistemas.

◦ Reutilización de componentes.

◦ Posibilidad de crear nuevas aplicaciones conectando servicios existentes.

FCC-BUAP 11

Page 12: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orígenes de SOA: definición•SOA es una respuesta directa a las necesidades de las áreas de negocios que desean disponer demayor flexibilidad en los sistemas de la empresa misma.

•Permite modificar más rápidamente los procesos expuestos a peligros u oportunidades quesurgen en el entorno.

•SOA está basado en tecnologías desarrolladas para realizar operaciones B2B pero que se hanvuelto muy útiles para la Intranet.

•Por lo tanto, en lugar de crear enormes aplicaciones complejas o a la medida, se desarrollancomponentes reutilizables que son fáciles de mantener y probar.

FCC-BUAP 12

Page 13: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orígenes de SOA: servicios•Las aplicaciones se crean:◦ Diseñando un proceso que interactúa con dichos componentes reutilizables.

◦ Para cada nueva aplicación ya sólo se desarrollan los que aún no existen.

•Los componentes se conocen como SERVICIOS:◦ Un servicio representa una función de negocios claramente

◦ Un servicio puede ser invocado remotamente mediante protocolos de comunicación estándar.

◦ Un servicio se define mediante una interfaz explícita que es totalmente independiente de la implementación del servicio.

◦ Un servicio se puede desarrollar en diversos lenguajes de programación (Java, C/C++, C#, Cobol, Perl, etc.)

◦ Un servicio debe adoptar una metodología de desarrollo aceptada.

FCC-BUAP 13

Page 14: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orígenes de SOA: Bus de Servicios Emp.•Sin embargo, para nuevos servicios y como todo buen sistema distribuido es aconsejable utilizarun lenguaje que permita instalar el servicio fácilmente en un cluster de servidores para ofrecerescalabilidad y alta disponibilidad.

•La adopción de una arquitectura orientada a servicios requiere una infraestructura decomunicaciones escalable y segura para sus componentes. Esto es lo que se conoce comoEnterprise Service Bus.

•En otras palabras, el Bus de Servicios Empresariales es el concepto que se refiere a lainfraestructura de transporte de mensajes entre el motor de procesos y los servicios de los quedispone la empresa.

FCC-BUAP 14

Page 15: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orígenes de SOA: Bus de Servicios Emp.

FCC-BUAP 15

Page 16: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orígenes de SOA: características del bus•Como ya se dijo, el bus requiere de una infraestructura sólida que ofrezca a los desarrolladoresla seguridad de que los mensajes serán entregados siempre, por lo tanto debe:

◦ Ofrecer seguridad y conectividad total hacia el software de infraestructura de la empresa.

◦ Ser totalmente monitoreable porque se convierte en la columna vertebral de todos los sistemas de laempresa.

FCC-BUAP 16

Page 17: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Colas de Mensajes•Las colas de mensaje se utilizan para comunicar distintas aplicaciones, garantizando la entrega eintegridad de los mensajes, reduciendo la complejidad del desarrollo.

•Se suelen utilizar para mejorar la disponibilidad y escalabilidad de los sistemas.

•Las colas pueden ser persistentes o no, y se utilizan en esquemas punto a punto o publish andsubscribe.

FCC-BUAP 17

Page 18: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Colas de Mensajes

FCC-BUAP 18

CONSUMIDOR(No necesariamente activo)

CONSUMIDOR(Necesariamente activo)

Page 19: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Colas de Mensajes: JAVA•JMS es el API estándar de Java que permite acceder a colas de mensajes de manera estándar,sea cual sea el proveedor de la tecnología de colas de mensajes utilizada (IBM, Tibco, Progress uotros).

•Para simplificar su uso, desde el J2EE 1.3 se introdujo un nuevo tipo de EJB (EnterpriseJavaBeans) para la construcción de aplicaciones empresariales llamado “Message Driven Bean”.

FCC-BUAP 19

Page 20: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Colas de Mensajes: broker•Para una mayor flexibilidad, es aconsejable que en lugar de compartir una sola cola, cadasistema disponga de su propia cola, la cual intercambia mensajes con otras colas a través de unbroker.

•La función de un broker es tomar mensajes de una cola, transformarlos y rutearlos hacia uno ovarios sistemas dentro de una transacción de negocios.

FCC-BUAP 20

Page 21: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Integración de aplicaciones•El concepto de conector permite que las aplicaciones legadas participen de manera activa en losprocesos sin demasiadas modificaciones.

•El estándar para conectores en la plataforma J2EE es conocido como Java ConnectorArchitecture (J2C o JCA).

•Los conectores J2C son apropiados para que las aplicaciones J2EE puedan intercambiarinformación con sistemas legados.

FCC-BUAP 21

Page 22: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Integración de aplicaciones

FCC-BUAP 22

Page 23: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orquestación de servicios•Se refiere al uso de la infraestructura del Enterprise Service Bus para combinar servicios en unproceso automatizado ininterrumpido (micro-flujo) para crear un nuevo servicio.

•Existe un lenguaje estándar llamado BPEL (Business Process Execution Language) para ladefinición de micro-flujos.

•Es un lenguaje de alto nivel que lleva al concepto de servicio un paso adelante; proporcionamétodos de definición y soporte para flujos de trabajo y procesos de negocio.

•BPEL fue concebido por grandes de la informática como Oracle, BEA Systems, IBM, SAP yMicrosoft entre otros.

FCC-BUAP 23

Page 24: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orquestación de servicios

FCC-BUAP 24

Page 25: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orquestación vs Coreografía•La principal diferencia entre ambos es el ámbito.

•Un modelo de orquestación provee un ámbito específicamente enfocado en la vista de unparticipante en particular (ejemplo: un modelo par-a-par).

•En cambio, un modelo coreográfico abarca todos los participantes y sus interacciones asociadas,dando una vista global del sistema.

FCC-BUAP 25

Page 26: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Orquestación vs Coreografía•Las diferencias entre orquestación y coreografía están basadas en las siguientes analogías:

◦ la orquestación describe un control central del comportamiento como un director de orquesta,

◦ la coreografía trata sobre el control distribuido del comportamiento donde participantes individualesrealizan procesos basados en eventos externos, como en una danza coreográfica donde los bailarinesreaccionan a los comportamientos de sus pares.

FCC-BUAP 26

Page 27: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

BPEL: implementación•Por lo tanto, BPEL es un lenguaje de orquestación y no un lenguaje coreográfico.

•A través de un documento XML BPEL, un analista de negocio es capaz de representar la lógicaasociada y los elementos con los que se verá relacionado.

•Estos elementos serán servicios Web y la lógica el proceso BPEL.

FCC-BUAP 27

Page 28: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

BPEL: limitaciones•BPEL resulta muy útil para la orquestación de servicios pero resulta insuficiente para ladefinición de procesos de negocios complejos.

•No soporta macro-flujos con intervención humana.

•No incluye mecanismos para integrar a los flujos componentes que no sean servicios

◦ Motores de reglas

◦ Máquinas de estado

◦ Etc.

FCC-BUAP 28

Page 29: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Operaciones de Servicio con BPEL

FCC-BUAP 29

Page 30: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Arquitectura de Componentes de Servicio•La SCA (Service Component Architecture) es un nuevo estándar creado por BEA e IBM parasuperar las limitaciones de BPEL

•Con SCA se pueden crear procesos complejos que incluyen diversos componentes◦ Procesos BPEL

◦ Interacción con humanos

◦ Motores de reglas, etc.

•SCA utiliza SDO (Service Data Objects JSR 235) para representar los datos XML que fluyen por el proceso

FCC-BUAP 30

Page 31: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Arquitectura de Componentes de Servicio•SCA es una tecnología que simplifica el desarrollo de aplicaciones dentro de una SOA.

•Permite crear recursos IT en servicios reusables de una manera muy sencilla.

•Es un conjunto de especificaciones que describen un modelo para construir aplicaciones ysistemas basados en SOA.

FCC-BUAP 31

Page 32: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Arquitectura de Componentes de Servicio•El propósito de este proyecto es doble:

◦ Definir en forma única un modelo de componentes de servicios, tanto para la provisión como para el consumo. Lonovedoso es que esta filosofía procura trascender Java para abarcar también C++, COBOL, PHP o incluso lenguajesbasados en XML como BPEL, XSLT o Xquery.

◦ Definir en forma única la manera de ensamblar esos componentes, de referenciarlos para poder construiraplicaciones orientadas a servicios.

•En general, SCA consiste en un conjuntos de “artefactos” los cuales son definidos en un XML.

FCC-BUAP 32

Page 33: SOA: Panorama - climate.cs.buap.mxclimate.cs.buap.mx/CondeJC/cursos/Material/WebServices_/Notas/03...exclusivamente servicios web). •Por lo tanto, SOA facilita la ... •Microsoft

Ventaja principal: Administración de Procesos de Negocio•Una de las principales ventajas de adoptar SCA y BPEL es que la lógica de negocios queda separada de laprogramación de los componentes.

•Esto va a permitir que poco a poco sean los usuarios finales quienes modelen la lógica de negocios.

•Progresivamente irán apareciendo también nuevas herramientas que permitan monitorear el desempeñode los procesos y así se cerrará el círculo virtuoso del BPM (Business Process Management).

FCC-BUAP 33