doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz&...

28
1 ORACLE Service Bus 11g For the Busy IT Professional munz & more Dr. Frank Dr. Frank Dr. Frank Dr. Frank Munz Munz Munz Munz November 2010 November 2010 November 2010 November 2010 INTRODCUTION INTRODCUTION INTRODCUTION INTRODCUTION getting started

Transcript of doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz&...

1

ORACLEService Bus 11gFor the Busy IT Professional

munz & moreDr. Frank Dr. Frank Dr. Frank Dr. Frank MunzMunzMunzMunz

November 2010November 2010November 2010November 2010

INTRODCUTIONINTRODCUTIONINTRODCUTIONINTRODCUTIONgetting started

2

Agenda

1. Introduction

2. Service Bus Positioning

3. Core OSB Features, Development

4. Monitoring, Security and Clustering

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #3

• Frank Munz

• Research in supercomputing and medical imaging

•Worked for and with TIBCO, BEA and Oracle

• Founded munz & more in 2006

• Focus Oracle middleware …

Who is this guy?

Slide #4(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

3

munz & morehttp://www.munzanmdore.com

SERVICE ORIENTEDSERVICE ORIENTEDSERVICE ORIENTEDSERVICE ORIENTEDARCHITECTURE?ARCHITECTURE?ARCHITECTURE?ARCHITECTURE?

service bus positioning

4

Interwoven silos with point to point integration

The Enemy

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #7

Portal

RichClient

WebApp

Fraud Billing Network CRM

web service? ->

General Questions

Slide #8(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Where is your business logic ?

What if you need to change it?

How many systems require changes if one system changes?

Do Web Services help?

-> tight coupling �

5

Enterprise Application Integration(EAI)EAI tries to solve the integration problem

Examples of EAI System are:

• BEA Weblogic Integration (=WLI, discontinued)• TIBCO Business Works• Vitria•WebMethods

Slide #10(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

EAI Characteristics

• Addresses the integration problem-> Supports plenty of technical protocols• You need to DEPLOY the solution (EAR / JVM)• Does NOT support real business processes -> Technical level, NOT business level-> No long running processes (e.g. 10 years?)-> Not good in versioning

Slide #11(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

6

EAI reduces complexity from O(n*n) to O(n): One change per system changed.

Reduced Complexity

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #12

EAI ->OSB

Portal RichClient WebApp

Fraud

FTP

Fraud

FTP

Billing

JMS

Billing

JMS

Network

EJB

Network

EJB

CRM

JAXWS

CRM

JAXWS

Business Process Management(BPM)BPM deals with business workflowsIdeally: what you design is executable -> Visio templates do not qualify as BPM

Examples of BPM Software:• Oracle BPM = Aqualogic BPM = Fuego• TIBCO IProcess & TIBCO InConcert

Slide #13(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

7

BPM Characteristics

• Business architect draws executable workflow that makes sense for business -> business logic

• Human interaction

• Long running processes(e.g. 2 yearly vehicle inspection stickers, TÜV)

• Versioning of running processes

Slide #14(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Service Bus

• Similar to EAI (same protocols) butconfiguration driven

• Service Bus is stateless• Often replaces EAI: Weblogic Integration (=EAI) is obsolete now• You design message flows on a technical level

Slide #15(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

8

Service Bus

-> Service Virtualization Layer

Slide #16(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Drag and Drop Programming

BPM, EAI and ESB: They all have executable, graphical flow diagrams.

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #17

9

Why OSB is not BPM nor EAI

… not a BPM system: -> neither long running nor stateful nor versioning

… more then an EAI system: -> configuration driven, registry / repository integration, SOA focused and better monitoring with SLAs.

OSB typically does NOT host the services

Slide #18(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

ORACLE SERVICE ORACLE SERVICE ORACLE SERVICE ORACLE SERVICE BUS OVERVIEWBUS OVERVIEWBUS OVERVIEWBUS OVERVIEW

basic features & architecture

10

Oracle Service BusOSB 10gR3

• OSB was BEA Aqualogic Service Bus (ALSB)

• ALSB based on code from Weblogic Integration (EAI)

• Key product of the BEA acquisition

• Integrates with UDDI V3 registry e.g.Oracle Enterprise Registry

Slide #22(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #23

Unified Runtime

Policy Manager

Oracle Service Bus

Common JCA-based connectivity infrastructure

Web-basedconsole

Mediator

OracleWLS

WLIntegrationWLI

SQLSAP etc.

MQSeriesALDataServicesPlatformALDSP

SOAP, WS

JMS,RMI

DSP, SOAPJPD, SOAP

SOAP, (s)ftp, file

XQuery MQ

Oracle Tuxedo

Business RulesHuman

WorkflowBPEL/BPMN

Eclipse /JDeveloper

11

Service Bus Functionality Overview I

• Loose coupling

• Location Transparency

• Dynamic Routing

• Schema Transformation

• Protocol mix and match

Slide #24(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Service Bus Functionality Overview II

• Service Aggregation

• Load balancing, Clustering for Availability

• Security

• Monitoring

• Configuration driven

Slide #25(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

12

Proxy and Business Service

Oracle Service Bus

ProxyServiceB BusinessServiceYClient2 ServiceImpl2

BusinessServiceXProxyServiceA ServiceImpl1

ServiceImpl1

Client1

Slide #27(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Transport and Binding Layer

