16
PATRICIA PENAS PATRICIA PENAS LOZADA LOZADA SOA DE APOYO A PROCESOS SOA DE APOYO A PROCESOS INTER-ORGANIZACIONALES: INTER-ORGANIZACIONALES: ORQUESTACIÓN Y COREOGRAFÍA DE ORQUESTACIÓN Y COREOGRAFÍA DE SERVICIOS SERVICIOS

2 do trabajo-penas

Embed Size (px)

Citation preview

Page 1: 2 do trabajo-penas

PATRICIA PENAS PATRICIA PENAS LOZADALOZADA

SOA DE APOYO A PROCESOS SOA DE APOYO A PROCESOS INTER- INTER-

ORGANIZACIONALES: ORGANIZACIONALES: ORQUESTACIÓN Y ORQUESTACIÓN Y

COREOGRAFÍA DE SERVICIOSCOREOGRAFÍA DE SERVICIOS

Page 2: 2 do trabajo-penas

Orquestación y Coreografía

La integración se debe llevar a cabo mediante un mecanismo que permita que los servicios

cooperen entre ellos, para ello comúnmente se utilizan dos términos: La orquestación y la

coreografía.

Las diferencias entre orquestación y coreografía están basadas en analogías: la orquestación

describe un control central del comportamiento como un director de orquesta, mientras que la

coreografía trata sobre el control distribuido del comportamiento donde participantes

individuales realizan procesos basados en eventos externos, como en una danza

coreográfica donde los bailarines reaccionan a los comportamientos de sus pares.

Page 3: 2 do trabajo-penas

ORQUESTACIÓN:

Hablamos de orquestación de servicios cuando es controlado por una única unidad, es decir un cliente y un servicio establecen un acuerdo con respecto al transporte de mensajes y al contenido, este acuerdo se realiza con el WSDL (Web Services Description Language, un formato XML se utiliza para describir servicios Web), quien especifica la sintaxis de los mensajes y los mecanismos de intercambio utilizados, es decir un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor.

Un modelo de orquestación provee un ámbito específicamente enfocado en la vista de un participante en particular.

Page 4: 2 do trabajo-penas

Sistemas de orquestación

ActiveBPEL: Es una implementación de código abierto del estándar BPEL (Business Process Execution Language). Es la herramienta de aprendizaje personal ideal para familiarizarse con estos estándares de desarrollo de aplicaciones.  AgilaBPEL: Solución Java orientada al flujo de trabajo., sus principales componentes son Agila BPEL que realiza la orquestación basada en las especificaciones WS-BPEL y Agila BPM que es orientado a los usuarios finales del flujo de trabajo. Apache ODE: Soporte para el estándar WS-BPEL 2.0 OASIS y el legado BPEL4WS 1.1. Soporta 2 capas de comunicación: una basada en Axis2 (Web Services http transport) y otra en el estándar JBI (ServiceMix). Alto nivel de API que permite integrar el núcleo con la capa virtual de comunicación.

Page 5: 2 do trabajo-penas

Sistemas de orquestación

BEA Aqualogic : Posibilita la creación de servicios sobre diferentes plataformas como ser J2EE, .NET, SAP, Oracle, IBM, etc., de forma que sean descubiertos, asegurados, gestionados y ensamblados en procesos y aplicaciones compuestas.  Bexee BPEL Execution Engine : Es una implementación de código abierto. El proyecto bexee fue iniciado en Berne University of Applied Sciences, escuela de ingeniería y tecnología de información, como diploma de proyecto.  Microsoft BizTalk Server (BTS): contiene un motor que se utiliza en la administración de procesos de negocio (BPM) y permite a los desarrolladores rápidamente orquestar complejos procesos de negocio que involucran sistemas muy diferentes. Es un producto del tipo middleware que facilita la colaboración e integración entre aplicaciones. BTS realiza orquestación de servicios Web. La orquestación recibe solicitudes y envía respuestas utilizando un puerto lógico de dos vías que se encuentra físicamente enlazado al momento de poner en funcionamiento a dicha orquestación.

Page 6: 2 do trabajo-penas

Sistemas de orquestación

Oracle Fusion Middleware: Plataforma SOA de fácil uso que integra un ambiente de desarrollo y administración. Utiliza una grilla de arquitectura con avanzada escalabilidad y performance para servicios con gran disponibilidad y fiabilidad.  SAP XI: Se utiliza para una integración robusta y de alta performance. SAP provee todos los adaptadores que se necesitan para acceder a otras aplicaciones, archivos, base de datos, y la conexión usando varios protocolos y estándares de la industria.  TIBCO -iProcess Suite: Provee una herramienta intuitiva para análisis de negocio usando el mismo nivel de habilidad que un usuario de hoja de calculo para modelar, analizar, testear y administrar reglas de negocio. Permite la gestión para establecer y medir continuamente con indicadores clave de rendimiento (KPI) para procesos en curso de ejecución y mejora.

Page 7: 2 do trabajo-penas

COREOGRAFÍA

Un proceso es una coreografía de servicios cuando las colaboraciones son definidas entre cualquier tipo de aplicaciones.

Cuando hablamos de coreografía de Servicios Web se debe mencionar a WS- CDL (Web Services Choreography Description Language). Este lenguaje, basado en XML, permite lograr interacción entre servicios Web. Dicha interacción es independiente del lenguaje o de la plataforma utilizada.

Un modelo coreográfico abarca todos los participantes y sus interacciones asociadas, dando una vista global del sistema

Page 8: 2 do trabajo-penas

Principales características de los sistemas de coreografía: Los sistemas de coreografía utilizan XML.

Reusabilidad: La definición coreográfica es utilizable por diferentes participantes operando en diferentes plataformas y con diferente software.

