SOA ágil con WSO2
v 1.3
2014.05.22
Roger	
  CARHUATOCTO	
  
IT	
  Consultant	
  
	
  
Email:	
  roger	
  [at]	
  chakray.c...
Índice
1.  Objetivos
2.  El papel del Stack WSO2
3.  Agile SOA
1.  Principios
4.  Arquitectura de Referencia: ejemplo
5.  ...
1. Objetivos
•  Comprobar que el stack WSO2 resuelve todos los desafíos
de integración existentes en nuestros Proyectos SO...
2. El papel del Stack WSO2 (1/5)
•  Con el Stack WSO2 cubrimos todo el ciclo de vida de
Proyecto SOA (y Cloud).
2. El papel del Stack WSO2 (2/5)
2. El papel del Stack WSO2 (3/5)
2. El papel del Stack WSO2 (4/5)
2. El papel del Stack WSO2 (5/5)
3. SOA ágil
•  Principios:
•  Desacoplamiento
•  “Separation of Concerns” (SoC) o modulable, agnóstico tecnológicamente,
b...
OpenBravo ERP
Bonita BPM
Liferay
Portal
WSO2 ESB
WSO2
Identity
Server
Bonita
Workflow
Engine
Invoices
I3
Clients
I4
Orders...
5. Definición de Estrategia: metodología
•  Lo recomendable estar alineados a los “Principios de SOA
ágil” y seguir cierta...
5. Definición de Estrategia: desafíos de integración
•  En Proyectos SOA solemos encontrarnos con ciertos
desafíos tecnoló...
Seguir SOA:
Identificar las funcionalidades de Openbravo que se van a exponer como
servicios desde WSO2 ESB, que posterior...
Openia CRM es un módulo de Openbravo. Este módulo extiende las
funcionalidades de Openbravo relacionado a CRM.
1.
Una vez ...
La creación de Servicios o API es una tarea aplicable a cualquier tipo de
aplicación de negocio “on-premise” o en “la nube...
Exponer funcionalidades
Openbravo ERP y CRM como Servicios
Demo #1
Demo #1: Servicios a partir de “DAL” Openbravo
•  Blog de Gustavo Vázquez:
•  http://gusjavaz.wordpress.com/2014/03/22/exp...
5.2. Estrategias de integración: Reliable Messaging
•  Blog:
•  http://holisticsecurity.wordpress.com/2014/03/07/message-
...
Desplegar WSO2 Identity Server (WSO2 IS), crear usuarios, roles, grupos, …1.
Configurar Autenticación LDAP en Liferay apun...
Modelar:
Después de haber expuesto Servicios desde WSO2 ESB, podemos invocarlos en
el orden que mejor nos convenga. Cualqu...
Definir KPIs:
Después de identificar funcionalidades y exponerlas como Servicios desde WSO2
ESB, todo el flujo de informac...
Monitorizando Business
Services con WSO2 BAM
Demo #2
Demo #2: KPI y Dashboard usando WSO2 BAM
•  Blog de Luis Peñarrubia:
•  http://luispenarrubia.wordpress.com/2014/03/15/mon...
Doing the right things. Whit the right technology. To support business.
Upcoming SlideShare
Loading in...5
×

Agile SOA

613

Published on

Published in: Technology

