Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout -...

40
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Transcript of Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout -...

Page 1: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Arquitectura Orientada a ServiciosAlicia Maita

Harold MartínezEsteban Reyes

Verónica Betancout- SOA -

Page 2: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Introducción¿ Qué se quiere?

• Forma estándar de representar un componente de TI.

• Construir sistemas a partir de componentes comunes.

¿Qué se necesita?

Antecedentes

• 1980 Corba: Arquitectura común de intermediarios en peticiones a objetos.

• En los 90 DCOM: Modelo de Objetos de Componentes Distribuidos.

• Últimos 5 años SOA: Arquitectura orientada a servicios.

Page 3: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Definiciones previas a SOA

• Servicio

Comportamiento definido y acordado que puede ser implementado y provisto por un componente para ser usado por otro.

• Partes de un Servicio

Page 4: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Definiciones previas a SOA

• Descripción de un Servicio

Consiste en los parámetros técnicos, restricciones y políticas que definen los términos para invocar el servicio.

• Anuncio y descubrimiento del servicio

Un servicio debe comunicar su descripción de manera accesible a posibles consumidores.

Page 5: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Definiciones previas a SOA

• Descubrimiento de un Servicio

Se obtienen los detalles de la especificación del servicio.

• Implementaciones del descubrimiento de un servicio

- Registry/repository: Es un componente donde los usuarios pueden almacenar y manejar los artefactos que requieren.- Directorio de servicios: Es una interfaz que provee información para relacionar artefactos.

Page 6: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Metodología de Anuncio/Descubrimiento de un Servicio

• Metodología de “Pull”

Proveedor de Servicios

Page 7: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Una implementación de la metodología “pull”

Bluetooth incluye su propio protocolo de descubrimiento que localiza servicios ofrecidos por los dispositivos en las proximidades de un usuario del dispositivo Bluetooth.

Page 8: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Metodología de Anuncio/Descubrimiento de un Servicio

• Metodología de “Push”

Proveedor de Servicios

Page 9: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

El proveedor del servicio envía un mensaje a un cliente en particular.

Única Fuente

Único destinatario

• Unicast (punto a punto)

Implementaciones de la Metodología de “Push”

Page 10: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Implementaciones de la Metodología de “Push”

• Multicast: El proveedor de servicio envía un mensaje a un grupo de posibles clientes.

Page 11: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Implementaciones de la Metodología de “Push”

• Broadcast: El proveedor realiza una transmisión de la descripción de un servicio a todos los posibles consumidores.

Page 12: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

¿Qué es SOA?

• Colección de servicios se que se comunican entre ellos.

Page 13: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Arquitectura Orientada a Servicios

Es un modelo de componente que interrelaciona unidades funcionales

diferentes de una aplicación, denominado servicios, a través de interfaces y

contratos bien definidos entre estos servicios.

Page 14: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Servicios: Para crear SOA necesito los servicios de negocios.

¿Cuáles serían los servicios?-Procesar una orden.-Confirmar entrega de paquete.

Page 15: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Registros: Es un catálogo que posee todos los servicios presente en la compañía.

¿Registros?-Procesar una orden.-Confirmar entrega de paquete.

PERMITE LA REUTILIZACIÓN

Page 16: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Mensajería y Comunicación: -“Bus de Servicio”: Permite a los componentes

comunicarse unos con otros de forma segura y confiable a través de una infraestructura.

-El término “bus de servicio” es una metáfora para representar el puente que debe existir entre dos componentes.

Page 17: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Administración: Contar sólo con servicios no es suficiente para una

arquitectura SOA, es necesario tener una administración basada en: monitoreo, control de versiones y seguridad. Esto con el fin de garantizar robustez y confianza para llevar adelante misiones críticas del sistema.

Page 18: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Orquestación: Caminos para la construcción de servicios:

- Orquestar los nuevos servicios conectando los

existentes

- Crear aplicaciones compuestas donde se ensamblen

los servicios necesarios además del código adicional

Page 19: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Control:También llamado monitoreo o procesamiento complejo de eventos. Es la capacidad de las empresas de medir eventos en tiempo real dentro del sistema en un momento dado

Page 20: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Requerimientos Tecnológico para crear SOA

• Interfaz de usuario eficiente:Según las exigencias de la empresa, ésta puede estar en capacidad de exponer sus servicios y procesos como una aplicación compuesta a través de un portal personalizado

Page 21: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Beneficios de implementar SOA

• Reusabilidad de código, aplicaciones y servicios

