[Webinar] SOA ágil con WSO2
-
Upload
roger-carhuatocto -
Category
Technology
-
view
669 -
download
1
Transcript of [Webinar] SOA ágil con WSO2
SOA ágil con WSO2
v 1.3 2014.05.22
Roger CARHUATOCTOIT Consultant
Email: roger [at] chakray.com
Twitter: @Chilcano
FOTO
Índice
1. Objetivos2. El papel del Stack WSO23. Agile SOA
1. Principios
4. Arquitectura de Referencia: ejemplo5. Definición de Estrategias
1. Metodología2. Desafíos de Integración
1. Creación de Servicios / API - demo #12. Reliable Messaging (RM)3. Seguridad 4. Orquestación – demo #25. BAM
6. Lecciones aprendidas
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.
2. El papel del Stack WSO2 (1/5)
• Con el Stack WSO2 cubrimos todo el ciclo de vida de Proyecto SOA (y Cloud).
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.
OpenBravo ERP
Bonita BPM
Liferay Portal
WSO2 ESB
WSO2 Identity Server
BonitaWorkflow
EngineInvoices
I3
Clients
I4
Orders
I1
Payment
I2
OpeniaCRM
FinantialModuleModule
BonitaStudio
services orchestration
modeling
DB
existing portlets
WSO2 BAM / WSO2 CEP(KPI, Dasboard, BigData)
BonitaLife Porlets
bonita connectors
Bonita API
REST
View Layer
IntegrationLayer
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 ArchivoNoSQL OLAP RDBMS
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º
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 / API2. 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)
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.
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)
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)
Demo #1: Servicios a partir de “DAL” Openbravo
• Blog de Gustavo Vázquez:• http://gusjavaz.wordpress.com/2014/03/22/exponiendo-funcionali
dades-de-openbravo-como-bussiness-services-con-wso2-esb
5.2. Estrategias de integración: Reliable Messaging
• Blog:• http://holisticsecurity.wordpress.com/2014/03/07/message-brokeri
ng-y-recoleccion-datos-big-data-wso2
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.
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 BPMhaciendo 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
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.
Demo #2: KPI y Dashboard usando WSO2 BAM
• Blog de Luis Peñarrubia:• http://luispenarrubia.wordpress.com/2014/03/15/monitorizar-business-services-usan
do-wso2-esb-y-wso2-bam