Agile SOA

  1. 1. SOA ágil con WSO2 v 1.3 2014.05.22 Roger  CARHUATOCTO   IT  Consultant     Email:  roger  [at]  chakray.com   Twi6er:  @Chilcano   FOTO
  2. 2. Índice 1.  Objetivos 2.  El papel del Stack WSO2 3.  Agile SOA 1.  Principios 4.  Arquitectura de Referencia: ejemplo 5.  Definición de Estrategias 1.  Metodología 2.  Desafíos de Integración 1.  Creación de Servicios / API - demo #1 2.  Reliable Messaging (RM) 3.  Seguridad 4.  Orquestación – demo #2 5.  BAM 6.  Lecciones aprendidas
  3. 3. 1. Objetivos •  Comprobar que el stack WSO2 resuelve todos los desafíos de integración existentes en nuestros Proyectos SOA. •  Enterprise Integration Patterns (EIP), Creación de Servicios y API, Orquestación de Servicios, Seguridad, BAM y Cloud-Ready. •  Interiorizar los principios básicos a seguir en Proyectos SOA. •  Desacoplamiento, Separation of Concern (SoC), no reinventar la rueda, zero-code, gobierno, … •  Verificar que la definición de una serie de estrategias de integración es la base para cumplir las metas marcadas en Proyectos SOA. •  Comprobar que la Integración con Aplicaciones SaaS es natural y fácil con el stack WSO2.
  4. 4. 2. El papel del Stack WSO2 (1/5) •  Con el Stack WSO2 cubrimos todo el ciclo de vida de Proyecto SOA (y Cloud).
  5. 5. 2. El papel del Stack WSO2 (2/5)
  6. 6. 2. El papel del Stack WSO2 (3/5)
  7. 7. 2. El papel del Stack WSO2 (4/5)
  8. 8. 2. El papel del Stack WSO2 (5/5)
  9. 9. 3. SOA ágil •  Principios: •  Desacoplamiento •  “Separation of Concerns” (SoC) o modulable, agnóstico tecnológicamente, basado en interfases, etc. •  No reinventar la rueda •  Free & Open Source Technology •  Una rápida búsqueda en SourceForge.net, nos muestra que hay más de: •  500 CMSs, 30 ESBs, 100 ERPs, 100 CRMs, 50 BPMs, …. •  Zero-code •  Exponer funcionalidades existentes como Servicios (SOAP y/o REST) creando “wrappers” y empleando “adaptadores” del Middleware (WSO2 ESB). En otras palabras, hacer “Mediación”. •  Gobierno •  Gestionar, asegurar y medir !!. •  Gestionar el ciclo de vida de los proyectos, de las identidades, ALM, KPI, etc.
  10. 10. OpenBravo ERP Bonita BPM Liferay Portal WSO2 ESB WSO2 Identity Server Bonita Workflow Engine Invoices I3 Clients I4 Orders I1 Payment I2 Openia CRM Finantial ModuleModule Bonita Studio services orchestration modeling DB existing portlets WSO2 BAM (BI, KPI, Dashboard) BonitaLife Porlets bonita connectors Bonita API REST View Layer Integration Layer Business Layer KonaKart eCommerce StoreFront Admin KonaKart API (SOAP) KonaLife Porlets 4. Arquitectura de Referencia: ejemplo Module authn, authz Openbravo API (DAL) WSO2 Message Broker Alfresco ECM ECM / CMS API Repositorio Archivo NoSQL
  11. 11. 5. Definición de Estrategia: metodología •  Lo recomendable estar alineados a los “Principios de SOA ágil” y seguir ciertas pautas o metodología. Inventario de Aplicaciones existentes y funcionalidades. Son funcionalidades que vamos a exponer como Servicios. Usar adaptadores o implementar los tuyos propios. Crear Servicios y/o API. Modelo de mensajes canónico. Gobernar, asegurar y medir. -  Centralizar políticas, configuraciones. -  Aplicar Seguridad. -  Gestionar Versionados. -  Monitorizar y medir. Hacer Mashup y Orquestación. -  API -  B2B -  B2C -  Mobile Apps … Iterar en modo ágil 1. 2. 3. 4. 5.
  12. 12. 5. Definición de Estrategia: desafíos de integración •  En Proyectos SOA solemos encontrarnos con ciertos desafíos tecnológicos de integración que debemos resolver, entre ellos: 1.  Creación de Servicios / API 2.  Mensajería confiable (Reliable Messaging - RM) 3.  Seguridad (a todo nivel) 4.  Orquestación (definir el flujo de ejecución de los servicios) 5.  Monitorear la Actividad del Negocio (Business Activity Monitoring – BAM)
  13. 13. Seguir SOA: Identificar las funcionalidades de Openbravo que se van a exponer como servicios desde WSO2 ESB, que posteriormente vamos a consumir desde la View Layer, Liferay Portal en este caso. 1. Mediar: Define la estrategia de Integración (zero-code). Aprovecharemos que Openbravo expone sus funcionalidades a través de DAL (Data Access Layer) que son una serie de servicios REST con mensajes POX. 2. Gobernar: Una vez “mediados”, podemos aplicar nuevas características (seguridad, versionado, QoS, RM, Cache, …). 3. 5.1. Estrategias de integración: Creación de Servicios (1) Hacer Mashup (View Layer): Una aplicación completa tendrá un front-end, podemos usar cualquier solución de Portal para hacer mashup. 4.
  14. 14. Openia CRM es un módulo de Openbravo. Este módulo extiende las funcionalidades de Openbravo relacionado a CRM. 1. Una vez tengamos OpeniaCRM instalado, la BDs de Openbravo será extendida, automáticamente se extenderá también el DAL. Con el DAL actualizado podríamos crear cualquier webapps invocando estos servicios (entidades) o también podríamos“orquestar” usando Bonita BPM. 2. 5.1. Estrategias de integración: Creación de Servicios (2)
  15. 15. La creación de Servicios o API es una tarea aplicable a cualquier tipo de aplicación de negocio “on-premise” o en “la nube”. 1. El objetivo es definir una estrategia de Integración, creación de Servicios y/o API. En este punto WSO2 ESB es la mejor herramienta que podemos usar. 2. 5.1. Estrategias de integración: Creación de Servicios (3)
  16. 16. Exponer funcionalidades Openbravo ERP y CRM como Servicios Demo #1
  17. 17. Demo #1: Servicios a partir de “DAL” Openbravo •  Blog de Gustavo Vázquez: •  http://gusjavaz.wordpress.com/2014/03/22/exponiendo- funcionalidades-de-openbravo-como-bussiness-services-con- wso2-esb
  18. 18. 5.2. Estrategias de integración: Reliable Messaging •  Blog: •  http://holisticsecurity.wordpress.com/2014/03/07/message- brokering-y-recoleccion-datos-big-data-wso2
  19. 19. Desplegar WSO2 Identity Server (WSO2 IS), crear usuarios, roles, grupos, …1. Configurar Autenticación LDAP en Liferay apuntando al LDAP embebido de WSO2 IS. Habilitar la sincronización usuarios, roles, grupos, … 2. Configurar Autenticación LDAP y sincronización en Bonita BPM apuntando al LDAP embebido de WSO2 IS. 3. Configurar Autenticación LDAP y sincronización de usuarios en Openbravo apuntando al LDAP embebido de WSO2 IS. 4. Verifique el proceso de autenticación y de sincronización de usuarios en todo el ecosistema. 5. 5.3. Estrategias de integración: Seguridad (1) Después de consolidar repositorios de Usuarios y validar el proceso de Autenticación, estamos listos para implementar servicio de Autorización, SSO, Federación de Identidades, Social Login, etc. 6.
  20. 20. Modelar: Después de haber expuesto Servicios desde WSO2 ESB, podemos invocarlos en el orden que mejor nos convenga. Cualquier solución BPM de tipo human-centric nos facilitará definir el flujo de ejecución de los servicios. Bonita Studio es una herramienta visual que nos permite “dibujar” el flujo de ejecución alineado a BPMN2, además con Bonita BPM haciendo uso de Bonita Connectors nos facilita la invocación de nuestros servicios ya expuestos. 1. Desplegar: Desplegar los procesos de negocio diseñados desde Bonita Studio a Bonita Workflow Engine. 2. Ejecutar: Como se tiene un proceso de negocio en el Workflow Engine, es posible interactuar con él desde Bonita BPM Portal, pero también es posible acceder a él desde la View Layer, en nuestro caso, desde Liferay Portal pero empleando herramientas como BonitaLife (http://www.bonitalife.org), por ejemplo. 3. 5.4. Estrategias de integración: Orquestación
  21. 21. Definir KPIs: Después de identificar funcionalidades y exponerlas como Servicios desde WSO2 ESB, todo el flujo de información pasará por el ESB. De todos los Servicios expuestos, elegir qué datos/información acerca de la Organización quiero conocer o seguir. 1. 5.5. Estrategias de integración: BAM Capturar información: La información capturada requerirá ser almacenada o requerirá ser analizada en el mismo tiempo que está siendo almacenada. Por lo general son volúmenes grandes de información y requerirá estructurar nuestros motores de BDs tradicionales o usar los NoSQL DB. 2. Analizar y Prsentar: Una vez analizada la información capturada, podemos componer gráficos o Dashboards para mostrar la información. Gracias a WSO2 BAM y WSO2 CEP, podemos cubrir todo el ciclo de vida de Proyectos BAM/BI. 3.
  22. 22. Monitorizando Business Services con WSO2 BAM Demo #2
  23. 23. Demo #2: KPI y Dashboard usando WSO2 BAM •  Blog de Luis Peñarrubia: •  http://luispenarrubia.wordpress.com/2014/03/15/monitorizar-business-services- usando-wso2-esb-y-wso2-bam
  24. 24. Doing the right things. Whit the right technology. To support business.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×