Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Demystifying the enterprise
service bus
What is an ESB,
and why does it matter?
Larry FultonEnterprise ArchitectJuly 15, 2009 Webinar
Sponsored by:
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
ESBs are everywhere
• Part of many organizations’ application
infrastructure, today
• Included in modern business applications
– From Oracle, SAP, Lawson Software, others…
– Not common in very vertical applications
• Included as part of software products limited to
specific capabilities
– Telephony products from Avaya, BlueNote
• Growing role in software-as-a-service offerings
– From WorkDay, others…
Most enterprises will have more than one!2 Demystifying ESBs Webinar, July 15, 2009
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
ESBs are part of the supporting cast…
• …of service-oriented architecture
– ESBs are not required for SOA
– ESBs can be used without SOA
– An ESB brings significant value to SOA efforts
• …of Web services
– ESBs are not required to use Web services
– ESBs can be used without Web services
3 Demystifying ESBs Webinar, July 15, 2009
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Speaking of Web services…
• “Web services” is a poorly named interfacing
technology that provides access to underlying
capabilities
• Web services is not required for SOA
– Using Web services doesn’t mean that services are
well defined from a SOA perspective, either
• Web services and SOA together can be a
powerful combination – standards-based SOA
Demystifying ESBs Webinar, July 15, 20094
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Why services?
5 Demystifying ESBs Webinar, July 15, 2009
New employee
1. Create employee ID & records
2. Create and set up payroll account
3. Create e-mail and other user accounts
4. Schedule orientation and other training
5. Set up employee benefits
Employee
Information
SystemCall center
Payroll
Training
Stock
purchase
Benefits
administration
Development
ERP
General ledger
Traditional
integration
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Why services?
6 Demystifying ESBs Webinar, July 15, 2009
New employee
1. Create employee ID & records
2. Create and set up payroll account
3. Create e-mail and other user accounts
4. Schedule orientation and other training
5. Set up employee benefits
Employee
Information
SystemCall center
Payroll
Training
Stock
purchase
Benefits
administration
Development
ERP
General ledger
1
2
3
4
5 Service
Service
Service
Service
Service
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Why services?
7 Demystifying ESBs Webinar, July 15, 2009
New employee
1. Create employee ID & records
2. Create and set up payroll account
3. Create e-mail and other user accounts
4. Schedule orientation and other training
5. Set up employee benefits
Employee
Information
System
1
2
3
4
5Training
scheduling
service
User account
service
Payroll
service
Employee
record
service
Benefits
management
service
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
So, what is an ESB, anyway?
An enterprise service bus is a software
system that provides the means to flexibly
interconnect services with service requestors
and with other services, in a real-world IT
environment
Demystifying ESBs Webinar, July 15, 20098
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Service bus
So, what is an ESB?
9
Interface
Service
Demystifying ESBs Webinar, July 15, 2009
Routing
Security
WS
Interface
Service
.NET
Interface
Service
REST
Interface
Service
JMS
Events,
requests
TransformationProtocol
conversionError handling
Lightweight
orchestration
BPEL
orchestration
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Service bus
Service hosting
So, what is an ESB?
10
Interface
Service
Demystifying ESBs Webinar, July 15, 2009
Routing
Security
WS
Interface
Service
.NET
Interface
Service
REST
Interface
Service
JMS
Events,
requests
TransformationProtocol
conversionError handling
Lightweight
orchestration
BPEL
orchestration
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
ESB capabilities
Core capabilities
• Security
• Transformation
• Routing
• Protocol conversion
• Multiple interaction models
• Standard formats
• Error handling
• Federation
• Extensibility
• High availability
• Scalability
Other capabilities
• Instrumentation
• Lightweight orchestration
• BPEL orchestration
• Service life-cycle management
• Graphical development tools
• Service hosting
– Dynamic service provisioning
Related capabilities/products
• Business activity monitoring (BAM)
• SLA monitoring/management
• Complex event processing (CEP)
• Business rules engine (BRE)
Demystifying ESBs Webinar, July 15, 200911
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Only usage when originally deployed
Security
Demystifying ESBs Webinar, July 15, 200912
Request RequestConsumer
Employee
information
service
Consumer
Some
other
service
Request Consumer Consumer
B2B
Gateway
Services will be invoked in many different security contexts,
including situations that did not exist when the service was
designed!
Re
qu
est
Requ
est
Requ
est
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Transformation
Demystifying ESBs Webinar, July 15, 200913
Request
… Last name,
First name,
Age…
Interface
… Full name,
Date of birth…Transformation
Changing the format of a request or message to
match the target service interface– Often used in conjunction with a common, or “canonical” format that
is defined as the standard approach, with transformation used to
convert to and from that canonical form as needed
– XSLT and Xquery are especially common, though non-XML
transformations are also supported
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
… or for technical reasons
Routing requests for business reasons…
Routing
Demystifying ESBs Webinar, July 15, 200914
Request
…account…
Interface
(gold accounts)
RoutingInterface
(std accounts)
RequestInterfaceRouting
InterfaceInterface
Next available instance,
correct partition, etc.
Preferred services,
correct business partner
or division, etc.
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Protocol conversion
Matching request and service protocols
– Can also convert between synchronous and
asynchronous protocols
Demystifying ESBs Webinar, July 15, 200915
Request
Web services
Interface
JMS to CICS
Protocol
conversion
Request
.Net remoting
Interface
Java RMI
Protocol
conversion
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Interaction models
Demystifying ESBs Webinar, July 15, 200916
Consumer ServiceRequest
ResponseConsumer ServiceNotification
Consumer
Service
Service
Service
Consumer
Service
Service
Service
Notification
Publish and subscribe Multi-cast or broadcast
Request / response
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Standard message/file formats
• Most vendors claim support for many industry
standard file formats
– Examples include ACORD (insurance), FIX (Financial
Information eXchange), SWIFT, EDIFACT
– Support for XML-based formats typically includes
templates or pre-built transformations
Demystifying ESBs Webinar, July 15, 200917
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Federation
Demystifying ESBs Webinar, July 15, 200918
“Enterprise”
service bus
“Subsidiary”
service bus
“High
security”
service bus
“Application 1”
service bus
“Application 2”
service bus
The most important consideration is defining what the
federation relationship means in business terms!
– Security, service levels, visibility
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Extensibility
• Customer enhancements of the ESB
– Custom protocols
– Custom transformation engines
– New message/file formats
– Embedding the ESB in their own products
Demystifying ESBs Webinar, July 15, 200919
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Availability and scalability
• Expect every product to provide these features at
a minimum:
– High availability through clustering, either native or
using an application server
– Scalability through horizontal scaling, increasing
capacity by adding physical servers
• Availability and scalability of the ESB itself is only
part of the solution, though
– Services and consumers must also be highly available
and scalable
– Most ESBs support several strategies for
accomplishing this
Demystifying ESBs Webinar, July 15, 200920
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Service as seen by the
consumer
Lightweight orchestration / composition
Demystifying ESBs Webinar, July 15, 200921
Request
Response
Consumer
Service
A
Service
B
Service
D
Service
C
Business
service
RequestConsumer
Standard
authorization
service
Business service has
no authorization
responsibilities in this
exampleResponse
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
SLA monitoring/management
• SLA monitoring
– Tracks the response time and other performance
indicators associated with individual services
– Includes mechanisms to generate alerts and to
visualize performance over time
• SLA management
– Provides automated provisioning and other actions to
respond to performance related problems
Demystifying ESBs Webinar, July 15, 200922
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Related capabilities
• ESBs increasingly provide out-of-the-box
integration with these facilities, and in some cases
incorporate some of these capabilities within the
ESB itself
– Business activity monitoring (BAM)
– Complex event processing (CEP)
– Business rules engine (BRE)
– Business process management (BPM)
Demystifying ESBs Webinar, July 15, 200923
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Solution or
enterprise
App serverApp server
App server
ESB deployment architectures:
some examples
Demystifying ESBs Webinar, July 15, 200924
ESB
Services
App server
Services
App server
Services
Service
ESB
Service
ESB
Service
ESB
ESB
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Leading ESBs
Traditionally licensed
• IBM
– WebSphere ESB
– WebSphere Message Broker
– WebSphere DataPower
• Microsoft
– BizTalk, .NET, and “ESB
Guidance”
• Oracle
– Oracle Service Bus
• Progress Software
– Sonic ESB
• Software AG
– webMethods ESB
• TIBCO
– ActiveMatrix
Open source
• JBoss
– JBoss ESB
• MuleSource
– Mule
• Progress Software
– FUSE (based on Apache
ServiceMix)
• Sun Microsystems
– OpenESB (GlassFish ESB)
25 Demystifying ESBs Webinar, July 15, 2009
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
What you need to know about ESBs
• ESBs are application infrastructure software
– Unlike simple messaging systems, ESBs have business and
integration logic embedded within them
• ESBs are used in many different ways
– Within specific business solutions, as gateways, as divisional
infrastructure, as enterprise-wide infrastructure
• ESBs are included with enough modern software that they
are unavoidable
– Real-world enterprises will have multiple ESBs
– The role of ESBs as the connective tissue of the enterprise will
grow
• ESBs can greatly simplify customization and
integration
Demystifying ESBs Webinar, July 15, 200926
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
Questions
Demystifying ESBs Webinar, July 15, 200927
Lar
ry F
ult
on
Copyright
© 2
009 L
arr
y F
ulton -
all
rights
reserv
ed
28
Thank you
Larry Fulton
Principal consultant
www.larryfulton.com
Demystifying ESBs Webinar, July 15, 2009