Top Banner
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
28

doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

Mar 13, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 2: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting 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)

Page 3: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

3

munz & morehttp://www.munzanmdore.com

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

service bus positioning

Page 4: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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 �

Page 5: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 6: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 7: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 8: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 9: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 10: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 11: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 12: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 13: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 14: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 15: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 16: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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>

}

Page 17: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 18: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 19: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 20: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 21: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 22: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 23: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 24: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 25: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 26: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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)

Page 27: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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

Page 28: doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz& more Dr. Frank MunzDr. Frank Munz November 2010 INTRODCUTION getting started

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