1. 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
1
<Insert Picture Here>
SOA on App Grid: Not Your MOM‟s Bus
Dave Chappell
VP & Chief Technologist, SOA
1
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.
Next Level Challenges of SOA
Moving Forward While Reducing Complexity
Benefits New Challenges
• Re-Focus on Innovation,
New Business Services Large XML Payloads
• Service Enablement of IT Assets Tearing Down /
• Leverage investment, reuse De-coupling
• Business Agility Silos
• Better align with the Business Needs Unexpected Usage
• Automate Business Function Demands
• Business Process Orchestration
• Composite Applications Meeting SLA
• Flexibility Expectations
• Loose Coupling, Modularity Increased Cost of
• Easily integrated, upgraded, replaced Transacting
• IT Cost Reduction Sharing Information
• Shared Services Across Multiple
• Eliminate Redundancy Services
4
2
3. <Insert Picture Here>
VP Architecture
Leading Commercial Rating and
Information Insight Company
"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
5
Concerns linger about lack of performance,
scalability
62%
Performance or scalability issues 64%
65%
53%
Difficult to manage services 58%
61%
65%
Poor reliability 60%
59% 2005
53% 2006
Does not meet business needs 55%
54% 2007
Too difficult to adapt and build new 36%
*
applicatons 54%
52%
Lack of security 60% * Not asked in 2005
52%
0% 20% 40% 60% 80%
Q: What would constitute SOA failure? 2007 Base: 549 / 2006 Base: 473 / 2005 Base: 167 (Among current deployers)
6
3
4. Service Grid
(a.k.a. SOA on App Grid)
8
Service Grid
Combines Orchestration, Mediation, State Caching,
Demand based provisioning, Deterministic GC
WS-Addr WS-Addr
Service <ReplyTo> <ReplyTo>
Consumer Callback Callback My CRM /
Portal ERP
Services
1
2 3 4
5
BPEL CEP BAM Rules
Service
Provider
State-aware continuous availability for service infrastructure,
services, application data, and processing logic
1
2 3 4
=Service state data 5
=Stateful Service Orchestration
9
4
5. 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
10
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
11
5
6. Data/State Management Techniques in SOA
Service
State
Repository Service
Complexity
State passing via
Tight Coupling XML Payloads
Between services 1
2 3 4
Cookies +
Servlet
5
Session
Stateless Service Sophistication, Stateful
Longevity
12
SOA on App Grid
Here and Now - Case Studies
13
6
7. Amir Razmara
Director, The Gap
Problem: Coherence*Web Solution:
Universal user profile, preferences, Create a “Global Cache Cloud” to
shopping cart and single sign-on across maintain a brand agnostic session
4 brands caching layer, enabling the global
Shared sessions across all 4 brands session
leading to a need for a global session Any server from any brand is able to
(each brand has its own cluster of obtain a session from the global cache
servers) cloud, enabling SSO and shared bag
Possible Solutions: Session durability, immune from
crashes in the application tier
State repository with DB
Sessions maintained during the nightly
Data Grid backed session cell switch for publishing content
management with Coherence*Web
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction… 14
State Management in SOA on App Grid | Web Cache
Shared Servlet
Session State
EJB Business logic: Traditional
middle tier EJB
Web Cntr
POJO Data Grid: Web Containers
share servlet session state
via data grid
DB Grid
EJB Database:
Web Cntr
Use for storing, managing
transactions
.NET
*GAP 15
7
8. State Management in SOA on Application Grid | Shared
Services
Primary
Node
Service Business logic:
Component
Services manage their state
Web Cntr in the data grid
Service Data Grid:
Component
Use for managing transient
state (read and write)
DB Grid
Service
Web Cntr Component
Database:
Use for storing, managing
transactions
Write through for state
information from data grid
Service
Component
= Write Behind Queue
Similar architecture, similar benefits! 16
Kiran Dattani
Director SOA & Enterprise Integration
Pfizer Worldwide Technology
Problem Real-time SOA:
Need Sub 2.5 second response times – Architect the overall process and
boundary crossing incur cost application for performance
Need to trade-off – between agility and The more backend systems you hit
performance during a real-time process, the more
response time costs you incur
Possible Solutions
Make up for the loss in performance
XML processing hardware/ appliances from boundary costs by:
Mid-tier caching / data grid Doing work in advance – Cache
Solution Adopted Do less work in real-time
Data grid to cache data for real-time SOA
17
8
9. 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 / day
2,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… 18
<Insert Picture Here> Mathis Schorer
Architect
Fiducia
Problem Caching of Mainframe Data
Make use of existing Services in a Improved service performance across
batch driven environment all servers
Make better use of existing hardware Reduction in mainframe MIPS usage
resources
Replacing Queues with Coherence
Push throughput & Make use of high
parallelism Much easier Setup
Move workload off the mainframe = Improved performance
saving MIPS, Saving Euros! Drastically reduced load on Oracle
Database
Solutions Considered
Ability to form a “cloud” of computing
(1) Queuing; (2) Data Grid resources
*Fiducia - OOW2008 S299392 - Beyond Performance: Pushing Transaction… 19
9
10. SOA on App Grid
Patterns for Shared Service State
20
<Insert Picture Here>
Director Architecture
Leading Educational Publishing Co.
“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”
21
10
11. 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
Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid
servers/
Hashmap Primary
iFace Node
Put()
P
Application HashKey/CacheKey
Object
B
Backup
Node
Application [1...n]
Object
Available Today with Oracle Coherence
23
11
12. Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection Primary
iFace Put() Node
P
Application HashKey/CacheKey
Object
Backup B
Node
Application
Object
Application
Object
Available Today with Oracle Coherence
24
Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection
X
iFace
Put()
Application
Object
P
Primary Backup
Node Node
Application
Object B
Application
Object
Available Today with Oracle Coherence
25
12
13. Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection
iFace
Put()
Application
X
Object
Primary
Node
Application
Object P
Backup B
Node
Application
Object
Available Today with Oracle Coherence
26
Service State Repository
Service
Component Service
Component Service
Component
Service
Component
Service State
Service
Component
Service
Component Service Service State
Component
State
Repository
Service
Service Component
Service Component
Component
Service
Component
Service Service Service
Service
Component Component Service
Component Component
Component
28
13
14. In-Memory FT Service State
Service
Component Service
Component Service
Component
Service
Component
Service State
Service
Component
Service Service State
Component Service
Component
Service
Service Component
Component
Service
Component
= Primary / Backup
Service Service memory storage
Component Component
29
In-Memory FT Service State
Service
Component Service
Component Service
Component
Service
Component
Service State
Service
Component
Service
Component Service Service State
Component
Service
Service Component
Service Component
Component
Service
Component
Service = Primary / Backup
Service Service Service memory storage
Component Component Service
Component Component
Component
30
14
15. Inline Shared State Cache
Service ‘A’
Invocation
Shared State CachePrimary
Put(StateData) Node
P
WSA:Statekey Cachekey
Service
Provider
A
Load Balancer
Backup
Node B
Service
Consumer
Service
Provider
A1
31
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL
After | Caching Results to Service Calls to Backend Systems
Service MQ
Provider
(Transform, Route, Retry)
ESB Mediation
Service
Provider Legacy
Service Cache Primary
Consumer
Node
Put (State Data)
P
Side- CacheKey
Cache
Service
Backup
Node B
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 32
15
16. After | Caching Results to Service Calls to Backend Systems
Service MQ
Provider
(Transform, Route, Retry)
ESB Mediation
Service
Provider Legacy
Service Cache Primary
Consumer
Node
Get(Cachekey)
P
Side- State Data
Cache
Service
Backup
Node B
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 33
Side-Cache in OSB (ALSB) Proxy / Pipeline
(Telco Use Case)
35
Telco: Usage Patterns with Oracle Coherence and OSB
16
17. Near-Cache Optimization
In-Memory State Storage /
Networked Datagrid servers/
Primary
Node
Fetch
P
Service Service Cache
Consumer Provider
Backup
Node B
Service
Service
Consumer
Provider DB Grid
Service
Provider
41
Geico: 400X Improvement on Reads, 40X Improvement on Writes
Shared Service State Repository Revisited
In Memory Data Grid w/ Async Write-Behind, Sync Write-thru,
Cached-Read
Service Bus / BPEL Svc D
1
2 3 4
5
Transform
Transform
Svc A
Svc A Svc B
Svc B Svc C
Svc C & Route
& Route
Svc A Relational Store
Svc B Svc C
SQL (Oracle DB)
SQL SQL
46
17
18. SOA on App Grid
Not Your MOM‟s Bus
47
SOA Grid – Not Your MOM‟s Bus
Why send it when its already there?
Web WS-Addr WS-Addr
Service <ReplyTo> <ReplyTo>
Consumer Callback Callback
Portal CRM ERP
1
2 3 4
5
BPEL CEP BAM Rules
Web Service
Provider
•This is already accomplished today using stateful
service caching patterns with out-of-box capabilities of
Oracle SOA Suite and Coherence
48
*Fiducia
18
19. Case Study: Computing versus Communicating
Conventional SOA Custom
46 network
Redundant
Data
2 2 40 Cache hops/data
2
Mediation Custom serialization
Client Biz Logic Redundant
Data steps
Cache
46 Boundary Crossings
SOA Grid
Coherence
5 - 7 network
Mediation
Service
hops/data
ESB
Client
Service serialization
Service
steps
Process Flow
Horizontally
5-7
scalable
49
Learn More
http://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)
50
19
20. Questions, Feedback, Use Cases
• Mohamad Afshar
• Mohamad.afshar@oracle.com
• Dave Chappell
• David.Chappell@oracle.com
51
52
20
21. SOA on App Grid
Patterns for Shared Service State
53
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
54
21
22. Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid
servers/
Hashmap Primary
iFace Node
Put()
P
Application HashKey/CacheKey
Object
B
Backup
Node
Application [1...n]
Object
Available Today with Oracle Coherence
55
Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection Primary
iFace Put() Node
P
Application HashKey/CacheKey
Object
Backup B
Node
Application
Object
Application
Object
Available Today with Oracle Coherence
56
22
23. Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection
X
iFace
Put()
Application
Object
P
Primary Backup
Node Node
Application
Object B
Application
Object
Available Today with Oracle Coherence
57
Fault-Tolerant Collection - Primary/Backup
Synchronization
In-Memory State Storage /
Networked Datagrid servers/
Hashmap
FT Collection
iFace
Put()
Application
X
Object
Primary
Node
Application
Object P
Backup B
Node
Application
Object
Available Today with Oracle Coherence
58
23
24. Inline State Cache
Service ‘A’
Invocation
State Cache Primary
Put(StateData) Node
P
WSA:Statekey Cachekey
Service
Provider
A
Load Balancer
Backup
Node B
Service
Consumer
Service
Provider
A1
59
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL
Learn More
http://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)
60
24
25. Questions, Feedback, Use Cases
• Mohamad Afshar
• Mohamad.afshar@oracle.com
• Dave Chappell
• David.Chappell@oracle.com
61
62
25
26. <Insert Picture Here>
Appendix
63
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
64
26
27. 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
65
Industry Coverage
…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)
http://www.gridtoday.com/grid/1142166.html
February 2007
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
66
27
28. Sample Customers
Over 1,000 production installations!
67
<Insert Picture Here>
How do you make this
happen?
68
28
29. Oracle SOA Suite
BPA Suite
REAL-TIME
BAM GOVERNANCE
CEP Enterprise
Manager
VISIBILITY
& PROCESSING
Enterprise Alerts Events System
Modeling Business Monitoring GOVERNANCE
Monitoring
ORCHESTRATIONStreams
Data
BPM Suite BPEL Process Manager Web Services
Manager
Business User Native Business Human
WS Policies
Modeling BPEL
ROUTING &Rules SERVICES
DATA Workflow Security
JDeveloper Oracle Service Bus Data Integrator Enterprise
Repository
Application Routing Transform ETL & Data
Development Replication Quality SOA lifecycle
Mediation
CONNECTIVITY governance
Framework
Adapters B2B Registry
Apps DB Legacy Partners UDDI
Coherence Cache
Messaging J2EE Application Server JRockit VM & RT
(Oracle AS, WebLogic, WebSphere, JBoss)
69
Oracle Coherence
Ever Expanding
Universe of Users
• Oracle
Coherence Web Servers 101100010110010111011001011001011100011101111110001110
brokers Data
Supply with Application 10110001011001011101100101100101110001110
Servers
Data Demand
Data Demand
• Scale out
Data Grid in
middle tier
using Java Objects
commodity
hardware
WebLogic Suite
Data Supply
Data Sources
70
29
30. JRockit Real Time
JRockit -- the Industry‟s FASTEST Real Time solution for Standard
Java
• Deterministic, Extreme Low
Response JVM
• Deterministic Garbage Collection with
1ms guarantee
• Under heavy load
• Design goal – Pause less!!
JRRT Sun Java
• „Swap out‟ any JVM with Zero-
coding for instantaneous GC Response times under fixed load
predictability 60
• No code re-writes 50
40
response time (ms)
• Advanced tools for monitoring and JRRT Det GC
JRockit
30
Java Sun VM
Tuned
tuning application performance 20
10
0
99.9 pctl 99 pctl 95 pctl 80 pctl median average
71
WebLogic Operations Control
Monitoring 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
72
30
31. WL EM Diagnostic Packs
Management 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
73
Oracle Fusion Middleware
74
31
32. Learn More
http://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)
75
Questions, Feedback, Use Cases
• Mohamad Afshar
• Mohamad.afshar@oracle.com
• Dave Chappell
• David.Chappell@oracle.com
76
32
33. 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
77
<Insert Picture Here>
Appendix Appendix
Extra Slides
78
33
34. What does it mean to get it right?
transact
ions per
second Linear Scale up
Latency
What happens
in practice
What happens
in practice
CPUs
Predictable latency
Time
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!
79
JRockit
High Speed JavaVM with Predictable Performance
Traditional Java VM – Stop the World Pauses
External Interfaces
Memory & Resource
Management JRockit - < 10 ms
Pause
I/O
Thread Mgmt. Language Model
Code Generation
80
34
35. WebLogic Server
Java Enterprise Platform
Services Component Architecture Fabric
JPA Web JavaServer
Security
(TopLink) Services Faces
WebLogic Server (Java EE 5.0)
Clusters, Messaging, Transactions, Workload Mgt,
JMX
WebLogic
Operations OSGI Microkernel
Control
81
Coherence
Reliable, Transactional, In-Memory Data Grid
Better Throughput &
Lower Latency
Java, JavaEE, .NET & Other Applications
Guaranteed
Zero Data Loss
Dynamic
Database Access & O-R Mapping Capacity
Addition
Efficient Data Access
82
35
36. Oracle Service Bus
Unmatched 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
83
Oracle BPEL Process Manager
Unmatched 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
84
36
37. Oracle AIA for Communications 2.0
Leverages 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
85
Oracle Complex Event Processor
Unmatched 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
86
37
38. Get Customer Activities
*Pfizer - OOW2008 S299392 - Beyond Performance: Pushing Transaction… 87
*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… 88
38
39. Before | Service Calls to Backend Systems
Service MQ
Provider
(Transform, Route, Retry)
ESB Mediation
Service
Provider Legacy
Service
Consumer
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 89
Traditional SOA Stateless/State
Passing Model Service to Service
Carry XML From
Svc D
1
2 3 4
Service Bus / BPEL
5
Stateless Stateless Stateless Transform
Svc A Svc B Svc C & Route
State Table
State Table
State Table
Svc A Svc B Relational Store
Svc C
SQL SQL (Oracle DB)
SQL
90
39
40. Shared State Repository
Implement the “Claim Check” Pattern
Svc D
1
2 3 4
Service Bus / BPEL
5
Transform
Svc A Svc B Svc C
& Route
State Table
State Table
State Table
Svc A Svc B Relational Store
Svc C
SQL SQL (Oracle DB)
SQL
91
Shared Service State Repository
RevisitedData Grid w/ Async Write-Behind, Sync Write-thru,
In Memory
Cached-Read
Service Bus / BPEL Svc D
1
2 3 4
5
Transform
Svc A Svc B Svc C
& Route
Svc A Relational Store
Svc B Svc C
SQL (Oracle DB)
SQL SQL
92
40
41. SOA on App Grid Case Study
Web-Tier
94
The Universal Experience: Sister Tabs
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction… 95
41
42. The Universal Experience: Shopping Cart
*GAP - OOW2008 S299392 - Beyond Performance: Pushing Transaction… 96
State Management in SOA on App Grid | Web
Cache
Shared Servlet
Session State
EJB Business logic: Traditional
middle tier EJB
Web Cntr
POJO Data Grid: Web Containers
share servlet session state
via data grid
DB Grid
EJB Database:
Web Cntr
Use for storing, managing
transactions
.NET
*GAP 97
42
43. State Management in SOA on Application Grid |
Shared Services
Primary
Node
Service Business logic:
Component
Services manage their state
Web Cntr in the data grid
Service Data Grid:
Component
Use for managing transient
state (read and write)
DB Grid
Service
Web Cntr Component
Database:
Use for storing, managing
transactions
Write through for state
information from data grid
Service
Component
= Write Behind Queue
Similar architecture, similar benefits! 98
SOA on App Grid Case Study
Caching Middle Tier, Offloading
Backend Systems
99
43
44. <Insert Picture Here>
Kiran Dattani
Director SOA & Enterprise Integration
Pfizer Worldwide Technology
“It’s hard to beat zero!”
100
After | Caching Results to Service Calls to
Backend Systems
Service MQ
Provider
(Transform, Route, Retry)
ESB Mediation
Service
Provider Legacy
Service Cache Primary
Consumer
Node
Put (State Data)
P
Side- CacheKey
Cache
Service
Backup
Node B
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 101
44
45. After | Caching Results to Service Calls to
Backend Systems
Service MQ
Provider
(Transform, Route, Retry)
ESB Mediation
Service
Provider Legacy
Service Cache Primary
Consumer
Node
Get(Cachekey)
P
Side- State Data
Cache
Service
Backup
Node B
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 102
After | With Fault Tolerance
Service MQ
Provider
(Transform, Route,, Retry)
ESB Mediation
Service
Provider Legacy
Service Cache
X
Consumer Primary
Node
Get(Cachekey)
P
Side- State Data
Cache
Service
Backup
Node B
Process Flow /
Orchestration
Healthcare Portal: Minimizing expensive backend access 103
45
46. Side-Cache in OSB (ALSB) Proxy /
Pipeline (Telco Use Case)
104
Here today: Usage Patterns with Oracle Coherence and ESB/BPEL
46