Oracle Service Bus.pdf

  • Upload
    onidojo

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

  • Oracle Service Bus

  • 2Oracles Product Families

    Database

    Real Application Clusters

    Partitioning

    OLAP / Data Mining

    Spatial

    Times Ten

    Database Vault

    Secure Enterprise Search

    Java Application Server

    Service Oriented Arch

    Business Process Mgmt

    Identity Management

    Data Integration

    Content Management

    Business Intelligence

    User Interaction

    E-Business Suite

    PeopleSoft Enterprise

    Siebel CRM

    JD Edwards

    Oracle Retail

    i-flex Financial Services

    Communications

    Utilities

  • 3Oracle Fusion Middleware

  • 4SOA: A Paradigm Shift in Enterprise IT Development and Deployment

    SOA is an IT strategy that organizes the discrete functions contained in an enterprises applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs.

  • 5Validate & Deploy

    Discover & Compose

    Operate & Manage

    Interoperate & Secure

    Service Infrastructure

    App Infrastructure

    Emergence of The Service Infrastructure

    I

    n

    f

    r

    a

    s

    t

    r

    u

    c

    t

    u

    r

    e

    N

    e

    e

    d

    s

    SOA Deployment

    Design

    Build & Expose

    Infrastructure to tie together services into an enterprise SOA

    Enables the composition of new functionality from existing services

    Provides messaging, operations, security, and management

    Service Infrastructure

  • 6Service Sprawl Without Service Infrastructure

    Service

    Service Service

    Service

    Service

    Service Service

    Service

    Service Sprawl

    Lack of scalability

    Point-to-point integration

    Integration logic in the

    application

    Message formats

    Routing logic

    Security policies

    Hard to reuse

    No catalog, search, discoverer

    Challenging across the extended

    enterprise

    Hard to manage

    No end-to-end monitoring, SLAs

    No change management

  • 7The Enterprise Service Bus Eliminates Service Sprawl

    Enterprise Service Bus

    Service

    Service Service

    Service

    Service

    Service Service

    Service

    Connect once

    Integration logic separate

    from business logic

    Enterprise-wide reuse

    Central management

    Structure in Infrastructure

  • 8Services Routing

    Data Services

    Portal Tier

    Process Tier

    Security Services

    Service Infrastructure Tames Service Sprawl

    Service Registry

    End-to-end Web Services Management

    Order ManagementProcess

    Service Integration/Routing

    BillingInventory

    Management

    Mainframe .Net ERPData

    WarehouseOracle

    Portlet Web App

    ServiceRegistry

    ServiceRegistry

    ServiceRegistry

    ServiceRegistry

    Web Services, Message Brokering and Enterprise Service Bus cited

    as most useful technologies for SOA deployment and management

    AndThe ESB is Key

  • 9Oracle Service BusFeature Summary

  • 10

    Service Bus Security

    Authentication Authorization IdentityMessageSecurity

    FTPMQ

    Interoperability

    SMTP

    Repository

    ReportingSLA Alerts

    Error Handling

    Content Based Routing

    Dynamic Transformation

    Import / Export

    Validation

    Service Management

    Message Brokering Admin

    Service Switching

    HTTP/S SOAP JMS File

    Change Center

    Service Discovery

    Monitoring

    JMS/XA Tux

    Oracle Service Bus Components

    Custom

  • 11

    ApplicationClient

    ServiceClients

    Oracle Service Bus Enterprise Services

    transporttransport

    Service

    ProxyService

    BusinessService

    Transformation, etc.

    Inbound interface

    Routing

    Load balancing

    Outbound interface

    OSB: Internal architecture (i)

  • 12

    Proxy Service

    Service Pipeline

    Nodes (Stages)

    Actions

    OSB: Internal architecture (ii)

  • 13

    Built on top of WebLogic ServerThe worlds leading application server

    World Wide Market Share Leader

    Latest Gartner report ~1/3 market share world wide

    Ranked Leader 9 years running

    Gartner Enterprise Application Server Magic

    Quadrant

    #1 with Developers

    Evans Data Corporation Survey

    Unparalleled Manageability Guardian,

    Virtualization

    High Performance multiple system types

    SPECjAppServer20041

    1 SPECjAppServer is a trademark of the Standard Performance Evaluation Corp. (SPEC). For the latest SPECjAppServer2004 results visit http://www.spec.org/osg/jAppServer2004

  • 14

    Integrated CompositionEnable ESB design as part of a Composite App

    Eclipse-based common design

    tooling with rest of SOA

    infrastructure

    Unified, collaborative design

    environment & uniform

    deployment model

    Benefits

    Faster time to value

    Improved asset visibility

    Better impact analysis

    Increased asset reuse

    Improved developer productivity

  • 15

    Service Assembly ModelerDesign-time Navigation

    Navigate from SCA component to respective product

    design view

    Integrated Eclipse Design Perspective

    R-click and select Open Service

    OSB Proxy Pipeline Design View

    SAM SCA Composite View

    SAM OSB

  • 16

    OSB Message Brokering

    Multi-Protocol MessagingHTTP(S), JMS Store-and-Forward, 3rd party messaging products via JMS Provider Interface (MQ Series, Tibco E4JMS), File, FTP, email (SMTP/POP/IMAP), Tuxedo, Java, RMI, Custom

    Mix-and-match of transports; end-to-end guaranteed delivery when transport supports it

    WS ProcessingFull support for proper Web Services (WSDL, SOAP enveloping) and non-SOAP-enveloped messages

    Multiple Communications ParadigmsRequest/response (synchronous and asynchronous), asynch messaging, one-to-many publish

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

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAP

    Service

    Multi Protocol Messaging

    ApplicationClient Service

    Service

    Service

    Service

    JMS

    FTP

    SMTP

    File

    WS Processing

    Multi Communications Paradigms

    HTTP/SOAP

    JMS

    FTP

    SMTP

    File

    Message Brokering

    ApplicationClient

    ApplicationClient

    ApplicationClient

  • 17

    ApplicationClient

    ServiceClients

    Oracle Service Bus Enterprise Services

    ServiceProxy Business

    SAP Adapter

    SAP

    Adapter-based integration

    ERP Adapter Support

    Custom transport SDK

    HTTP/SOAP JCA

    Route

  • 18

    Dynamic Message Routing

    ApplicationClient

    WebService

    Service Clients Business Services

    HTTP/SOAPHTTP/SOAP

    Dynamic Message Routing Routing Based on SOAP headers, transport headers, JMS user

    properties, MQ headers, file directory, email subject, and message content (XML and structured non-XML)

    ServiceRoute

    Proxy Flow

    $header

    $body

    $attachment

    $fault

    Oracle Service Bus

  • 19

    Dynamic Message Routing - detail

    Conditional routing Conditions (e.g. IfThenElse) can be applied to routing nodes

    Both on request and response communications

    Identity-based routing Routing rules based on security credentials

    Dynamic routing When the business service needed to be invoked by a proxy service is not known beforehand

    Determine the destination during the runtime of a proxy service

    Use a routing table in an XML file or an XQuery expression to dynamically set the fully qualified service name

  • 20

    Integrated Transformation

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAPHTTP/SOAP

    Support for XML and Non-XML Messages XML processing optimized with XQuery engine XML transformation uses XQuery; XUpdate like actions used to update header or content Non-XML messages handled via MFL (Message Format Language). Non-XML messages always look

    like XML to the message flow actions (auto conversions in place)

    Format Handling Tools Schema-driven console tools for navigating message content/headers, creating routing rules and

    publish filters

    Format Definition & Transformation XQuery maps and MFL definitions are deployed into OSB XSLT transformations are supported

    Transformation Call-Outs Transformations (Java) hosted outside OSB invoked via the call-out action

    ServiceRoute

    Proxy Flow

    xForm

  • 21

    Integrated Transformation - detail

    XQuery Mapper Graphical environment for data transformation

    Resulting output is a query written in the XQuery language

    XML, non-XML and Java Simple data types can be transformed from one format to another

  • 22

    ApplicationClient

    Service Clients Oracle Service Bus

    Route

    Proxy Flow

    Service

    HTTP/SOAP[X.509]

    Encryption, signing

    Business Services

    SSL [X509]

    Service

    Security Framework

    HTTP/SOAP Authentication

    [Basic]Role based Authorization

    Transport-level security HTTP, HTTPS, JMS + secured SSL channel

    Message-level security (WS-Security) Authentication via security tokens (Username, X.509, SAML)

    Message integrity via digital signatures

    Message confidentiality via XML encryption

    WS-Policy

    Role-based authorization of access to services

    Console access security

    Security

  • 23

    Error Handling FeaturesCapture multiple levels of exceptionsProcess SOAP FaultsEnrich custom error messages to invoking servicesSearch / Report by error conditionsValidationSecurity: authentication, authorization, signing, decryptionCan raise error on any condition

    Error HandlersService levelPipeline levelStage level

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAPWeb Service

    Route

    Proxy Flow

    Validate

    Error Code

    Error Handling

  • 24

    Monitor System Operations

    Alerting and reporting key monitoring points

    Gauge system health with notification of slowdowns

    Monitoring is optional per service

    Efficient Troubleshooting

    Drill into message reporting DB and execution history for quick recovery by administrators

    Dashboard

    Show fault and performance metrics aggregated cluster wide or per server with drilldown

    Business Monitoring

    Track relevant business/service data

    Business analysts can run reports off the data streamed into 3rd-party reporting engines or graphical dashboards

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAPHTTP/SOAPWeb Service

    Reporting DB

    Custom Reporting Provider

    Route

    Proxy Flow

    Report

    Service Monitoring

  • 25

    Establish ThresholdsBased on performance and error eventselapsed timesaverage execution times# of errorssuccess ratioAlerts by severity

    Flexible notificationEmail JMSBusiness Service

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAP6MS

    HTTP/SOAP5MS Service

    Route

    Proxy Flow

    Management Framework

    SMTP

    On avg execution < 5 Ms

    Error ServiceJMS

    SLA Capabilities

  • 26

    System Alerts History page

    View all alerts by paging through table, or by filtering display

    Pie and bar chart views also available

    SLA Alerts - detail

  • 27

    ApplicationClient

    Service Clients Oracle Service Bus Business Services

    HTTP/SOAPHTTP/SOAPService

    Route

    Proxy Flow

    Supports registry of Services (endpoints) Services/endpoints mediated by OSB

    Service proxies exposed by OSB

    Store of Service Metadata Transport Interface details (URIs/WSDL/schemas/WS-Policies)

    Transport characteristics (load balancing, retries, failover, timeouts) Associated service providers Transformation maps used by services

    Organized and Searchable Centralized management with distributed access Configuration data migration between environments (i.e.; dev to test)

    Registry

    WSDLWSDL

    Service Publishing

  • 28

    Load Balancing Options as part of business service configurationJMS, WS, File, FTP, SMTP,

    Supported Algorithms

    Round Robin

    Random

    Random Weighted

    Service Client

    Service Clients Oracle Service Bus Business Services

    JMS

    URI X

    URI Y

    HTTP/SOAP

    Route

    Proxy Flow

    Load Balancing

  • 29

    Advanced Service PoolingRouting to active endpoints, service load balancing

    Service Clients

    Endpoint URL 1

    Endpoint URL 3

    Endpoint URL 2Proxy Svc

    Client 1

    OSB Cluster

    BusSvc

    If a URI is non-responsive, take the URI out of the poolBring the URI back in the pool when it is back-up

    Option for the system to automatically take non-responsive URIs out of the pool, and put them back in as they become responsive

    Alerts will be generated when the status of the endpoint changes from Up Down and vice versa

  • 30

    Business Service Overload Protection Throttle Incoming Messages with Policy

    Clients

    Service Clients

    OSB Cluster

    Throttle requests w/ Policy

    Proxy Service

    Legacy Service 1Queue

    buffer

    size

    Throttle throughput to business services based on acceptable concurrency.

    Avoid business service overload

    BusSvc

    Impact of Throttling

    0

    500

    1000

    1500

    2000

    2500

    0 2 4 6 8 10 12 14 16 18 20 22

    Hour of the Day

    R

    e

    q

    u

    e

    s

    t

    s

    p

    e

    r

    h

    o

    u

    r

    Original Load

    Load after Throttling

  • 31

    Administration Console

    Portal-based administration Used for all configuration & monitoring

    Uses lightweight version of Oracle WebLogic Portal

    Modular, task-based functionality exposed by JMX interfaces

    Extensible security roles Pre-packaged roles OOTB

    Configuration/Admin team can edit and add new users to roles through console

  • 32

    OSB - Lifecycle management

    Service Bus resources and services organized into projects Hierarchical, folder-based organization for services/endpoints,

    transformations, WSDLs, WS-policies

    Resources and services can refer to resources and services in other

    projects/folders

    View and move resources and services

    Projects used as a convenient import/export unit

    Designed to accommodate 1000s of configuration artifacts

    Configuration changes take place immediately or go through a test/stage/deploy lifecycle

    Environment-specific variable support

    Import/export configuration data

  • 33

    SOA Use Case for ESB

    Customer Use Case: Portal application consumes business

    services from back-end applications. Eliminate the point to point coupling using a

    SOA based architecture.

    Requires ESB Characteristics: Heterogeneous messaging backbone Content based routing Service enrichment Monitoring and reporting SOA based security Service workload and management Message Guarantees Distributed services across the enterprise Service discovery

    getCustAddress getCustCreditgetCustProfile

    getCustAddress getCustCreditgetCustProfile

    JMS SOAP MQ

    Mainframe.NETWebLogic

  • 34

    Heterogeneous Messaging

    Heterogeneous messagingWeb Services

    non-WS based messaging

    Mixed messaging models

    B2B

    Legacy protocols and connections

    Interop with .NET, Apache, WebSphere getCustAddress getCustCreditgetCustProfile

    getCustAddress getCustCreditgetCustProfile

    Oracle Service Bus

    Mainframe.NETWebLogic

    File SOAP (Async) Legacy

    JMS SOAP (Sync) MQ

  • 35

    Content Based Routing

    getCustCredit

    getCustAddress getCustCreditv1getCustProfile getCustCreditv2

    getCustCredit1Begin Route

    getCustCredit2

    Content based routing enables better loose-coupling of SOA endpoints. Enables versioning scenario as one example.

    Oracle Service Bus

  • 36

    getCustProfile

    getCustAddress getCustCredit1getCustInfo getCustCredit2

    Service Enrichment

    getCustCredit1getCustAddressCallouts

    getCustInfo

    Aggregated Results AppendTransform ReturnRoute

    getCustCredit2

    getCustProfile

    Proxy

    Enrich services by combining transformation and routing together. Enables better re-usability of enriched services.

    Oracle Service Bus

  • 37

    getCustProfile

    getCustAddress getCustCredit1getCustInfo getCustCredit2

    Improving performance with Split-Join

    getCustCredit1getCustAddressParallel

    getCustInfo

    Join AppendTransform ReturnRoute

    getCustCredit2

    getCustProfile

    Proxy

    Split-Join feature lets you split a service payload into individual messages for concurrent processing. Concurrent processing, as opposed to sequential processing, greatly improves service performance.

    Oracle Service Bus

  • 38

    Monitoring and Reporting

    Monitoring and Reporting for business services are key foundations to an ESB.

    X

    getCustCredit1Begin ExceptionRoute

    getCustCredit2

    Report Return

    getCustAddress getCustCredit1getCustProfile getCustCredit2

    getCustCredit getCustCreditAlertService

    Oracle Service Bus

  • 39

    SOA Security Models

    getCustCredit

    getCustCreditv1 getCustCreditv2

    getCustCreditv1Route

    getCustCreditv2

    ESB requires Loose coupling of security models, Identity propagation, and WS-Security (Message Security) or Transport Security.

    Oracle Service Bus

    Transport Security [Example: HTTP Basic Auth]

    Message Security [Example: Signing / Encryption]

    Transport Security

    [Example: HTTP SSL Client Cert]

    Message Security

    [Example: SAML Token]

    Begin

  • 40

    Message Guarantees

    getCustCredit

    getCustCreditv1 getCustCreditv2

    getCustCreditv1Begin Route

    getCustCreditv2

    ESB requires guaranteed messaging paradigms including support for 2 phase commit and idempotent semantics.

    Oracle Service BusJMS/XA

    JMS JMS/XA

    At Least Once

    Semantics

    Exactly Once

    Semantics

  • 41

    Service Workload and Management

    ESB should have ability to distribute its workload and scale with increasing load and provide backups to route messages by failover.

    X

    getCustCredit

    Connection Failover

    Route

    getCustCredit

    getCustCredit

    Load Balancing Server

    Managed Server 2Managed Server 1

    Oracle Service Bus

    getCustCredit

    getCustCredit

    Connection Failover

    RoutegetCustCredit

  • 42

    Benefits of Using Oracle Service Bus

    Solve point to point challenges of service messaging

    Leverage your existing IT Messaging infrastructure for SOA

    Dynamic assembly of services in a heterogeneous environment

    Accelerate service re-use

    Manage attributes and complexity of ESB behavior in a rapidly changing infrastructure

    Provide visibility of SOA messaging standalone or within a larger enterprise

    getCustAddress getCustCreditgetCustProfile

    getCustAddress getCustCreditgetCustProfile

    Oracle Service Bus

  • 43

    Oracle Service BusPerformance

  • 44

    1,000.00

    2,000.00

    3,000.00

    4,000.00

    5,000.00

    6,000.00

    7,000.00

    8,000.00

    9,000.00

    3,734.68

    538.03 542.17

    4,098.77

    349.11618.22

    1,266.42

    616.22

    1,000.86

    4,368.02

    4,915.49

    6,662.98

    1,466.29

    618.38

    6,812.79

    404.88

    7,174.56

    801.70 733.22

    1,578.16

    802.61

    874.17

    1,781.37

    1,000.37

    WebLogic Server Industry-Leading Performance

    0.00

    Jan-06 Feb-06 Jun-06 Jun-06 Jun-06 Jul-06 Jul-06 Jul-06 Aug-06 Sep-06 Nov-06 Nov-06 Nov-06 Dec-06 Dec-06 Dec-06 Jan-07 Jan-07 Jan-07 Jan-07 Feb-07 Mar-07 Apr-07Feb-06 Feb-06

    WLS

    9.0

    7,629.45

    WLS current world record holder HP Integrity system (Itanium 2) 7,629.45 SPECjAppServer2004JOPS@Standard

    WLS

    9.0

    WLS

    9.0

    WLS

    9.1

    WAS

    6.1

    WLS

    9.1

    WLS

    9.1

    WAS

    6.1

    WLS

    9.1

    WAS

    6.1

    WLS

    9.1

    WLS

    9.2

    WLS

    9.2

    WAS

    6.1

    OAS

    10.1.3.2

    WAS

    6.1

    WLS

    9.2

    WLS

    9.2

    OAS

    10.1.3.2

    WLS

    9.2

    OAS

    10.1.3.2

    OAS

    10.1.3.2

    OAS

    10.1.3.2

    WLS

    9.2

    OAS

    10.1.3.2

    SPECjAppServer is a trademark of the Standard Performance Evaluation Corp. (SPEC). Competitive numbers shown reflect results published on www.spec.org

    as of July 6, 2007. For the latest SPECjAppServer2004 results visit http://www.spec.org/osg/jAppServer2004

  • 45

    Pass-Through Routing (Message Propagation)- 22 million 5 KB SOAP messages per hour

    The pass-through use case

    reflects the performance of

    message propagation with

    monitoring enabled.

    On a 2 CPU dual-core (2 GHz)

    Xeon server, OSB can process

    around 6300 5KB messages a

    second or 22.7 million 5KB

    messages an hour.

    JMS numbers are based on non-

    persistent JMS queues.

    The JMS benchmark involves a

    complete round-trip of the

    message to the client (2 queue

    hops).

    HTTP Pass-Through Routing

    (Core Message Propagation)

    0

    1000

    2000

    3000

    4000

    5000

    6000

    7000

    1 2 4 8 12 16

    Number of Clients

    T

    h

    r

    o

    u

    g

    h

    p

    u

    t

    0.0

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    R

    e

    s

    p

    o

    n

    s

    e

    T

    i

    m

    e

    (

    m

    s

    ) HTTP TPS

    HTTP RT

    JMS Pass-Through Routing

    (Core Message Propagation)

    0

    1000

    2000

    3000

    4000

    5000

    1 2 4 8 12 16

    Number of Clients

    T

    h

    r

    o

    u

    g

    h

    p

    u

    t

    0.0

    1.0

    2.0

    3.0

    4.0

    5.0

    R

    e

    s

    p

    o

    n

    s

    e

    T

    i

    m

    e

    (

    m

    s

    )

    JMS TPS

    JMS RT

  • 46

    Horizontal Scalability in a Cluster

    Horizontal Scalability

    Data Transformation and Routing Over Persistent JMS

    0

    500

    1000

    1500

    2000

    2500

    3000

    3500

    4000

    4500

    5000

    6 12 24 36 48 72 96

    Number of Clients

    T

    h

    r

    o

    u

    g

    h

    p

    u

    t

    (

    T

    P

    S

    )

    0

    10

    20

    30

    40

    50

    60

    70

    80

    90

    100

    %

    C

    P

    U

    (

    A

    v

    e

    r

    a

    g

    e

    )

    TPS - 1 Node

    TPS - 2 Nodes

    TPS - 3 Nodes

    CPU -1 Node

    CPU - 2 Nodes

    CPU - 3 Nodes

    Use case involves data

    transformation and content based

    routing over persistent JMS (File

    Store).

    Performance results on a 3 node

    cluster indicates near linear to linear

    scalability for a small number of

    nodes

    Linear scalability indicates that

    adding a second server to a single

    server doubles the capacity of the

    system

    TPS / CPU represents ratio of total

    throughput by the CPU utilization

    per node.

    Horizontal Scalability

    Per Server CPU Cost Comparison (Total TPS / Avg CPU)

    0

    1

    2

    3

    4

    6 12 24 36 48 72 96

    Number of Clients

    T

    h

    r

    o

    u

    g

    h

    p

    u

    t

    (

    T

    P

    S

    )

    1 Node

    2 Nodes

    3 Nodes

  • 47

    Scalability with Large Number of Services

    Scalability with increasing number of services is an important and often ignored

    dimension of SOA architectures.

    OSB scales easily to over 2000 services even when monitoring is enabled with a

    relatively small drop (10-15% or 0.5 ms) in performance from 2 services.

    The drop in performance is negligible going from 500 to 2000 services

    Scalability with Large Number of Services

    HTTP Pass Through

    0

    1000

    2000

    3000

    4000

    5000

    6000

    7000

    1 2 4 8 12 16

    Number of Clients

    T

    h

    r

    o

    u

    g

    h

    p

    u

    t

    0.0

    0.5

    1.0

    1.5

    2.0

    2.5

    3.0

    3.5

    R

    e

    s

    p

    o

    n

    s

    e

    T

    i

    m

    e

    (

    m

    s

    )

    2 Service TPS

    2000 Service TPS

    2 Service RT

    2000 Service RT

  • 48

    Oracle Service BusIndustry/Analyst Materials

  • 49

    Network Computing

  • 50

    Forrester

  • 51

    Gartner Group

  • 52