Вы находитесь на странице: 1из 19
 Architecture, Jargon and Resources 1

Architecture, Jargon and Resources

 Architecture, Jargon and Resources 1
 Architecture, Jargon and Resources 1
 Architecture, Jargon and Resources 1
Oracle Service Bus

Oracle Service Bus

Oracle Service Bus
Oracle Service Bus
Oracle Service Bus
Service Bus IDE UI Common Services WLS Service Bus console Lightweight Portal Framework OSB Runtime

Service Bus IDE

UI

Common

Services

WLS

Service Bus console

Lightweight Portal Framework

OSB Runtime

Message Action Engine

Split-Join Flow Engine

Transport SDK

User,

Credential

Access ctrl

Data Services

XQuery

XBeans

OEPE/Eclipse

OSB

Development

Services

Resources

Test

Console

Monitoring

& Alert

Report

Config

Framework

WLS

Security MDBs Light Weight Web Svc Work Framework JMS Web App Stack Manager
Security
MDBs
Light Weight
Web Svc
Work
Framework
JMS
Web App
Stack
Manager

Deployment

Framework

WLS Security MDBs Light Weight Web Svc Work Framework JMS Web App Stack Manager Deployment Framework
WLS Security MDBs Light Weight Web Svc Work Framework JMS Web App Stack Manager Deployment Framework
WLS Security MDBs Light Weight Web Svc Work Framework JMS Web App Stack Manager Deployment Framework

Binding Layer

packs and unpacks messages as necessary

handles security for messages

hands messages off to start the message flows (request and response)

Transport Layer (Inbound)

communication layer between client services (or service consumers) and Oracle Service Bus

deals with raw bytes of message data in the form of input/output streams

support for compatible transport protocols, including HTTP(S), JMS, FTP, File, and E-mail

Transport Layer (Outbound)

communication between business services (or service producers) and Oracle Service Bus

not involved in data processing but handles meta-data for messages, including endpoint URIs, transport headers

for messages, including endpoint URIs, transport headers Proxy Services Proxy services are a fundamental concept in
for messages, including endpoint URIs, transport headers Proxy Services Proxy services are a fundamental concept in
for messages, including endpoint URIs, transport headers Proxy Services Proxy services are a fundamental concept in

Proxy Services

Proxy services are a fundamental concept in the architecture of Oracle Service Bus. Proxy services are definitions of intermediary Web services that the Service Bus implements locally.

Oracle Service Bus allows configuration of a proxy service by defining its interface in terms WSDLs and the type of transport it uses.

Message processing logic is specified in message flow definitions when defining a proxy service

4

Service Service Service Service Service Management Monitoring SLA Alerts Reporting JMX Config Framework Message
Service Service Service Service Service Management Monitoring SLA Alerts Reporting JMX Config Framework Message
Service
Service
Service
Service
Service Management
Monitoring
SLA Alerts
Reporting
JMX
Config Framework
Message Brokering
Change Center
Content Routing
Validation
Import/Export
Transformation
UDDI Discovery
Stateless Orchestration
Repository
Service Bus Security
Message
Authentication
Authorization
Identity
Policy
Security
Messaging / Protocols
HTTP/S
SOAP
JMS
EJB/RMI
MQ
SMTP
FTP
File
Tux
Service
Service
Service
Service

Messaging / Protocols

Multiple transports with transport bridging

End-to-end guaranteed delivery

SOAP, Non-SOAP, ReST, Non-XML support

Sync/Async Request/Response, one-to-many publish

Endpoint management

Priority based Throttling

Load balancing and HA

Service Bus Security

Transport (SSL) & Message (WS-Security) Security

Authentication & Authorization

Message Integrity & Message Confidentiality

Message Brokering

Content-based routing – SOAP, JMS, MQ - Headers & Content

Integrated data transformation

XQuery and XSLT transformation support

Schema driven console tools to create routing rules

Support for non-XML content through MFL

Stateless orchestration

Configuration Framework

Services mediated & proxies exposed by Service Bus

Service metadata store

Complete validation before deployment

Cluster deployment

Service Management

Monitor system operations with alerts and key monitoring points

Service Level Agreements

Performance thresholds

Error thresholds

Pipeline Alert generation

Service Management Dashboard

Programmatic access to monitoring metrics

The context of a proxy service is a set of XML variables that are shared

The context of a proxy service is a set of XML variables that are shared across the request flow and response flow.

New variables can be dynamically added or deleted to the context.

Predefined context variables contain information about the message, transport headers, security principles, metadata for the current proxy service, and metadata for the primary routing and publishing services invoked by the proxy service.

The core of the context contains the variables $header, $body, and $attachments. These wrapper variables contain the Simple Object Access Protocol (SOAP) header elements, SOAP body element, and Multipurpose Internet Mail Extensions (MIME) attachments, respectively. The context gives the impression that all messages are SOAP messages, and non-SOAP messages are mapped to this paradigm.

The context can be read and modified by XQuery expressions and updated by transformation and in- place update actions

The context can be read and modified by XQuery expressions and updated by transformation and in-
The context can be read and modified by XQuery expressions and updated by transformation and in-
The context can be read and modified by XQuery expressions and updated by transformation and in-
The implementation of a proxy service is specified by a message flow definition . The

The implementation of a proxy service is specified by a message flow definition. The message flow defines the flow of request and response messages through the proxy service. The following four elements are used to construct a message flow:

A pipeline pair, one for the request and one for the response. The pipelines consist of a sequence of stages that specify actions to perform during request or response processing.

A branch node to branch based on the values in designated parts of the message or message context or to branch based on the operation invoked.

A route node used to define the message destination. The default route node is an echo node that reflects the request as the response.

A start node.

destination. The default route node is an echo node that reflects the request as the response.
destination. The default route node is an echo node that reflects the request as the response.
destination. The default route node is an echo node that reflects the request as the response.
destination. The default route node is an echo node that reflects the request as the response.

Synchronous request/reply

 Synchronous request/reply Oracle Service Bus SOAP SOAP /HTTP /HTTP  Asynchronous request/reply Oracle Service
Oracle Service Bus SOAP SOAP /HTTP /HTTP
Oracle Service Bus
SOAP
SOAP
/HTTP
/HTTP

Asynchronous request/reply

Oracle Service Bus SOAP Native /HTTP MQ Native SOAP MQ /HTTP JMS Queue
Oracle Service Bus
SOAP
Native
/HTTP
MQ
Native
SOAP
MQ
/HTTP
JMS
Queue
/HTTP  Asynchronous request/reply Oracle Service Bus SOAP Native /HTTP MQ Native SOAP MQ /HTTP JMS

Subscribe Push

Native MQ
Native
MQ
Oracle Service Bus Native MQ JMS Queue
Oracle Service Bus
Native
MQ
JMS
Queue
 Subscribe Push Native MQ Oracle Service Bus Native MQ JMS Queue

Pub-Sub/Broadcast or Fan-out

Oracle Service Bus Native MQ Native MQ Native JMS MQ Topic
Oracle Service Bus
Native
MQ
Native
MQ
Native
JMS
MQ
Topic
Service Bus Native MQ Native MQ Native JMS MQ Topic • Synchronous Request/reply • Asynchronous
Service Bus Native MQ Native MQ Native JMS MQ Topic • Synchronous Request/reply • Asynchronous

Synchronous Request/reply

Asynchronous Request/reply

Fan Out

Pub-Sub

Aggregator and Split-Join

8

Oracle Service Bus 11g Components

Oracle Service Bus 11g Components

Oracle Service Bus 11g Components
Oracle Service Bus 11g Components
Oracle Service Bus 11g Components
Service Oracle Service Bus Enterprise Clients Services Proxy Business transport transport Application Service
Service
Oracle Service Bus
Enterprise
Clients
Services
Proxy
Business
transport
transport
Application
Service
Service
Service
Client
Inbound interface
Outbound interface
Service Brokering
transport Application Service Service Service Client Inbound interface Outbound interface Service Brokering 10
transport Application Service Service Service Client Inbound interface Outbound interface Service Brokering 10
transport Application Service Service Service Client Inbound interface Outbound interface Service Brokering 10
Service Oracle Service Bus Clients Service Messaging Application HTTP/SOAP Client Request / Response JMS
Service Oracle Service Bus Clients Service Messaging Application HTTP/SOAP Client Request / Response JMS
Service
Oracle Service Bus
Clients
Service Messaging
Application
HTTP/SOAP
Client
Request / Response
JMS
Application
Client
Synch / Asynch
FTP
Application
Client
Split / Join
REST
Application
Client
Publish / Subscribe
Application
File
Client
Enterprise Services Service Service Service Service Service
Enterprise
Services
Service
Service
Service
Service
Service

WS-RM

Services Service Service Service Service Service WS-RM TUX MQ EJB JCA • Any to Any Protocol

TUX

Service Service Service Service Service WS-RM TUX MQ EJB JCA • Any to Any Protocol •

MQ

Service Service Service Service Service WS-RM TUX MQ EJB JCA • Any to Any Protocol •

EJB

Service Service Service Service Service WS-RM TUX MQ EJB JCA • Any to Any Protocol •

JCA

Service Service Service Service WS-RM TUX MQ EJB JCA • Any to Any Protocol • Any

Any to Any Protocol

Any to Any Payload

XML

non-XML

Binary

No WSDL Required

Multiple communications paradigms

Request/response

Synchronous and asynchronous

One-to-many, many-to-one

Pub-sub

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

