More Related Content Similar to International SOA Symposium Presentation on ESB Patterns Similar to International SOA Symposium Presentation on ESB Patterns (20) More from SOA Symposium (20) International SOA Symposium Presentation on ESB Patterns1. This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
info@soasymposium.com
Founding Sponsors
Platinum Sponsors
Gold Sponsors Silver Sponsors
2. [21.10.2008]
Real Life ESB
Use Cases,
Deployment Scenarios,
Experiences.
Dr. Thomas Rischbeck
2008-10-07, 11:00
SOA Symposium Amsterdam
[innovation process technology inc.]
[www.ipt.ch]
ESB Patterns
[innovation process technology inc.]
[www.ipt.ch]
[©2002 ipt | switzerland germany austria] [seite 1]
3. [21.10.2008]
Service Virtualization
Proxy Pattern
Location Transparency
Protocol Bridging
Security Enforcement
Transformation
Content-Based Routing
Load-Balancing and Failover
Service Monitoring
Message Queueing
Complex Event Processing
Source: BEA
[©2008 ipt | switzerland] [page 3]
ESB Patterns
ESB Pattern/
Proxy Pattern
Core ESB Optional Patterns
Asynchronous Policy
Broker Routing EDA
Queuing Enforcement
Temporal Location Schema Complex
Data Format Data Model Protocol Decoupling Transparency Validation Event
Transformation Transformation Bridging
Processing
Sync/Async Virtualization Enforcement
EDIFACT Protocol Transport Mapping (PEP) Event
Versioning Protocol
Content-based Tracking
MLF to XML (eg SOAP) Bridging
Aggregate/ Routing Authorization
Security Split Event Stream
XML to MFL Payload
Mapping Load Token Processing
Versioning Balancing Validation
Security Reliable
MEPs
XSTL Protocol Delivery Failover Security
Mapping Interception publish-
Itinerary-based
Identity subscribe
(orchestration)
Mapping
conversation
Microflows
(orchestration)
Past Design-time
Control/
Audit SLA Auditing/ Event Service
Monitoring Charging Tracking Discovery
[©2008 ipt | switzerland] [page 4]
[©2002 ipt | switzerland germany austria] [seite 2]
4. [21.10.2008]
Protocol Bridging
Protocol Bridging
Synchronous to Asynchronous Bridging
REST/POX SOAP
RSS JMS
FTP SMTP
POP3 File
…
[©2008 ipt | switzerland] [page 5]
Security
HTTP/SOAP
Service Clients Enterprise Service Bus Business
[X.509]
HTTP/SOAP Services
Encryption,
Authentication Proxy Flow signing
Application [Basic]
Role based Service
Client Route
Authorization
SSL [X509]
Service
Security Framework
Security Mapping
Transport based Message Based: Basic Authentiation WS-Security
Mapping between Security Realms
Bridge Identity Domains (user names, credential)
Policy Enforcement Point
Verify SAML Token, Strong Authentication
Access Control: Authorization based on user, group, role, credentials
Unified Policies for all Services
[©2008 ipt | switzerland] [page 6]
[©2002 ipt | switzerland germany austria] [seite 3]
5. [21.10.2008]
Transformation
Service Clients Enterprise Service Bus Business
Services
V 1.1
Transform
V 1.1 1.1 1.3 Route V
V 1.1 1.
3
V 1.2
V 1.2 Transform V1
1.2 1.3 Route .3
V 1.2
V 1.3 V 1.3
V 1.3 Route V 1.3
V 1.3
Transformations
Support for multiple Service versions
SOAP 1.1 auf SOAP 1.2
Namespace Change
Data Format: Semantics
Handle Non-XML Payloads (EDIFACT XML)
Web
Service
[©2008 ipt | switzerland] [page 7]
Content-based Routing (CBR)
Service Clients Enterprise Service Bus Business
Services
Proxy Flow HTTP/SOAP
HTTP/SOAP
Application Service VIP
Client CBR
HT
T P/
SO
AP
Service normal
Content-Based Routing
SOAP Headers $header
Transport Headers
JMS Properties $body
XML Payload (SOAP Body)
Context $attachment
$fault
[©2008 ipt | switzerland] [page 8]
[©2002 ipt | switzerland germany austria] [seite 4]
6. [21.10.2008]
Load Balancing and Failover
Service Clients Enterprise Service Bus Business
Services
HTTP/SOAP
Proxy Flow
Service Client
URI X
Route JMS
URI Y
Load Balancing
Requires Stateless Services
ESB itself must be scalable!
Failover
Requires Idempotent Services
[©2008 ipt | switzerland] [page 9]
Service Virtualization
Service Clients Enterprise Service Bus Business
Services
WSDL A
Proxy Flow WSDL X
Service Client
Service X
Aggreate Routae
Interface
WSDL Y
Service Y
Mix and match interfaces
Service selection across multiple WSDLs
Single coherent interface to all authorized backend services
Merge without namespace collisions
[©2008 ipt | switzerland] [page 10]
[©2002 ipt | switzerland germany austria] [seite 5]
7. [21.10.2008]
Error Handling
Service Clients Enterprise Service Bus Business
Services
Proxy Flow
HTTP/SOAP
Application Web Service
Client Validate Route
Error Code
Error handling Features
Validation before the Request hits the Service
Reduces Service Load and Network Traffic
[©2008 ipt | switzerland] [page 11]
Service and SLA Monitoring
Service Clients Enterprise Service Bus Business
Services
Proxy Flow
HTTP/SOAP HTTP/SOAP
Application Web Service
Route
Client
On avg execution > 5 Ms Statistics
Reporting Framework
SMTP
JMS
Monitor System Operations
Alerting and reporting key monitoring points
Gauge system health
Troubleshooting and Reporting
Drill into message tracking and execution history
Captures system statistics including threshold violations, en-queued
messages, performance bottlenecks, task workloads
Monitor SLA: execution time, # of errors
Simple Business monitoring
Track relevant business/service data
[©2008 ipt | switzerland] [page 12]
[©2002 ipt | switzerland germany austria] [seite 6]
8. [21.10.2008]
Asynchronous Delivery
Service Clients Enterprise Service Bus Business
Services
Proxy Flow Request
Request
Application
Queue Route Service
Client Proxy
Proxy Flow
Response
Response
Route Queue Proxy
Persistence
Improves Lose Coupling
Service Downtime
Intermittent Communication
Unpredictable Load
No Peak Load, Service must handle only Average Load
Load Balancing
Non-blocking for client (long-lasting activities)
Inspect in-flight messages
[©2008 ipt | switzerland] [page 13]
EDA, CEP, and the works
Service Clients Complex Event Processing Business
Event Services
Complex
Application
Event
Client
Service
Event
Application
Client
Event
Application
Client
Event-Driven Architecture (EDA)
Events as “first-class citizens” in the integration model
Publish-Subscribe Messaging: Topics
Complex Event Processing (CEP)
Detect Patterns in the Event Stream
E.g., Fraud Detection
[©2008 ipt | switzerland] [page 14]
[©2002 ipt | switzerland germany austria] [seite 7]
9. [21.10.2008]
ESB Risks
[innovation process technology inc.]
[www.ipt.ch]
ESB RISK 1: Vendor Lock-in
ESB is standards-based but not itself a standard!
Every ESB is different and cannot easily be replaced
I’m a TRUE ESB!
Risk of disruption given market consolidation
Zapthink: „message-bus with service-oriented interfaces“
IDC: The ESB is an open standards-based technology
IBM: ESB is just a concept that will revolutionize IT and enable flexible and
Pattern scalable distributed computing for generations to come.
Sonic: standards-based integration platform that MOM++ EAI++
combines messaging, web services, data transformation
to reliably connect and coordinate the interaction of
significant numbers of diverse applications across
extended enterprises with transactional integrity (2004) Cali-Mero Fio-Rano
WS*-Stack is the ESB!
Burton: Managed
Gartner: „low-cost lightweight alternative Communications
to traditional integration middleware“ Infrastructure (2007)
[©2008 ipt | switzerland] [page 16]
[©2002 ipt | switzerland germany austria] [seite 8]
10. [21.10.2008]
ESB RISK 2: ESB Archipelago
Multiple ESBs because of mergers and SOA projects in separate business units.
STRATEGY: Plan for a logically coherent architecture despite
multiple integration technologies
Interoperation Technology and Standards Convergence
Watch WS-* standards, WS-I compliance and SCA
Hierarchy of ESBs?
Finance Sales HR
Consumers Consumers Consumers
ESB1 ESB2 ESB3
Services Services Services
[©2008 ipt | switzerland] [page 17]
ESB RISK 3: Distributed Business Logic
Service discovery, binding, communication
Web services (XML, SOAP, WSDL, HTTP)
Extensible for plug-in services
Service URL "virtualization" and rule-based routing
Browser Reliable message delivery
User- Rich Security
Facing Client Publish-and-
Logic Load Log,
Validate, subscribe
Balance, Monitor,
Transform Failover Audit
ESB
Adapter
Business Business Business
Business Data Business
Business
Service Service Service
Legacy Service Service Service Service
App.
[©2008 ipt | switzerland] Protocol Bridging [page 18]
[©2002 ipt | switzerland germany austria] [seite 9]
11. [21.10.2008]
ESB RISK 4: auf
HTTP/s JMS Legacy Protokolle
Semantic
WS-RM (exactly once)
at-least-once (retries)
Differences
at-least-once
exactly-once
(Proxy Retry)
(Proxy Retry)
WTC/Tuxedo
WTC/Tuxedo
best-effort
best-effort
RMI/IIOP
RMI/IIOP
In Protocols
von
best-effort RE1 RE2 RE2
HTTP/s
QoS at-least-once (retries) RE1 RE2 RE2 RE2 RE2
WS-RM (exactly once)
Security best-effort
synchronous/
JMS
at-least-once
exactly-once
asynchronous
Legacy Protokolle
WTC/Tuxedo RE1
Grundsatz:
stateful/ WTC/Tuxedo - (app. Retry)
Legacy Protokolle werden
nicht über den ESB
RMI/IIOP RE2
stateless geroutet
RMI/IIOP - retry RE2 RE2
at-most-once = best effort
Quality of Service
at-least-once
(zuverlässig Nachrichtenzustellung)
exactly-once
kein Ziel - nicht unterstützt
[©2008 ipt | switzerland] [page 19]
ESB Use Cases
[innovation process technology inc.]
[www.ipt.ch]
[©2002 ipt | switzerland germany austria] [seite 10]
12. [21.10.2008]
e-licensing: Zone traversal, Security Enforcement
Client-Server SOA
“Brokering” WS calls
Enforcement of Security Policies SSZ
Isolation of the Backends
Unified Network policies (WISB)
Location Transparency, loose coupling
Service Management, Monitoring,
Notification
Reporting
BV-Netz
[©2008 ipt | switzerland] [page 21]
e-dec: Infrastruktur-Services
[©2008 ipt | switzerland] [page 22]
[©2002 ipt | switzerland germany austria] [seite 11]
13. [21.10.2008]
e-dec: service-oriented “interior architecture”
Asynchronous multi step
processing of messages
(Itinerary-based routing)
Lightweight containers for
App
Drop
deploying services in a
File
r
Adapte
JCA
distributed environment
Persistenz, Garantierte QoS 2 3
1
für Nachrichten-austausch 4 5
Sonic ESB
Custom
Legacy MOM
[©2008 ipt | switzerland] [page 23]
SAP XI: Legacy Enablement
Access SAP modules via WS
Limited support of advanced WS* standards
HTTP/SOAP
[©2008 ipt | switzerland] [page 24]
[©2002 ipt | switzerland germany austria] [seite 12]
14. [21.10.2008]
BAFU DAZU: Protocol Mapping
[©2008 ipt | switzerland] [page 25]
EJPD: Schengen/Dublin Project
1. Protokoll Mapper/Integration Broker
Protocol Bridging
Data Modell Transformation
Infr
Data Format Transformation
SO cture
ast
A
ru
BE SB
2. Encapsulation/Quarters EJPD
AL
Requirements
A
Network Zone Transversal Da
Security Mapping taP
o we
(Realm, Protocol, Tokens) r
Wrapping SisOne4All,
funnelling all external access
[©2008 ipt | switzerland] [page 26]
[©2002 ipt | switzerland germany austria] [seite 13]
15. [21.10.2008]
EJPD: Schengen/Dublin Project
Web
Services Protocol Mapping (Tuxedo WS)
Data Format Mapping (bin/WTC XML)
Security ID Mapping (no federation)
BEA Tuxedo
[©2008 ipt | switzerland] [page 27]
e-licensing: Zonenübergang, Security Enforcement
Client-Server SOA
“Brokering” WS calls
Enforcement von Security Policies SSZ
Isolation des Backends
Einheitliche Netzwerkpolicies (WISB)
Location Transparency, lose Kopplung
Service Management, Monitoring,
Notification
Reporting
BV-Netz
[©2008 ipt | switzerland] [page 28]
[©2002 ipt | switzerland germany austria] [seite 14]
16. [21.10.2008]
hierarchical ESB
landscape
[©2008 ipt | switzerland] [page 29]
DHL Express
Protocol Mapping (FTP, WS, Email)
Data Format Mapping (CSV XML)
Security Enforcement (SAML)
[©2008 ipt | switzerland] [page 30]
[©2002 ipt | switzerland germany austria] [seite 15]
17. [21.10.2008]
Outlook
SOA ≠ SOA Runtime Infrastruktur
An ESB by itself is just useless plumbing!
Business Requirements, Services
Universal Business Adapter
Build as part of the SOA
Governance
Success necessitates organizational change
l
ge na
Structure and Project Method
an tio
ch iza
Different application design
n
Go
ga
Cooperation between business and IT
Or
ve
and across LOBs („interdiciplinary“)
rn
an
Risk: Usage of SOA Infrastructure JUST SO
Infras A
ce
for integration (modern-day EAI) tructu
r e
SOA success
[©2008 ipt | switzerland] [page 31]
Thank you!
[ipt]
innovation process technology
___________________________
Dr. Thomas Rischbeck | it architect
Office Zug
Baarerstrasse 14 | CH-6300 Zug
Phone: +41 41 727 25 25 | Fax: +41 41 727 25 26
Email: thomas.rischbeck@ipt.ch
[innovation process technology inc.]
[www.ipt.ch]
[©2002 ipt | switzerland germany austria] [seite 16]