Closer Look at Enterprise Service Bus - Austin Java Users Group
Transcript of Closer Look at Enterprise Service Bus - Austin Java Users Group
![Page 1: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/1.jpg)
Closer Look at Enterprise Service Bus
Deb L. Ayers
Sr. Principle Product Manager
Oracle Service Bus
SOA Fusion Middleware Division
![Page 2: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/2.jpg)
2
The Role of the FoundationAddressing the Challenges
©2009 Oracle Corporation
Middleware Foundation
Efficiency
• Utilization
• Operations
Competitiveness
• Performance
• Reliability
• Flexibility
Simplification
• Consolidation
• Standardization
• Automation
![Page 3: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/3.jpg)
3
Oracle Fusion Middleware Technologies
![Page 4: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/4.jpg)
4
<Insert Picture Here>
Agenda
• Why Service Bus ?
• Enterprise Patterns
• Closer Look
– Sync to Async Bridge
– Service Result Cache
– EJB Proxy
• Q & A
![Page 5: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/5.jpg)
5
<Insert Picture Here>
Agenda
• Why Service Bus ?
• Enterprise Patterns
• Closer Look
– Sync to Async Bridge
– Service Result Cache
– EJB Proxy
• Q & A
![Page 6: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/6.jpg)
6
Service Integration:
Developer Perspective
ApplicationRemote
Functionality
![Page 7: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/7.jpg)
7
Brittle Over Time
With or Without Web Services
Service
Consumers
Enterprise
Services
Application
Portal
Process
Orchestration
Application
Application
Application
![Page 8: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/8.jpg)
8
Why SOA Initiatives Fail:Technology or Governance?
Introduction Spreading Exploitation Plateau
Risk of SOA Project Failures
Lack of Governance
Risk
Technology Risk
Less Risk
More Risk
Time
![Page 9: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/9.jpg)
9
Coherence
caching
Service BusPO Processing as an example
9 Oracle Restricted and Confidential
Web-basedconsole
pooling
Oracle Service Bus
BusinessService
Proxy
virtualization
IDE
build
deploy
SOAP
transport switching
JMS
![Page 10: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/10.jpg)
10
<Insert Picture Here>
Agenda
• Why Service Bus ?
• Enterprise Patterns
• Closer Look
– Service Result Cache
– EJB Proxy
• Q & A
![Page 11: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/11.jpg)
11
Patterns for Service Bus
Customer Use Cases:
– Backend Application Integration
– Portal application consumes business services from back-end applications.
– Eliminate the brittleness of services using a SOA based architecture.
• Requires ESB Characteristics:– Heterogeneous messaging backbone
– Content based routing
– Service enrichment
– Monitoring and reporting
– SOA based security
– Service workload and management
– Message Guarantees
– Service orchestration
– Distributed services across the enterprise
– Service discovery
getCustAddress getCustCreditgetCustProfile
getCustAddress getCustCreditgetCustProfile
JMS SOAP MQ
Mainframe.NETWebLogic
Oracle Service Bus
Service
Clients
![Page 12: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/12.jpg)
Common Service Types
• TraditionalWeb Services• Pre-negotiated Interfaces Contract (WSDL)
• Standards in place, supported by many vendors
• SOAP over HTTP
• Legacy Services• Non-XML (XML) over File, FTP, MQ, JMS
• POX (Plain Old XML)• Structure of Payload to determines action
• XML over HTTP
• REST (Representational State Transfer)• Based on Pattern of Service Invocation
• Nouns vs. Verbs
• URIs over HTTP
![Page 13: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/13.jpg)
Application
Client
Service
Clients
Oracle Service Bus Enterprise
Services
transporttransportService
Proxy
ServiceBusiness
Service
Inbound interface Outbound interface
Proxy & Business Services
![Page 14: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/14.jpg)
14
Application
Client
Service
Clients
Oracle Service Bus Enterprise
Services
Service
Application
Client
Application
Client
Application
Client
HTTP/SOAP
JMS
FTP
REST
EJBApplication
Client
WS-RM
TUX
MQ
EJB
JCA
Service
Service
Service
Service
Request / Response
Service Messaging
• Multiple communications paradigms
– Request/response
– Synchronous and asynchronous
– One-to-many, many-to-one
– Pub-sub
– Mix-and-match (e.g. sync-to-async)
Synch / Asynch
Split / Join
Publish / Subscribe
Adaptive Messaging In a Nutshell…
• Any to Any Protocol
• Any to Any Payload
– XML
– non-XML
– Binary
• No WSDL Required
![Page 15: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/15.jpg)
15
Web Service (SOAP) -> MQSeries or JMS
Let’s Build It…
Get Mileage
Legacy
Service
XForm Route JMS Request Reply
• Create a simple service with a Web services interface that performs
data translation and protocol conversion to invoke an existing service
through a asynchronous message, wait for a response, and return a
synchronous reply to the caller.
Oracle Service Bus
Multiple correlation patterns for Request/Reply
Web Service
SOAP over HTTP
(AQ, MQ, JMS, Tibco)
requestresponse
id
![Page 16: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/16.jpg)
16
Summary of ESB Usage Patterns
�Service Lifecycle Management
�Business Service Load-balancing & Failover
�Transport Header Override
�Monitoring / SLA
�Heterogeneous Messaging
�Error Handling in Pipeline
�Customized Data Reporting
�Data services integration
�Security and Access Control
�Sync client to Async Business Service
�Asynchronous Request/Reply
�Content, Metadata, Identity, -Based Routing
CustomerTypical Use Cases
![Page 17: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/17.jpg)
17
<Insert Picture Here>
Agenda
• Why Service Bus ?
• Enterprise Patterns
• Closer Look
– Service Result Cache
– EJB Proxy
• Q & A
![Page 18: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/18.jpg)
18
Application
Client
Service
Clients
Oracle Service Bus Enterprise
Services
Service
• Atomic Message Flow
– Simple as checking a box
– All work committed or aborted
• Two settings for Proxy
– Transaction Required ?
– Same Transaction For Response ?
Benefits
Message flow can execute within TX regardless of the Inbound Protocol
Proxy BusinessHTTP/SOAP
Message Flow Transaction
JMS
FTP
OSB 11gR1
![Page 19: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/19.jpg)
19
Application
Client
Service
Clients
Oracle Service Bus Enterprise
Services
Service
• New native EJB Transport
– Supports 2.1 and 3.0
– Native Java Types can be passed along to JMS, Java Callout
– Full Transaction semantics supported
Benefits
– Mediate existing legacy EJB infrastructure
Java Callout
Proxy
Business
EJB
Native EJB Inbound and Outbound Transport
EJB
REST
HTTP
SOAP
JMS
OSB 11gR1
![Page 20: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/20.jpg)
20
Service Result CacheScaling Application Infrastructure
Process Flow /
Orchestration
Legacy
Service
Consumer
Service
Provider
P
BBackup Node
PrimaryNodeGet / Put (Cachekey)
Service Data
Coherence Data Grid
OSB
Result
Cache
Oracle Service Bus
Check cache
If results not in cache, invoke service & cache results
Side Cache Pattern
OSB 11gR1
![Page 21: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/21.jpg)
21
Service Result Cache with CoherenceCheckbox Caching
Result Cache is an implementation of Side Cache pattern
OSB 11gR1
BusinessService
� Cache Results?
� Cache Token
� Time To Live
![Page 22: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/22.jpg)
22 Oracle Restricted and Confidential
Service Bus vs. Process Orchestration ?
Process Orchestration
• Service contains business logic
• Service requires complex transaction management
– Requires multiple transactions
– Compensation logic required on rollback
– Short or long-lived process
• Exception handling requires Human workflow
• Service needs to handle asynchronous callbacks reliably
Service Bus
• Service contains protocol, routing and transformation logic
• Service has short-lived, single transaction semantics
![Page 23: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/23.jpg)
23 Oracle Restricted and Confidential
Final Thoughts…
Trends Emerging
• Federated ESB
• Not enough to simply distribute across buses.
• Management is KEY.
• Homogenous until vendors decide on management standards to allow uniform service provisioning & routing updates.
• Event-driven SOA
• Dynamic, unpredictable business events being correlated real-time feeding into SOA infrastructure
• Web 2.0 meets SOA & Traditional IT infrastructure
• Watch out - IT Culture class emerging!
• Service Bus will help adapt Traditional SOA to more ad-hoc services like REST, POX with security.
![Page 24: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/24.jpg)
24 Oracle Restricted and Confidential
DiscussionDiscussion
![Page 25: Closer Look at Enterprise Service Bus - Austin Java Users Group](https://reader030.fdocuments.in/reader030/viewer/2022020705/61fb85692e268c58cd5f2793/html5/thumbnails/25.jpg)
25 Oracle Restricted and Confidential
Advanced Service PoolingRouting to active endpoints, service load balancing
Service Clients
Endpoint URL 1
Endpoint URL 3
Endpoint URL 2Proxy
SvcClient 1
OSB Cluster
Bus
Svc
If a URI is non-responsive, take the URI out of the pool
Bring the URI back in the pool when it is back-up
• Option for the system to automatically take non-responsive URIs out of the pool, and put them back in as they become responsive
• Alerts will be generated when the status of the endpoint changes from Up � Down and vice versa