Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las...

23
Building a Business Ecosystem using WSO2 for B2B/B2C BizLife.org || Proof of Concept Roger CARHUATOCTO IT Consultant Email: roger [at] chakray.com Twi6er: @Chilcano FOTO

Transcript of Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las...

Page 1: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Building a Business Ecosystem using WSO2 for B2B/B2C

BizLife.org || Proof of Concept

Roger  CARHUATOCTO  IT  Consultant  

 

Email:  roger  [at]  chakray.com  

Twi6er:  @Chilcano  

FOTO

Page 2: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

OpenBravo ERP

Bonita BPM

Liferay Portal

WSO2 ESB

WSO2 Identity Server

Bonita Workflow

Engine

S1 S3

Invoices

I3

S4

Clients

I4

Orders

I1

Payment

I2

S2

Openia CRM

Finantial Module Module

Bonita Studio

services orchestration

modeling

DB

existing portlets

WSO2 BRS (Drools Engine)

S5

WSO2 BAM (BI, KPI,

Dashboard)

reporting

BonitaLife Porlets

bonita connectors

Bonita API

REST

View Layer

IntegrationLayer

Business Layer KonaKart

eCommerce

StoreFront Admin

KonaKart API (SOAP)

KonaLife Porlets

1. Arquitectura del Ecosistema para B2B & B2C

Module

authn, authz

Openbravo API (DAL)

authn, authz

Page 3: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios desde (Service Proxy) WSO2 ESB, que posteriormente vamos a consumir desde la View Layer, Liferay Portal en este caso (mashup).

1. For example, when you will create an order in OpenBravo, the services identified will be: 1.  ADSequence 2.  DocumentType 3.  BusinessPartner 4.  BusinessPartnerLocation 5.  Warehouse 6.  PrincingList 7.  FinancialMgmtPaymentTerm 8.  Order 9.  OrderLine

Mediación: Aquellas funcionalidades identificadas y gracias a WSO2 ESB crearemos una serie de “Service Proxies” que nos permitirán acceder a las funcionalidades usando SOAP y/o REST. 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. Further information here: http://docs.wso2.org/display/ESB470/Adding+a+Proxy+Service#AddingaProxyService-PublishWSDLOptions You can check existing (DAL) Openbravo REST services here: http://openia.chakray.com/openbravo/ws/dal

Gobernar: Una vez “mediados”, podemos aplicar nuevas características como: seguridad, tracing, monitoring, versioning, QoS, KPI, en general, cualquier característica relacionada a BAM.

3. The new WSDL for the mediated services can be reviewed here: http://api.bizlife.org/services/proxy_openbravo?wsdl Test it with soapUI.

2. Exponer funcionalidades Openbravo ERP como Servicios

Mashup (View Layer): Una aplicación completa tendrá un front-end, en este caso, usaremos Liferay Portal para hacer mashup. Esto quiere decir que únicamente el Portal servirá para hacer presentación.

4. SOA and Portal relationship: •  WebSphere Portal: An on-ramp to a service oriented architecture: http://www-07.ibm.com/sg/soa/downloads/WebSphere_Portal.pdf •  A Portal May Be Your First Step to Leverage SOA: https://www.gartner.com/doc/485862/portal-step-leverage-soa •  Portal as UI of SOA: http://www.slideshare.net/microcline/portal-as-ui-of-soa-2636330

Page 4: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Openia CRM es un módulo de Openbravo. Este módulo extiende las funcionalidades de Openbravo relacionado a CRM.

1. Openia CRM is an Openbravo module and can be downloaded as module (*.obx) or as a Virtual Machine previously installed with Openbravo. To know which tables have been created follow these steps: 1.  Identify the DB prefix for this new module to be installed.

You can see it in Openbravo > Application Dictionary > Module > click on the module of your interest

2.  Open this URL in a browser: http://${OPENBRAVO-HOSTNAME}/openbravo/ws/dal

3.  The new Tables or Entities exposed as Data Layer (REST and XML) begin with DB prefix of your module installed.

Una vez tengas las “Tablas o Entidades”, entonces ahora tu podrías crear cualquier webapps invocando estos servicios (entidades) o también tu podrías “orquestar” usando Bonita BPM.

2. In the VM you can see a simple Process created with Bonita Studio calling to these new Tables or Entities. Already exist a Bonita Connector to make calls to any REST / XML services, you just use it. Remember, you are free to use any approach to orchestration of services, in this case, for Open CRM you have these Entitites (data services): 1.  opcrm_activity 2.  opcrm_cases 3.  opcrm_cases_access 4.  opcrm_config 5.  opcrm_documents 6.  opcrm_guest 7.  opcrm_invoice 8.  opcrm_lead_access 9.  opcrm_lead_activity 10.  opcrm_opp_access 11.  opcrm_opportunities 12.  opcrm_statusfilter 13.  opcrm_statusfilter_trl