Cooperativismo: Las coreografías definen la secuencia de intercambio de mensajes entre dos o más procesos o participantes independientes describiendo como deberían cooperar.

Multi-party: Las coreografías pueden ser definidas envolviendo cualquier número de participantes o procesos.

Semántica: Las coreografías pueden incluir documentación legible por los humanos y semántica para todos los componentes en la coreografía.

Page 9: 2 do trabajo-penas

Principales características de los sistemas de coreografía:

Componibilidad: Las coreografías existentes pueden ser combinadas para formar nuevas coreografías que pueden ser rehusadas en diferentes contextos.

Modularidad: Las coreografías pueden ser definidas usando la facilidad Import que permite a una coreografía ser creada por componentes contenidos en diversas coreografías diferentes.

Información impulsada: Las coreografías describen la forma en que los participantes toman parte de ellas. Los participantes mantienen por su intercambio de información, su posición en la que están en el registro de Coreografía.

Alineación de Información: Las coreografías permiten a los participantes que toman parte de ella, comunicarse y sincronizar sus cambios observables de estado y los valores reales de la información intercambiada.

Page 10: 2 do trabajo-penas

Principales características de los sistemas de coreografía:

Gestión de excepciones: Las coreografías pueden definir la forma en la que se producen condiciones excepcionales o inusuales mientras se realiza la coreografía.

Transaccionabilidad: Los procesos o los participantes que tomen parte en una coreografía pueden trabajar de forma "transaccional" con la capacidad de coordinar los resultados de las colaboraciones de largo plazo, que incluyen múltiples, y a menudo recursivas unidades de colaboración, cada una con sus propias reglas de negocio y objetivos.

Page 11: 2 do trabajo-penas

EJEMPLO

Un ejemplo basado en un producto desarrollado por IBM., el WebSphere presentando una pequeña demostración de cómo funciona, como realiza sus procesos y sus principales características.

WebSphere Integration Developer.- es una herramienta basada en tecnología Eclipse que permite combinar soluciones empresariales con el lenguaje BPEL.

Webphere Process Server viene incluido en esta herramienta y proporciona una base de tiempo de ejecución integrada y única para implementar una arquitectura orientada a servicios o SOA basada en procesos de negocios.

En la figura siguiente, nos muestra un diagrama de flujo que representa el proceso denominado verificación de cuentas generales:

Page 12: 2 do trabajo-penas

Interfaz perteciente a IBM WebSphere Integration Developer

Page 13: 2 do trabajo-penas

Esta aplicación es un proceso de negocios basado en SOA que se creo a partir de una secuencia de tareas, esta secuencia se une utilizando WebSphere Integration Developer. el flujo, la secuenciación y la interacción entre los diferentes servicios se definen utilizando el lenguaje BPEL (Lenguaje de Ejecución de Procesos de Negocio con Servicios Web); cuando se implementa este proceso, WebSphere Process Server invoca los servicios individuales definidos en el BPEL.

Este proceso inicia cuando un cliente solicita una cuenta nueva, el primer paso se realiza a través de un programa Java. Luego el paso que sigue, lo realiza una persona, en el caso de que se apruebe la solicitud que realizó el cliente, la tarea ofrece precio y aprobación y le enviará un mensaje de confirmación al cliente y finaliza el proceso.

Otro panel perteneciente al WebSphere Process Server es el explorador del coreógrafo de procesos de negocio. Desde este panel se inicia un flujo de proceso. Realizando esto, Process Server invocará el paso automatizado y creará la tarea que correspondía a una actividad humana. Aquí vemos claramente y de manera practica el concepto de coreografía de sistemas web.

Page 14: 2 do trabajo-penas

Si el encargado de autorizar este proceso, ingresa a sus tareas pendientes encontrará una nueva tarea denominada revisión inicial de la solicitud. De esta manera vemos como se integran procesos de negocios con actividades humanas. Esto conlleva el uso de un servicio web proporcionado por un socio empresarial externo para obtener una clasificación del crédito. Process Server asigna el objeto de datos de la solicitud del cliente al formato esperado por el servicio web externo y lo invoca.

Cuando se devuelve la clasificación del crédito, se ejecuta una regla empresarial en el servidor de procesos, la regla clasifica el riesgo de crédito del solicitante como bajo, medio o alto. Para finalizar la demostración analizada, se enumera las características de WebSphere Process Server que se pudieron observar: Flexibilidad, increíble para definir flujos de proceso y modificarlos a medida que cambian las necesidades de la empresa.

Page 15: 2 do trabajo-penas

Capacidad de abstracción y transformación de datos, permitiendo el intercambio de objetos de datos entre los pasos del proceso.

Servicios web externos pueden integrarse sin problemas en los procesos de negocios.

Capacidad de combinar servicios web, funciones Java, aplicaciones existentes y actividades humanas en un proceso de negocios se simplifica con la utilización de Service Component Architecture. SCA proporciona un nivel de abstracción más alto de la TI subyacente y ofrece un método uniforme de invocar estos distintos servicios, aumentando la flexibilidad y la productividad del desarrollador.

Page 16: 2 do trabajo-penas

CONCLUSIÓN

La arquitectura orientada a servicios ofrece innumerables beneficios para lograr interoperabilidad entre aplicaciones

desarrolladas en diferentes lenguajes y en diferentes plataformas, esto permite a las empresas lograr un sistema compuesto al

cual se puede acceder a través de una única interfaz, logrando mejorar los tiempos de

respuesta y la flexibilidad, esta flexibilidad permite agregar servicios a la medida de las

necesidades de la empresa. Los servicios web por su lado, surgieron para estandarizar la comunicación entre distintas

plataformas y distintos lenguajes de programación.