Oracle Service Bus

ProxyServiceB BusinessServiceYClient2 ServiceImpl2

BusinessServiceXProxyServiceA ServiceImpl1

ServiceImpl1

Client1

Tra

nsp

ort

Bin

din

g

Tra

nsp

ort

Bin

din

g

Slide #29(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

13

Context Variables

logical variable Purpose

$header SOAP header for SOAP

Else: empty <soap:Header/>

$body SOAP body for SOAP

Else: <soap:Body> with entire payload

$attachements SOAP attachements

$fault typed error information

$inbound service, transport and security information of inbound

protocol

$outbound outbound protocol

$operation current operation

Variables are filled automatically

Slide #30(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Message Flow in Proxy

PipelineStageActionRequest pathResponse pathRouting NodeRoute Node

A

A

AA

RRRR RRRR

A

A

AA

AA

AAA

Arequest response

Slide #31(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

14

Overview Actions

Flow Control Message Processing

Routing

Slide #32(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Log Action

Logs Xquery expression with annotation text and severity level to stdout.OSB console:

Slide #33(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

15

Dynamic Routing

Routing based on runtime conditions:

• Outcome of call to another service

• Logical expression

• Content of message body

• Content of transport header

Slide #34(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Schema Transformation

• XSD schema -> XSD schema • binary (MFL) -> XSD schema • XQuery or XSLT

Example:Transform SAP address format to company-wide address format.

Slide #35(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

16

Eclipse: XQuery Mapper

Import Xquery from Eclipse as OSB resourceSlide #36(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Xquery Join

for $priceRequest in $priceQuote1/ns2:priceRequests/ns2:priceRequest,

$availRequest in $availRequest1

wherewherewherewhere data(data(data(data($$$$priceRequestpriceRequestpriceRequestpriceRequest/ns2:widgetId) = /ns2:widgetId) = /ns2:widgetId) = /ns2:widgetId) =

data(data(data(data($$$$availRequestavailRequestavailRequestavailRequest/ns0:widgetId)/ns0:widgetId)/ns0:widgetId)/ns0:widgetId)return

<quoteResponse>

<unitPrice>

{data($priceRequest/ns2:price)}

</unitPrice>

<requestedQuanity>

{data($availRequest/ns0:requestedQuanity)}

</requestedQuanity>

</quoteResponse>

}

17

Protocol Adaption

Oracle Service Bus

ProxyServiceB BusinessServiceYfile File

BusinessServiceXProxyServiceA email

JMS

email

EJB

Tuxedo

Slide #38(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

JMS Endpoint URI

Slide #39(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

18

OSB Console

http://host:port/sbconsole used for:

OperationsDevelopmentMonitoringSearchImport / ExportTesting

Slide #41(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Eclipse Console

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #42

19

MONITORINGMONITORINGMONITORINGMONITORINGwhat is happening inside?

Server Health

Click on Server Snapshot for per server view

Slide #45(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

20

Service Health

• Overview -> click Name for details

• Select services with error

Slide #46(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Detail: Service Metrics

Slide #47(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

21

Operation Metrics

Good result for jitterAndMem implementation:

(errors are provoked with illegal test data)

Slide #48(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Detail: Action Metrics

Slide #49(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

22

SLA Conditions

Depend on type count vs. min/max/avg

Conditions can be combined

Slide #50(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

Reporting Console

Search for reports via key

Purge all reports or range asynchronously

Slide #51(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

23

SECURITYSECURITYSECURITYSECURITYinbound, outbound, authorized & single signed on

2 Scenarios...

Web Services Security Pass-Through:• Proxy ignores WS-Security header, payload encrypted• OSB forwards message to service implementation

Active intermediary:• Security header examined• Encrypted messages get decrypted at proxy service

ProxyService BusinessServiceClient ServiceImpl

Slide #53(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

24

CLUSTERING OSBCLUSTERING OSBCLUSTERING OSBCLUSTERING OSBavailability, load balancing and throttling

Oracle Service Bus Cluster

Managed Server1

Managed Server2

WLS Cluster

Distributed OSB Cluster

ProxyService BusinessService

ServiceA

BusinessServiceProxyServiceServiceA

ServiceA

Load Balancer

ClientsClients

Clients

Slide #58(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

25

Throttle

Limit number of concurrent messages to business service.Exceeding messages put in non-pers. queue.

Queue full or expiration drops messages witherror message

Slide #59(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

OSB 11GOSB 11GOSB 11GOSB 11Gnew version

26

New in OSB 11g

•WLS 10.3.3 installation thenOSB 11g with Oracle Unified Installer

• Same MW_HOME as SOA Suite

• Coherence result cache:One single cache for all business services

• JCA Adapter from SOA suite 11g supported

Slide #61(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

New in OSB 11g

• Message flow starts own JTA TX

• JEJB = native EJB inboundProxy service exposed as stateless session bean

• EJB 3 supported (finally…)

• SOA-DIRECT protocol for SOA suite interaction

• Multiple email endpoints for load balancing

Slide #62(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010)

27

Questions?

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #63

Middleware and Cloud Computing BookAvailable November 2010

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #64

28

… more ?

Win a copy of the book!http://www.munzandmore.com/blog

Come to my Cloud Computing Talk:

-> today @3pm, in this room(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #65

munz & moreTraining and Consulting

(c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #66