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

SOA SOFTWARE LIBRE

Embed Size (px)

Citation preview

Page 1: SOA SOFTWARE LIBRE

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

Page 2: SOA SOFTWARE LIBRE

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

Diego Armando Gómez M.Ingeniero de [email protected] de San Buenaventura Cali.Sun Certified Java AssociatedSun Certified Java ProgrammerSun Certified Web Component DeveloperSun Certified Business Component Developer 5

Page 3: SOA SOFTWARE LIBRE

Pensando en servicios

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

Page 4: SOA SOFTWARE LIBRE

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.

Page 5: SOA SOFTWARE LIBRE

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)

Page 6: SOA SOFTWARE LIBRE

Introducción (3/5)

Integración no SOA

Page 7: SOA SOFTWARE LIBRE

Introducción (4/5)

Integración SOA

Page 8: SOA SOFTWARE LIBRE

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.

Page 9: SOA SOFTWARE LIBRE

Componentes fundamentales de una Arquitecturas orientada a servicios (SOA)

Page 10: SOA SOFTWARE LIBRE

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.

Page 11: SOA SOFTWARE LIBRE

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.

Page 12: SOA SOFTWARE LIBRE

SOA Registry (3/4)

Page 13: SOA SOFTWARE LIBRE

SOA Registry (4/4)

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

Page 14: SOA SOFTWARE LIBRE

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

Page 15: SOA SOFTWARE LIBRE

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

Page 16: SOA SOFTWARE LIBRE

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/

Page 17: SOA SOFTWARE LIBRE

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.

Page 18: SOA SOFTWARE LIBRE

Enterprise Service Bus (ESB)(2/3)

Page 19: SOA SOFTWARE LIBRE

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/

Page 20: SOA SOFTWARE LIBRE

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.

Page 21: SOA SOFTWARE LIBRE

Service broker (2/4)

Page 22: SOA SOFTWARE LIBRE

Service broker (3/4)

Caso de ejemplo

Page 23: SOA SOFTWARE LIBRE

Service broker (4/4)

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

Page 24: SOA SOFTWARE LIBRE

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.

Page 25: SOA SOFTWARE LIBRE

Open Source SOAGracias