Oracle Service Bus PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 52

<Insert Picture Here>

Oracle Service Bus

Oracles 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

Oracle Fusion Middleware

SOA: 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.

Emergence of The Service Infrastructure


Service Infrastructure Infrastructure Needs
Validate & Deploy Interoperate & Secure Operate & Manage

App Infrastructure

Build & Expose

Discover & Compose

Design

SOA Deployment Service Infrastructure


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 Sprawl Without Service Infrastructure


Lack of scalability
Point-to-point integration

Service Sprawl

Integration logic in the application


Message formats Routing logic Security policies
Service Service Service Service

Hard to reuse
No catalog, search, discoverer Challenging across the extended enterprise
Service Service Service Service

Hard to manage
No end-to-end monitoring, SLAs No change management

The Enterprise Service Bus Eliminates Service Sprawl


Connect once Integration logic separate from business logic Enterprise-wide reuse Central management Structure in Infrastructure
Service Service Service Service Service Service Service Service

Enterprise Service Bus

Service Infrastructure Tames Service Sprawl


Portal Tier Process Tier Security Services

Portlet

Web App Order Management Process Service Registry


Service Registry

Services Routing
Data Services

Service Integration/Routing
Service Registry

Service Registry

Billing
Service Registry

Inventory Management

End-to-end Web Services Management

Oracle

Mainframe

.Net

ERP

Data Warehouse

And The ESB is Key

Web Services, Message Brokering and Enterprise Service Bus cited as most useful technologies for SOA deployment and management
8

Oracle Service Bus


Feature Summary

Oracle Service Bus Components


Service Management
Monitoring SLA Alerts Reporting

Message Brokering
Content Based Routing
Dynamic Transformation

Admin
Service Discovery Change Center Validation Import / Export

Error Handling Service Switching

Service Bus Security


Authentication Authorization Identity Message Security

Repository

Interoperability
HTTP/S SOAP JMS JMS/XA MQ SMTP FTP File Tux Custom

10

OSB: Internal architecture (i)

Service Clients Application Client


transport

Oracle Service Bus Proxy Service Business Service

Enterprise Services
transport

Service

Inbound interface Transformation, etc. Routing

Outbound interface Load balancing

11

OSB: Internal architecture (ii)


Proxy Service

Nodes (Stages)

Service Pipeline

Actions

12

Built on top of WebLogic Server


The 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

13

Integrated Composition
Enable 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

14

Service Assembly Modeler


Design-time Navigation
SAM OSB

R-click and select Open Service

OSB Proxy Pipeline Design View SAM SCA Composite View

Navigate from SCA component to respective product design view Integrated Eclipse Design Perspective
15

OSB Message Brokering


Service Clients
HTTP/SOAP Application Client JMS Application Client FTP Application Client SMTP Application Client File Application Client

Oracle Service Bus


Message Brokering Multi Protocol Messaging JMS HTTP/SOAP

Business Services
Service

Service WS Processing FTP Multi Communications Paradigms Service SMTP Service File Service

Multi-Protocol Messaging
HTTP(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 Processing
Full support for proper Web Services (WSDL, SOAP enveloping) and non-SOAP-enveloped messages

Multiple Communications Paradigms


Request/response (synchronous and asynchronous), asynch messaging, one-to-many publish Mix-and-match (e.g. sync-to-async bridging)

16

Adapter-based integration

Service Clients Application Client


HTTP/SOAP

Oracle Service Bus


Proxy Route Business
JCA

Enterprise Services Service


SAP Adapter

SAP

ERP Adapter Support Custom transport SDK

17

Dynamic Message Routing


Service Clients
Application Client HTTP/SOAP

Oracle Service Bus


Proxy Flow Route HTTP/SOAP

Business Services
Service

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)

$header

$body Web Service

$attachment

$fault

18

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

19

Integrated Transformation
Service Clients
Application Client HTTP/SOAP

Oracle Service Bus


Proxy Flow xForm Route HTTP/SOAP

Business Services
Service

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) Schema-driven console tools for navigating message content/headers, creating routing rules and publish filters XQuery maps and MFL definitions are deployed into OSB XSLT transformations are supported

Format Handling Tools

Format Definition & Transformation


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

20

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

21

Security
Service Clients
Application Client

Oracle Service Bus


