Published on

Published in: Technology, Business
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Oracle Service Bus<Insert Picture Here> Essential Concepts
  2. 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. 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. 4. Roadmap1. Enterprise Service Bus • Service Enablement • Service Orchestration • OSB Architecture2. Service Bus Technologies3. Proxy Service Development4. Service Management and Monitoring
  5. 5. Why a Service Bus?• The Point-to-Point problemApplication Service Database ServiceApplication EJB Service ServiceApplication Service Service SAP SOAP SOAP
  6. 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. 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. 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. 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. 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. 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. 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. 13. Service Bus Quiz
  14. 14. Roadmap1. Enterprise Service Bus2. Service Bus Technologies • Web Service Fundamentals • XML Fundamentals3. Proxy Service Development4. Service Management and Monitoring
  15. 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. 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. 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. 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. 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. 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. 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. 22. Service Bus Technologies Quiz
  23. 23. Roadmap1. Enterprise Service Bus2. Service Bus Technologies3. Proxy Service Development • Proxy Architecture • Workspace • Actions • Transformations4. Service Management and Monitoring
  24. 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. 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. 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. 27. OSB Perspective Explorer Palette Editor DRAG Properties Outline
  28. 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. 29. Transformations• XML to XML (XQuery or XSLT)• XML to Text/Binary (XQuery)• Binary to Binary (MFL)
  30. 30. Dependency Tracking• Select an artifact• View References
  31. 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. 32. Proxy Service Development Quiz
  33. 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. 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. 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. 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. 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. 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. 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. 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. 41. Product Interoperability Console BPMSynchronize Configure Monitor Tuxedo Service Service Bus Repository BPEL PM Discover Configure Design ODI Publish Workspace Build Services & Applications
  42. 42. Have Licensing or technical questions?• SOA FAQ• OSB FAQ• OESB FAQ• All linked from their respective pages (start at )