Vous êtes sur la page 1sur 40

Arquitectura de Software

Clase 6: Bus de Servicios

Objetivos

Conocer las tecnologas orientadas a servicios Comprender las diferencias entre SOA, EAI y ESB

Temas

Introduccin a la integracin de aplicaciones Soluciones de integracin Bus de Servicios

Introduccin
Servicio Es un componente de software que entrega funcionalidad especfica y til, y es independiente a la aplicacin que lo usa. Permite el acceso a una o ms capacidades, que son proporcionadas mediante una interfaz definida y se ejecuta acorde con las restricciones y polticas especificadas en la descripcin del servicio.

Introduccin
Web Service Es un servicio ofrecido por una aplicacin que expone su lgica a clientes de cualquier plataforma mediante una interfaz accesible utilizando tecnologas estndar de Internet

Introduccin
Caractersticas de un Web Service

Introduccin
Arquitectura de un Web Service

Introduccin
SOA (Service Oriented Architecture)

Es una forma de desarrollar sistemas distribuidos en la que los componentes del sistema son servicios independientes y generalmente se ejecutan en computadoras distribuidas geogrficamente Implementan recursos de software disponibles y visibles en una red como servicios bien definidos. Cada servicio debe resolver un objetivo de negocio predefinido y ejecutarse como una unidad de trabajo separada

Introduccin
SOA

En los principios de SOA se utilizaba COM o ORB (CORBA). Luego se extendi con el uso de servicios web que tienen una descripcin estndar (WSDL), un mecanismo de descubrimiento (UDDI) y un estndar para intercambio de mensajes (SOAP)

Introduccin
SOA

Los servicios son independientes y no dependen del contexto o estado de otros servicios. Trabajan dentro de la arquitectura de sistemas distribuidos. Los proveedores de servicio pueden desarrollar servicios especializados y ofrecer estos a varios usuarios de servicio de diferentes organizaciones La arquitectura orientada a servicios puede o no utilizar los servicios web. Los servicios web proporcionan una manera sencilla de implementar una arquitectura orientada a servicios.
10

Introduccin
Arquitectura SOA

11

Introduccin
Modelo orientado a Servicios

12

Introduccin
Problemas en la Integracin de aplicaciones Muchas veces las empresas tienen diferentes aplicaciones de negocio desplegadas durante el transcurso del tiempo en diferentes lenguajes, que usan diferentes tecnologas, se despliegan en diferentes plataformas de hardware y sistemas operativos El problema de la integracin de aplicaciones consiste en hacer colaborar entre s a aplicaciones distribuidas y heterogneas
13

Introduccin
Problemas en la Integracin de aplicaciones Funcionalidad aislada Mltiples instancias de los mismos datos Actividades manuales redundantes Costos ms altos y respuestas ineficientes para sus clientes Necesidad creciente de integrarse con socios de negocio y otras compaas fuera y dentro de las fronteras la empresa

14

Introduccin
Diferentes capas de Integracin Integracin de Plataforma
RPC, RMI, ORBs, SOAP

Integracin de Datos
Data Warehouse

Integracin de componentes
J2EE, .NET.

Integracin de Aplicaciones
Definicin de flujos de mensajes inter-aplicacin

Integracin de Procesos
Procesos de negocio como flujos de mensajes entre actividades, recursos, etc.

Integracin B2B
Integracin con clientes/proveedores y socios
15

Soluciones de Integracin
Enfoque Tradicional Se identifica qu funcionalidad es necesaria de cada aplicacin. Se crean programas que acceden de la forma deseada a cada aplicacin: o bien a travs de sus interfaces particulares no estndar o a travs de alguna interfaz estndar si la hay.
A menudo, se ataca directamente la BD de la aplicacin saltndose su API (Se pierde la encapsulacin)

Finalmente se crea otro programa que combina las operaciones de cada aplicacin de la manera deseada para construir el flujo
16

