Oracle Service Bus - Essential Concepts
Oracle Service Bus - Essential Concepts
Service
Application EJB
Service Service
SOAP SOAP
Location Transparency
HostB
Initialize Benefits
Service
Backwards Compatibility
Service Bus
SOAP SOAP
Customer Process Order
Portal Transform Service
<1.0>
Message
<2.0> 1.0
CSR App 2.0
Service Enablement
Service Bus
New Employee
SOAP Service
HR Portal Title =
SOAP
Manger?
Transform New Manager
Service
Message Enrichment
Service Bus
Get Customer
History Service
Service Orchestration
Service Bus
SOAP Account
Validation Service
1
Purchase SOAP Validate Check Price
Order Order 2 3 Service
Process Service
4 Check Inventory
Service
OSB to the Rescue
Oracle Service Bus
Service Service Service Security
Monitoring Management
Authentication
Dashboard Discovery
Authorization
SLA Alerts Change Mgmt.
Message
Reporting Import/Export Security
Message Broker
SOAPEmployeeService
http://services.bea.com/employeeservice
Simple Object Access Protocol (SOAP)
</Body>
Service
SOAP Attachments
Universal Description, Discovery, and
Integration (UDDI)
• Metadata structure to classify and catalog services
• SOAP interface to communicate with a service
registry ("digital telephone book")
<xs:element name="PurchaseOrder">
<xs:complexType>
<xs:sequence>
<xs:element name="Location" type="xs:string"/>
<xs:element name="Items" type="ItemList"/>
</xs:sequence>
</xs:complexType>
</xs:element>
...
</schema>
1
011
XPath
• Is a standard XML expression language
• Used to identify or locate portions of an XML
document
• Attributes
• Elements
<PurchaseOrder>
//PurchaseOrder/Item/@line <Item line="1">
<price>49.99</price>
<quantity>3</quantity>
</Item>
<Item line="2">
//PurchaseOrder/Item/price <price>9.49</price>
<quantity>1</quantity>
</Item>
</PurchaseOrder> 1
011
XQuery
• Structured language for working with XML
documents:
• Strongly typed
• Variables, operators, conditions, loops
• Library and custom functions
• Relational database queries
• Supports XPath
return <items>
<items>
for $item in //PurchaseOrder/Item <price>49.99</price>
order by $item/title <price>9.49</price>
return <price>{$item/price}<price> </items>
return </items>
Extensible Stylesheet Language
Transformations (XSLT)
• Alternative to XQuery for XML transformations:
• Loosely typed scripting language
• Does not require XML Schema
• More tolerant of malformed XML
• Supports XPath
<xsl:stylesheet>
Workspace Console
Supported Protocols
• Protocols
• SOAP over HTTP/JMS
• HTTP/S
• JMS
• RMI/IIOP (EJB) XML
• Tuxedo, MQSeries
• Email (SMTP/POP/IMAP) SOAP over HTTP
• FTP/Secure FTP
• Custom
• Oracle Adapters (framework + Adapters post 10gR3)
XML
• Message Formats
• XML JMS
• Text
• Custom Binary (EDI, etc.)
Text
• SmartConnect Adapters
• SAP SMTP
• PeopleSoft
• Siebel
• Oracle
• SWIFT
Workspace
• Eclipse-based IDE
• Define XML Schemas, WSDLs, and transformations
• Configure business and proxy services
• Track dependencies
• Deploy to OSB server and test
Workspace
Eclipse Platform
OSB Perspective
Explorer
Palette
Editor
DRAG
Properties
Outline
Message Flow
• Conditions/branches
• Routing destinations
• Request/response Pipelines
• Actions:
• Update/replace/delete message contents
• Update message headers
• Call another service Action
• Raise error on client
• Generate a report or alert
• Invoke a Java class or EJB
• Error handlers Pipeline
Transformations
• Select an artifact
• View References
Demonstration: Create a Proxy Service
Proxy Service
approveLoan()
Business ProcessLoan
> $10,000?
N Service approveLoan()
Please enable
browser pop-ups!
Proxy Service Development Quiz
Roadmap
Monitor Alerts
Configuration Management
• Change Center
• Atomic sessions
• View & resolve conflicts
• Undo tasks
• Audit changes
• Import/Export
• Change propagation
• Workspace synchronization
• Test Console
• Validate changes
Monitoring Dashboard
Service
• Transport security (HTTP, JMS, Consumer
etc.) WS-Security
• Basic authentication SAML
• SSL Proxy
Authorization
• SOAP message security Service
• WS-Security Credential
Mapping Business
• WS-Policy Service
• SAML
• Credential mapping SOAP over HTTPS
Proxy Business
Service Producer Node2
Service Service
• Throttling
Message Buffer
Proxy Business Legacy
Service Service Service
Demonstration: Manage a Proxy Service
Proxy Service
approveLoan()
Business ProcessLoan
> $10,000?
N Service approveLoan()
Y Business ProcessLargeLoan
Service approveLoan()
Response
Time > 5ms?
SMTP
Console
BPM
Synchronize
Configure
Monitor
Tuxedo
Discover Configure
Design
ODI
Publish
Workspace
Build Services &
Applications
Have Licensing or technical questions?
• SOA FAQ
• OSB FAQ
• OESB FAQ
• All linked from their respective ias.us pages
(start at http://soa.us.oracle.com )