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

Building a business ecosystem using wso2 for b2 b&b2c

  • Upload
    chakray

  • View
    1.547

  • Download
    1

Embed Size (px)

DESCRIPTION

Building a business ecosystem using wso2 for b2b/b2c

Citation preview

Page 1: Building a business ecosystem using wso2 for b2 b&b2c

Building a Business Ecosystem using WSO2 for B2B/B2C

BizLife.org || Proof of Concept

Roger CARHUATOCTO

IT Consultant

Email: roger [at] chakray.com

Twitter: @Chilcano

FOTO

Page 2: Building a business ecosystem using wso2 for b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

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 b2 b&b2c

Recursos: 1. WSO2 BAM: Monitoring KPIs

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

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

2. Openbravo ERP and Openia CRM: Preinstalled sogtware in a VM

• http://sourceforge.net/projects/openiacrm/

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

4. 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 b2 b&b2c

Demo #1: Explorando BizLife Portal Proof of Concept

Page 11: Building a business ecosystem using wso2 for b2 b&b2c

Demo #1: Explorando BizLife Portal

Page 12: Building a business ecosystem using wso2 for b2 b&b2c

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

Proof of Concept

Page 13: Building a business ecosystem using wso2 for b2 b&b2c

• “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 b2 b&b2c

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 b2 b&b2c

Demo #3: Orquestación de procesos y servicios

Proof of Concept

Page 16: Building a business ecosystem using wso2 for b2 b&b2c

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 b2 b&b2c

Demo #4: Monitorizando Business Services con WSO2 BAM

Proof of Concept

Page 18: Building a business ecosystem using wso2 for b2 b&b2c

Demo #5: KonaLife (eCommerce)

• 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 b2 b&b2c

Demo #5: KonaLife (eCommerce) Proof of Concept

Page 20: Building a business ecosystem using wso2 for b2 b&b2c

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 b2 b&b2c

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

Proof of Concept

Page 23: Building a business ecosystem using wso2 for b2 b&b2c

Chakray: Quiénes Somos

CHAKRAY : “Palabra Quechua que describe el buen uso que en el mundo Andino se le ha dado a la Tecnología para el trabajo con la tierra.”

Aportar la excelencia en la Planificacion, implantacion , Soporte y Formación de Sistemas Criticos OpenSource

Misión:

Visión:

Ser una empresa de Alta Especialización sobre Sistemas Críticos OpenSource, Sabemos que el principal activo es nuestro equipo. Sabemos colaborar con todos los “Stakeholders“ en Proyectos sobre Tecnologías de la Información con base en plataformas OpenSource dando soporte de muy alta calidad a los negocios de sus clientes, gestionando y evolucionando sus Sistemas de Información.

Page 24: Building a business ecosystem using wso2 for b2 b&b2c

Chakray: Nuestros Principios

• Hacemos bien las cosas. Sabemos que la Tecnología es Soporte al

Negocio y conocemos su Criticidad • Somos Especialistas en las soluciones que proponemos • No reinventamos la rueda .Trabajamos con Arquitecturas Escalables

bajo una Orientación a Servicios SOA (Service Oriented Architecture) con una Arquitectura de Referencia Probada.

• Desarrollo, Construcción e Integración Ágil y cercana al Negocio, bajo

BPM (Busines Process Management) y PDD (Process Development Drive)

• Aplicamos la Seguridad a todos los niveles de la Solución • Nuestra Solución es Virtualizable y orientada a la Nube

Page 25: Building a business ecosystem using wso2 for b2 b&b2c

Arquitectura de Referencia en Chakray

Una Arquitectura de referencia

Trabajamos sobre una Arquitectura de referencia Probada y capaz de dar Solución a los requerimientos del Negocio

Page 26: Building a business ecosystem using wso2 for b2 b&b2c

Un Stack de productos de Referencia

La Arquitectura es implementada por una serie de productos OpenSource en los que somos Espacialistas

Arquitectura de Referencia en Chakray

Page 27: Building a business ecosystem using wso2 for b2 b&b2c

Chakray: Nuestros Servicios

Consultoría Tecnológica OpenSource

Planificación estratégica Arquitectura.

Optimización de procesos Oficina Técnica

Desarrollo , Implantación y Despliegue

Servicios Profesionales

Selección de perfiles (Headhunting).

Outsourcing no gestionado.

Metodologías Agiles y Formación

Proporcionar competencias técnicas para el mantenimiento de las soluciones tecnológicas.

Page 28: Building a business ecosystem using wso2 for b2 b&b2c

Gracias por la atención

Haciendo Bien las cosas, con la Tecnologia adecuada para el Soporte al Negocio

Chakray

Te esperamos en www.chakray.com y en el Grupo WSO2 En Español . https://www.linkedin.com/groups/WSO2-Espa%C3%B1ol-7478320