Sei sulla pagina 1di 40

Open Source SOA

Lenin David Lozano Consultor Especialista en Arquitectura Procesix Colombia 2010

Que es SOA Componentes en SOA SOA Open Source Iniciativa SOA de Eclipse

Por qu SOA y no BPM?

Inflexibilidad Acoplamiento fuerte Costos altos por los cambios Muy poco reuso

Si nada cambia, no hay problema


Pero. Lo nica cosa constante, es el cambio.

Que hacer?
Crear servicios reusables Promover el bajo acoplamiento

Partir la definicin
Arquitectura. Orientado a Servicios.

Existen muchas definiciones acerca de la orientacin por servicios. Igual que siempre se busca: Separacin de intereses. Existe una diferencia, y es la forma como la separacin se logra. Va mas all de la tecnologa y las soluciones de automatizacin.

15 de enero de 2014

Arquitecturas Orientadas a Servicios

SOA entrega los beneficios de la descomposicin funcional. Como con la bicicleta, se pueden comprar partes de diferentes proveedores y armarla segn nuestras necesidades.

15 de enero de 2014

Arquitecturas Orientadas a Servicios

Cada quien propone una nueva definicin de SOA. Por eso es posible decir que no hay una oficial. OASIS(Modelo de Referencia): Paradigma para organizar y utilizar caractersticas distribuidas que pueden estar bajo el control de diferentes dominios. Esta provee una manera uniforme de ofrecer, descubrir, interactuar y usar caractersticas para producir efectos deseados consistentes a precondiciones y expectativas medibles.
Necesidades del negocio vs Capacidad de IT.

Algunos ven SOA desde un punto de vista tecnolgico y otros lo ven desde un punto de vista de negocio.

15 de enero de 2014

Arquitecturas Orientadas a Servicios

Basado en un estilo arquitectnico Broker. Interaccin entre:


Proveedor de Servicio Consumidor de Servicio Broker de Servicios

15 de enero de 2014

Arquitecturas Orientadas a Servicios

10

15 de enero de 2014

Arquitecturas Orientadas a Servicios

11

Cuando se habla de SOA existe un glosario de trminos que pueden abrumar a las organizaciones.
Cada elemento en la infraestructura SOA cumple su rol para habilitar tecnolgicamente BPM.

Realmente no es un componente de SOA, es parte del ciclo de BPM. Se realiza por medio de herramientas CAD. Por lo general se modela usando BPMN Permiten traduccin a BPEL, XPDL, JPDL

Un servicio es una tarea REPETIBLE que realiza por una persona o un grupo de personas para el beneficio de otro. Tecnolgicamente hablando
Es igual que la definicin de COMPONENTE (Quien se atreve?) Un mecanismo que permite la invocacin en una manera distribuida Un mecanismo para realizar introspeccin dinmica de las interfaces No se comparte estado entre servicios Invocacin Asncrona. Protocolo estndar para envo de mensajes.

Habilitadores tecnolgicos de la computacin distribuida


WTF?

Son los que permiten la exposicin de los casos de uso o funcionalidades para que sean usados remotamente. Se aplica una arquitectura RPC Son heterogneos.
XML sobre HTTP Web Services RMI/IIOP DCOM COM+ Rosetta Cobol Adapters Screen Scrappers

Conjunto de componentes que interconectan capas de negocio con servicios de integracin:


Enrutamiento de datos Transformacin de datos Transformacin de protocolos Mapeo de servicios Procesamiento de mensajes Gestin de transacciones Seguridad Alertamiento

Aplicacin del patrn BROKER

Lgicas de Decisin
Polticas, requerimientos y condicionales que son usados para determinar acciones tcticas que se dan en aplicaciones. Silogismos

BRMS
Business Rules Management System Se usa para definir, monitorear y ejecutar las reglas de negocio que son usadas por un sistema en una organizacin. Motores de Inferencia. Sistemas Expertos.

Motor de Orquestacin de Procesos. Encargado de la ejecucin secuencial de tareas de negocio implementadas por aplicaciones.
Solo aplicaciones????? BPEL4People

Por lo general interpretan un lenguaje de ejecucin de procesos


BPEL XPDL JPDL

Portales y Frameworks de portales


Ofrecen un esquema de integracin de la vista. Tctica de Usabilidad One Single View. Los portales o frameworks de portales son la parte final de la infraestructura SOA. Conceptualmente es lo mas difcil de entender. Permiten el ofrecimiento de SERVICIOS desde diferentes aplicaciones en una sola aplicacin de usuario final por medio de PORTLETS. Potenciado con RIA (Rich Internet Applications). Mashups???

Business Activity Monitoring (BAM) es un termino acuado por Gartner. Tambin conocido como Procesamiento Complejo de Eventos (CEP) Tecnologa de software que habilita a las aplicaciones para que monitoreen varios canales de comunicacin de datos, analizarlos en trminos de KPI que son expresadas en reglas de eventos, y actan sobre oportunidades y amenazas en tiempo real, potencialmente por la creacin de eventos derivados o reenviando eventos. Otra forma de hacer inteligencia de negocio. Habilitador para la toma de decisiones en tiempo real.

