"soa en bpel" is service orchestratie een overdraagbare aandoening? sandor nieuwenhuijs
TRANSCRIPT
No Application is an Island
ADF
Orchestration
Telco Activation Services
SMS Activation Manager
GPRS Activation Manager
China Roaming Activation Manager
Automatic Payment Approval
Service Not Available Exception
Billing Services
Credit Card Payment Services
Payment Services
New Plan SelectionUser Interface
Application Server
Application for the provisioning and activation of cell phone plans
Example: Modern Web Application
Java + JCA + JMS + EAI = “Not Enough”
?
Java Platform
Portal
ADF
Java Services (EJB)
Messaging Destinations (JMS)
User Tasks
Web Services (Sync and Async)
Legacy Applications (JCA, adapters)
Orchestration
Orchestration Today
Not enough metadata Not tool friendly
Proprietary flow languages Rare skill sets, consulting
Hard Wired/Code Rigid, difficult to change
Incompatible Infrastructures Difficult to manage and scale
A Service…
<rate>5.6%
</rate>
XML
Network Centric
Metadata
GetCustomerInfoGetReportListProductsSearchCreditAccountProcessOrder
…Can Be Asynchronous
10:05 Receive Order10:10 Processing….
10:25 <risk>4</risk> WS-AddressingCorrelationCallback Location
PerformanceReliabilityBusiness Time
…Can Be Secured
<Patient>Disease A</Patient>
WS-Security, SAMLSignatureEncryptionRole and Access Control
…Can Offer Optimized Bindings
.NET, Axis Service
Java Service
DatabaseStored Procedures
RMI
HTTP
JDBC
BINDING
BINDING
ERPJCA
BINDING
INTERFACE
WSDL
?
BPEL, The Orchestrator
BPEL
IU
PORTAL
J2EE
TOMCAT
Web Service
Java Service
ERPSAP, Oracle, etc.
User Tasks
DatabaseStored Procedures
What is BPEL?
Duplicate Number!
SalesDB start
end
Router
Billing
Markup language for composing a set of discrete services into
an end-to-end process flow
• 10+ years of R&D from MSFT and IBM
• SOAP but also Java, JCA
• Rich Flow Semantics
• Optimized Bindings
• XPATH+XSLT+XQuery
• WS-Security
• A Process is a Service
BPEL by Example (1)
Example: Chaining
Start<receive>
Customer App
Support DB
Client
Client
GetAccount<invoke>
ListIncidents<invoke>
End<reply>
mapping
<sequence>
</sequence>
BPEL by Example (2)
Example: Asynchrony
Initiate<receive>
Computer Store
Client
Client
ProcessOrder<invoke>
OnOrderComplete<receive>
End<invoke>
….
BPEL by Example (3)
Example: Parallelism
Initiate<receive>
Partner APartner B
GetQuote<invoke>
GetQuote<invoke>
<flow>
End<invoke>
</flow>
BPEL by Example (4)
Example: Exception Management and Compensation
Start<receive>
Travel Service
Hotel Service
Client
Client
Release Flight<invoke>
Cancel Hotel<invoke>
End<reply>
Reserve Hotel<invoke>
Book Flight<invoke>
BPEL by Example (5)
Example: WSIF and Java Binding
RatingSessionBean
Start<receive>
GetRating<invoke>
End<reply>
…
RMI
…
BPEL by Example (6)
Example: A Process Is A Service
Initiate<receive>
ClientJavaWeb AppBPELC#
ProcessOrder<invoke>
OnOrderComplete<receive>
End<invoke>
….
The Buzz
Gartner believes that BPEL will emerge as the leading
industry standard for Web service orchestration
and coordination of business processes.
- David Smith, Research Vice President and fellow, Gartner ”
BPEL is the future of the integration space.
- John Rymer, Vice President, Forrester Research, Inc.
“ ”
“
BPEL Methodology
Expose Services Flow Exception
User Tasks
Unit Test
Perf TestAuditSensorsMonitor
Change
Transformation
The Top Down Perspective
Business Analyst
Integration Developer
Notation LayerBPMN or UML
Executable LayerXML, XQuery, BPEL, Rules
Service Developer
Business ServicesAdapters, Java, Struts, JSF
Existing Systems
MAINFRAMEPACKAGEDAPPLICATIONS
JAVADATABASE
Activity Activity Activity
assign invoke receive assign
Oracle BPEL Process Manager
For OracleAS, WebLogic, WebSphere and JBoss
Oracle BPEL Process Manager
For OracleAS, WebLogic, WebSphere and JBoss
Application Server
Oracle BPEL Process Manager
Database Mainframe Packaged Apps EJBsUser Tasks
BPEL PM• Orchestration• Transformation• Auditing
Service Adapters• WSIF/JCA Framework• 200+ Back Ends• Rich Metadata
Event Correlation, Analytics, Dashboards, Alerts BAM
Security, Management WS Gateway
BPEL Server
BPEL Designer
BPEL Console
XSLTMapper
Eclipse BPEL Designer
• Native BPEL Support
• Drag-and-drop process modeler
• UDDI and WSIL service browser
• Visual XSLT mapper
• Visual XPATH editor
• Visual Assign editor
• One-click build and deploy
KEY FEATURES
JDeveloper BPEL Designer
• Native BPEL Support
• Drag-and-drop process modeler
• UDDI and WSIL service browser
• Visual XSLT mapper
• Visual XPATH editor
• Visual Assign editor
• One-click build and deploy
KEY FEATURES
Preview
XSLT Mapper
• Drag-and-drop Interface
• Built-in Library of Functions
• Support for Lists and Iterations
• Auto-mapping
• Version Resiliency
KEY FEATURES
Preview
Service Adapters
• WSIF + JCA + XML
• Rich Metadata
• Requests and Events
• Optimized Bindings
• 200+ Systems
• Fail Over Management
KEY FEATURES
Preview
Workflow Service
• Routing
• Roles
• Attachments and Version Control
• Built-in Approval Patterns
• Simple Form Framework
• Email and Wireless Notification
• Built-in Worklist Application
KEY FEATURES
Preview
BPEL Server• Plug and Play
• Cross Platform
• Massively Scalable
BPEL Console
MA
NA
GE
J2EE Application Server(WebLogic, Oracle AS, JBoss, WebSphere)
Core BPEL Engine
WSDL Binding Built-in Integration Services
JCA
Web Service
JMS
XQuery XSLTUser
Tasks Oracle DB
BPEL Process Manager
BPELJOracle Database
Database
BPEL
KEY FEATURES
Need for Performance
Dehydration Store(Oracle Database)
App. Server
App. Server
App. Server
Write-through Cache
LOA
D B
ALA
NC
ER
BPEL Server
BPEL Server
BPEL Server
BPEL-OptimizedSOAP Stack
Compact Binary DOM• Lazy Loading• Smart Partitioning• W3C DOM Interface• Support for Large
Documents
Support for large BPEL Processes (20,000+ activities)
Stateless Architecture• Clustering• Fail Over
Need for Scalability
• Scale on demand
• No code change
• Easy-to-manage
• Intel+Linux Friendly
KEY FEATURES
BPEL Console
• Visual Monitoring
• Auditing
• BPEL Debugging
• In-flight Instance Administration
• Performance Tuning
• Partitioning/Domains
KEY FEATURES
Service Adapters
.NET, Axis Web Services
Java, JCA Components
Database
200+ iWay Adapters
JMS Queue or Topic
Oracle eBusiness Suite
XML,WSIF,JCA
WSDL
WSDL
WSDL
WSDL
WSDL
WSDL
• 100% Standard
• Rich Metadata
• Requests and Events
• Optimized Bindings
• XSLT, Auto-Mapping
• 200+ Systems
• Fail Over Management
BPEL
FilesWSDL
KEY FEATURES
BAM Friendly
• Event Capture
• Correlation
• Metrics and KPI
• Real-time Dashboards
• Alerts
KEY FEATURES
ESA - Satellite Imaging Services
• The Challenge• Provision satellite-imaging services over the Internet• Data from over 30 geospatial partners and resources• Large data sets with complex schemas
• The Solution• Provision, chain, and deliver information via web services and
Oracle BPEL PM
• Why Oracle BPEL Process Manager• Native BPEL, 100% standards compliant
Performance NumbersOracle 9i
BPEL PMPentium 4, 2.8Ghz, 1GB RAM
BPEL PM
INPUT DOCUMENT
LOAD TOTAL PROCESSING TIME
DAILY THROUGHPUT
CPU USAGE
2KB 25x40 18s 4.80M
10KB 25x40 24s 3.60M
25KB 25x40 30s 2.88M
50KB 25x40 40s 2.16M
100KB 25x40 59s 1.83M
500KB 10x20 30s 0.58M
3MB 10x20 120s 0.15M
10MB 10x20 360s 0.05M
Numbers for the European Space Agency Order Processing BPEL Process