[Webinar] SOA ágil con WSO2

24
SOA ágil con WSO2 v 1.3 2014.05.22 Roger CARHUATOCTO IT Consultant Email: roger [at] chakray.com Twitter: @Chilcano FOTO

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).

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

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

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)

Exponer funcionalidades Openbravo ERP y CRM como Servicios

Demo #1

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.

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-usan

do-wso2-esb-y-wso2-bam

Doing the right things. Whit the right technology. To support business.