Prueba antes de comprar


Prototipos antes de gastar grandes sumas de dinero.

Bajo costo de inicio


El costo de las herramientas puedes ser altsimo.

Soporte efectivo al costo


El soporte Open Source es sustancialmente menor.

Core competente.
Los componentes comerciales muchas veces son creados a partir de componentes dispersos.

Por la gente, para la gente.

Existen muchas herramientas gratis para esta parte del BPM. Depende de la notacin o lenguaje para escogerla. Ingeniera Directa para llegar a BPEL o XPDL. Existen herramientas Online.
Intalio Designer (http://www.intalio.com/bpms/designer) Bizagi Process Modeler (http://www.bizagi.com) Together XPDL Workflow Editor (http://www.together.at) Eclipse BPEL Designer

Java Business Integration Un estndar Java para SOA. Permite tener Integracin de Aplicaciones de Negocio.
Arquitectura basada en plugins Modelo de mensajera Gestin de Componentes Roles Modelo de Componentes

Motor de Web Services (http://ws.apache.org/axis2/).

de

Apache

Sucesor de Apache Axis. Se implementa con componentes en C y en Java.


Soporte de SOAP 1.1 y 1.2 y WS tipo REST. Soporte WS-* Velocidad en procesamiento de XML Web Services Asncronos Multiples esquemas de transporte (SMTP, FTP, MOM, HTTP)

Java EE Connector Architecture. Permite la conexin de Servidores de Aplicaciones y Sistemas de Informacin Empresarial para crear EAI. JCA es genrico para la conexin con sistemas legados. Provee
Gestin de transacciones. Gestin de la conexin. Gestin de seguridad.

Copyright Imagen: Oracle

Java Messaging Services


Permite la creacin de servicios asncronos por medio de un esquema de publicacin suscripcin.

Combina SOA con EDA Construido sobre JBI para la integracin. Liviano - Clustering Soporte de Spring Integrado. Puede ser usado embebido en una APP o como un ESB stand-alone. Copyright Imagen: Apache Usa ActiveMQ Se puede usar como base
Jboss Tomcat Oracle Glassfish

Basado en OpenESB. Usa un ncleo basado en JBI. Ofrece una arquitectura de bajo acoplamiento que permite el cambio del ESB mas fcilmente. Herramientas de diseo Herramientas de ejecucin
JEE Compatible Clustering Web Services .NET 3.0

ESB con arquitectura extensible bajo el modelo de plugins de Jboss.


Permite la integracin de servicios de infraestructura.

Kernel JMX Clustering BPEL 2.0 WS-*


SOAP 1.2 WSDL 1.1

Copyright Imagen: Redhat

Es una plataforma de integracin de reglas de negocio Creado por Jboss Redhat. Ofrece
Suite de Gestin de Reglas de Negocio Gestin de Flujos de Reglas de Negocio Motor de Inferencia Razonamiento temporal y procesamiento de eventos.

Plataforma integral para gestin de procesos de negocio. Incorpora:


Diseador BPMN ESB ECM Portal (XHTML) BAM BRE Human Workflow (Tempo)

Componente de la plataforma BPM de JBoss Motor de ejecucin de procesos de negocio que se puede ejecutar embebido en una aplicacin o stand-alone Soporta el control del flujo transaccional en Java. Soporte de JPDL pero traducido desde BPMN.

Orchestration Director Engine (http://ode.apache.org/). Permite la ejecucin de procesos de negocio usando WSBPEL. Soporta BPEL 2.0 y BPEL 1.1 Comunicacin por 2 capas
Axis 2 JBI (Se basa en ServiceMix)

Soporte de REST Despliegue en caliente de procesos

Dashboards Monitoreo de datos de servicios Monitoreo de datos de mediacin Analisis de servicios Analisis de mediaciones Trabajan basados en Gadgets.

Portal de integracin web creado por Jboss. Permite la visualizacin de informacin proveniente de diversas fuentes de informacin en una sola vista.
Video Promo

Misin
Entregar una plataforma desarrolladores. SOA integrada para los

Proveer un framework SOA extensible. 3 Estndares relevantes


SCA
Modelo de programacin, formato de descripcin

JBI
Enrutamiento de mensaje, abstraccin del mensaje

OSGi
Modelo de componentes

SOA no es nuevo No es un elefante blanco (aunque en el gobierno lo pueden tomar as afirmacin personal irresponsable) SOA no es solo Web Services. SOA es un cambio en la manera de pensar.
No se puede hacer SOA siendo desarrollador FALSO. Solo se puede hacer SOA comprando grandes paquetes.. FALSO. Lo mas importante NO ES UNA SOLUCION AL HAMBRE Y LA PAZ DEL MUNDO..

Potrebbero piacerti anche