Your SlideShare is downloading. ×
  • Like
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply


Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Oracle Service Bus<Insert Picture Here> Essential Concepts
  • 2. About This Course• Discuss several SOA requirements that can be addressed using a Service Bus• Explain the relationships between WSDL, XPath, XQuery, and ALSB• List some of the capabilities of an OSB Proxy Service• Describe the process of how OSB is configured and managed
  • 3. Target Audience• Anyone evaluating Service Bus technologies• SOA project team members: • Project Managers • Enterprise and Project Architects • Service Developers • System Administrators• Prior knowledge of fundamental SOA concepts recommended
  • 4. Roadmap1. Enterprise Service Bus • Service Enablement • Service Orchestration • OSB Architecture2. Service Bus Technologies3. Proxy Service Development4. Service Management and Monitoring
  • 5. Why a Service Bus?• The Point-to-Point problemApplication Service Database ServiceApplication EJB Service ServiceApplication Service Service SAP SOAP SOAP
  • 6. Location Transparency• Isolate from changes to service location Service Bus HostA New Hire SOAP SOAP Initialize Benefits Process Route to Service HostB HostB Initialize Benefits Service
  • 7. Backwards Compatibility• Isolate from changes to service contract/interface Service Bus SOAP SOAP Customer Process Order Portal Transform Service <1.0> Message <2.0> 1.0 CSR App 2.0
  • 8. Service Enablement• Allow multiple protocols/messages to participate in a SOA Service Bus SOAP JMS Expense Transform Payroll ServiceReimbursement Process FTP Transform Submit Expense Report Service Inventory SOAP Management JMS Transform Check Order App Status Service
  • 9. Dynamic Routing• Use business rules to determine destination service Service Bus New Employee SOAP Service HR Portal Title = SOAP Manger? Transform New Manager Service
  • 10. Message Enrichment• Update message using the response from another service ... <Customer History> ... Service BusInsurance Call Transform Rate Quote Portal Service Message Service Get Customer History Service
  • 11. Service Orchestration• Compose new services from existing ones Service Bus SOAP Account Validation Service 1 Purchase SOAP Validate Check Price Order Order 2 3 Service Process Service 4 Check Inventory Service
  • 12. 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 Content Based Dynamic Error Multiple Routing Transformations Handling Protocols Oracle WebLogic Server Oracle JRockit JVM
  • 13. Service Bus Quiz
  • 14. Roadmap1. Enterprise Service Bus2. Service Bus Technologies • Web Service Fundamentals • XML Fundamentals3. Proxy Service Development4. Service Management and Monitoring
  • 15. Web Service Description Language (WSDL)• Is an XML document• Generated by tools• Acts as a Web Service contract: • Elements Employee getEmployeeDept() • Operations Department getAllDepts() • Bindings • Ports ("endpoints") SOAPEmployeeService
  • 16. Simple Object Access Protocol (SOAP)• Is a remote function protocol based on XML• Used to invoke Web Services• Wraps messages in an envelope protocol• Supports headers and attachments Communications Envelope (HTTP, SMTP, FTP, etc.) Client Application SOAP Envelope <Headers/> </Body> Service SOAP Attachments
  • 17. Universal Description, Discovery, and Integration (UDDI)• Metadata structure to classify and catalog services• SOAP interface to communicate with a service registry ("digital telephone book") Publish Service Service Registry Discover Service Service WSDL + metadata Development & Management Tools SOAP WSDL + metadata
  • 18. XML Schema• Defines the structure of other XML documents• Is itself an XML document• Allows for faster message validation and processing• Has a unique ID called a namespace <xs:schema targetNamespace="" xmlns="" xmlns:po="" xmlns:xs=""> <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
  • 19. 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
  • 20. XQuery • Structured language for working with XML documents: • Strongly typed • Variables, operators, conditions, loops • Library and custom functions • Relational database queries • Supports XPathreturn <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>
  • 21. 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> <xsl:template match="//Item"> <line id="1"> <line id="{@line}"> 49.99 <xsl:value-of select="price"/> </line> </line> <line id="2"> </xsl:template> 9.49 </line> </xsl:stylesheet>
  • 22. Service Bus Technologies Quiz
  • 23. Roadmap1. Enterprise Service Bus2. Service Bus Technologies3. Proxy Service Development • Proxy Architecture • Workspace • Actions • Transformations4. Service Management and Monitoring
  • 24. Proxy Services Service Bus Outbound Proxy Service Business Service Inbound Service Producer Service Pipeline Business ServiceConsumer Service Producer Pipeline Business Service Service Producer Workspace Console
  • 25. 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
  • 26. Workspace• Eclipse-based IDE • Define XML Schemas, WSDLs, and transformations • Configure business and proxy services • Track dependencies • Deploy to OSB server and test Workspace Beehive OSB ALRR XQuery Eclipse Web Tools J2EE XML WSDL HTML Eclipse Platform
  • 27. OSB Perspective Explorer Palette Editor DRAG Properties Outline
  • 28. 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
  • 29. Transformations• XML to XML (XQuery or XSLT)• XML to Text/Binary (XQuery)• Binary to Binary (MFL)
  • 30. Dependency Tracking• Select an artifact• View References
  • 31. Demonstration: Create a Proxy Service Proxy Service approveLoan() Business ProcessLoan > $10,000? N Service approveLoan() Y Transform Business ProcessLargeLoan Message Service approveLoan() Please enable browser pop-ups!
  • 32. Proxy Service Development Quiz
  • 33. Roadmap1. Enterprise Service Bus2. Service Bus Technologies3. Proxy Service Development4. Service Management and Monitoring • OSB Console • Service Level Agreements • OSB Security • Advanced Routing • Product Interoperability
  • 34. OSB Console• Full Pipeline Design Capabilities Additionally: • Configure proxy service security • Monitor service health • Generate reports Edit Message • Define SLAs that trigger alerts Flow • Synchronize with a UDDI registry Monitor Alerts
  • 35. Configuration Management• Change Center • Atomic sessions • View & resolve conflicts • Undo tasks • Audit changes• Import/Export • Change propagation • Workspace synchronization• Test Console • Validate changes
  • 36. Monitoring Dashboard• Gauge the current health of: • OSB servers • Proxy services/operations • Message flow components• View custom reports• Metrics include: • Response time • Message throughput • Error count • Alert count • Schema violations
  • 37. Alerts• Service Level Agreements (SLAs) • Guarantee a certain level of performance and/or quality • Trigger reports and Alerts • Email • SNMP • JMS• Rules based on: • Response time • Message count • Success/failure ratio • Schema violations • Security violations
  • 38. OSB Security 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• Role-based authorization Service Producer• Delegated administration
  • 39. Advanced Mediation Policies • Business Service Load Balancing & Failover Service Producer Node1 Proxy Business Service Producer Node2 Service Service Service Producer Node3• Throttling Message Buffer Proxy Business Legacy Service Service Service
  • 40. Demonstration: Manage a Proxy Service Proxy Service approveLoan() Business ProcessLoan > $10,000? N Service approveLoan() Y Business ProcessLargeLoan Service approveLoan() Response Time > 5ms? SMTP Alert Please enable browser pop-ups!
  • 41. Product Interoperability Console BPMSynchronize Configure Monitor Tuxedo Service Service Bus Repository BPEL PM Discover Configure Design ODI Publish Workspace Build Services & Applications
  • 42. Have Licensing or technical questions?• SOA FAQ• OSB FAQ• OESB FAQ• All linked from their respective pages (start at )