Date post: | 14-Jun-2015 |
Category: |
Technology |
Upload: | wso2 |
View: | 795 times |
Download: | 0 times |
Dushan Abeyruwan Senior Software Engineer WSO2 ESB February 2012
Delivering the Promise of SOA - Enterprise Integration
Made Easy WSO2 ESB
Overview
Introduction Demo 1
EIP Service chaninig /Split/Aggregate (Agent request service)
Demo 2 EIP Store and Process (Agent registration process)
WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services Technologies & Standards and Open Source
• Producing entire middleware platform 100% open source under Apache license
• Business model is to sell comprehensive support & maintenance for our products
• Venture funded by Intel Capital
• Global corporation with offices in USA, UK & Sri Lanka
• 100+ employees and growing
SOA & ESB
• SOA The underlying structure supporting communication
between services • ESB
ESB is considered as the backbone of a robust SOA It integrates all the internal systems as well as external
systems of the enterprise
(EAI)Enterprise Application Integration
Java
J2EE
.NET
SOAP
Weblogic SAP
EAI Enterprise Application Integration
Introducing WSO2 ESB...
• Based on WSO2 Carbon (Modular Middleware) and Apache Synapse
• Designed to be asynchronous o Based on Synapse core with non blocking I/O
• Open source with commercial support o Apache Software License v2.0
• Rich collection of built-in features supporting
any integration scenario or EIP
• Customizable by adding/removing features
Heterogeneous service integration
Comprehensive WS Specs and SOAP support HTTP/SwithREST/POX Adapters for various IndustryStandards
SAP Financial Informatione Xchange(FIX) Health Level7(HL7)
VFS(File/FTP/SFTP) JMS SMTP SMS
WSO2 ESB Components–In a nutshell..
Messaging and service Mediation Managing and transforming messages Mediating messages coming in to the specific proxy hosted on ESB
Mediators Simplest function of component Performs predefined function given on message
Sequences Sequential arrangement of mediators
Proxy Services Hosting proxy services in ESB Protocol switching and QoS
End Points A logical representation of an actual end points, or else collection of
end points wrapped within some logic
EIP Patterns with ESB
EIP Patterns with ESB
Service Chaining
• Invoke multiple backend services in a chain fashion for a single client request
• Response of first backend invocation can be used as request of second backend invocation.. And so on…
• Conditional chaining based on responses of backed services
Service 1
Service 2
Service 3
Request - Response
Request - Response
Request - Response
Agent Requesting Life Insurance Policy Detail scenario
Agent Validate
Agent ID
Valid/Invalid
Life Insurance Customer service
Agent ID
Agent own customer info
Customer Policies Service
Client ID
Agent Request
Response
•Check Agent validity
•Requesting Clients info per Agent
•Perform transfer
•Requesting policies per customer
•Perform transfer
•Policies for customer
Message Splitting and Aggregation
• Request consists of multiple elements which can process individually
• Collect and store individual messages until a complete set of
related messages has been received. • Create a single message distilled from the individual messages
Split
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <s:symbols xmlns:s="http://demo.wso2.org"> <s:symbol>ABC</s:symbol> <s:symbol>PQR</s:symbol> <s:symbol>XYZ</s:symbol> </s:symbols> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">ABC</s:symbol> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">XYZ</s:symbol> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">PQR</s:symbol> </soapenv:Body> </soapenv:Envelope>
Aggregate
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <s:symbols xmlns:s="http://demo.wso2.org"> <s:symbol>ABC</s:symbol> <s:symbol>PQR</s:symbol> <s:symbol>XYZ</s:symbol> </s:symbols> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">ABC</s:symbol> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">XYZ</s:symbol> </soapenv:Body> </soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <s:symbol xmlns:s="http://demo.wso2.org">PQR</s:symbol> </soapenv:Body> </soapenv:Envelope>
Dead Letter Channel
• Push failed message into a message store if sending failed • Automatic/Manual retry using Forwarding message processor • Resembles to “dead letter channel” EIP
Agent Registration process
User Register Service
Request Agent Register Request Agent Register
Invoke UeserRegister Proxy
MessageStroe
MessageStroe Processor
Q&A
Selected Customers
WSO2 engagement model
• QuickStart
• Development Support
• Development Services
• Production Support
• Turnkey Solutions
• WSO2 Mobile Services Solution
• WSO2 FIX Gateway Solution
• WSO2 SAP Gateway Solution
Thank You.