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

Post on 23-Jan-2016

221 views 2 download

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

Arquitectura Orientada a ServiciosAlicia Maita

Harold MartínezEsteban 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.

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

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.

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.

Metodología de Anuncio/Descubrimiento de un Servicio

• Metodología de “Pull”

Proveedor de Servicios

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.

Metodología de Anuncio/Descubrimiento de un Servicio

• Metodología de “Push”

Proveedor de Servicios

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”

Implementaciones de la Metodología de “Push”

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

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.

¿Qué es SOA?

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

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.

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.

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

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.

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.

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

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

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

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

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.

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

Capas de

servicioExponer en un ESB (Enterprise Service

Bus) la funcionalidad y facilidades provistas

por los sistemas corporativos

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

Capas de

servicioAgregan valor y enriquecen a las

funcionalidades de la capa anterior desde el

punto de vista del negocio

Capa de servicios de negocio compartidos

• Son los servicios, como tal, del negocio

• Deben exponerse al bus de servicios para que sean compartidos

Capas de

servicio

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

Capas de

servicio

Servicios para dar soporte a la arquitectura.

Seguridad, soporte. Fundamental cuando la arquitectura escala.

Framework El proveerdor ofrece un

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

datos asociado

Framework

La descripción del servicio se

publica y el consumidor descubre el

servicio

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

Implementando 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.

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.

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.

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

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

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

¡Gracias!