SOA Open Source

  • 719 views
Uploaded on

Charla sobre herramientas y tecnologia habilitada para implantar automatización y orquestación de procesos.

Charla sobre herramientas y tecnologia habilitada para implantar automatización y orquestación de procesos.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
719
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Open Source SOA Lenin David LozanoConsultor Especialista en Arquitectura Procesix Colombia 2010
  • 2. • Que es SOA• Componentes en SOA• SOA Open Source• Iniciativa SOA de Eclipse
  • 3. • Por qué SOA y no BPM?
  • 4. • 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
  • 5. • Partir la definición – Arquitectura. – Orientado a Servicios.• Existen muchas definiciones acerca de la “orientación por servicios”.• Igual que siempre se busca: Separación de intereses.• Existe una diferencia, y es la forma como la separación se logra.• Va mas allá de la tecnología y las soluciones de automatización.30 de noviembre de 2011 Arquitecturas Orientadas a Servicios 7
  • 6. • SOA entrega los beneficios de la descomposición funcional.• Como con la bicicleta, se pueden comprar partes de diferentes proveedores y armarla según nuestras necesidades.30 de noviembre de 2011 Arquitecturas Orientadas a Servicios 8
  • 7. • Cada quien propone una nueva definición de SOA. Por eso es posible decir que no hay una oficial.• OASIS(Modelo de Referencia): “Paradigma para organizar y utilizar características distribuidas que pueden estar bajo el control de diferentes dominios. Esta provee una manera uniforme de ofrecer, descubrir, interactuar y usar características 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 tecnológico y otros lo ven desde un punto de vista de negocio.30 de noviembre de 2011 Arquitecturas Orientadas a Servicios 9
  • 8. • Basado en un estilo arquitectónico Broker. • Interacción entre: – Proveedor de Servicio – Consumidor de Servicio – Broker de Servicios30 de noviembre de 2011 Arquitecturas Orientadas a Servicios 10
  • 9. 30 de noviembre de 2011 Arquitecturas Orientadas a Servicios 11
  • 10. • Cuando se habla de SOA existe un glosario de términos que pueden abrumar a las organizaciones.• Cada elemento en la infraestructura SOA cumple su rol para habilitar tecnológicamente BPM.
  • 11. • 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 traducción a BPEL, XPDL, JPDL
  • 12. • Un servicio es una tarea REPETIBLE que realiza por una persona o un grupo de personas para el beneficio de otro.• Tecnológicamente hablando – Es igual que la definición de COMPONENTE (Quien se atreve?) – Un mecanismo que permite la invocación en una manera distribuida – Un mecanismo para realizar introspección dinámica de las interfaces – No se comparte estado entre servicios – Invocación Asíncrona. – Protocolo estándar para envío de mensajes.
  • 13. • Habilitadores tecnológicos de la computación distribuida… – WTF?• Son los que permiten la exposición de los casos de uso o funcionalidades para que sean usados remotamente.• Se aplica una arquitectura RPC• Son heterogéneos. – XML sobre HTTP – Web Services – RMI/IIOP – DCOM – COM+ – Rosetta – Cobol Adapters – Screen Scrappers
  • 14. • Conjunto de componentes que interconectan capas de negocio con servicios de integración: – Enrutamiento de datos – Transformación de datos – Transformación de protocolos – Mapeo de servicios – Procesamiento de mensajes – Gestión de transacciones – Seguridad – Alertamiento• Aplicación del patrón BROKER
  • 15. • Lógicas de Decisión – Políticas, requerimientos y condicionales que son usados para determinar acciones tácticas 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 organización. – Motores de Inferencia. – Sistemas Expertos.
  • 16. • Motor de Orquestación de Procesos.• Encargado de la ejecución secuencial de tareas de negocio implementadas por aplicaciones. – Solo aplicaciones????? – BPEL4People• Por lo general interpretan un lenguaje de ejecución de procesos – BPEL – XPDL – JPDL
  • 17. • Portales y Frameworks de portales• Ofrecen un esquema de integración de la vista.• Táctica de Usabilidad – One Single View.• Los portales o frameworks de portales son la parte final de la infraestructura SOA.• Conceptualmente es lo mas difícil de entender.• Permiten el ofrecimiento de SERVICIOS desde diferentes aplicaciones en una sola aplicación de usuario final por medio de PORTLETS.• Potenciado con RIA (Rich Internet Applications).• Mashups???
  • 18. • Business Activity Monitoring (BAM) es un termino acuñado por Gartner.• También conocido como Procesamiento Complejo de Eventos (CEP) – “Tecnología de software que habilita a las aplicaciones para que monitoreen varios canales de comunicación de datos, analizarlos en términos de KPI que son expresadas en reglas de eventos, y actúan sobre oportunidades y amenazas en tiempo real, potencialmente por la creación de eventos derivados o reenviando eventos”.• Otra forma de hacer inteligencia de negocio.• Habilitador para la toma de decisiones en tiempo real.
  • 19. • Prueba antes de comprar – Prototipos antes de gastar grandes sumas de dinero.• Bajo costo de inicio – El costo de las herramientas puedes ser altísimo.• 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.
  • 20. • Existen muchas herramientas gratis para esta parte del BPM.• Depende de la notación o lenguaje para escogerla.• Ingeniería 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
  • 21. • Java Business Integration• Un estándar Java para SOA.• Permite tener Integración de Aplicaciones de Negocio. – Arquitectura basada en plugins – Modelo de mensajería – Gestión de Componentes – Roles – Modelo de Componentes
  • 22. • Motor de Web Services de Apache (http://ws.apache.org/axis2/).• 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 Asíncronos – Multiples esquemas de transporte (SMTP, FTP, MOM, HTTP)
  • 23. • Java EE Connector Architecture.• Permite la conexión de Servidores de Aplicaciones y Sistemas de Información Empresarial para crear EAI.• JCA es genérico para la conexión con sistemas legados.• Provee – Gestión de transacciones. – Gestión de la conexión. – Gestión de seguridad. Copyright Imagen: Oracle
  • 24. • Java Messaging Services• Permite la creación de servicios asíncronos por medio de un esquema de publicación – suscripción.
  • 25. • Combina SOA con EDA• Construido sobre JBI para la integración.• Liviano - Clustering• Soporte de Spring Integrado.• Puede ser usado embebido en una APP o como un ESB stand-alone.• Usa ActiveMQ Copyright Imagen: Apache• Se puede usar como base – Jboss – Tomcat – Oracle – Glassfish
  • 26. • Basado en OpenESB.• Usa un núcleo basado en JBI.• Ofrece una arquitectura de bajo acoplamiento que permite el cambio del ESB mas fácilmente.• Herramientas de diseño• Herramientas de ejecución• JEE Compatible• Clustering• Web Services .NET 3.0
  • 27. • ESB con arquitectura extensible bajo el modelo de plugins de Jboss. – Permite la integración de servicios de infraestructura.• Kernel JMX Copyright Imagen: Redhat• Clustering• BPEL 2.0• WS-* – SOAP 1.2 – WSDL 1.1
  • 28. • Es una plataforma de integración de reglas de negocio• Creado por Jboss – Redhat.• Ofrece – Suite de Gestión de Reglas de Negocio – Gestión de Flujos de Reglas de Negocio – Motor de Inferencia – Razonamiento temporal y procesamiento de eventos.
  • 29. • Plataforma integral para gestión de procesos de negocio.• Incorpora: – Diseñador BPMN – ESB – ECM – Portal (XHTML) – BAM – BRE – Human Workflow (Tempo)
  • 30. • Componente de la plataforma BPM de JBoss• Motor de ejecución de procesos de negocio que se puede ejecutar embebido en una aplicación o stand-alone• Soporta el control del flujo transaccional en Java.• Soporte de JPDL pero traducido desde BPMN.
  • 31. • Orchestration Director Engine (http://ode.apache.org/).• Permite la ejecución de procesos de negocio usando WS- BPEL.• Soporta BPEL 2.0 y BPEL 1.1• Comunicación por 2 capas – Axis 2 – JBI (Se basa en ServiceMix)• Soporte de REST• Despliegue en caliente de procesos
  • 32. • Dashboards – Monitoreo de datos de servicios – Monitoreo de datos de mediación – Analisis de servicios – Analisis de mediaciones• Trabajan basados en Gadgets.
  • 33. • Portal de integración web creado por Jboss.• Permite la visualización de información proveniente de diversas fuentes de información en una sola vista.• Video Promo
  • 34. • Misión – Entregar una plataforma SOA integrada para los desarrolladores.
  • 35. • Proveer un framework SOA extensible.• 3 Estándares relevantes – SCA • Modelo de programación, formato de descripción – JBI • Enrutamiento de mensaje, abstracción del mensaje – OSGi • Modelo de componentes
  • 36. • SOA no es nuevo• No es un elefante blanco (aunque en el gobierno lo pueden tomar así… afirmación 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..