HTTP/SOAP Authentication [Basic] Role based Authorization Proxy Flow Route

HTTP/SOAP [X.509] Encryption, signing

Business Services
Service

SSL [X509] Service

Security Framework

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


22

Error Handling
Service Clients
Application Client HTTP/SOAP

Oracle Service Bus


Proxy Flow Validate Error Code Route

Business Services
Web Service

Error Handling Features


Capture multiple levels of exceptions Process SOAP Faults Enrich custom error messages to invoking services Search / Report by error conditions Validation Security: authentication, authorization, signing, decryption Can raise error on any condition

Error Handlers
Service level Pipeline level Stage level

23

Service Monitoring
Service Clients
Application Client HTTP/SOAP Report Route

Oracle Service Bus


Proxy Flow HTTP/SOAP

Business Services
Web Service

Custom Reporting Provider

Reporting DB

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

24

SLA Capabilities
Service Clients
Application Client HTTP/SOAP 5MS

Oracle Service Bus


Proxy Flow Route JMS On avg execution < 5 Ms Management Framework HTTP/SOAP 6MS

Business Services
Service

Error Service

SMTP

Establish Thresholds
Based on performance and error events elapsed times average execution times # of errors success ratio Alerts by severity

Flexible notification
Email JMS Business Service

25

SLA Alerts - detail

System Alerts History page View all alerts by paging through table, or by filtering display Pie and bar chart views also available

26

Service Publishing
Service Clients
Application Client HTTP/SOAP

Oracle Service Bus


Proxy Flow Route HTTP/SOAP

Business Services
Service

Registry WSDL WSDL

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)
27

Load Balancing
Service Clients
HTTP/SOAP Service Client

Oracle Service Bus


Proxy Flow

Business Services
URI X Route JMS URI Y

Load Balancing Options as part of business service configuration


JMS, WS, File, FTP, SMTP, Supported Algorithms Round Robin Random Random Weighted

28

Advanced Service Pooling


Routing to active endpoints, service load balancing
Service Clients
Endpoint URL 1 Proxy Svc Bus Svc Endpoint URL 2 Endpoint URL 3

Client 1

OSB Cluster

If a URI is non-responsive, take the URI out of the pool Bring 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

29

Business Service Overload Protection


Throttle Incoming Messages with Policy
Service Clients

Proxy Service Clients Queue buffer size

Bus Svc

Throttle requests w/ Policy


Legacy Service 1

OSB Cluster

Throttle throughput to business services based on acceptable concurrency. Avoid business service overload
2500 Requests per hour 2000 1500 1000 500 0 0 2 4 6 8 10 12 14 16 18 20 22 Hour of the Day Original Load Load after Throttling

Impact of Throttling

30

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

31

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

32

SOA Use Case for ESB

Customer Use Case:


getCustProfile getCustAddress getCustCredit Portal application consumes business services from back-end applications. Eliminate the point to point coupling using a SOA based architecture. 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

Requires ESB Characteristics:


JMS

SOAP

MQ

getCustProfile WebLogic

getCustAddress .NET

getCustCredit Mainframe

33

Heterogeneous Messaging

Heterogeneous messaging
Web Services non-WS based messaging Mixed messaging models B2B Legacy protocols and connections Interop with .NET, Apache, WebSphere

getCustProfile

getCustAddress

getCustCredit

JMS

SOAP (Sync)

MQ

Oracle Service Bus


File SOAP (Async) Legacy

getCustProfile WebLogic

getCustAddress .NET

getCustCredit Mainframe

34

Content Based Routing


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

Oracle Service Bus


getCustCredit1 Begin Route getCustCredit2

getCustProfile

getCustAddress

getCustCreditv1

getCustCreditv2

35

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

getCustProfile

getCustProfile

Oracle Service Bus


getCustAddress Proxy Callouts getCustInfo Aggregated Results getCustCredit1 Route getCustCredit2 Transform Append Return

getCustInfo

getCustAddress

getCustCredit1

getCustCredit2

36

Improving performance with Split-Join


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.

getCustProfile

getCustProfile

Oracle Service Bus


getCustAddress Proxy Parallel getCustInfo Join Route getCustCredit2 getCustCredit1 Transform Append Return

getCustInfo

getCustAddress

getCustCredit1

