<Insert Picture Here>

Oracle Service Bus Essential Concepts

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

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

1. Enterprise Service Bus
• • • Service Enablement Service Orchestration OSB Architecture

2. Service Bus Technologies 3. Proxy Service Development 4. Service Management and Monitoring

Why a Service Bus? • The Point-to-Point problem Application Service Service Database Application Service Application SOAP Service SOAP Service Service EJB SAP .

Location Transparency • Isolate from changes to service location Service Bus New Hire Process SOAP Route to HostB SOAP HostA Initialize Benefits Service HostB Initialize Benefits Service .

0 CSR App .0> SOAP Process Order Service 1.0> <2.Backwards Compatibility • Isolate from changes to service contract/interface Service Bus Transform Message Customer Portal SOAP <1.0 2.

Service Enablement • Allow multiple protocols/messages to participate in a SOA Service Bus Expense Reimbursement Process SOAP Transform FTP Transform Inventory Management App JMS Transform SOAP Check Order Status Service Submit Expense Report Service JMS Payroll Service .

Dynamic Routing • Use business rules to determine destination service Service Bus New Employee Service New Manager Service SOAP HR Portal Title = Manger? SOAP Transform .

Service Bus Insurance Portal Call Service Transform Message Rate Quote Service Get Customer History Service ..Message Enrichment • Update message using the response from another service ... <Customer History> ..

Service Orchestration • Compose new services from existing ones Service Bus SOAP 1 Purchase Order Process SOAP Validate Order Service Account Validation Service Check Price Service Check Inventory Service 2 4 3 .

Import/Export Message Broker Content Based Routing Dynamic Transformations Error Handling Multiple Protocols Service Security Authentication Authorization Message Security Oracle WebLogic Server Oracle JRockit JVM .OSB to the Rescue Oracle Service Bus Service Monitoring Dashboard SLA Alerts Reporting Service Management Discovery Change Mgmt.

Service Bus Quiz .

Service Bus Technologies • • Web Service Fundamentals XML Fundamentals 3. Enterprise Service Bus 2.Roadmap 1. Proxy Service Development 4. Service Management and Monitoring .

bea.Web Service Description Language (WSDL) • Is an XML document • Generated by tools • Acts as a Web Service contract: • • • • Elements Operations Bindings Ports ("endpoints") Employee Department getEmployeeDept() getAllDepts() SOAPEmployeeService http://services.com/employeeservice .

SMTP. etc.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. FTP.) Client Application SOAP Envelope <Headers/> </Body> Service SOAP Attachments .

Discovery.Universal Description. and Integration (UDDI) • Metadata structure to classify and catalog services • SOAP interface to communicate with a service registry ("digital telephone book") Service Development & Management Tools Publish Service Discover Service SOAP Service Registry WSDL + metadata WSDL + metadata .

.bea.w3.bea.bea. </schema> 1 011 .com/purchase" xmlns="http://schemas.org/2001/XMLSchema"> <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> .com/purchase" xmlns:po="http://schemas.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="http://schemas..com/purchase" xmlns:xs="http://www.

99</price> <quantity>3</quantity> </Item> <Item line="2"> <price>9.XPath • Is a standard XML expression language • Used to identify or locate portions of an XML document • Attributes • Elements //PurchaseOrder/Item/@line <PurchaseOrder> <Item line="1"> <price>49.49</price> <quantity>1</quantity> </Item> </PurchaseOrder> 1 011 //PurchaseOrder/Item/price .

99</price> <price>9. operators.49</price> </items> . conditions.XQuery • Structured language for working with XML documents: • • • • Strongly typed Variables. loops Library and custom functions Relational database queries • Supports XPath return <items> for $item in //PurchaseOrder/Item order by $item/title return <price>{$item/price}<price> return </items> <items> <price>49.

49 </line> .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="{@line}"> <xsl:value-of select="price"/> </line> </xsl:template> </xsl:stylesheet> <line id="1"> 49.99 </line> <line id="2"> 9.

Service Bus Technologies Quiz .

Roadmap 1. Proxy Service Development • • • • Proxy Architecture Workspace Actions Transformations 4. Service Bus Technologies 3. Service Management and Monitoring . Enterprise Service Bus 2.

Proxy Services Service Bus Proxy Service Pipeline Pipeline Business Service Business Service Business Service Outbound Service Producer Service Producer Service Producer Inbound Service Consumer Workspace Console .

MQSeries Email (SMTP/POP/IMAP) FTP/Secure FTP Custom Oracle Adapters (framework + Adapters post 10gR3) XML SOAP over HTTP XML JMS • Message Formats • XML • Text • Custom Binary (EDI. etc.Supported Protocols • Protocols • • • • • • • • • SOAP over HTTP/JMS HTTP/S JMS RMI/IIOP (EJB) Tuxedo.) • SmartConnect Adapters • • • • • SAP PeopleSoft Siebel Oracle SWIFT Text SMTP .

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 .Workspace • Eclipse-based IDE • • • • Define XML Schemas. WSDLs.

OSB Perspective Explorer Editor Palette 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 Pipeline • Error handlers .

Transformations • XML to XML (XQuery or XSLT) • XML to Text/Binary (XQuery) • Binary to Binary (MFL) .

Dependency Tracking • Select an artifact • View References .

000? Business Service Business Service ProcessLoan approveLoan() ProcessLargeLoan approveLoan() N Transform Message Y Please enable browser pop-ups! .Demonstration: Create a Proxy Service Proxy Service approveLoan() > $10.

Proxy Service Development Quiz .

2. 4. 3. Enterprise Service Bus Service Bus Technologies Proxy Service Development Service Management and Monitoring • • • • • OSB Console Service Level Agreements OSB Security Advanced Routing Product Interoperability .Roadmap 1.

OSB Console • Full Pipeline Design Capabilities Additionally: • • • • • Configure proxy service security Monitor service health Generate reports Define SLAs that trigger alerts Synchronize with a UDDI registry Edit Message Flow 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 • 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 .

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 .

etc. JMS.OSB Security • Transport security (HTTP.) • Basic authentication • SSL Service Consumer WS-Security SAML Authorization Credential Mapping Proxy Service Business Service • SOAP message security • WS-Security • WS-Policy • SAML • Credential mapping • Role-based authorization • Delegated administration SOAP over HTTPS Service Producer .

Advanced Mediation Policies • Business Service Load Balancing & Failover Service Producer Node1 Proxy Service Business Service Service Producer Node2 Service Producer Node3 • Throttling Message Buffer Proxy Service Business Service Legacy Service .

Demonstration: Manage a Proxy Service Proxy Service approveLoan() > $10.000? Business Service Business Service ProcessLoan approveLoan() ProcessLargeLoan approveLoan() N Y Response Time > 5ms? SMTP Alert Please enable browser pop-ups! .

Product Interoperability Console Synchronize Configure Monitor Tuxedo Service Repository Service Bus BPEL PM Discover Design Publish Configure ODI Workspace BPM 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.com ) .oracle.

Sign up to vote on this title
UsefulNot useful