Soluciones de Integracin
Enfoque Tradicional Puede llegar a ser difcil, largo y costoso de programar:
Los procesos deben encargarse por s mismos de tareas complejas como el soporte de mensajera o las transacciones distribuidas. Adems, a menudo esto desemboca en que cada proceso de negocio realiza estas tareas de forma diferente.

Cualquier cambio implica reprogramar La creacin de nuevos procesos de negocio involucra crear nuevo cdigo para acceder a las aplicaciones y coordinar su actuacin
17

Soluciones de Integracin
Enfoque Workflow Orientado a que las entidades involucradas en los procesos de negocio sean personas Falta de funcionalidad:
Sin soporte para transacciones Poca escalabilidad No integra aplicaciones existentes

En la prctica, involucra gran cantidad de trabajo manual de integracin.

18

Soluciones de Integracin
Enfoque EAI

Es la integracin de las aplicaciones empresariales con la finalidad de mejorar procesos inherentes a empresas u organizaciones. Incluye los sistemas asociados que permiten la comunicacin de las aplicaciones entre s Busca solventar muchos problemas de la integracin:

Independencia de la plataforma Sin restricciones de ubicacin geogrfica para las aplicaciones


19

Soluciones de Integracin
Enfoque EAI

20

Soluciones de Integracin
Enfoque EAI Consta de recepcin del mensaje, transformacin, traduccin, enrutamiento, entrega del mensaje y gestin de procesos de negocio El transporte del mensaje puede ser asncrono o sncrono Hay dos tipos bsicos de arquitecturas para lograr esto: Hub & Spoke y Bus, ambos de estos pueden ser utilizados para el desarrollo de servicios y convertirse en arquitectura orientada a servicios.

21

Soluciones de Integracin
Topologas EAI

Hub & Spoke

Bus

22

Soluciones de Integracin
Adaptadores EAI La mayora de sistemas EAI incluyen adaptadores pre-construidos fcilmente configurables para algunos casos:
Servicios Web, Corba Aplicaciones de fabricantes populares: ERPs, CRMs, Gestores de contenidos Para el resto de aplicaciones es necesario programar de forma manual todo o parte del adaptador implementando alguna interfaz. Se pretende que el programador de adaptadores tenga que ocuparse slo de proporcionar el camino de acceso a la aplicacin, sin lgica ni post-procesamiento complejo.
23

Soluciones de Integracin
Objetivos EAI Integracin de datos: asegurando que la informacin en varios sistemas sea consistente Integracin de procesos: enlace de los procesos de negocios entre diferentes aplicaciones (BPM) Independencia de proveedor: extrayendo las polticas o reglas del negocio de las aplicaciones hacindolas disponibles de igual forma para todos Ofrecer una fachada comn: se puede actuar como el front-end de las aplicaciones, proporcionando una interfaz de acceso nica y consistente a esas aplicaciones
24

Soluciones de Integracin
EAI en resumen

25

Bus de Servicios (ESB)

Es una infraestructura para facilitar una arquitectura orientada a servicios. Esta ofrece una API que se puede utilizar en el desarrollo de servicios y hace que los servicios puedan interactuar entre s. Tcnicamente ESB es una red troncal de mensajera con un protocolo de conversin, formatos de transformacin de mensajes, enrutamiento, recepcin y envo de mensajes entre varios servicios y aplicaciones que estn vinculados al ESB.

26

Bus de Servicios

Infraestructura de un ESB

27

Bus de Servicios

En el entorno actual de EAI, existen muchos vendedores que ofrecen bus de servicios empresariales Un bus de servicios empresarial se construye sobre unas funciones base que se dividen en sus partes constituyentes, con una implantacin distribuida cuando se hace necesario, de modo que trabajen armoniosamente segn la demanda. En un entorno con Web Services, el bus est representado por SOAP + WS-Addressing

28

Bus de Servicios

Arquitectura

