SOA SOFTWARE LIBRE

  • View
    1.179

  • Download
    0

  • Category

    Business

Preview:

Citation preview

Laboratorio de investigación para el desarrollo de la ingeniería del software(LIDIS)

Software Libre para implementación de Arquitecturas Orientadas a Servicios (SOA)

Diego Armando Gómez M.Ingeniero de Sistemas.diegomezusb@gmail.comUniversidad de San Buenaventura Cali.Sun Certified Java AssociatedSun Certified Java ProgrammerSun Certified Web Component DeveloperSun Certified Business Component Developer 5

Pensando en servicios

Que servicios consumimos a diario? Servicios en una empresa. Servicios en una Universidad.

Introducción (1/5)

Las arquitecturas orientadas a servicios por sus siglas en ingles (Service-oriented architecture) son una evolución de las arquitecturas distribuidas que define la utilización de servicios para integrar sistemas de software heterogéneos.

Basado en estándares abiertos.

Introducción (2/5)

Las arquitecturas SOA fueron creadas con base en tecnologías anteriores. DCOM Object Request Brokers (ORBs) Remote Procedure Call (RPC)

SOA basado en servicios Web (Web Services). WSDL UDDI

Capas de mediación (middleware)

Introducción (3/5)

Integración no SOA

Introducción (4/5)

Integración SOA

Introducción (5/5)

ServicioFunciones auto contenidas y sin estado que

deben procesar múltiples peticiones y retornar múltiples respuestas a través de una interfaz muy bien definida (WSDL).

Un servicio no debe depender de estados de procesos o servicios anteriormente ejecutados.

Componentes fundamentales de una Arquitecturas orientada a servicios (SOA)

SOA Registry (1/4)

Catalogo donde se registra la información de cada uno de los servicios disponibles en la arquitectura

Documenta reglas y descripciones asociadas para cada uno de los componentes de software (Servicios).

Cumple dos rolesRol de infraestructurasRol de desarrollo y análisis.

SOA Registry (2/4)

UDDI (Universal Description, Discovery and Integration).Estándar abierto administrado por OASIS.Sirve para registrar solo servicios Web.Pero cuando no son servicios Web?

ebXML RegistryEstándar abierto administrado por OASIS.Sirve para registrar Servicios Web y metadata

de diferentes tipos.

SOA Registry (3/4)

SOA Registry (4/4)

Nombre Sitio WebfreebXML http://ebxmlrr.sourceforge.net/

Workflow Engine (1/3)

Recientemente asociado a Business Process Management.

El objetivo de BPM es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio.

Lenguaje de definición de procesos. jPDL BPEL UML BPM

Workflow Engine (2/3)

Nombre Sitio WebApache ODE http://ode.apache.orgjBPM http://www.jboss.org/jbossjbpmOpenSymphony OSWorkflow http://www.opensymphony.com/osworkflowTaverna http://taverna.sourceforge.net/ActiveBPEL http://www.activevos.com/community-open-source.phpPegasus http://pegasus.isi.eduEnhydra Shark http://www.enhydra.org/workflow/shark/index.htmlWerkflow http://werkflow.codehaus.orgObjectWeb Bonita http://wiki.bonita.objectweb.org/xwiki/bin/view/Main/WebHomeBossa http://www.bigbross.com/bossaIntalio http://www.intalio.com

Workflow Engine (3/3)

Nombre Sitio WebBossa http://www.bigbross.com/bossa/OpenWFE http://www.openwfe.org/WfMOpen http://wfmopen.sourceforge.net/Freefluo http://freefluo.sourceforge.netZebra http://zebra.berlios.de/Beexee http://bexee.sourceforge.netDalma https://dalma.dev.java.net/nonav/maven/index.htmlImixs IX Workflow http://www.imixs.org/Open Business Engine http://obe.sourceforge.net/

Enterprise Service Bus (ESB)(1/3)

Se usa para transportar mensajes entre componentes de software.

Los mensajes se pueden entregar entre aplicaciones con diferentes estándares y diferentes protocolos de comunicación.

Enterprise Service Bus (ESB)(2/3)

Enterprise Service Bus (ESB)(3/3)

Nombre Sitio WebPetals http://petals.objectweb.org/JbossESB http://www.jboss.org/jbossesb/Apache ServiceMix http://servicemix.apache.org/open source ESB http://www.osesb.org/Open ESB https://open-esb.dev.java.net/WSO2 ESB http://wso2.org/projects/esb/javajeeESB https://jeeesb.dev.java.net/

Service broker (1/4)

Es el encargado de conectar los servicios usando las reglas asociadas a cada componente.

Hace el proceso de orquestacion entre servicios.

Trabaja de la mano con el SOA Registry.

Service broker (2/4)

Service broker (3/4)

Caso de ejemplo

Service broker (4/4)

Se usan motores de BPEL4WS con la colaboración del ESB

SOA Supervisor

Encargado del monitoreo de los servicios de la arquitectura.Tiempos de entrega.Corrección de problemasTrafico en los servicios.

La mayoría de los ESB proveen esta funcionalidad.

Open Source SOAGracias