this presentation courtesy of the international soa symposium
TRANSCRIPT
1
1
Founding Sponsors
This Presentation Courtesy of the
International SOA Symposium
October 7-8, 2008 Amsterdam Arena
www.soasymposium.com
Gold Sponsors
Platinum Sponsors
Silver Sponsors
<Insert Picture Here>
SOA on App Grid: Not Your MOM‟s Bus
Dave Chappell
VP & Chief Technologist, SOA
2
The following is intended to outline our general
product direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any
features or functionality described for Oracle’s
products remains at the sole discretion of Oracle.
4
Next Level Challenges of SOA
• Re-Focus on Innovation, New Business Services• Service Enablement of IT Assets
• Leverage investment, reuse
• Business Agility• Better align with the Business Needs
• Automate Business Function
• Business Process Orchestration
• Composite Applications
• Flexibility• Loose Coupling, Modularity
• Easily integrated, upgraded, replaced
• IT Cost Reduction• Shared Services
• Eliminate Redundancy
Large XML Payloads
Unexpected Usage Demands
Tearing Down / De-coupling
Silos
Sharing InformationAcross Multiple
Services
Meeting SLAExpectations
Increased Cost of Transacting
Benefits New Challenges
Moving Forward While Reducing Complexity
3
5
<Insert Picture Here>
"If you want a 3 second response
time, you get 1 sec in the
presentation layer, 1 sec in the
middle tier, and 1 sec in the
backend. Period!”*
*commenting on the need for middle tier caching and
in-memory state management
VP Architecture
Leading Commercial Rating and
Information Insight Company
6
Concerns linger about lack of performance,
scalability
52%
52%
54%
59%
61%
65%
60%
54%
55%
60%
58%
64%
36%
53%
65%
53%
62%
0% 20% 40% 60% 80%
Lack of security
Too difficult to adapt and build new applicatons
Does not meet business needs
Poor reliability
Difficult to manage services
Performance or scalability issues
2005
2006
2007
Q: What would constitute SOA failure? 2007 Base: 549 / 2006 Base: 473 / 2005 Base: 167 (Among current deployers)
*
* Not asked in 2005
4
8
Service Grid(a.k.a. SOA on App Grid)
9
Service GridCombines Orchestration, Mediation, State Caching,
Demand based provisioning, Deterministic GC
Portal
BPEL
My
Services
CRM /
ERP
CEP Rules
2 3 4
5
1
Service
Provider
BAM
Service
Consumer
WS-Addr
<ReplyTo>
Callback
WS-Addr
<ReplyTo>
Callback
State-aware continuous availability for service infrastructure, services, application data, and processing logic
=Service state data2 3 4
5
1
=Stateful Service Orchestration
5
10
SOA on App Grid Value Proposition
• Reduce cost of hitting back-end systems multiple times over the life of a
session
• Improve response times for service requests and front-end users while
keeping load off backend systems
• Improved fault tolerance without sacrificing performance
• Ensuring predictable latency under increased sustained loads
• Achieving dramatic overall increase in performance and throughput
• Predictable scalability for XTP
• Based on advanced software clustering techniques
• Scales out linearly, whether 2 or 2,000 servers
• Heterogeneous Environment
• High-end / low-cost commodity hardware
11
Key Capabilities
• Caching Results of Services Calls
• To offload loads on backend services and SOA Infrastructure use side cache to
cache results of service calls, c.f. Web cache
• Without sacrificing consistency and programmability
• Seamless State Management for Stateful Services
• Without the need to enforce “state passing” / scrap book design patterns across the
organization
• Reduced/Eliminate dependency on disk persistence and State Repositories
• Without sacrificing HA
• Ability to Efficiently Handle Process XML Payloads within SOAs
• Without Loss in throughput and increases in latency s
• Data Grid and Compute Grid
• Linearly scalable shared memory and logic
• Intelligent co-location and affinity between processing logic and Grid storage
6
12
Data/State Management Techniques in SOA
Service Sophistication,
Longevity
Complexity
Stateless
Tight Coupling
Stateful
Cookies +Servlet Session
State passing viaXML Payloads
Between services
2 3 4
5
1
Service State
RepositoryService
13
SOA on App Grid Here and Now - Case Studies
7
14
Amir Razmara
Director, The Gap
Problem:
Universal user profile, preferences, shopping cart and single sign-on across 4 brands
Shared sessions across all 4 brands leading to a need for a global session (each brand has its own cluster of servers)
Possible Solutions:
State repository with DB
Data Grid backed session management with Coherence*Web
Coherence*Web Solution:
Create a “Global Cache Cloud” to maintain a brand agnostic session caching layer, enabling the global session
Any server from any brand is able to obtain a session from the global cache cloud, enabling SSO and shared bag
Session durability, immune from crashes in the application tier
Sessions maintained during the nightly cell switch for publishing content
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
15
State Management in SOA on App Grid | Web Cache
Shared Servlet Session State
Database:
Use for storing, managing transactions
Data Grid: Web Containers share servlet session state via data grid
Business logic: Traditional middle tier EJB
Web Cntr
Web Cntr
DB Grid
POJO
EJB
EJB
.NET
*GAP
8
16
State Management in SOA on Application Grid | Shared
Services
PrimaryNode
= Write Behind Queue
DB Grid
Service
Component
Service
Component
Service
Component
Service
Component
Database:
Use for storing, managing transactions
Write through for state information from data grid
Data Grid:
Use for managing transient state (read and write)
Business logic:
Services manage their state in the data gridWeb Cntr
Web Cntr
Similar architecture, similar benefits!
17
Kiran Dattani
Director SOA & Enterprise Integration
Pfizer Worldwide Technology
Problem
Need Sub 2.5 second response times –boundary crossing incur cost
Need to trade-off – between agility and performance
Possible Solutions
XML processing hardware/ appliances
Mid-tier caching / data grid
Solution Adopted
Data grid to cache data for real-time SOA
Real-time SOA:
Architect the overall process and application for performance
The more backend systems you hit during a real-time process, the more response time costs you incur
Make up for the loss in performance from boundary costs by:
Doing work in advance – Cache
Do less work in real-time
9
18
FIDUCIA IT AG manages and runs …
• 63M bank accounts
• 5.5M online accounts
• 3.4B funds transfers / year
• 13.5B IMS transactions / year
• Peak: 70M Transactions / day2,750 Transactions / Second
• 101.000 PCs
• 9,500 Routers
• 9,300 Switches
• 10,700 ATMs
• 10,023 Statement Printers
• 1,192 Service Terminals
*Fiducia - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
19
<Insert Picture Here> Mathis Schorer
Architect
Fiducia
Problem
Make use of existing Services in a batch driven environment
Make better use of existing hardware resources
Push throughput & Make use of high parallelism
Move workload off the mainframe = saving MIPS, Saving Euros!
Solutions Considered
(1) Queuing; (2) Data Grid
Caching of Mainframe Data
Improved service performance across all servers
Reduction in mainframe MIPS usage
Replacing Queues with Coherence
Much easier Setup
Improved performance
Drastically reduced load on Oracle Database
Ability to form a “cloud” of computing resources
*Fiducia - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
10
20
SOA on App Grid Patterns for Shared Service State
21
<Insert Picture Here>
“Composable stateful services is an architectural challenge we are
struggling with as we build out our new e-learning enterprise
architecture. We are very concerned about scalability using
conventional approaches
You definitely got the attention of our architects and engineers who
are now thinking about how SOA grid technology can help”
Director Architecture
Leading Educational Publishing Co.
11
22
SOA Grid Patterns
• SOA Grid: Basic Patterns for State Management Using Middle Tier Caching• Fault Tolerant Collection
• Inline Service State Cache
• Side Cache
• Stateful Service Load Balancing
• Stateful Service Availability/Failover
• Advanced State Management Patterns• State Based Notification
• Asynch DB Update
• Near Cache Optimization
• Sticky Load Balancers and Cached Service State
• Business Logic Affinity
• Claim Check/Pass-by-ref/Deferred State
23
Fault-Tolerant Collection - Primary/Backup
Synchronization
Application
Object
Application
Object
P
B
Put()
Backup Node[1...n]
PrimaryNode
In-Memory State Storage / Networked Datagrid
servers/Hashmap
iFace
HashKey/CacheKey
Available Today with Oracle Coherence
12
24
Fault-Tolerant Collection - Primary/Backup
Synchronization
P
BBackup Node
PrimaryNode
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
HashKey/CacheKey
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
25
Fault-Tolerant Collection - Primary/Backup
Synchronization
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
P
B
Backup Node
PrimaryNode
X
13
26
Fault-Tolerant Collection - Primary/Backup
Synchronization
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
P
BBackup Node
PrimaryNode
X
28
Service State Repository
Service
Component
Service
Component
Service State
Service State
State Repository
Service
Component
Service
Component Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
14
29
In-Memory FT Service State
Service
Component
Service
Component
Service State
Service State
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
= Primary / Backup memory storage
30
In-Memory FT Service State
Service
Component
Service
Component
Service State
Service State
Service
Component
Service
Component Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
Service
Component
= Primary / Backup memory storage
15
31
Inline Shared State Cache
P
B
Put(StateData)
Cachekey
Backup Node
PrimaryNode
Service ‘A’
Invocation
Load B
ala
ncer
Shared State Cache
WSA:StatekeyService
Provider
A
Service
Provider
A1
Service
Consumer
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL
32
After | Caching Results to Service Calls to Backend Systems
Process Flow /
Orchestration
ESB M
edia
tion
(Tra
nsfo
rm, R
oute
, Retry
)
Legacy
MQService
Provider
Service
Consumer
Service
Provider
Healthcare Portal: Minimizing expensive backend access
P
BBackup Node
PrimaryNodePut (State Data)
CacheKey
Cache
Side-
Cache
Service
16
33
After | Caching Results to Service Calls to Backend Systems
Process Flow /
Orchestration
Legacy
MQService
Provider
Service
Consumer
Service
Provider
P
BBackup Node
PrimaryNodeGet(Cachekey)
State Data
Cache
Side-
Cache
Service
Healthcare Portal: Minimizing expensive backend accessESB M
edia
tion
(Tra
nsfo
rm, R
oute
, Retry
)
35
Side-Cache in OSB (ALSB) Proxy / Pipeline
(Telco Use Case)
Telco: Usage Patterns with Oracle Coherence and OSB
17
41
Service
Provider
Service
Provider
Service
Provider
Near-Cache Optimization
P
B
Fetch
Cache
Backup Node
PrimaryNode
DB Grid
Geico: 400X Improvement on Reads, 40X Improvement on Writes
In-Memory State Storage / Networked Datagrid servers/
Service
Consumer
Service
Consumer
46
Transform
& RouteSvc CSvc BSvc A
2 3 4
5
1
Relational Store
(Oracle DB)Svc A
SQLSvc B
SQLSvc C
SQL
Shared Service State Repository Revisited
Svc D
Svc A Svc B Svc C
Service Bus / BPEL
Transform
& Route
In Memory Data Grid w/ Async Write-Behind, Sync Write-thru, Cached-Read
18
47
SOA on App Grid
Not Your MOM‟s Bus
48
SOA Grid – Not Your MOM‟s Bus
Why send it when its already there?
Portal
BPEL
CRM ERP
CEP Rules
2 3 4
5
1
Web Service
Provider
BAM
Web
Service
Consumer
WS-Addr
<ReplyTo>
Callback
WS-Addr
<ReplyTo>
Callback
•This is already accomplished today using stateful
service caching patterns with out-of-box capabilities of
Oracle SOA Suite and Coherence
*Fiducia
19
49
Case Study: Computing versus Communicating
46 Boundary Crossings
46 network
hops/data
serialization
steps
5-7
5 - 7 network
hops/data
serialization
steps
Horizontally
scalable
2 2 40
2Mediation
Custom Redundant
Data Cache
CustomRedundant
Data Cache
Biz LogicClient
Conventional SOA
Service
Service
Service
Process Flow
ESB
Media
tion
SOA Grid
Client
Coherence
50
Learn Morehttp://www.oracle.com/technology/products/
• Whitepapers
• Webcasts
• Buyers Guides
• Analyst Reports
• Case Studies
• Podcasts
• Technical Information & Forums• http://www.oracle.com/technology/products/webservices_manager
• http://ws-security.blogspot.com (Blog)
• http://blogs.oracle.com/davidchappell/ (Blog)
20
51
Questions, Feedback, Use Cases
• Mohamad Afshar
• Dave Chappell
52
21
53
SOA on App Grid Patterns for Shared Service State
54
SOA Grid Patterns
• SOA Grid: Basic Patterns for State Management Using Middle Tier Caching• Fault Tolerant Collection
• Inline Service State Cache
• Side Cache
• Stateful Service Load Balancing
• Stateful Service Availability/Failover
• Advanced State Management Patterns• State Based Notification
• Asynch DB Update
• Near Cache Optimization
• Sticky Load Balancers and Cached Service State
• Business Logic Affinity
• Claim Check/Pass-by-ref/Deferred State
22
55
Fault-Tolerant Collection - Primary/Backup
Synchronization
Application
Object
Application
Object
P
B
Put()
Backup Node[1...n]
PrimaryNode
In-Memory State Storage / Networked Datagrid
servers/Hashmap
iFace
HashKey/CacheKey
Available Today with Oracle Coherence
56
Fault-Tolerant Collection - Primary/Backup
Synchronization
P
BBackup Node
PrimaryNode
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
HashKey/CacheKey
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
23
57
Fault-Tolerant Collection - Primary/Backup
Synchronization
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
P
B
Backup Node
PrimaryNode
X
58
Fault-Tolerant Collection - Primary/Backup
Synchronization
Available Today with Oracle Coherence
FT Collection
Application
Object
Put()
In-Memory State Storage / Networked Datagrid servers/
HashmapiFace
Application
Object
Application
Object
P
BBackup Node
PrimaryNode
X
24
59
Inline State Cache
P
B
Put(StateData)
Cachekey
Backup Node
PrimaryNode
Service ‘A’
Invocation
Load B
ala
ncer
State Cache
WSA:StatekeyService
Provider
A
Service
Provider
A1
Service
Consumer
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL
60
Learn Morehttp://www.oracle.com/technology/products/
• Whitepapers
• Webcasts
• Buyers Guides
• Analyst Reports
• Case Studies
• Podcasts
• Technical Information & Forums• http://www.oracle.com/technology/products/webservices_manager
• http://ws-security.blogspot.com (Blog)
• http://blogs.oracle.com/davidchappell/ (Blog)
25
61
Questions, Feedback, Use Cases
• Mohamad Afshar
• Dave Chappell
62
26
63
<Insert Picture Here>
Appendix
64
More Patterns Available
• Claim Check / Pass-by-ref / Deferred State
• Stateful Service Load Balancing
• Stateful Service Availability/Failover
• State Based Notification
• Asynch DB Update
• Near Cache Optimization
• Sticky Load Balancers and Cached Service State
• Business Logic Affinity
27
65
For More Information
• Dave Chappell Blog –
• http://blogs.oracle.com/davidchappell• SOA Magazine – SOA – Ready for Primetime: The Next Generation,
Grid Enabled SOA
• http://www.soamag.com/I10/0907-1.asp
• SOA Magazine –The Next Generation, Grid Enabled SOA : Not Your MOM‟s Bus
• http://www.soamag.com/I14/0108-1.asp
• XTPP – Gartner Research ID # G00151768 – Massimo Pezzini
• Data Grid –
• http://www.oracle.com/products/middleware/coherence/index.html
• General SOA Information –
http://www.oracle.com/technologies/soa/index.html• http://www.oracle.com/soa
• SOA Best Practices: The BPEL Cookbook
66
Industry Coverage
Top 10 Product in Network World Next
Generation Data Center Product Review
‟With Coherence, performance has
improved by as much as 100 times …‟
Network World, March 2007
…the result is almost linear scalability…
…from 2 million to more than 60 million “aggregations” per second…
(based on a benchmark initiated by an investment-bank)
February 2007
http://www.gridtoday.com/grid/1142166.html
28
67
Over 1,000 production installations!
Sample Customers
68
<Insert Picture Here>
How do you make this
happen?
29
69
Apps
Adapters B2B
PartnersDB Legacy
CONNECTIVITY
Routing Transform DataQuality
ETL &Replication
Data IntegratorOracle Service Bus
Mediation
ROUTING & DATA SERVICES
NativeBPEL
Business Rules
Human Workflow
BPEL Process Manager
ORCHESTRATION
Coherence Cache
J2EE Application Server(Oracle AS, WebLogic, WebSphere, JBoss)
Messaging
Oracle SOA Suite
GOVERNANCESystem
Monitoring
Enterprise Manager
UDDI
WS PoliciesSecurity
Web Services Manager
Registry
GOVERNANCE
SOA lifecyclegovernance
EnterpriseRepository
JRockit VM & RT
REAL-TIMEVISIBILITY
& PROCESSING AlertsBusiness Monitoring
BAM
EventsData Streams
CEP
ApplicationDevelopmentFramework
EnterpriseModeling
BPA Suite
JDeveloper
Business UserModeling
BPM Suite
70
10110001011001011101100101100101110001110
101100010110010111011001011001011100011101111110001110
Application Servers
Web Servers
Ever Expanding Universe of Users
Oracle Coherence
• Oracle
Coherence
brokers Data
Supply with
Data Demand
• Scale out
Data Grid in
middle tier
using
commodity
hardware
Data Sources
Data Supply
Data Demand
Java Objects
WebLogic Suite
30
71
JRockit Real Time
• Deterministic, Extreme Low
Response JVM
• Deterministic Garbage Collection with
1ms guarantee
• Under heavy load
• Design goal – Pause less!!
• „Swap out‟ any JVM with Zero-
coding for instantaneous GC
predictability
• No code re-writes
• Advanced tools for monitoring and
tuning application performance
JRockit -- the Industry‟s FASTEST Real Time solution for Standard
Java
0
10
20
30
40
50
60
99.9 pctl 99 pctl 95 pctl 80 pctl median average
res
po
ns
e tim
e (
ms
)
Response times under fixed load
JRockit Det GC
Tuned Sun VM
JRRT Sun Java
JRRTJava
72
WebLogic Operations ControlMonitoring and Service Management
Dynamic Resource
Allocation
• SLAs by way of WLOC
policies and rules
• Constant rules evaluation
• Dynamic scale management
Protects app availability
• Failover within the pool
• Failover across pools
• Rules can protect
performance as well as
availability
Active monitoring, alerting
• What WLOC starts, it
monitors, protects
• Agent-based framework
31
73
WL EM Diagnostic PacksManagement and Monitoring
• Manage multiple WebLogic domains from a single console
• 24x7 monitoring of availability, performance, load, and usage metrics of WebLogic Server and the host
• Blackouts, events, notifications, and metrics comparison
• Real-time and historical performance monitoring
• Historical trends of metrics and events
• Reports
• End User Monitoring
• System/Service Modeling and Dashboards
74
Oracle Fusion Middleware
32
75
Learn Morehttp://www.oracle.com/technology/products/
• Whitepapers
• Webcasts
• Buyers Guides
• Analyst Reports
• Case Studies
• Podcasts
• Technical Information & Forums• http://www.oracle.com/technology/products/webservices_manager
• http://ws-security.blogspot.com (Blog)
• http://blogs.oracle.com/davidchappell/ (Blog)
76
Questions, Feedback, Use Cases
• Mohamad Afshar
• Dave Chappell
33
77
For More Information
• Dave Chappell Blog –
• http://blogs.oracle.com/davidchappell• SOA Magazine – SOA – Ready for Primetime: The Next Generation,
Grid Enabled SOA
• http://www.soamag.com/I10/0907-1.asp
• SOA Magazine –The Next Generation, Grid Enabled SOA : Not Your MOM‟s Bus
• http://www.soamag.com/I14/0108-1.asp
• XTPP – Gartner Research ID # G00151768 – Massimo Pezzini
• Data Grid –
• http://www.oracle.com/products/middleware/coherence/index.html
• General SOA Information –
http://www.oracle.com/technologies/soa/index.html• http://www.oracle.com/soa
• SOA Best Practices: The BPEL Cookbook
78
<Insert Picture Here>
Appendix Appendix
Extra Slides
34
79
What does it mean to get it right?
CPUs
transact
ions per
second
What happens
in practice
Linear Scale up
Time
Latency
Predictable latency
What happens
in practice
So what do you do when you don‟t get it right?
-Revisit how the application was architected
-Throw hardware at the problem OR
-Make sure you architect it so that it‟s scalable first time around!
80
JRockitHigh Speed JavaVM with Predictable Performance
Code Generation
Thread Mgmt. Language Model
I/O
External Interfaces
Memory & Resource
Management
Traditional Java VM – Stop the World Pauses
JRockit - < 10 ms Pause
35
81
WebLogic ServerJava Enterprise Platform
JPA (TopLink)
OSGI Microkernel
Web Services
SecurityJavaServer
Faces
WebLogic Server (Java EE 5.0)
Clusters, Messaging, Transactions, Workload Mgt, JMX
Services Component Architecture Fabric
WebLogic Operations
Control
82
CoherenceReliable, Transactional, In-Memory Data Grid
Database Access & O-R Mapping
Java, JavaEE, .NET & Other Applications
Better Throughput &Lower Latency
Guaranteed Zero Data Loss
Dynamic Capacity Addition
Efficient Data Access
36
83
Oracle Service BusUnmatched Performance & Scalability
22.7 Million Messages Per Hour
• Oracle Service Bus 10gR3
• Intel Tigerton Processors
• Oracle Enterprise Linux 5.0
• 4X2.93GHz Quad Core Processors
• 6 GB RAM Per Server
• Number of Process Steps/Instance = 2
• Number of Transformations = 1
• Size of Document Payload = 5 KB
84
Oracle BPEL Process ManagerUnmatched Performance & Scalability
3.5 Million Process Instances Per
Hour
• Oracle BPEL Process Manager 10gR3
• Intel Tigerton Processors
• Oracle Enterprise Linux 5.0
• 4X2.93GHz Quad Core Processors
• 6 GB RAM Per Server
• Number of Process Steps/Instance = 8
• Number of Transformations = 4
• Size of Document Payload = 10 KB
37
85
Oracle AIA for Communications 2.0Leverages BPEL Performance & Scalability
185,400 Business Transactions Per
Hour
• Oracle BPEL Process Manager 10gR3
• Siebel CRM 7.8.2; Oracle BRM 7.3
• Intel Xeon Processors
• 2x3.6 GHz Processor
• 4 GB RAM Per Server
• Windows 2003 Service Pack 1
• Size of Document Payload = 3 KB
• Number of XML Schema Elements = 62
86
Oracle Complex Event ProcessorUnmatched Performance & Scalability
1 Million Events Processed per
Second
• <1 Millisecond Latency for Events
• 1000s of Rules & Event Queries
• Events from Java, Queues, DBMS, SOA
• Oracle Event Server 10gR3
• Oracle Enterprise Linux 5.0
• 4X2.93GHz Quad Core Processors
• 6 GB RAM Per Server
38
87
Get Customer Activities
*Pfizer - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
88
*Find Customer BPEL Process
• Web 2.0 apps demand real-time SOA
• Response time limited by slowest system in a real-time SOA / BPEL flow
• Ask yourself are you getting the benefit of the real-time call? If not, why pay SOA tax?
• Do work in advance by pre-populating the data grid with data
• If possible cache the entire results / output of the flow
• Cache results to service calls as a façade that are part of the flow
• Reduce amount of work at run-time
• This is easy to put together with BPEL PM and Coherence
*Pfizer - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
39
89
Before | Service Calls to Backend Systems
Process Flow /
Orchestration
ESB M
edia
tion
(Tra
nsfo
rm, R
oute
, Retry
)
Legacy
MQService
Provider
Service
Consumer
Service
Provider
Healthcare Portal: Minimizing expensive backend access
90
Relational Store
(Oracle DB)
Sta
te T
able
Svc A
SQL
Sta
te T
able
Svc B
SQL
Sta
te T
able
Svc C
SQL
Traditional SOA Stateless/State
Passing Model
Svc D
Stateless
Svc AStateless
Svc B
StatelessSvc C
Service Bus / BPEL
Transform
& Route
Carry XML From Service to Service
2 3 4
5
1
40
91
Relational Store
(Oracle DB)
Sta
te T
able
Svc A
SQL
Sta
te T
able
Svc B
SQL
Sta
te T
able
Svc C
SQL
Shared State Repository
Svc D
Svc A Svc B Svc C
Service Bus / BPEL
Transform
& Route
Implement the “Claim Check” Pattern
2 3 4
5
1
92
2 3 4
5
1
Relational Store
(Oracle DB)Svc A
SQLSvc B
SQLSvc C
SQL
Shared Service State Repository
Revisited
Svc D
Svc A Svc B Svc C
Service Bus / BPEL
Transform
& Route
In Memory Data Grid w/ Async Write-Behind, Sync Write-thru, Cached-Read
41
94
SOA on App Grid Case StudyWeb-Tier
95
The Universal Experience: Sister Tabs
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
42
96
The Universal Experience: Shopping Cart
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction…
97
State Management in SOA on App Grid | Web
Cache
Shared Servlet Session State
Database:
Use for storing, managing transactions
Data Grid: Web Containers share servlet session state via data grid
Business logic: Traditional middle tier EJB
Web Cntr
Web Cntr
DB Grid
POJO
EJB
EJB
.NET
*GAP
43
98
State Management in SOA on Application Grid |
Shared Services
PrimaryNode
= Write Behind Queue
DB Grid
Service
Component
Service
Component
Service
Component
Service
Component
Database:
Use for storing, managing transactions
Write through for state information from data grid
Data Grid:
Use for managing transient state (read and write)
Business logic:
Services manage their state in the data gridWeb Cntr
Web Cntr
Similar architecture, similar benefits!
99
SOA on App Grid Case StudyCaching Middle Tier, Offloading
Backend Systems
44
100
<Insert Picture Here>
“It’s hard to beat zero!”
Kiran Dattani
Director SOA & Enterprise Integration
Pfizer Worldwide Technology
101
After | Caching Results to Service Calls to
Backend Systems
Process Flow /
Orchestration
ESB M
edia
tion
(Tra
nsfo
rm, R
oute
, Retry
)
Legacy
MQService
Provider
Service
Consumer
Service
Provider
Healthcare Portal: Minimizing expensive backend access
P
BBackup Node
PrimaryNodePut (State Data)
CacheKey
Cache
Side-
Cache
Service
45
102
After | Caching Results to Service Calls to
Backend Systems
Process Flow /
Orchestration
Legacy
MQService
Provider
Service
Consumer
Service
Provider
P
BBackup Node
PrimaryNodeGet(Cachekey)
State Data
Cache
Side-
Cache
Service
Healthcare Portal: Minimizing expensive backend accessESB M
edia
tion
(Tra
nsfo
rm, R
oute
, Retry
)
103
After | With Fault Tolerance
Process Flow /
Orchestration
Legacy
MQService
Provider
Service
Consumer
Service
Provider
P
BBackup Node
PrimaryNodeGet(Cachekey)
State Data
Cache
Side-
Cache
Service
ESB M
edia
tion
(Tra
nsfo
rm, R
oute
,, Retry
)
X
Healthcare Portal: Minimizing expensive backend access
46
104
Side-Cache in OSB (ALSB) Proxy /
Pipeline (Telco Use Case)
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL