SOA Suite: Oracle Service Bus Workshop Tal Brown Oracle SOA Team http://tech.theoracles.co.il High Level Reference Architecture Composite Applications Process Portals Mashups Docs Collab Business Processes Orchestration Services & Event Infrastructure Data Access Connectivity Legacy ERP Core Events SOA Governance Partners SOA Security Messaging SOA Management Systems, data & services Integration Adaptive Messaging Adaptive Messaging In a Nutshell… Enterprise Services Oracle Service Bus Service Clients Service Messaging Application Client HTTP/SOAP Application Client JMS Application Client FTP Application Client REST Application Client File WS-RM Service Request / Response TUX Service Synch / Asynch • Any to Any Protocol • Any to Any Payload • XML • non-XML • Binary • No WSDL Required MQ Service Split / Join EJB Service Publish / Subscribe JCA Service • Multiple communications paradigms – – – – – Request/response Synchronous and asynchronous One-to-many, many-to-one Pub-sub Mix-and-match (e.g. sync-to-async) Adaptive Messaging Applications & Database Integration Message Enrichment and Chaining • Adapter Certifications – Packaged with OSB install • AQ • Database • EBusiness Suite – Packaged separately • SAP • PeopleSoft • Siebel • JD Edwards Connectivity • Web Service Transports – – – – – HTTP/SOAP WS-Security WS-Policy WS-Addressing WS-RM Messaging Services Transport Layer Transport SDK • Traditional Messaging – – – – – – – – JMS MQ EJB/RMI Tuxedo FTP / SFTP SMTP File Native Database Lookup Service Service Service Service • Transport SDK – Enterprise-specific custom transports • Interoperability – NET, Tibco EMS, IBM MQ, IBM WebSphere, Apache Axis, B2B Interchange, iWay 5.5 adapters . Reliably connects services by leveraging standards OSB Solves Brittle Integration • Costs – OSB reduces complexity and increases visibility and re-use • Time to Market – OSB insulates business logic from “overhead” • Scalability – Proven to handle all dimensions of scalability • Multi-channel Delivery – Separates service functionality from presentation layers • Risk – Allows cached cloud service results to ensure high availability and retain control 28 Value Proposition Oracle Service Bus Oracle Service Bus delivers business agility, scalability, and performance into the business infrastructure to allow businesses to rapidly respond to new business requests Unlike traditional ESBs… Oracle Service Bus provides predictable scalability for reducing risk, automated service pooling for high availability, and service virtualization for agility delivered within a single solution for a lower total cost of ownership 29 Key Deliverables Solutio Oracle Service Bus Scalability and Performance Agility Oracle Service Bus Rapid Service Enablement 30 Complete, Open & Integrated Business Challenge Brittle Architecture Worklist MAINFRAME 31 Process Portal MS Office Online Shopping Mobile Devices Oracle Service Bus Feature Overview Agile Architecture - Rapidly Respond to Change Worklist Process Portal MS Office Online Shopping ORACLE SERVICE BUS MAINFRAME 32 Mobile Devices Feature Overview Service Virtualization Agility within OSB Worklist Proxy Services • Enforces agility by replacing direct coupling with a flexible virtual endpoint to the consumer MS Office Online Shopping Service Consumer Proxy Services ORACLE SERVICE BUS Service Endpoints 33 Portal MAINFRAME Mobile Devices Automated Service Pooling Agility within OSB Proxy Services Worklist Portal MS Office Online Shopping • Enforces agility by replacing direct coupling with a flexible virtual endpoint to the consumer ORACLE SERVICE BUS Business Services • Access service from multiple endpoints • Automated Service Pooling ensures high availability when apps go down and during maintenance 34 X MAINFRAME Application Instance 1 Application Instance 2 Application Instance 3 Mobile Devices Feature Overview Business Challenge Expanding Infrastructure into the Cloud Increased Risk • Less control with increasing dependence on multiple cloud service providers Dependence on cloud vendor reliability Performance Degradation • Increasing cloud service usage results in higher latency due to Internet vs. LAN based communication Cloud Vendor B Cloud Vendor A Higher latency with Internet vs. LAN & Firewalls ENTERPRISE SERVICE BUS Unpredictable Scalability • Uncertain ability to handle spike in load Business Apps X CRM 35 ERP Sales Service Result Cache Feature Overview Reliability, Performance and Predictable Scalability Reduced Risk Cloud Vendor B Cloud Vendor A • Service results available even when application is down Improved Performance • Eliminate repeated application requests for static data Result accessed from cache Predictable Scalability • Cached results maintained internally resulting in less dependence on 3rd party service provider availability ORACLE SERVICE BUS Result accessed from cache Business Apps Failure X CRM 36 ERP Sales Service Result Cache Feature Overview Leveraging Coherence and Oracle Fusion Middleware Checkbox enabled Cache Results? Cache Token Time To Live 37 Service Change Center Rapid Service Enablement with OSB • Change Center • Allows for fine-grained tuning of infrastructure • No need to redeploy entire project • Intuitive interface for nondeveloper/administrator • View & resolve conflicts • Undo, Re-do tasks • Audit changes 38 Feature Overview Leverage Existing Infrastructure Rapid Service Enablement with OSB • “Embrace & Extend” Strategy – Reassure customer they don’t have to re-invent the wheel – E.g. Retain existing services and existing ESB – OSB will make all existing services (even tightly coupled ones) and enforce loose coupling to introduce agility to their existing architecture • Ease of Use – “Fit-to-Purpose” interfaces - Available in a Web-based console and deeper-dive IDE • Any-to-Any Protocol Support – 39 Regardless of new business request, OSB is pre-configured to handle the format Feature Overview Market Leading ESB… Complete - Single ESB…not three like IBM Integrated - Seamless onramp to SOA and Governance Open - Any-to-Any protocol support for open standards Best of Breed - Forrester ESB Wave “Leader” 2009 Complete Integrated Open Best of Breed # 1 #1 40 Overview – The goal: Give customers the ability to extend the set of standard functions used in XQuery expressions and XQuery/XSLT resources with their own implementations, written in Java. – The rationale: Certain transformations are too complicated or too inefficient to be done with XQuery/XSLT language. For example, reuse utility complex transformation functions already existing in java or even to do something with a database or some external system. OSB XQuery Expression / resource BEA/Oracle XQuery 1.0 2004 draft engine XQ Standard functions fn:concat fn:abs … OSB built-in extensions fn-bea:uuid fn-bea:isUserInRole … Custom functions ns0:myfunc … 41 OSB XSLT resource XSLT Engine (e.g. Apache Xalan) Feature Highlights – Java Support • OSB enhanced to support Java Objects • In the Pipeline, Java Object is represented as <ctx:java-content ref=”key1” xmlns:ctx="http://www.bea.com/wli/sb/context”/> Request Pipeline POJOs Request Pipeline Transport Layer Application Client $body Register to Object Repository Key1={obj} 42 <ctx:javacontent ref=“key1”/> Feature Highlights – Java Support • Message Format in the Pipeline – – – – The invocation point is the top element Each argument is listed as a sub-element Primitives and string arguments are inlined POJO parameters referred by java-content ref. <soap:Body> <tes:some-method xmlns:tes=”default/someURI" <arg0>99</arg0> <arg1>true</arg1> <arg2><con:java-content ref=”key1” xmlns:con="http://www.bea.com/wli/sb/context”/></arg2> <arg3><someXML .../></arg3> </tes:some-method> </soap:Body> – XmlObject arguments can be inlined or passed as ref. • POJOs can only be modified in the pipeline through Java Callout 43 Feature Highlights – JEJB Inbound Client Application Invocation Point = “Method1” Args= {Pojo1, …} Method1 • • 44 Stateless Session Bean Method1(Pojo1,…) Request Pipeline Result Method2(Pojo2,…) Response Pipeline Inbound EJB Transport exposes the Pipeline as a Stateless Session Bean – Communication between the client and proxy service is an EJB invocation – Client defines the SLSB interface exposed by the JEJB Proxy service – EJB artifacts are generated on the fly at the time of proxy creation Transaction and security context is propagated from the client into the Bus Feature Highlights – JEJB Outbound • Business Service URI points to the JNDI Provider and JNDI name of the Remote EJB 45 Feature Highlights – JEJB Outbound • User Configurations: – – – – – Dispatch Policy EJB Spec Version Pass XMLBeans by value Security Information Client Jar • Client Jar contains the remote/home or business interfaces to be accessed by the Business Service – User selects the EJB Interface to be accessed by the JEJB Business service 46 Feature Highlights – JMS Transport JMS Queue Register the Object with Object Repository • • 47 $bodyRequest Pipeline <ctx:java-content ref=”jcid" /> Object Message JMS Business Service Object JMS Message JMS Proxy Oracle Service Bus Busine ss JMS Queue Retrieve the Object from Object Repository JMS Services configured with Messaging type ‘Java’ can receive/send JMS Objects messages Java Object Support for both JMS inbound and outbound Overview - Message Flow Transaction Service Clients FTP Enterprise Services Oracle Service Bus HTTP Application Client HTTP/SOAP JMS Prox y Busine ss JMS Service • Atomic Message Flow – Simple as checking a box – All transactional work in message flow committed or aborted • E.g. Publish, Service Callouts (QOS EO), Reporting, Java Callout, Route • Two settings for Proxy – Transaction Required ? – Same Transaction For Response ? Benefits Message flow can execute within TX regardless of the Inbound Protocol 48 Demo JMS store 49 JMS store Publish QOS = EO Request path route Response Path JCA DB business service JMS proxy (NON XA) Diagram of Use Case Oracle XE Overview - Service Result Caching Service Provider Process Flow / Orchestration 50 Oracle Service Bus Service Consumer Legacy • Problem – External service is invoked every time for results that may be reasonably static • Eg. Product details, discount info • Solution – Service Result Caching • Benefits – Faster response times to clients/users – Reduce load on potentially slow (legacy) backend systems – Cache data is always consistent and available – Operational ease in managing cache capacity Overview - Service Result Caching If results not in cache, invoke service & cache results Oracle Service Bus Service Consumer Service Provider Side Cache Pattern Check cache 51 Coherence Data Grid Primary Node Get / Put (Cachekey) P OSB Result Cache Process Flow / Orchestration Legacy Service Data Backup Node B Feature Highlights Business Service - Configuration Details How to calculate the Cache Token How long the cached result will be kept for 52 Feature Highlights Global Settings 53 Feature Highlights Business Service - Operational Settings 54 Feature Highlights Dashboard - Service Health How often the external service is invoked How often the cache is hit How often the cache is hit to the external service 55
© Copyright 2024