Axa Assurance Maroc - Insurer Innovation Award 2024
Enterprise Integration with the WSO2 ESB
1. Isuru
Udana
So#ware
Engineer
WSO2
Inc.
Enterprise
Integra0on
with
the
WSO2
ESB
An
Introduc0on
to
the
Fundamentals
Pamod
Sylvester
So#ware
Engineer
WSO2
Inc.
2. About WSO2
• Providing the only complete open source componentized cloud
platform
– Dedicated to removing all the stumbling blocks to enterprise agility
– Enabling you to focus on business logic and business value
• Recognized by leading analyst firms as visionaries and leaders
– Gartner cites WSO2 as visionaries in all 3 categories of application
infrastructure
– Forrester places WSO2 in top 2 for API Management
• Global corporation with offices in USA, UK & Sri Lanka
– 200+ employees and growing
• Business model of selling comprehensive support &
maintenance for our products
4. • SOA and the role of ESBs.
• WSO2 ESB features and applicability.
• Benefits of using an ESB.
• High level architecture of the WSO2 ESB.
• Enterprise Integration Patterns (EIP) .
• Implimentation of EIPs using the WSO2 ESB.
Agenda
5. • Service
Oriented
Architecture
(SOA)
– A
design
paradigm
and
discipline
-‐
used
by
IT
to
improve
its
ability
to
quickly
and
efficiently
meet
business
demands.
– A
style
of
so#ware
architecture
that
is
modular,
distributed
and
loosely
coupled.
– ComponenIzaIon
–
The
main
driver
of
SOA
– Business
FuncIonaliIes
are
implemented
in
different
Business
Components
– Business
Components
provide
their
funcIonality
to
its
consumers
as
a
‘Service’
with
the
well-‐defined
service
interfaces.
Service
Oriented
Architecture
(SOA)
6. Role
of
ESB
• Why
ESB?
– Modern
Enterprises
• Comprised
of
so
many
Systems
and
Services
• built
based
on
open
standards,
custom-‐built,
acquired
from
a
third
party,
part
of
a
legacy
system
or
any
such
combinaIon
– Integra0on
• OrganizaIons
move
away
from
monolithic
systems
• MulIple
Systems
connected
via
SOA
as
the
blue
print
Source : http://bonfirehealth.com/week-13-insights-spark-integration/
7. Role
of
ESB
• Why
ESB?
– SpagheF
Integra0on
Dilemma
• How
about
?
– maintainability,
scalability,
troubleshooIng
and
governance
etc.
8. Role
of
ESB
• Why
ESB?
– ESB
–
The
standard
infrastructure
to
implement
the
SOA
9. Role
of
ESB
• Enterprise
Service
Bus
(ESB)
– An
ESB
is
a
middleware
soluIon
that
enables
interoperability
among
heterogeneous
environments
using
a
service-‐oriented
model.
– Stateless
and
Seamless
IntegraIon
– Standard
Protocols
–
SOAP,
REST,
JSON
etc.
– Transports
–
HTTP/S,
JMS,
TCP,
VFS
etc.
Source : http://graegert.com/programming/no-soa-criticism-somewhere
10. WSO2
ESB
is…
• A
lightweight,
high
performance
ESB
• Feature
rich
and
standards
compliant
– SOAP
and
WS-‐*
standards
– REST
support
– Domain
specific
protocol
support
(eg:
FIX,
HL7)
• User
friendly
and
highly
extensible
• 100%
free
and
open
source
with
commercial
support
11. Under
the
Hood:
Apache
Synapse
• A
lightweight,
open
source
ESB
implementaIon
from
the
ASF
:
hfp://synapse.apache.org
• Makes
up
the
mediaIon
engine
of
WSO2
ESB
• MulIthreaded
and
asynchronous
message
processing
core
• Based
on
a
number
of
well
known
open
source
projects
(eg:
Axis2,
Hfp
Core)
12. Under
the
Hood:
WSO2
Carbon
• An
OSGi
based
components
framework
for
SOA
• Extensive
modularity
and
reusability
• Easily
add,
remove
and
customize
features
– Similar
to
Eclipse
plug-‐ins
• Easily
deploy
third
party
libraries
and
custom
code
into
the
server
runIme
• Web
based
management
console
13. ESB
Func0onal
Components
● Mediators
● Sequences
● Endpoints
● Proxy Services
● Tasks
● REST API
● Message Stores
and Processors
● Local Entries
● Registry
● Templates
14. More
on
Func0onal
Components
• Each
funcIonal
component
serves
a
specific
purpose
• FuncIonal
components
can
be
mixed
and
matched
to
implement
various
integraIon
scenarios
and
paferns
• Configuring
WSO2
ESB
for
a
given
scenario
requires:
– IdenIfying
the
right
set
of
components
– Puing
them
together
in
the
opImal
manner
16. Sequences
• A
chain
of
mediators
• Messages are sent through all the
mediators in the sequence, in the order
they appear
17. Endpoints
• A
logical
enIty
to
which
messages
can
be
sent
from
the
ESB
– A
service
endpoint
reference
(EPR)
– A
JMS
queue
– A
FIX
session
• Various
operaIonal
and
QoS
constraints
can
be
engaged
on
an
endpoint
– SOAP
version
– WS-‐Security
19. REST API
• Exposing
RESTful
APIs
• An
easy
way
to
expose
exisIng
SOAP
services
over
REST
• REST
à
SOAP
conversion
20. Message Store and Processors
• Message Store
§ Storage for ESB messages
§ In-memory, JMS
• Message Processors
§ Consume the messages in message stores and
do the processing of them
21. Why
Store
and
Forward?
• Matching
Request
Rates
• Guaranteed
Delivery
22. Templates
• With
complex
business
requirements,
ESB
config
can
grow
bigger..
•
Need
a
way
to
reuse
the
configuraIon
• WSO2
ESB
4.0
introduces
–
Templates
23. Configuring
the
ESB
• The
task
of
laying
out
and
connecIng
the
ESB
funcIonal
components
• Done
using
Synapse
configuraIon
language
(XML
based)
• WSO2
ESB
makes
the
job
easier
by
providing
a
set
of
UI
wizards
and
graphical
tools
• Equivalent
to
programming
in
many
ways
26. Modes
of
Opera0on
• WSO2
ESB
supports
4
modes
of
operaIon
– Message
mediaIon
(ESB
as
a
message
router)
– Service
mediaIon
(Expose
service
endpoints
on
ESB)
– Task
scheduling
(Run
periodic
tasks
on
ESB)
– EvenIng
(ESB
as
an
event
broker)
• Most
real
world
scenarios
require
the
ESB
to
operate
in
mulIple
modes
at
the
same
Ime
37. Enterprise
Integra0on
PaXerns
(EIP)
• Enterprise functionalities are decomposed and
exposed as services.
• Maintaining solid integration among services is
apparent.
• There are different modes of integration
• EIPs provide standardized architectural solutions for
integration needs
• Refer : http://www.eaipatterns.com/ for pattern
definitions
38. WSO2
ESB
EIP
Support
•
Visit : http://docs.wso2.org/wiki/display/IntegrationPatterns/
Enterprise+Integration+Patterns+with+WSO2+ESB
39. Content
Based
Rou0ng
(CBR)
Bar
Service
Foo
ServiceFoo
Request
Bar
Request
CBR Proxy
40. Guaranteed
Delivery
Stock Holder
Request
WSO2 ESB Stock Holder
Inventory
Status :Off-line
Message Store
Stock Holder
Inventory
Status :On line
Message Processor
42. Engage with WSO2
• Helping you get the most out of your deployments
• From project evaluation and inception to development
and going into production, WSO2 is your partner in
ensuring 100% project success