03-soaywebservices

64
SERVICIOS WEB: ARQUITECTURAS ORIENTADAS A SERVICIOS

Upload: jcortmx

Post on 17-Sep-2015

216 views

Category:

Documents


1 download

DESCRIPTION

Servicios Web Y SOA

TRANSCRIPT

  • SERVICIOS WEB:ARQUITECTURAS ORIENTADAS A SERVICIOS

  • NDICE DE CONTENIDOS: COMPONENTES SERVICIOS WEB ARQUITECTURAS ORIENTADAS A SERVICIO SOA XML Y JAVA SOAP SEGURIDAD XML Y SERVICIOS WEB

  • WEB SERVICES

    PARTE II: FUNDAMENTOS TERICOSDE LOS WEB SERVICES

  • WEB SERVICES Modular, selfdescribing applications that can be published, located and

    invoked from anywhere on the Web or a local network.The provider and the consumer of the Web service do not have to worry about the operating system, language environment, or component model used to create or access the service, as they are based onubiquitous and open Internet standards, such as XML, HTTP, and SMTP [Claudwell et al, 2001]

    Aplicaciones modulares, autodescritas que pueden ser publicadas, localizadas e invocadas desde cualquier ubicacin en la web o en una red local.El suministrador y el consumidor del Web Service no tienen que preocuparse por el Sistema Operativo, idioma o modelo de componentes usado para crear o acceder a los servicios, ya que estn basados en estndares omnipresentes de internet, como XML, HTTP y SMTP

    [Claudwell et al, 2001]

  • WEB SERVICES Internetbased modular applications that perform a specific business task and

    conform to a specific technical format[Mark Colan, IBM]

    Aplicaciones modulares basadas en Internet que llevan a cabo tareas de negocio especficas ajustndose a un formato tcnico especfico

    [Mark Colan, IBM]

    An abstraction of a service provided by some organization as visible from a Webenabled client, utilizing the www as transport medium, and www transport protocols and formats

    [M. Koethe, MediaOne]

    Una abstraccin de un servicio proporcionado por alguna organizacin, y que es visible mediante un cliente web usando la WWW como medio de transporte y sus protocolos y formatos de transporte

    [M. Koethe, MediaOne]

  • WEB SERVICES Qu nos aportan los Web Services?

    Pervasiveness: Alta penetracin. acceso a servicios desde cualquier ubicacin en la red.

    Mejor interoperabilidad Simplicidad Permiten pasar de las tpicas aplicaciones Web (2tier), a

    aplicaciones ms complejas (n tier) Menor acoplamiento y mayor granularidad Alta reutilizacin

  • Web Services Qu ofrecen de nuevo los Web Services?

    Alquiler de servicios externos frente a desarrollo Reduccin de costes?

    Alquiler de servicios externos frente a compra de software mejor negocio? (Ejemplo: Adobes Distiller)

    Alquiler de servicios propios frente a venta de software Mejor negocio? (Ejemplo: Adobes Distiller)

  • WEB SERVICES EJEMPLOS DE WEB SERVICES

    Conversores (moneda, unidades, ....) Servicios de cotizacin en bolsa Calculadoras Asignacin de IDs y GUIDs Comprobacin del tiempo, el estado del trfico, precios de

    subastas, ...

    SITIOS QUE MUESTRAN LISTAS DE WS GRATUITOS www.xmethods.net www.salcentral.com

    La herramienta estrella o ms popular de generacin de Web Services es sin duda .NET.

  • WEB SERVICES UTILIZACIN DE WEB SERVICES

    Descubrirlos (Discovery) UDDI Universal Description, Discovery & Integration

    Conocer qu hacen exactamente, y cmo se usan (Description)

    WSDL Web Services Description Languaje Invocarlos (Invocation)

    SOAP Simple Object Access Protocol Intercambio de datos (Data Interchange)

    XML Conexin (Conection).

    HTTP

  • WEB SERVICES

  • WEB SERVICES ESTNDARES (I): SOAP

    SOAP: Simple Object Access Protocol Creado por Microsoft e IBM. A diferencia de DCOM y CORBA, SOAP

    usa el cdigo fuente en XML, que facilita la eliminacin de errores. Permite el intercambio de informacin estructurada y con tipos entre

    entidades (peers) descentralizadas Permite codificacin y empaquetamiento basado en XML para

    intercambiar datos como mensajes o RPCs

  • WEB SERVICES ESTNDARES (II): WSDL

    SOAP permite expresar invocaciones y respuestas sueltas, perotambin es necesario describir los servicios, como colecciones de operaciones y respuestas.

    Web Service Description Language fue desarrollado por Microsoft e IBM para describir servicios Web.

    Independiente del mtodo de transporte o mtodo de codificacin final. Las descripciones WSDL son complejas y difciles de construir

    manualmente Los fabricantes ofrecen generadores automticos de documentos

    WSDL: Microsoft SOAP Toolkit for COM IBM WebServices Toolkit: Java, EJBs, COM .NET(fue diseado para trabajar con Web Services)

  • WEB SERVICES ESTNDARES (III): UDDI

    Universal Description, Discovery and Integration Desarrollado por IBM, Microsoft y Ariba Permite mantener un registro global de Web Services Con operaciones para: publicar (publish), ojear (browse) y

    retirar (un-publish) Web Services Cualquier aplicacin (incluidos Search engines) pueden

    consultarlo para descubrir servicios.

  • WEB SERVICES Componentes y Web Services; NO SON LO MISMO?

    Naming Service, InterfaceRepository

    UDDI

    IDLWSDL

    IORSURLS

    IIOPSOAP, HTTP

    CORBAWEB SERVICES

  • WEB SERVICES Componentes Versus Web Services

    Web Based; (SOAP/XML sobre http)

    Middleware (Ej: IIOP)Comunicacin

    Muy dbilDbilNiveles de acoplamiento

    Mayoritariamente entre varias empresas.

    Mayoritariamente dentro de la empresa

    Niveles de intercambio de informacin

    El SW existe en alguna parte.

    Despliegue fsico (installand use)

    Modelo de despliegue

    Elementos que se ven desde fuera del sistema

    Elementos internos de un sistema

    Perspectiva Arquitectnica

    Web ServicesComponentes

  • WEB SERVICES Entonces; Cmo funciona una invocacin a un web

    service?

  • Soporte a Web Services en EE5

    En la plataforma Java EE 5, el soporte a Web Servicesse ha mejorado y simplificado gracias al uso de annotations. Las sigiuentes especificaciones han contribudo en ello: JSR 224, Java API for XML-Based Web Services (JAX-WS) 2.0 JSR 222, Java Architecture for XML Binding (JAXB) 2.0 JSR 181, Web Services Metadata for the Java Platform 2.0 SOAP with Attachments API for Java (SAAJ) 1.3

  • Soporte a Web Services JAX-WS 2.0: Es la nueva API para Web Services en la

    plataforma JEE5.

    Como sucesora de la API JAX-RPC 1.1, JAX-WS 2.0 mantiene el modelo de programacin RPC mejorando lo siguientes frentes: Data binding (enlace de datos) Independencia de protocolo de transporte Soporte al estilo REST (Representational State Transfer) de

    Web Services Facilidad de desarrollo

  • Soporte a Web Services Caractersticas clave de JAX-WS 2.0:

    Modelo de programacin ms simplificado: Antes de JEE5 y JAX-WS 2.0, se necesitaban descriptores farragosos. Ahora todo es tan fcil como colocar la annotation @WebService a la clase Java. Slo con esto, TODOS los mtodos pblicos de la clase, ser publicados como operaciones Web Service, y sus argumentos sern mapeados a tipos de datos de XML Schema usando JAXB 2.0

    Integracin con JAXB 2.0: En JAX-WS 2.0, todo el data binding ha sido delegado a JAXB 2.0. JAXB2.0 puede generar documentos XML Schema que son includos dentro de un archivo WSDL, liberando al desarrollador de esta tarea.

    Extensibilidad de Protocolo Transporte: Como por ejemplo el nuevo Fast Infoset (XML binario).

  • Soporte a Web Services Extenso soporte a los estndares de Web Services:

    Soporta SOAP 1.1, SOAP 1.2 y protocolos XML/HTTP. Incluso podemos usar MTOM/XOP (W3C's SOAP MessageTransmission Optimization Mechanism/XML-Binary OptimizedPackaging). Se beneficiara de ello los Web Services que usen ficheros adjuntos para envo y recepcin de datos binarios.

    Soporte a clientes asncronos: JAX-WS 2.0 soporta invocaciones de web services sin bloqueos, evitando que la aplicacin cree y administre su propio pool de threads.

    Capa de Mensajera: Las aplicaciones avanzadas que pueden usar a bajo nivel la API de mensajera JAX-WS 2.0 para procesar mensajes de forma directa, sin tener que duplicar ninguno de los niveles de transporte y protocolo

    Soporte a aplicaciones REST-Style: Usando la API de mensajera de JAX-WS 2.0

  • Soporte a Web Services Ejemplos de Web Services:

    El ejemplo 3, muestra el cdigo fuente de una aplicacin implementada haciendo uso de un componente EJB 2.1

    El ejemplo 4, muestra el cdigo equivalente pero haciendo uso de las nuevas annotations para Web Services

  • Soporte a Web Services Ejemplo 3

    Ejemplo 4

    Gracias a las annotations, no es necesario usar descriptores en este ejemplo

  • Soporte a Web Services Web Services asncronos.

    Al tener lugar las invocaciones de Web Services a travs de la red, algunas de esas llamadas obtienen respuestas en lapsos impredecibles de tiempo. Muchos clientes, especialmente las aplicaciones de escritorio (JFC/Swing) experimentan un comportamiento indeseable debido a esas esperas del proveedor del servicio.

    JAX-WS 2.0 proporciona una nueva API cliente asncrona. Con esta API, los programadores ya no tienen que crear threads; en lugar de ello, pueden confiar en el runtime JAX-WS 2.0 para que administre las invocaciones remotas.

  • Soporte a Web Services API de Mensajera

    El modelo de programacin basado en el interfaz de la API JAX-WS 2.0, es muy potente, pero en ocasiones, algunas aplicaciones necesitan ms control sobre los mensajes que son enviados a travs de la red,

    Las APIs Dispatch y Provider pueden usarse para enviar y recibir mensajes de forma directa.

    Dispatch: Se usa en aplicaciones cliente Provider: Se usa en aplicaciones servidor

    Un uso particularmente interesante de estas aplicaciones consiste en escribir Web Services acordes con el estilo REST. En este estilo, los servicios exponen un conjunto de recursos que los clientes pueden manipular usando HTTP.

  • Prcticas

    AXIS Qu es Axis?. Axis Services Vs JEE5 Services

    Creacin de un web service calculadora con Axis (modo JWS) Creacin de un web service calculadora mediante herramientas JEE5

    Ms sobre axis: Implementacin de un servicio mediante un WSDD

  • Prcticas AXIS

    Apache Axis es una implementacin de SOAP Con axis, es muy sencillo crear y usar un Web Service. Hasta que apareci

    JEE5, era una opcin bastante buena para muchas organizaciones para construir sus Web Services.

    La versin que usaremos es la ms reciente, la 1.4 NO ES CIERTO: la ms reciente, es AXIS2; pero el desarrollo no es an lo

    suficientemente maduro, y adems se trata de una implementacin de WS distinta.

    AXIS Web Services VS JEE5 Web Services Axis es un aadido innecesario para construir Web Services si nuestra

    plataforma es JEE5 Sin embargo es muy til conocerlo, ya que podemos implantarlo fcilmente

    en nuestros entornos J2EE (por ejemplo, con Tomcat). Los Web Services en JEE5 se construyen con JAX-WS. En AXIS se

    construyen con JAX-RPC.

    *

    *

  • PrcticasPreparando el entorno Copiamos el archivo siguiente en nuestra mquina guadalinex:

    axis-bin-1_4.zip Una vez en /home/guadalinex,

    lo copiamos a /tmp y descomprimimos con unzip.

    Entramos a la carpetacd axis-1_4\webapps\axis\WEB-INF

    Editamos con gvim y el archivo web.xml

    Eliminamos el comentariopara habilitar el Admin Servlet. Salvamos

    Vamos a axis-1_4\webapps\axis Ejecutamos:

    cp WEB-INF/classes/SOAP*.class . Ejecutamos jar cvf axis.war *

    OJO con el PUNTO

  • Prcticas Preparando el entorno (II)

    Ejecutamos asadmin deploy axis.war Si no tenenos arrancado el servidor, fallar. Comprobaremos los domains instalados y en ejecucin con el comando:

    asadmin list-domains

    Arrancar/Detener el servicio asadmin start-domain domain1 (como slo un dominio, es opcional) asadmin stop-domain domain1

    Arrancamos el servicio con el comando start-domain. Volvemos a intentar asadmin deploy axis.war .

    Usuario admin: admin Password: curso.curso

  • Prcticas Preparando el entorno (III)

    Comprobamos que se ha desplegado la aplicacin con un navegador http://localhost:8080/axis

    Ahora iniciamos la consola de administracin (abrimos un navegador y tecleamos la URL: http://localhost:4848)

    Nos logamos con admin/curso.curso En el panel de la izquierda, en Applications, pinchamos en web

    applications, y en el panel de la derecha, comprobamos que se encuentra la aplicacin axis.

    Logout Si con el servidor iniciado, hubisemos tomado el archivo axis.war y lo

    hubisemos copiamos al directorio: App-server-install-dir/domains/domain1/autodeploy Tambin se habra desplegado y aparecera en la consola de administracin.

  • Prcticas Preparando el entorno (IV)

    El autodeploy es por tanto tambin una forma rpida y cmo de desplegar aplicaciones en nuestro Application Server.

    Copiamos el archivo lib-ext-netb-ide7-modules-ext.zip a nuestra mquina guadalinex, y lo copiamos desde /home/guadalinex a /tmp. Ah, extraemos su contenido con unzip.

    Copiamos todas las libreras CON sudo que aparezcan a: /opt/netbean-5.5/ide7/modules/ext

  • ARQUITECTURAS ORIENTADAS A SERVICIO: SOA

  • SOA La recompensa potencial [de SOA] es enorme para las empresas que

    entiendan esta evolucin y se muevan hacia estas arquitecturas. ... La tecnologa de computacin distribuida promete ser lo suficientementeflexible y elegante para responder a las necesidades de negocios y proporcionar la agilidad de negocios que las compaas han anheladotanto tiempo, pero siempre ha estado fuera de alcance. [The Rational Edge, 2004]

    La mejor solucin a la integracin de negocios...[Annra OToole, Cape Clear]

    SOA ha surgido como la mejor manera de afrontar el desafo de hacer mscon menos recursos. Promete hacer la re-utilizacin y la integracin mucho ms fciles, ayudando a reducir el tiempo de desarrollo y aumentando la agilidad organizacional. No sorprendentemente, el 80% de las organizacionesde IT estn implementando aplicaciones usando SOA con web services subyacentes. SOA proporciona mayor flexibilidad para afrontar los cambiostanto en el ambiente de negocios como en la infraestructura tecnolgica. [M7 Corporation]

  • SOA SOA es la prxima ola de desarrollo de aplicaciones. Es ms rpida, mejor y ms

    barata[Michael Pallos, 2001]

    Comprender el rol y el significado de SOA, ms all del hype simplista, es imperativopara cualquier arquitecto de software empresarial. ... Hacia 2008, SOA y Web Services sern implementados juntos en ms del 75% de los proyectos futuros (probabilidad0.7)[Gartner, 2003]

    Hacia 2008, ms del 75% de los paquetes de aplicacin de ese entonces sernnativamente SOA o expondrn interfaces SOA a travs de una capa de envoltura de interfaces (probabilidad 0.8)[Gartner, 2003]

    Hacia 2008, SOA ser la prctica prevalente de ingeniera de software, acabando con los 40 aos de dominacin de las arquitecturas monolticas (probabilidad 0.7)[Gartner, 2003]

    Giga recomienda a los arquitectos considerar SOA como la prioridad nmero uno en sus esfuerzos de planeamiento arquitectnico[Giga IT Trends 2003: Application architecture and design]

  • SOA Service-oriented architecture (SOA) fue descrita por primera vez por Gartner

    en 1996 SSA Research Note SPA-401-068, 12 de abril, Service Oriented Architectures,

    Part 1 y SSA Research Note SPA-401-069, 12 de abril, Service OrientedArchitectures, Part 2

    Los Web Services surgen con mayor fuerza hacia el 2000.

    XML Web Services

    SOA (en la prctica) = XML+SOAP+WSDL+UDDI+Bus SOAP 1.0 - Especfico de Microsoft+Developmentor

    XML + HTTP

    SOAP 1.1 - MS+IBM+Lotus Bindings de transporte para no-HTTP

    SOAP 1.2 - W3C.org (ya no es ms acrnimo)

  • SOA W3C: Definicin: Conjunto de componentes que pueden ser

    invocados, cuyas descripciones de interfaces se pueden publicary descubrir

    CBDI rechaza esa definicin: Los componentes pueden no ser conjuntos (n nico componente) La definicin slo considera los componentes y no la prctica o el arte de

    construir la arquitectura CBDI: Estilo resultante de polticas, prcticas y frameworks que

    permiten que la funcionalidad de una aplicacin se pueda proveery consumir como conjuntos de servicios, con una granularidadrelevante para el consumidor. Los servicios pueden invocarse, publicarse y descubrirse y estn abstrados de suimplementacin utilizando una sola forma estndar de interface

  • SOA Infraestructura de alto nivel basada en best practices y patrones

    para crear soluciones basadas en servicios, de alta cohesin y bajo acoplamiento (Geniant).

    Estilo arquitectnico apto para implementar bajo acoplamientoentre agentes. Los agentes son proveedores y consumidores de servicios, que son la unidad de trabajo. (Hao He).

    Una arquitectura de aplicacin en la cual todas las funciones se definen como servicios independientes con interfaces invocablesbien definidas, que pueden ser llamadas en secuencias definidaspara formar procesos de negocios (IBM).

  • SOA MITRE:

    Una aplicacin SOA es una coleccin de servicios Un servicio es la unidad atmica de una SOA Los servicios encapsulan procesos de negocios Los proveedores de servicios se registran solos Un servicio involucra: Find, Bind, Execute Las instancias ms conocidas son los web services

    Gartner: SOA es una arquitectura de software que comienza con una definicin de

    interface y construye toda la topologa de la aplicacin como una topologade interfaces, implementaciones y llamados a interfaces. Sera mejorllamarla arquitectura orientada a interfaces. SOA es una relacin de servicios y consumidores de servicios, ambos suficientemente ampliospara representar una funcin de negocios completa.

  • SOAQu es SOA Service Oriented Architecture-?

    Un conjunto de software de infraestructura y diseointegrados, que rentabiliza los estndares de computacin web para desarrollar tareas de negocio en forma de servicioscompartidos

    Panorama actual de las aplicaciones: Caro

    ConfusoDuplicidadesDifcil de mantenerInflexibleLento

  • SOAEscenario SOAFcil de compartirReusabilidadInteroperabilidadEscalabilidadFlexibilidadDesacopladoSencilloDesarrollo RpidogilRentable en costes

  • SOA Posibilita un flujo sencillo para el desarrollo

    Usamos servicios que a su vez usan a otros servicios

  • SOAEvolucin perseguida al emplear SOA:

  • SOA EN RESUMEN: POR QU SOA?

    Permite reaccionar de forma rpida y precisa a las necesidades empresariales de evolucin contnua.

    Permite controlar los costes Permite desarrollar servicios en menos tiempo Despliegue de servicios innovadores y relevantes. El incremento de eficiencia reduce el TCO Incrementa la colaboracin, tanto interna como externa Toma de decisiones mejorada

  • SOA

  • SOA Implementaciones RPC

    WS no requiere despliegue WS no requiere clientes especficos, ni drivers SOA se redefine como paso de mensajes, no RPC

    DCOM CORBA JAVA RMI WSProtocolo RPC RPC IIOP IIOP o JRMP SOAPFormatomensaje

    NDR CDR JavaSerializationFormat

    XML 1.0Namespaces

    Descripcin IDL OMG IDL Java WSDLDescubrimiento Registry Naming Service RMI Registry o

    JNDIUDDI

    Marshalling Type LibraryMarshaller

    Serialization

  • SOA Reusabilidad: Los servicios se ejecutan en distintos sistemas operativos, pueden estar

    escritos en diferentes lenguajes; lo nico necesario para usar un servicio es su interfaz pblico.

    Interoperabilidad: los perfiles WS-I (Web Services Interoperability) ayudan a que los servicios en diferentes lenguajes y plataformas puedan comunicarse.

    Escalabilidad: Un bajo acoplamiento implica pocas dependencias entre los clientes y los servicios que usan. Esto conlleva que el esfuerzo en desarrollo no aumenta en complejidad en la misma proporcin que en sistemas acoplados.

    Flexibilidad: Pobre acoplamiento, naturaleza asncrona de los servicios y sistema basado en documentos, son caractersticas de SOA que permiten flexibilidad al evolucionar en cambio de requisitos.

    Eficiencia en costes: Las soluciones personalizadas son costosas porque requieren anlisis intensivo, mucho tiempo de desarrollo y alto esfuerzo. Una solucin SOA basada en servicios web reduce costes porque la integracin de los clientes y servicios no implica anlisis intensivos y la unicidad de los desarrollos a medida frente a las diferentes aproximaciones de los web services..

  • WEB SERVICES: PROTOLOS Y TECNOLOGAS

  • SOA Web Services: Protocolos y tecnologas (I)

    XML: eXtensible Markup Language. Lenguage de marcas; implica el uso de etiquetas que marcan los contenidos de un documento. Por ejemplo:

    Quiero ser alcaldesa de Marbella y otros pensamientosEl qu?Yola Berrocal39.951

  • SOA Web Services: Protocolos y tecnologas (II)

    SOAP: Simple Object Access Protocol. Es un protocolo de intercambio de informacin basado en XML en un entorno distribuido. SOAP proporciona un formato de mensaje comn para intercambio de informacin entre clientes y servicios.El elemento bsico de transmisin en SOAP es el Mensaje

    SOAP, que consiste en un sobre o envoltura obligatoria, una cabecera SOAP opcional, y un cuerpo SOAP obligatorio.

  • SOA Ejemplo de peticin de compra SOAP completo:

    1234

    Christopher RobinAccounting

    Pooh BearHoney

    1Pooh Stick

  • SOA Ejemplo SOAP de peticin y respuesta:

    Ejemplo de peticin SOA

    Ejemplo de respuesta:

  • WEB SERVICES ESTNDARES (I): SOAP

    SOAP: Simple Object Access Protocol Creado por Microsoft e IBM. A diferencia de DCOM y CORBA, SOAP

    usa el cdigo fuente en XML, que facilita la eliminacin de errores. Permite el intercambio de informacin estructurada y con tipos entre

    entidades (peers) descentralizadas Permite codificacin y empaquetamiento basado en XML para

    intercambiar datos como mensajes o RPCs

  • WEB SERVICES ESTNDARES (II): WSDL

    SOAP permite expresar invocaciones y respuestas sueltas, perotambin es necesario describir los servicios, como colecciones de operaciones y respuestas.

    Web Service Description Language fue desarrollado por Microsoft e IBM para describir servicios Web.

    Independiente del mtodo de transporte o mtodo de codificacin final. Las descripciones WSDL son complejas y difciles de construir

    manualmente Los fabricantes ofrecen generadores automticos de documentos

    WSDL: Microsoft SOAP Toolkit for COM IBM WebServices Toolkit: Java, EJBs, COM .NET(fue diseado para trabajar con Web Services)

  • WEB SERVICES ESTNDARES (III): UDDI

    Universal Description, Discovery and Integration Desarrollado por IBM, Microsoft y Ariba Permite mantener un registro global de Web Services Con operaciones para: publicar (publish), ojear (browse) y

    retirar (un-publish) Web Services Cualquier aplicacin (incluidos Search engines) pueden

    consultarlo para descubrir servicios.

  • WEB SERVICES SOA vs WEB SERVICES

    SERVICE ORIENTED ARCHITECTURE Integra las arquitecturas de web servicescon los sistemas antiguos de

    una manera dbilmente acoplada. Habilita funcionalidades de alto nivel, como Identidad,

    Seguridad,Gestin, Modelaje u orquestacin de Procesos de Negocio. Web Services

    Expone la lgica de negocio como servicios autodescritos, dbilmente acoplados

    Usa protocolos de bajo nivel e infraestructura

  • RECOMENDACIONES RECOMENDACIONES PRCTICAS DE SUN PARA EL

    TRABAJO CON SOA Exponer las aplicaciones antiguas como Web Services (crear

    interfaces hacia ellos) Presentar o construir las nuevas aplicaciones en base a Web

    Services Coreografiar u orquestar Web Services en forma de

    aplicaciones compuestas Proporcionar acceso seguro con Directory Server y Access

    Manager.

  • SOI SOI: SERVICE ORIENTED INTEGRATION

    Consiste en la integracin basada en Web Services en un contexto SOA.

    Es la aplicacin sistemtica de la tecnologa de Web Servicespara crear aplicaciones compuestas, mediante la integracin e interoperabilidad de sistemas, a nivel de lgica de negocio y usando Interfaces de Programacin (APIs).

    Este objetivo comienza aplicando la tecnologa JBI (Java Business Integration) y posteriormente, aplicar ESB (Enterprise Service Bus).

  • JBI JAVA BUSINESS INTEGRATION (JBI)

    Especificacin del Java Community Process (JSR208) marzo 2003

    Estndar de Java aprobado el 20 de Julio 20 de 2005 JBI es la base de Integracin basada en SOA

    JBI ofrece: Arquitectura de Interoperabilidad

    Una arquitectura abierta basada en SOA para que las tecnologas y servicios de Integracin puedan colaborar entre s

    Ensamblaje de Servicios CSD Composite Service Descriptor: Un documento nico que describe

    una aplicacin SOA - un super .jar

  • JBI JBI

    Es una arquitectura de integracin especificando componentes plug-in que interoperan intercambiando mensajes.

    Los componentes JBI proporcionan servicios, consumen servicios y a veces ambas cosas.

    Tenemos dos tipos de componentes: Service Engines (SE): proporcionan la lgica de negocio y los servicios

    de transformacin. Binding Components: Proporcionan conectividad para aplicaciones que

    son externas a JBI. El intercambio de mensajes entre componentes se realiza

    mediante el Normalized Message Router (NMR). El NMR enruta mensajes entre consumidores y proveedores.

  • JBI CARACTERSTICAS DE JBI

    Meta-Contenedor de servicios bsicos Mensajera Enrutamiento Binding de protocolos

    Infraestructura SOA Acoplamiento dbil Intercambio de Mensajes WSDL

    Dos tipos de componentes (como ya hemos visto): Motores (Service Engines):

    proveen lgica y funciones de negocios Bindings:

    Proveen protocolos de comunicaciones para el acceso a servicios remotos

  • JBI META-CONTENEDOR JBI

  • JBI ENSAMBLAJE DE SERVICIO JBI

    (Service Assembly) Es un nico documento XML que

    contiene los artifacts (un ZIP con los instaladores de componentes BC/SE) y la informacin de routing de una aplicacin SOA.

  • JBI Beneficios aportados por JBI

    JBI es a SOA lo que J2EE es al desarrollo de aplicaciones JBI es una infraestructura abierta, basada en plug-ins, para

    desplegar aplicaciones compuestas (composite aplications) Efecta el papel de una capa de mensajera SOA para la

    plataforma JAVA Es la pieza estndar para la construccin de ESBs (enterprise

    Service Bus) para la plataforma JAVA Permite a los desarrolladores sacar jugo a las tecnologas

    BPEL y XSLT.

  • ESB ENTERPRISE SERVICE BUS

    Tecnologas previas que pretendan solucionar el problema de la integracin de plataformas y aplicaciones heterogneas:

    Enterprise Applicaton Integration (EAI). Business-to-Business (B2B). Service Oriented Architecture (SOA) Web Services

    Desventajas: Tecnologas propietarias Caras Costosas en tiempo de implantacin

  • ESB Aproximacin ESB al problema de la integracin

    Solucin basada en estndares (elimina algunas desventajas de soluciones anteriores)

    Facilita la tarea de la integracin proporcionando servicios de infraestructura (routing, seguridad, orquestacin, etc.), de modo que cada aplicacin no tenga que implementarlos de manera propietaria, sino USARLOS.

    Atributos de una infraestructura ESB Distribuida. Basada en mensajes Basada en estndares abiertos Confiable