3. Exponer funcionalidades Openia CRM como Servicios

Page 5: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Usando Bonita Studio tu puedes orquestar cualquier proceso y servicios de negocio de Openbravo. Tu puedes crear nuevos Bonita Connectors o usar existentes para invocar los servicios ya expuestos desde WSO2 ESB.

1. A Bonita Connector is a simple Java client callling these services but that we can run it in workflow engine take advange of libraries of Bonita BPM. We have attached both projects: •  Java client to create order. •  Simple process calling our

CreateOrder Connector for Bonita BPM.

Desplegar los procesos de negocio diseñados desde Bonita Studio a Bonita Workflow Engine.

2. Check your deployed process. From Bonita User Experience Portal execute your deployed process. If all is OK, you will see a new Order created in OpenBravo side.

Ahora tu tienes un proceso de negocio corriendo en tu Workflow Engine. Es posible interactuar con él desde Bonita BPM Portal (intranet), pero también es posible acceder a él desde la View Layer (Liferay Portal) usando herramientas como BonitaLife o crear la tuya propia. BonitaLife es un grupo de portlets de Liferay que interactúan con los procesos de negocio y con el motor de workflow de Bonita a través del API de Bonita.

3. Install Liferay Portal and deploy BonitaLife. BonitaLife can be downloaded from Liferay Marketplace: http://www.liferay.com/marketplace/-/mp/application/26827133 Further information on BonitaLife can be found here: http://www.bonitalife.org/requerimientos-e-instalacion

4. Orquestación de procesos y servicios

Page 6: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Conocer el estado de nuestra plataforma o sistemas, nosotros deberíamos consultar la fuente de información. En este caso, nosotros tenemos la fuente principal de información y está en WSO2 ESB, porque es nuestro middleware todo el flujo de información pasa por aquí ya que hacemos “mediación”.

1. In the VM, we have configured some REST services in WSO2 ESB. These services are registered as Pass Through Proxies and WSO2 ESB stores information about of its use and performance. By default, WSO2 ESB has a simple dashboard to review or analyse this information. But if you want more sophisticated functionality, then we recommend the use of any product for creating dashboards or reports as Pentaho, Jasper Report, etc. WSO2 also has a product for creating dashboards and reports. IT is WSO2 User Engagement Server. But if you still require creating complex reports, KPIs and analyze information, you could use WSO2 BAM for this.

5. Business Activity Monitoring con WSO2 BAM

Page 7: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Para crear una regla de negocio es necesario contar con una herramienta como WSO2 Business rule Server (WSO2 BRS) que incluya un motor como Drools, en este caso, WSO2 BRS provee de funcionalidades adecuadas para una fácil integración con WSO2 ESB. Podemos acceder a la gran mayoría de funcionalidades de WSO2 BRS gracias a la exposición de su API.

1. In the VM, we have installed WSO2 BRS and from Bonita BPM could call any business rules exposed as service using Bonita SOAP Connector. If we want metering how many times this service was called, we could create a webservice proxy in WSO2 ESB and with WSO2 BAM could see statistical information about it. The best advantage of WSO2 BRS is that WSO2 exposes any business rule as service and become a complete API just for the Management of business rules for our Enterprise.

6. Integración WSO2 Business Rules Server

Page 8: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

1.  Start login process 2.  Pass login process to Bonita 3.  Bonita passes login process 4.  OB passes login process 5.  WSO2IS sends response 6.  OB redirects response 7.  Bonita redirects response 8.  Liferay receive response

Authentication in Openbravo

1.  Start login process 2.  Pass login process to Bonita 3.  Validate credentials 4.  WSO2IS sends response 5.  Bonita redirects response 6.  Liferay receives response

Authentication in Bonita

1.  Start login process 2.  Validate credentials 3.  WSO2IS sends response 4.  Liferay receives response

Authentication in Liferay

Desplegar WSO2 Identity Server (WSO2 IS), crear usuarios, roles, grupos, …

1. In the VM, WSO2 IS has already been deployed.

Configurar Autenticación LDAP en Liferay apuntando al LDAP embebido de WSO2 IS. Habilitar la sincronización usuarios, roles, grupos, …

2. In the VM, LDAP Authentication and User syncronization have already been configured and tested.

Configurar Autenticación LDAP y sincronización en Bonita BPM apuntando al LDAP embebido de WSO2 IS.