Se cuenta con una colección de “partes” existentes que se pueden utilizar para ensamblar nuevos sistemas

Page 22: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Beneficios de implementar SOA

• Reducción en los costos de integración Reduce el número de destrezas y conocimientos requeridos por los desarrolladores del sistema, en consecuencia el costo y tiempo para su entrenamiento también se decrementa.

SOA otorga a las empresas la capacidad de crear componentes estándar a partir de sus sistemas existentes bajo la figura de servicios, que son uniformemente accesibles a través de un protocolo estándar llamado SOAP.

Page 23: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Beneficios de implementar SOA

• Mejor calidad y mayor rapidez de respuesta a la hora de crear aplicaciones

- Brinda a los desarrolladores mayor conocimiento acerca de los

componentes que pueden usar en el ensamblaje y creación de un

sistema

- Los errores sólo se reparan una sola vez (si el componente es

usado gran cantidad de veces)

- Los desarrolladores centran sus esfuerzos en la reusabilidad

Page 24: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capas de

servicioExponer en un ESB (Enterprise Service

Bus) la funcionalidad y facilidades provistas

por los sistemas corporativos

Page 25: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capa de servicios de acceso a los datos y información

• Ofrece servicios básicos no son precisamente servicios del negocio

• Se usan para construir los servicios

• Permite la reutilización de los mismos

Page 26: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capas de

servicioAgregan valor y enriquecen a las

funcionalidades de la capa anterior desde el

punto de vista del negocio

Page 27: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capa de servicios de negocio compartidos

• Son los servicios, como tal, del negocio

• Deben exponerse al bus de servicios para que sean compartidos

Page 28: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capas de

servicio

Lógica de presentación del servicio. Ej: Portlets

Page 29: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Capas de

servicio

Servicios para dar soporte a la arquitectura.

Seguridad, soporte. Fundamental cuando la arquitectura escala.

Page 30: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Framework El proveerdor ofrece un

contrato y una descripción de un servicio con un modelo de

datos asociado

Page 31: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Framework

La descripción del servicio se

publica y el consumidor descubre el

servicio

Page 32: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Implementando SOA

• ¿Qué se necesita para implementar SOA?– Un proveedor de bus de servicios que tenga

mesanjería punto a punto– Un servicio de mesanjería compatible– Registro, seguridad, transacciones– Desarrollo de herramientas

Page 33: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Implementando SOA

Page 34: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Bus de servicio de la empresa (Enterprise Service Bus – ESB)

• Provee un soporte para servicios basados en contratos usando directa e indirectamente paradigmas de comunicación usando mensajes de punto a punto o mensajería asíncrona.

Page 35: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Bus de servicio de la empresa (Enterprise Service Bus – ESB)

• Funcionalidades de ESB– Modelado de datos usando un esquema XML– Una interfaz modelada con WSDL– Desarrollo de herramientas cliente – servidor– Comunicación síncrona de punto a punto usando SOAP o HTML.– Mensajería asíncrona usando SOAP para carga útil sobre

protocolos de– Mensajes que soportan mensajes persistentes.– Transformación de mensajes de carga útil usando XSLT.

Page 36: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Servicio de conectividad en e-commerce: Ejemplo del uso de SOA en la empresa• Supongamos:

– Empresa que vende mercancía para regalos de alta calidad.

– La compañía posee su propio canal de ventas.– Quiere aprovechar alianzas con compañías de

terceros.– Le paga comisión a terceros por vender sus

productos.

Page 37: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Servicio de conectividad en e-commerce: Ejemplo del uso de SOA en la empresa• El reto es:

– Conectar el catálogo, manejo de inventario, y manejo de pedidos en el front-end del site del partner.

– Tecnologías diferentes en cada empresa– Uso de comunicación por archivos de textos

Page 38: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Servicio de conectividad en e-commerce: Ejemplo del uso de SOA en la empresa• Solución: Dar un servicio que:

– Java, COM, .Net usan SOAP sobre HTTP– Provea de interfaces SOAP a cada compañía– Usar WebSphere para integrar los servicios– Transformar de WebSphere a SOAP y

viceversa para la comunicación

Page 39: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

Servicio de conectividad en e-commerce: Ejemplo del uso de SOA en la empresa• Consecuencias:

– Reuso de las interfaces a la hora de agregar nuevas empresas.

– Transparencia ante la complejidad debajo de las interfaces

– Rapidez en los pedidos porque se ahorra el tiempo de comunicación entre las compañías

Page 40: Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -

¡Gracias!