wso2esb-integration-strategies

2,376 views
2,177 views

Published on

Graft sobre estrateias de Integracion. Roger Carhuatocto , Arquitecto Chakray

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,376
On SlideShare
0
From Embeds
0
Number of Embeds
69
Actions
Shares
0
Downloads
109
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

wso2esb-integration-strategies

  1. 1. WSO2 Enterprise Service Bus Integration Strategies – rev2
  2. 2. 1. A typical Business Ecosystem A example of ecosystem in the Organizations
  3. 3. 2. Our Stack Our stack of products
  4. 4. 3. WSO2 stack overview WSO2 Carbon Enterprise Middleware Platform
  5. 5. 4. Strategies of integration Strategies of integration with WSO2 - Sceneries Liferay Portal existing portlets View Layer BonitaLife Porlets REST authn, authz services orchestration Bonita BPM S1 S3 Order Payment I1 WSO2 Identity Server S2 S4 Bonita API Invoice Clients Bonita Workflow Engine I2 I3 I4 WSO2 ESB modeling Bonita Studio Service Layer bonita connectors authn, authz OpenBravo RESTful API OpenBravo ERP AuthN OpenBravo Data Base Module Module Finantial Module Openia CRM reporting click-to-call Pentaho BI Asterix PBX S5 Drools Business Rules Business Layer
  6. 6. 4. Strategies of integration #1 – ERP integration with WSO2 1. 2. 3. Identify REST and SOAP services (endpoints and messages) of OpenBravo of all functionalities you want to expose and after call them from Liferay. 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. FinancialMgmtPaymentTer m 8. Order 9. OrderLine This is optional, but if you want to know about of performance of your services, activity or indicators (KPI) you could register these services in WSO2 ESB using Pass Through Proxy Template. Further information here: http://docs.wso2.org/display/ES B470/Adding+a+Proxy+Service# AddingaProxyServicePublishWSDLOptions Using Bonita BPM modeling your business process (services orchestration). Other option is to create a o several Bonita Connectors for each type of service or set of services. A Bonita Connector is a simple Java class client callling these services but that we can run 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. 4. 5. 6. Using Bonita BPM Studio modeling your business process (services orchestration of Order Creation). Other option is to create a o several Bonita Connectors for each type of service or set of services. 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. Deploy your business process (Order Creation) implemented as standard process (orchestration) or as simple process (include your custom connector). 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. Right now, you have a business application running in your internal Bonita Portal, but if want that your business application become a Cloud enabled App, then you should create a new front-end with multitenancy, authentication and users syncronization capabilities. We will use BonitaLife deployed on Liferay Portal. That will be our new frontend. BonitaLife is a set of Liferay Portlets that are able of execute any process deployed on Bonita BPM workflow engine. 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/requerimient os-e-instalacion
  7. 7. 4. Strategies of integration #2 - Liferay and Openbravo – AuthN / User Mgmt 1. 2. Deploy WSO2 Identity Server, create several users and roles. In the VM, WSO2 IS has already been deployed. Configure LDAP Authentication in Liferay pointing to the embedded LDAP of WSO2 IS. Enable Users and Roles (Group) syncronization. In the VM, LDAP Authentication and User syncronization have already been configured and tested. Configure LDAP Authentication and users sync in Bonita pointing to the embedded LDAP of WSO2 IS. Right now this functionality is available in Bonita BPM Teamwork version (http://www.bonitasoft.co m/products/productcomparison). In the VM, we have created a set of users in Bonita and also in WSO2 IS. LIFERAY WSO2IS BONITA OPENBRAVO LIFERAY WSO2IS BONITA OPENBRAVO Authentication in Liferay 1. 2. 3. 4. Start login process Validate credentials WSO2IS sends response Liferay receives response Authentication in Bonita 3. 4. Configure LDAP Authentication and users sync in OpenBravo pointing to the embedded LDAP of WSO2 IS. Follow this instructions () to configure LDAP Authentication and User syncronization of OpenBravo and embedded LDAP of WSO2 IS. http://forge.openbravo.co m/plugins/mwiki/index.ph p/LDAP 5. Check the authentication flow and user sync flow in all the system. We have designed a Status Diagram for Authentication and Centrialized User Management. 1. 2. 3. 4. 5. 6. Start login process Pass login process to Bonita Validate credentials WSO2IS sends response Bonita redirects response Liferay receives response Authentication in Openbravo 1. 2. 3. 4. 5. 6. 7. 8. Start login process Pass login process to Bonita Bonita passes login process OB passes login process WSO2IS sends response OB redirects response Bonita redirects response Liferay receive response
  8. 8. 4. Strategies of integration #3 - Liferay and Openbravo – Clic-to-Call / Asterisk 1. To integrate Asterisk PBX with any Webapp is necessary to create a clientside Asterisk in the Webapp side and establish a call when the user has made click on a particular phone number in the Webapp side. There are many strategies to implement this. This page shows many different strategies and implementations using Java: https://blogs.reucon.com/asterisk-java The 2 strategies most used are the creation of a native Asterisk cliente in the Webapp side, and the creation or reuse of existing Asterisk client, this will work at browser level. This last option is the least intrusive and avoids modifying the Webapp. You can download this implementation from here: http://www.sugarforge.org/projects/yaai In the VM we have included a mini webapp client in the same web application server of Liferay to do click-to-call to Asterisk. This mini webapp client is based on “Asterisk PBX integration Zimlet” (Extension for Zimbra Collaboration Suite) and should be portletized to use intensively at all levels (Openbravo, Openia, Bonita, Liferay ….). The Asterisk PBX Integration Zimlet an be found here: http://sourceforge.net/projects/ch-bnc-asterisk/ 2. Once the mini webapp client (Click-to-call Zimlet) has already been portletized, you need to modify each Webapp from where you want to start the call. Modify fully heterogeneous webapps as Liferay, Bonita, Openbravo, etc.. to include Click-to-Call functionality involves knowing the correct way to modify them without being intrusive. Other good alternative is to use JavaScript to create a light click-to-call Asterisk client application. You can use this JavaScript implementation: http://jssip.net/documentation/misc/interoperability/ This alternative is light, no intrusive and easy to integrate in any webapp.
  9. 9. 4. Strategies of integration #4 – Liferay and Openbravo – Openia CRM 1. 2. Openia CRM is a module of Openbravo. This module extends the functionalities of Openbravo related to CRM. Openia CRM is an Openbravo module and can be downloaded as module (*.obx) or as a Virtual Machine previously installed with Openbravo. Once you have the Tables or Entities, then now you could create any webapps callin these services (entities) or also you could do orchestration using Bonita BPM. 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): 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://${OPENBRAVOHOSTNAME}/openbravo/ws/dal 3. The new Tables or Entities exposed as Data Layer (REST and XML) begin with DB prefix of your module installed. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. opcrm_activity opcrm_cases opcrm_cases_access opcrm_config opcrm_documents opcrm_guest opcrm_invoice opcrm_lead_access opcrm_lead_activity opcrm_opp_access opcrm_opportunities opcrm_statusfilter opcrm_statusfilter_trl
  10. 10. 4. Strategies of integration #5 - Liferay and Openbravo – Dashboard and Reporting 1. To know the status of our platform or systems, we should query the source of information. In this case, we have the main source of information and It is in WSO2 ESB, because is our middleware and does as proxy. 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. Integration of Liferay with Openbravo / PoC
  11. 11. 4. Strategies of integration # 6 - Integration Liferay-WSO2 ESB-Alfresco 1. HTTP Ajax Portlet 2. serveResource() 3. Webscript
  12. 12. 4. Strategies of integration #7 - Integration of Liferay with BPM - 1. HTTP Ajax Portlet 2. serveResource() BPM services Bonita API Rest BPEL4WS WS-HumanTask BPEL4People
  13. 13. 5. Security • WSO2 Identity Server (IS) is an entitlement management server, which facilitates security and identity management of enterprise Web applications, services, and APIs. It carries support for OpenID, XACML, and SAML 2. • Security Services: – – – – Authentication Entitlement (Authorization) SSO IdM
  14. 14. 5. Cloud Security – Integration Patterns • WSO2 IS – AuthN, AuthZ and SSO
  15. 15. 6. Cloud Security – Integration Patterns • WSO2 IS – AuthN, AuthZ and SSO
  16. 16. 6. Development environment • Demonstrate development environments and tools to build, packaging, deployment and debugging.
  17. 17. 6. Development environment • WSO2 Developer Studio – Enteprise Use Case. http://docs.wso2.org/display/DVS320/Getting+Started
  18. 18. 6. Development environment • WSO2 AppFactory – in the spotlight http://docs.wso2.org/display/AF100/Samples

×