◦ Synchronous and asynchronous ◦ One-to-many, many-to-one ◦ Pub-sub ◦ Mix-and-match (e.g. sync-to-async) 11
◦ Synchronous and asynchronous ◦ One-to-many, many-to-one ◦ Pub-sub ◦ Mix-and-match (e.g. sync-to-async) 11
◦ Synchronous and asynchronous ◦ One-to-many, many-to-one ◦ Pub-sub ◦ Mix-and-match (e.g. sync-to-async) 11
 Adapter Certifications ◦ Packaged with OSB install  AQ  Database  EBusiness Suite

Adapter Certifications

Packaged with OSB install

AQ

Database

EBusiness Suite

Packaged separately

SAP

PeopleSoft

Siebel

JD Edwards

AQ  Database  EBusiness Suite ◦ Packaged separately  SAP  PeopleSoft  Siebel 
AQ  Database  EBusiness Suite ◦ Packaged separately  SAP  PeopleSoft  Siebel 
AQ  Database  EBusiness Suite ◦ Packaged separately  SAP  PeopleSoft  Siebel 
AQ  Database  EBusiness Suite ◦ Packaged separately  SAP  PeopleSoft  Siebel 
13
13
13
13
Dynamic publish Publish a message to a service specified by an XQuery expression. Publish Identify
Dynamic publish Publish a message to a service specified by an XQuery expression. Publish Identify
Dynamic publish
Publish a message to a service specified by an XQuery expression.
Publish
Identify a statically specified target service for a message and to configure how the message is
packaged and sent to that service.
Publish table
Publish a message to zero or more statically specified services. Switch-style condition logic is used to
determine at run time which services will be used for the publish.
Routing options
Modify any or all of the following properties in the outbound request: URI, Quality of Service, Mode,
Retry parameters, Message Priority.
Service callout
Configure a synchronous (blocking) callout to an Oracle Service Bus-registered proxy or business
service.
Transport headers
Set the header values in messages
to an Oracle Service Bus-registered proxy or business service. Transport headers Set the header values in
to an Oracle Service Bus-registered proxy or business service. Transport headers Set the header values in
to an Oracle Service Bus-registered proxy or business service. Transport headers Set the header values in
For each Iterate over a sequence of values and execute a block of actions If
For each Iterate over a sequence of values and execute a block of actions If
For each
Iterate over a sequence of values and execute a block of actions
If – Then
Perform an action or set of actions conditionally, based on the Boolean result of an XQuery expression.
Raise error
Raise an exception with a specified error code (a string) and description.
Reply
Specify that an immediate reply be sent to the invoker.
Resume
Resume message flow after an error is handled by an error handler. This action has no parameters and
can only be used in error handlers.
Skip
Specify that at run time, the execution of this stage is skipped and the processing proceeds to the next
stage in the message flow
at run time, the execution of this stage is skipped and the processing proceeds to the
at run time, the execution of this stage is skipped and the processing proceeds to the
at run time, the execution of this stage is skipped and the processing proceeds to the
Assign Assign the result of an XQuery expression to a context variable. Delete Delete a
Assign Assign the result of an XQuery expression to a context variable. Delete Delete a
Assign
Assign the result of an XQuery expression to a context variable.
Delete
Delete a context variable or a set of nodes specified by an XPath expression.
Insert
Insert the result of an XQuery expression at an identified place relative to nodes selected by an XPath
expression.
Invoke a Java method, or EJB business service, from within the message flow.
Java callout
Convert message content from XML to non-XML, or vice versa, in the message pipeline
MFL transform
Rename
Rename elements selected by an XPath expression without modifying the contents of the element.
Replace
Replace a node or the contents of a node specified by an XPath expression. The node or its contents are
replaced with the value returned by an XQuery expression
Validate
Validate elements selected by an XPath expression against an XML schema element or a WSDL
resource
Service Oracle Service Bus Clients Proxy Business HTTP/SOAP Application Client Validate Error Code •
Service Oracle Service Bus Clients Proxy Business HTTP/SOAP Application Client Validate Error Code
Service
Oracle Service Bus
Clients
Proxy
Business
HTTP/SOAP
Application
Client
Validate
Error Code

Error-handling Features

Technology Errors/Faults

Validation Errors

Security Errors: authentication, authorization, signing, decryption

Process SOAP Faults

Raise Error on Custom-Defined Conditions

Enrich Custom Error Messages for invoking services

Search/Report by Error Conditions

Error-handlers at Service, Pipeline and Stage level

by Error Conditions • Error-handlers at Service, Pipeline and Stage level Enterprise Services Service 17
by Error Conditions • Error-handlers at Service, Pipeline and Stage level Enterprise Services Service 17
by Error Conditions • Error-handlers at Service, Pipeline and Stage level Enterprise Services Service 17
Enterprise Services Service
Enterprise
Services
Service
18
19