BizLife - Construyendo un Ecosistema Empresarial usando WSO2

307 views

Published on

BizLife - A Business Ecosystem using WSO2.
- Strategies of integration by SOA, Orchestration and BPM, centralised Identity Management and Business Monitoring Activity (BAM, KPI).
- Exposing functionalities as services of Openbravo ERP, Alfresco ECM, KonaKart eCommerce

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
307
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

BizLife - Construyendo un Ecosistema Empresarial usando WSO2

  1. 1. 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
  2. 2. 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 ModuleModule 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 Integration Layer 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Demo #1: Explorando BizLife Portal Proof of Concept
  11. 11. Demo #1: Explorando BizLife Portal
  12. 12. Demo #2: Exponer funcionalidades Openbravo ERP y CRM como Servicios Proof of Concept
  13. 13. •  “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
  14. 14. 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
  15. 15. Demo #3: Orquestación de procesos y servicios Proof of Concept
  16. 16. 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
  17. 17. Demo #4: Monitorizando Business Services con WSO2 BAM Proof of Concept
  18. 18. 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
  19. 19. Demo #5: KonaLife (eCommerce) Proof of Concept
  20. 20. 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
  21. 21. Demo #6: IdM/IAM, Autenticación, Autorización y SSO Proof of Concept
  22. 22. Demo #6: IdM/IAM, AuthN, AuthZ y SSO http://holisticsecurity.wordpress.com/2014/01/13/iam-organizaciones-con-wso2is
  23. 23. Doing the right things. Whit the right technology. To support business.

×