d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

download d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

of 53

Transcript of d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    1/53

    SOA Suite:Oracle Service Bus

    Workshop

    Tal Brown

    Oracle SOA Teamhttp://tech.theoracles.co.il

    http://tech.theoracles.co.il/http://tech.theoracles.co.il/
  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    2/53

    High Level Reference Architecture

    Legacy CoreERP

    Business Processes

    EventsConnectivity

    Services & Event Infrastructure

    Data Access

    SO

    AGovernance

    S

    OASecurity

    SO

    AManagement

    Composite Applications

    ProcessPortals

    Mashups CollabDocs

    Systems, data & services Integration

    Messaging Partners Orchestration

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    3/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    4/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    5/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    6/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    7/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    8/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    9/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    10/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    11/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    12/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    13/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    14/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    15/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    16/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    17/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    18/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    19/53

    ApplicationClient

    ServiceClients

    Oracle Service Bus EnterpriseServices

    Service

    ApplicationClient

    ApplicationClient

    ApplicationClient

    HTTP/SOAP

    JMS

    FTP

    REST

    FileApplicationClient

    WS-RM

    TUX

    MQ

    EJB

    JCA

    Service

    Service

    Service

    Service

    Request / Response

    Service Messaging

    Multiple communications paradigms

    Request/response

    Synchronous and asynchronous One-to-many, many-to-one

    Pub-sub

    Mix-and-match (e.g. sync-to-async)

    Synch / Asynch

    Split / Join

    Publish / Subscribe

    Adaptive Messaging In a Nutshell

    Any to Any Protocol

    Any to Any Payload

    XML non-XML

    Binary

    No WSDL Required

    AdaptiveMessaging

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    20/53

    Applications & Database IntegrationMessage Enrichment and Chaining

    Adapter Certifications Packaged with OSB install

    AQ

    Database

    EBusiness Suite

    Packaged separately SAP

    PeopleSoft

    Siebel

    JD Edwards

    AdaptiveMessaging

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    21/53

    Connectivity Web Service Transports

    HTTP/SOAP

    WS-Security WS-Policy WS-Addressing WS-RM

    Traditional Messaging JMS MQ

    EJB/RMI Tuxedo FTP / SFTP SMTP File Native Database Lookup

    Transport SDK

    Enterprise-specific custom transports Interoperability

    .NET, Tibco EMS, IBM MQ, IBMWebSphere, Apache Axis, B2BInterchange, iWay 5.5 adapters Reliably connects services by

    leveragin g standards

    Services Transport Layer Transport SDK

    Service ServiceService Service

    Messaging

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    22/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    23/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    24/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    25/53

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    26/53

    28

    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

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    27/53

    29

    Value PropositionOracle Service Bus

    Oracle Service Busdelivers business agility, scalability, and

    performance into the business infrastructure toallow businesses to rapidly respond to new

    business requests

    Unlike traditional ESBsOracle Service Bus provides predictable scalability

    for reducing risk, automated service pooling for highavailability, and service virtualization for agility

    delivered within a single solution for a lower totalcost of ownership

    K D li bl Solutio

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    28/53

    30

    OracleService Bus

    Complete, Open &Integrated

    Scalability andPerformance

    Rapid ServiceEnablement

    Agility

    Key DeliverablesOracle Service Bus

    Solutio

    B i Ch ll

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    29/53

    31

    Worklist Process Portal MS Office

    MAINFRAME

    Business ChallengeBrittle Architecture

    Online Shopping Mobile Devices

    O l S i B Feature Overview

    http://www.endtime.com/images/shopping_cart.png
  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    30/53

    32

    Worklist Process Portal MS Office

    MAINFRAME

    Online Shopping Mobile Devices

    Oracle Service BusAgile Architecture - Rapidly Respond to Change

    ORACLE SERVICE BUS

    Feature Overview

    S i Vi t li ti Feature Overview

    http://www.endtime.com/images/shopping_cart.png
  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    31/53

    33

    Worklist Portal MS Office

    MAINFRAME

    OnlineShopping

    MobileDevices

    Service VirtualizationAgility within OSB

    ORACLE SERVICE BUS

    Proxy Services

    Enforces agility byreplacing directcoupling with aflexible virtualendpoint to theconsumer

    ProxyServices

    ServiceConsumer

    ServiceEndpoints

    Feature Overview

    A t t d S i P li

    http://www.endtime.com/images/shopping_cart.png
  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    32/53

    34

    Worklist Portal MS Office

    MAINFRAME

    OnlineShopping

    MobileDevices

    Automated Service PoolingAgility within OSB

    ApplicationInstance 1

    ApplicationInstance 2

    ApplicationInstance 3

    Proxy Services

    Enforces agility by replacingdirect coupling with a flexiblevirtual endpoint to theconsumer

    X

    Business Services

    Access service from multipleendpoints

    Automated Service Poolingensures high availability whenapps go down and duringmaintenance

    ORACLE SERVICE BUS

    Feature Overview

    http://www.endtime.com/images/shopping_cart.png
  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    33/53

    35

    CRM SalesERP

    Business Apps

    Increased Risk

    Less control with increasingdependence on multiple cloud serviceproviders

    Performance Degradation

    Increasing cloud service usage resultsin higher latency due to Internet vs.LAN based communication

    Unpredictable Scalability Uncertain ability to handle spike in load

    X

    Business ChallengeExpanding Infrastructure into the Cloud

    Cloud Vendor A Cloud Vendor B

    Higher latency with

    Internet vs. LAN &Firewalls

    Dependence oncloud vendorreliability

    ENTERPRISE SERVICE BUS

    Feature Overview

    S i R lt C h

    Feature Overview

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    34/53

    36

    CRM SalesERP

    Business Apps

    Service Result CacheReliability, Performance and Predictable Scalability

    Reduced Risk

    Service results available even whenapplication is down

    Improved Performance

    Eliminate repeated application requests

    for static dataPredictable Scalability

    Cached results maintained internallyresulting in less dependence on 3rdparty service provider availability

    X

    Result accessed fromcache

    Result accessed fromcache

    Failure

    Cloud Vendor A Cloud Vendor B

    ORACLE SERVICE BUS

    Feature Overview

    Service Result Cache Feature Overview

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    35/53

    37

    Service Result CacheLeveraging Coherence and Oracle Fusion Middleware

    Checkboxenabled

    Cache Results?

    Cache Token

    Time To Live

    Feature Overview

    Service Change Center Feature Overview

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    36/53

    38

    Service Change CenterRapid Service Enablement with OSB

    Change Center Allows for fine-grained tuning of

    infrastructure

    No need to redeploy entire project

    Intuitive interface for non-

    developer/administrator View & resolve conflicts

    Undo, Re-do tasks

    Audit changes

    Feature Overview

    Leverage Existing Infrastructure

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    37/53

    39

    Embrace & Extend Strategy Reassure customer they dont have to re-invent the wheel

    E.g. Retain existing services and existing ESB

    OSB will make all existing services (even tightly coupledones) and enforce loose coupling to introduce agility to

    their existing architecture Ease of Use

    Fit-to-Purpose interfaces - Available in a Web-basedconsole and deeper-dive IDE

    Any-to-Any Protocol Support Regardless of new business request, OSB is pre-configured to handle the format

    Leverage Existing InfrastructureRapid Service Enablement with OSB

    Feature Overview

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    38/53

    40

    Market Leading ESB

    Complete - Single ESBnot 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

    #1

    Complete Integrated Best of BreedOpen

    #1

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    39/53

    41

    The goal: Give customers the ability to extend the set of standard

    functions used in XQuery expressions and XQuery/XSLT resourceswith 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 javaor even to do something with a database or some external system.

    Overview

    OSB XQueryExpression / resource

    OSB XSLTresource

    BEA/OracleXQuery 1.0 2004 draft engine XSLT Engine(e.g. Apache Xalan)

    XQ Standard functions

    fn:concatfn:abs

    OSB built-in extensions

    fn-bea:uuidfn-bea:isUserInRole

    Custom functions

    ns0:myfunc

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    40/53

    42

    Feature Highlights Java Support

    OSB enhanced to support Java Objects In the Pipeline, Java Object is represented as

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    41/53

    43

    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.

    XmlObject arguments can be inlined or passed as ref.

    POJOs can only be modified in the pipeline through JavaCallout

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    42/53

    44

    Feature Highlights JEJB Inbound

    Inbound EJB Transport exposes the Pipeline as a Stateless SessionBean 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

    Stateless Session Bean

    Request PipelineMethod1(Pojo1,)

    Method2(Pojo2,) Response PipelineClientApplication Method1

    Invocation Point =Method1

    Args= {Pojo1, }

    Result

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    43/53

    45

    Feature Highlights JEJB Outbound

    Business Service URIpoints to the JNDIProvider and JNDI nameof the Remote EJB

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    44/53

    46

    Feature Highlights JEJB Outbound

    User Configurations: Dispatch Policy EJB Spec Version Pass XMLBeans by value Security Information Client Jar

    Client Jar contains theremote/home or businessinterfaces to be accessedby the Business Service User selects the EJB

    Interface to be accessedby the JEJB Businessservice

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    45/53

    47

    Feature Highlights JMS Transport

    JMS Services configured with Messaging type Java canreceive/send JMS Objects messages

    Java Object Support for both JMS inbound and outbound

    JMSBusine

    ss

    Oracle Service Bus

    JMSProxy

    JMSQueue

    JMSQueue

    $body

    Object

    Message

    ObjectMessage

    RequestPipeline

    JMSBusiness

    Service

    Register the Objectwith Object Repository

    Retrieve the Objectfrom Object Repository

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    46/53

    48

    ApplicationClient

    ServiceClients

    Oracle Service Bus EnterpriseServices

    Service

    Atomic Message Flow

    Simple as checking a boxAll 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

    Proxy

    Business

    HTTP/SOAP

    Transaction

    JMS

    FTP

    HTTP

    JMS

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    47/53

    49

    DemoDiagram of Use Case

    JMSproxy

    (NON

    XA)

    JMSstore

    JCA

    DB

    business

    service

    OracleXE

    routeRequest path

    Response Path

    PublishQOS = EO

    JMS

    store

    Overview - Service Result Caching

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    48/53

    50

    Overview Service Result Caching

    Process Flow /

    Orchestration

    Legacy

    Service

    Consumer

    Service

    ProviderOracle

    Service

    Bus

    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

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    49/53

    51

    Overview Service Result Caching

    Process Flow /

    Orchestration

    Legacy

    Service

    Consumer

    Service

    Provider

    P

    BBackupNode

    PrimaryNode

    Get / Put (Cachekey)

    Service Data

    Coherence Data Grid

    OSBResult

    Cache

    Oracle

    Service

    Bus

    Check cache

    If results not in cache, invokeservice & cache results

    Side Cache Pattern

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    50/53

    52

    Feature HighlightsBusiness Service - Configuration Details

    How to calculate the Cache Token

    How long the cached resultwill be kept for

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    51/53

    53

    Feature HighlightsGlobal Settings

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    52/53

    54

    Feature HighlightsBusiness Service - Operational Settings

  • 7/29/2019 d798d79c-d791d7a8d790d795d79f-d7a9d791d795d7a2-d790d795d7a8d7a7d79c-2010

    53/53

    55

    Feature HighlightsDashboard - Service Health

    How often the cache is hitto the external service

    How often the cache is hit

    How often the external

    service is invoked