29

Bus de Servicios
Caractersticas

Conectar sistemas de cualquier fabricante, mediante mensajes, servicios e interfaces Enviar mensajes de un modo fiable y con entrega garantizada Conectar conjuntos de aplicaciones y bases de datos sin necesidad de codificacin Monitorear el estado de la infraestructura Soporte para protocolos de transporte sncrono y asncrono, mapeo de servicios (localizacin y emparejamiento)
30

Bus de Servicios
Caractersticas Enrutamiento, encaminamiento esttico o dinmico basado en contenidos o en reglas Compuestos por adaptadores, transformacin de protocolos, mapeo de servicios Orquestacin de servicios que coordina mltiples servicios de implementacin presentados como un nico servicio agregado Transmisin y transformacin de mensajes Procesamiento de eventos complejo
31

Bus de Servicios

32

Bus de Servicios
Integracin con BPM Con BPM los analistas modelan, documentan y simulan los procesos Con BPEL exportan estos modelos a un formato que sea comprensible para el orquestador de servicios El ESB ejecuta las colaboraciones de servicios para los procesos de negocio
33

Orquestacin de Procesos vs Servicios

Por lo general, la orquestacin de servicios pertenece al dominio de las arquitecturas orientadas en servicios (SOA), y la orquestacin de procesos a la gestin de procesos de negocios (BPM). La diferencia fundamental descansa sobre dos criterios: el estado y la duracin. La orquestacin de servicios es por lo general sin estado y de corta vida, mientras que la orquestacin de procesos es con estado y de larga vida

34

Orquestacin de Procesos vs Servicios

Los procesos con estado y de larga vida, pueden incluir el consumo de servicios, la gestin de flujos de trabajo conocidos como Workflow, procesos de aprobacin como disparadores de un proceso, escalamiento, notificaciones, etc. Por el contrario la orquestacin de servicios no tiene estado, y son funciones atmicas. Los procesos de negocio, estn conformados por servicios, subprocesos, workflows, etc. y son ellos quienes desarrollan la persistencia necesaria para controlar la orquestacin de alto nivel, que necesitan las organizaciones.
35

Productos ESB

WebMethods Adeptia ESB Suite Oracle SOA Suite IBM WebSphere ESB Tibco BizTalk Server JBoss ESB Apache Synapse Open ESB Spring Integration
36

Beneficios

Permiten la introduccin de nuevas aplicaciones y tecnologas ms eficientemente y a menor costo Modificacin y automatizacin de procesos de negocio ms fcilmente para cumplir con los nuevos requisitos Provee ms canales de distribucin para la organizacin Reemplaza el procesamiento por lotes con comunicacin a tiempo real Enlaza back-office y sistemas ERP a nuevas aplicaciones, como CRM Compartir datos entre aplicaciones independiente de la plataforma mediante EDI, XML o servicios web
37

Beneficios

Basado en reglas Posibilidad de escalar desde soluciones puntuales hasta implementaciones de empresa (bus distribuido). Tipos de servicio listos-para-funcionar (ready-touse) predefinidos Mayor configuracin en vez de tener que codificar la integracin. Sin motor de normas central, sin divisor central Parches incrementales; la empresa se hace "refactorizable".
38

Resumen

Un Servicio es un componente de software que entrega funcionalidad especfica y til, y es independiente a la aplicacin que lo usa. SOA es una forma de desarrollar sistemas distribuidos en la que los componentes del sistema son servicios independientes EAI es la integracin de las aplicaciones empresariales con la finalidad de mejorar procesos inherentes a empresas u organizaciones. ESB, es una infraestructura para facilitar una arquitectura orientada a servicios. Esta ofrece una API que se puede utilizar en el desarrollo de servicios y hace que los servicios puedan interactuar entre s.
39

Preguntas?

Cul es la diferencia entre EAI, SOA y ESB?


40

Vous aimerez peut-être aussi