Professional Documents
Culture Documents
Agenda
• What is SOA ?
• Web Services
• BPEL
• Interoperability
• Performance
History of Distributed Computing
Phase III
• MOM
Messaging
Phase II • CORBA
• DCOM
Components • EJB
Phase I • Client/Server
Downsize • DCE
Issues with Existing Models
• Proprietary protocols
• Interoperability
• Platform lock-in
• Flexibility
What is SOA?
Download Application
Message File
Application Queue Screen
Application Scrape
Sockets Screen Transaction
Transaction Scrape File
File
Application
Sockets
Download CICS Gateway RPC
File ORB
APPC
Application
Message
ORB Application
Application Message Transaction
Queue File
Application
Message
Queue
CICS Gateway
Transaction Screen
File Scrape
APPC
Application Message Download RPC
File
Source: Gartner
Why SOA?
• Respond to business changes
• Address new needs with existing applications
• Unlock existing application investments
• Support new channels & complex interactions
• Support organic business
Oracle Custom Order New Web
Financials Application Application
Standard Interface Standard Interface Standard Interface
New Service
Service Consumer
Wrapped
Legacy
Interface Proxy
Composite
Service
Service Service
Interface Implementation
Service Communication
Service Service
Consumers Producers
Service Platform
Service Consumers
Control
Service Service
Rules Reporting
& Config & Mgmt
• Better reuse
– Build new client functionality on top of existing
Business Services
• Well defined interfaces
– Make changes without affecting clients
• Easier to maintain
– Changes/Versions are not all-or-nothing
• Better flexibility
Agenda
• What is SOA ?
• Web Services
• BPEL
• Service Oriented Architecture and Oracle
Services Communicate With Messages
• Providing reliability and security to messages
• Sending messages across consumers and
producers
• Service Orchestration
Service Service
Consumers Producers
Basic Web Services
Points to
UDDI description
Registry WSDL
Points to
service
Finds Describes
Service Service
Web
WebService
Service SOAP Web
WebService
Service
Client
Client (J2EE,
(J2EE,PL/SQL,
PL/SQL,
(J2EE, .NET,C/C++,
(J2EE,.NET,
.NET, .NET,C/C++,
PL/SQL Legacy
Legacy…)
PL/SQL…)…) Invokes with …)
XML Messages
Two Approaches
Top Down Contract Driven And Bottom
Up
Bottom Up Top Down
Service
WSDL
Implementation
Server
Interface Service
Interface
Server
WSDL
Implementation
SAP Mainframe
Formulate
Check Fulfillment
Inventory Offer
Transform Send
Submit Determine Can
Order/ Result to
Order Discount Fulfill?
Customer User
Check Formulate
Credit Rejection
How do I …
• Coordinate asynchronous • Manipulate/transform
communication between data between partner
services interactions
• Correlate message • Support for long running
exchanges between business transactions
parties and activities
• Implement parallel • Provide consistent
processing of activities exception handling
Requirements for Processes
• Process language
– Business Process Execution Language
• Process runtime environment
– High performance execution of long running processes
• Process monitoring and lifecycle management
– Management environment
• Process design time environment
– Design time tools to visualize process development
The BPEL Alternative
Getting to Process Standards
Build your own 1-off orchestration
Traditional EAI
t
Discount Service
<faultHandlers>
Get Discount
Handle Negative
<invoke> Credit Exception
<flow>
<partnerLink>
Send Credit Application Send Inventory Request
<receive>
<partnerLink> Receive Credit Result Receive Inventory Result <partnerLink>
</flow>
Determine if
<switch> ?
Can Fulfill
end
03:00pm
</process>
Runtime Framework for BPEL
• Enterprise-strength infrastructure for designing, deploying and
managing BPEL business processes
Easy-to-use modeling tool
JDeveloper
Operation-friendly deployment unit
BPEL
Designer BPEL
Scalability, Fail-over
DESIGN
DEHYDRATE
BPEL Server
WSDL Binding Built-in Integration Services
Web Service
Oracle DB
JMS User Unparalleled management
Flexible WSIF-based XQuery XSLT
Tasks
BPELJ
MANAGE
J2EE Application Server
(OracleAS 10g)
Comprehensive BPEL 1.1 support
Easy-to-install and deploy
Next Level Requirements
Using BPEL in Real Life
• Visual XPATH editor • Sync and async messaging
• Extensible WSIF binding • Context dehydration
framework
• Advanced exception
• UDDI and WSIL service browser
management
• One-click build and deploy
• Side-by-side versioning
• Java embedding
• Email and JMS messaging
• Large XML documents
services • Visual monitoring
• XSLT and XQuery • Auditing
transformation services • BPEL debugging
• User task manager and portal
integration
• In-flight administration
• Performance tuning
• Partitioning/domains
D E M O N S T R A T I O N
• Reliability
– Guaranteed delivery
• Security
– Authentication, encryption and signing
• Management
– Deployment, configuration, monitoring
Standards for Quality of Service
Application Application
Layer Layer
Msg
SOAP Node SOAP Node
With With
Reliable Messaging Reliable Messaging
Ack
Auditing, Logging,
Reliability and
WS-Security
Monitoring and
Performance
Analysis
D E M O N S T R A T I O N
Transactions
Coordination
Standards- Choreography
Based
Interoperability Security
Reliability
Orchestration
WS-I
SOAP Basic
UDDI Profile 1.1
WSDL
Prescriptive and Reactive
Approaches
• WS-I WS-I Profile
– Profiles
– Best practices Conventions
Links to
and Best
– Testing Specs
Practices
• SOAPBuilders
– WSDL 1.1
– SOAP 1.1
– RPC/encoded, Doc/literal
Web Services Interoperability
Service WSDL
Implementation
Server
Interface Service
Interface
Server
WSDL
Implementation
Workload Re-
Distribution on Failure
(Session Migration)
Reliability, Availability,
Scalability Architecture
HTTP
Web Cache
mod_oc4j
RAC
HTTP AJP JDBC
OHS
Web Client OC4J
OC4J
OC4J
SOAP/
HTTP
Process Monitoring
and Notification Service
Streaming Attachments
MIME-Version: 1.0
• Transmission Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml;
start="<claim061400a.xml@claiming-it.com>"
of SOAP Content-Description: This is the optional message description.
loaded into
<theSignedForm href="cid:claim061400a.tiff@claiming-it.com"/>
..
</SOAP-ENV:Body>
memory </SOAP-ENV:Envelope>
--MIME_boundary
• API for reading Content-Type: image/tiff
Content-Transfer-Encoding: binary
WSDL
with
WSIF Client finds the native RMI Binding Service implementation publishes
protocol binding from the WSDL the native protocol binding to the WSDL
Agenda
• What is SOA ?
• Web Services
• BPEL
• Interoperability
• Performance
Q&
QUESTIONS
A
ANSWERS