[Webinar] SOA ágil con WSO2

Roger CARHUATOCTO
Roger CARHUATOCTOSecurity Architect à HolisiticSecurity.io
SOA ágil con WSO2
v 1.3
2014.05.22
Roger CARHUATOCTO
IT Consultant
Email: roger [at] chakray.com
Twitter: @Chilcano
FOTO
Í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
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).
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,
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
Bonita
Workflow
Engine
Invoices
I3
Clients
I4
Orders
I1
Payment
I2
Openia
CRM
Finantial
Module
Module
Bonita
Studio
services orchestration
modeling
DB
existing portlets
WSO2 BAM / WSO2 CEP
(KPI, Dasboard, BigData)
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 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 / 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)
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)
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/exponiendo-
funcionalidades-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-
brokering-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 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
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.
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/monitorizar-business-services-
usando-wso2-esb-y-wso2-bam
Doing the right things. Whit the right technology. To support business.
1 sur 24

Contenu connexe

Similaire à [Webinar] SOA ágil con WSO2(20)

SOA Governance, Enfoque PracticoSOA Governance, Enfoque Practico
SOA Governance, Enfoque Practico
Luis Alberto Espinoza Bustamante2.2K vues
Altenia SOAAltenia SOA
Altenia SOA
altenia545 vues
Intalio|BPM:Mas alla de SOAIntalio|BPM:Mas alla de SOA
Intalio|BPM:Mas alla de SOA
Esteban J. Felipe M.1.4K vues
Implementacion exitosa soaImplementacion exitosa soa
Implementacion exitosa soa
Gustavo Francisco Guerra779 vues
Soa   Fast TrackSoa   Fast Track
Soa Fast Track
jin_group640 vues
Introducción a SOAIntroducción a SOA
Introducción a SOA
rdiegoc10.3K vues
PresentacionPresentacion
Presentacion
alberpilot386 vues
Clase SoaClase Soa
Clase Soa
Rafael Montes625 vues

Plus de Roger CARHUATOCTO(20)

WSO2Con 2013 - WSO2 as a Crypto PlatformWSO2Con 2013 - WSO2 as a Crypto Platform
WSO2Con 2013 - WSO2 as a Crypto Platform
Roger CARHUATOCTO2.4K vues
1st Peruvian It Security Workshop Flyer1st Peruvian It Security Workshop Flyer
1st Peruvian It Security Workshop Flyer
Roger CARHUATOCTO225 vues
PKI Aplicada V1.3PKI Aplicada V1.3
PKI Aplicada V1.3
Roger CARHUATOCTO759 vues
Calidad y Seguridad en el SDLC  V1 4Calidad y Seguridad en el SDLC  V1 4
Calidad y Seguridad en el SDLC V1 4
Roger CARHUATOCTO798 vues
Intrusion Detection System V1.2Intrusion Detection System V1.2
Intrusion Detection System V1.2
Roger CARHUATOCTO1.7K vues
Digital Forensics V1.4Digital Forensics V1.4
Digital Forensics V1.4
Roger CARHUATOCTO656 vues
QA and Security in Development ProcessQA and Security in Development Process
QA and Security in Development Process
Roger CARHUATOCTO145 vues
Identity Federation on JBossASIdentity Federation on JBossAS
Identity Federation on JBossAS
Roger CARHUATOCTO1K vues
QA and Security Testing in the SDLCQA and Security Testing in the SDLC
QA and Security Testing in the SDLC
Roger CARHUATOCTO478 vues
Seguridad en InternetSeguridad en Internet
Seguridad en Internet
Roger CARHUATOCTO336 vues
Técnicas de IntrusiónTécnicas de Intrusión
Técnicas de Intrusión
Roger CARHUATOCTO815 vues
P2P TrackingP2P Tracking
P2P Tracking
Roger CARHUATOCTO427 vues
esCERT-UPC, PresentaciónesCERT-UPC, Presentación
esCERT-UPC, Presentación
Roger CARHUATOCTO338 vues
Public Key InfrastructurePublic Key Infrastructure
Public Key Infrastructure
Roger CARHUATOCTO1.1K vues
Criptografia AplicadaCriptografia Aplicada
Criptografia Aplicada
Roger CARHUATOCTO1.3K vues

Dernier(20)

[Webinar] SOA ágil con WSO2

  • 1. SOA ágil con WSO2 v 1.3 2014.05.22 Roger CARHUATOCTO IT Consultant Email: roger [at] chakray.com Twitter: @Chilcano FOTO
  • 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. 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. 2. El papel del Stack WSO2 (1/5) • Con el Stack WSO2 cubrimos todo el ciclo de vida de Proyecto SOA (y Cloud).
  • 5. 2. El papel del Stack WSO2 (2/5)
  • 6. 2. El papel del Stack WSO2 (3/5)
  • 7. 2. El papel del Stack WSO2 (4/5)
  • 8. 2. El papel del Stack WSO2 (5/5)
  • 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. 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 Module Module Bonita Studio services orchestration modeling DB existing portlets WSO2 BAM / WSO2 CEP (KPI, Dasboard, BigData) 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 OLAP RDBMS
  • 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. 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. 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. 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. 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. Exponer funcionalidades Openbravo ERP y CRM como Servicios Demo #1
  • 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. 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. 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. 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. 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.
  • 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. Doing the right things. Whit the right technology. To support business.