Enterprise Integration is a means of linking the different components of an SOA system. The success of an SOA solution heavily depends on proper enterprise integration. However this is easier said than done. There are many complex requirements to this process one of which is the need to interconnect heterogeneous systems which use different message formats and protocols and these systems needs to work together to achieve the final outcome
3. 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
5. 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
6. Heterogeneous service integration
• Comprehensive WS Specs and SOAP support
• HTTP/S with REST/POX
• Adapters for various Industry Standards
• SAP
• Financial Information eXchange (FIX)
• Health Level 7(HL7)
• VFS (File/FTP/SFTP)
• JMS
• SMTP
• SMS
7. WSO2 ESB Components – In a nutshell..
• Message and Service Mediation
Managing and transforming messages
Mediating messages coming into a specific proxy service
hosted on ESB
• Mediators
Simplest functional component.
Performs a predefined action on a given message
• Sequences
Sequential arrangement of mediators
• Proxy Services
Hosting proxy services inside ESB
Protocol switching and QoS
• Endpoints
A logical representation of an actual endpoint, or else a
collection of endpoints wrapped within some logic.
8. EIP Patterns with ESB
EIP Patterns with ESB
• Splitter
• Aggregator
• Message Translator
• Content Enricher
9. EIP Patterns with ESB
• Wire Tap
• Content Based Router
• Message Filter
• Message Store
10. Demo #1 - 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
Request - Response Service 1
Request - Response Service 2
Request - Response Service 3
11. Account Balance Transfer scenario
User ID
•Check user validity
Valid/Invalid
User Validator
Transfer Request User ID
•Check Account
Response ownership Accounts belongs
to user Accounts Service
Transaction Info
•Perform transfer
Status
Transfer Processor
12. Demo #2 - 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
15. Scatter-Gather ( Clone and Aggregation )
•Check rates Ticketing ServiceA
From,To
Request Best Rate
•Aggregate Rates Ticketing ServiceB
Best Rate Response
Ticketing ServiceC
•Calculate Best
Rate
16. Demo#3 - 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
• Featuring connecting to file system (transport switching)
19. WSO2 engagement model
• QuickStart
• Development Support
• Development Services
• Production Support
• Turnkey Solutions
• WSO2 Mobile Services Solution
• WSO2 FIX Gateway Solution
• WSO2 SAP Gateway Solution