getCustCredit2

37

Monitoring and Reporting


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

getCustCredit

AlertService

getCustCredit

Oracle Service Bus


getCustCredit1 Begin Route getCustCredit2 Exception Report Return

X
getCustCredit1 getCustCredit2 38

getCustProfile

getCustAddress

SOA Security Models


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

Transport Security [Example: HTTP Basic Auth] Message Security [Example: Signing / Encryption]

Oracle Service Bus


getCustCreditv1 Begin Route getCustCreditv2

Message Security [Example: SAML Token]

Transport Security [Example: HTTP SSL Client Cert]

getCustCreditv1

getCustCreditv2

39

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

getCustCredit

JMS/XA

Oracle Service Bus


getCustCreditv1 Begin Route getCustCreditv2
JMS JMS/XA

At Least Once Semantics

getCustCreditv1

getCustCreditv2

Exactly Once Semantics

40

Service Workload and Management


getCustCredit

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

Oracle Service Bus


Load Balancing Server Managed Server 1 getCustCredit Route Connection Failover Route getCustCredit Managed Server 2 getCustCredit Connection Failover getCustCredit

X
getCustCredit 41

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

getCustProfile

getCustAddress

getCustCredit

Oracle Service Bus

getCustProfile

getCustAddress

getCustCredit

42

Oracle Service Bus


Performance

43

WebLogic Server
Industry-Leading Performance

9,000.00 8,000.00
7,174.56

7,629.45

7,000.00
6,662.98

6,812.79

6,000.00 5,000.00
4,098.77 4,915.49 4,368.02

4,000.00 3,000.00 2,000.00

3,734.68

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

1,466.29 1,266.42

1,578.16 874.17

1,781.37 1,000.37

1,000.00
538.03 542.17 349.11

1,000.86 616.22 618.38 404.88 801.70 733.22 802.61

618.22

0.00
Jan-06 Feb-06 Feb-06 Feb-06 Jun-06 Jun-06 Jun-06 Jul-06 WLS 9.0 WLS 9.0 WLS 9.1 WLS 9.0 WAS 6.1 WLS 9.1 WLS 9.1 WAS 6.1 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-07 WLS 9.1 WAS 6.1 WLS 9.1 WLS 9.2 WLS 9.2 WAS OAS WAS 6.1 10.1.3.2 6.1 WLS 9.2 WLS OAS WLS OAS OAS OAS WLS OAS 9.2 10.1.3.2 9.2 10.1.3.2 10.1.3.2 10.1.3.2 9.2 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

44

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 nonpersistent 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)
7000 6000 5000 4000 3000 2000 1000 0 1 2 4 8 12 Number of Clients 16 3.0 2.0 1.5 1.0 0.5 0.0 Response Time (ms) 2.5

Throughput

HTTP TPS HTTP RT

JMS Pass-Through Routing (Core Message Propagation)


5000 Throughput 4000 3000 2000 1000 0 1 2 4 8 12 16 Number of Clients 5.0 4.0 3.0 2.0 1.0 0.0 Response Time (ms)

JMS TPS JMS RT

45

Horizontal Scalability in a Cluster


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 Data Transformation and Routing Over Persistent JMS
5000 4500 4000 Throughput (TPS) 3500 3000 2500 2000 1500 1000 500 0 6 12 24 36 48 72 96 Number of Clients 100 90 80 %CPU (Average) 70 60 50 40 30 20 10 0 TPS - 1 Node TPS - 2 Nodes TPS - 3 Nodes CPU -1 Node CPU - 2 Nodes CPU - 3 Nodes

Horizontal Scalability Per Server CPU Cost Comparison (Total TPS / Avg CPU)
4

Throughput (TPS)

3 1 Node 2 2 Nodes 3 Nodes 1

0 6 12 24 36 Number of Clients 48 72 96

46

Scalability with Large Number of Services


Scalability with Large Number of Services HTTP Pass Through
7000 6000 5000 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.0 1 2 4 8 12 16

Response Time (ms)

Throughput

2 Service TPS 2000 Service TPS 2 Service RT 2000 Service RT

4000 3000 2000 1000 0

Number of Clients

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
47

Oracle Service Bus


Industry/Analyst Materials

48

Network Computing

49

Forrester

50

Gartner Group

51

52

You might also like