3. Right now this functionality is available in Bonita BPM Teamwork version (http://www.bonitasoft.com/products/product-comparison). In the VM, we have created a set of users in Bonita and also in WSO2 IS.

Configurar Autenticación LDAP y sincronización de usuaros en Openbravo apuntando al LDAP embebido de WSO2 IS.

4. Follow this instructions () to configure LDAP Authentication and User syncronization of OpenBravo and embedded LDAP of WSO2 IS. http://forge.openbravo.com/plugins/mwiki/index.php/LDAP

Verifique el proceso de autenticación y de sincronización de usuarios en todo el ecosistema.

5. For further info check the status-diagram for Authentication and Centrialized User Management.

LIFERAY WSO2IS BONITA OPENBRAVO

LIFERAY WSO2IS BONITA OPENBRAVO

7. IdM/IAM, Autenticación, Autorización y SSO

Page 9: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Recursos: 1.  WSO2 BAM: Monitoring KPIs

•  http://docs.wso2.org/display/BAM240/Monitoring+key+Performance+Indicators

2.  WSO2 BRS: Getting Service •  http://docs.wso2.org/display/BRS200/Greeting+Service

3.  Openbravo ERP and Openia CRM: Preinstalled sogtware in a VM •  http://sourceforge.net/projects/openiacrm/

4.  Openbravo and LDAP integration: •  http://forge.openbravo.com/plugins/mwiki/index.php/LDAP

5.  BonitaLife: a set of Liferay Portlets to manage tasks, cases and processes of Bonita BPM from Liferay •  http://www.bonitalife.org/

8. Recursos

Page 10: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #1: Explorando BizLife Portal Proof of Concept

Page 11: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #1: Explorando BizLife Portal

Page 12: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #2: Exponer funcionalidades Openbravo ERP y CRM como Servicios

Proof of Concept

Page 13: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

•  “Agile SOA” best-practices: •  No reinventar la rueda:

•  No implementar funcionalidades nuevas, a menos que sea necesario.

•  Exponer la funcionalidad como “servicio”. •  Desacoplamiento e interoperable:

•  Arquitectura por capas. •  SOI (Service Oriented Integration)

•  “Cloud ready” •  Multi-tenant •  Elástico •  PaaS

•  SOA & Portal relationship: •  WebSphere Portal: An on-ramp to a service oriented architecture:

http://www-07.ibm.com/sg/soa/downloads/WebSphere_Portal.pdf •  A Portal May Be Your First Step to Leverage SOA:

https://www.gartner.com/doc/485862/portal-step-leverage-soa •  Portal as UI of SOA:

http://www.slideshare.net/microcline/portal-as-ui-of-soa-2636330

Demo #2: Servicios a partir de “DAL” Openbravo

Page 14: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #2: 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

Page 15: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #3: Orquestación de procesos y servicios

Proof of Concept

Page 16: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Paso 1: Modelar y Orquestar procesos y servicios con Bonita Studio Paso 2: Gobernar (mediation) business services con WSO2 ESB Paso 3: Desplegar los procesos al Workflow Engine Paso 4: Ejecutar teras, casos y procesos desde BonitaLife

Demo #3: Orquestación de procesos y servicios

•  Jack Rider y Alfredo Prats: •  http://www.bonitalife.org

•  Blog de Jack Rider: •  http://itscenario.wordpress.com/2013/12/02/integracion-google-calendar-drive-

wso2-business-activity-monitor-aplication-server-bonita-bpm-parte-1 •  http://itscenario.wordpress.com/2013/12/23/integracion-google-calendar-drive-

wso2-business-activity-monitor-aplication-server-bonita-bpm-parte-2

Page 17: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #4: Monitorizando Business Services con WSO2 BAM

Proof of Concept

Page 18: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #4: 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

Page 19: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #5: KonaLife (eCommerce) Proof of Concept

Page 20: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #5: KonaLife (eCommerce)

•  http://holisticsecurity.wordpress.com/2013/06/25/building-social-ecommerce-solution

•  Blog de Juanjo Hernández: •  http://www.pymoo.es/las-5-claves-para-transformar-tu-ecommerce-en-una-plataforma-de-

alto-rendimiento-y-alta-escalabilidad

Page 21: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #6: IdM/IAM, Autenticación, Autorización y SSO

Proof of Concept

Page 22: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

Demo #6: IdM/IAM, AuthN, AuthZ y SSO

http://holisticsecurity.wordpress.com/2014/01/13/iam-organizaciones-con-wso2is

Page 23: Building a Business Ecosystem using WSO2 for B2B/B2C · 2020-03-11 · SOA: Identificar las funcionalidades de Openbravo (SOAP, REST endpoints) que vamos a exponer como servicios

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