Where to use OSB

Post on 17-Dec-2014

2.329 views 3 download

description

 

Transcript of Where to use OSB

WHERE TO USE THE ORACLE SERVICE BUS ? OBUG Connect24 April 2012 @ MECC Maastricht

Who ?

Jan van Zoggeljvzoggel.wordpress.com

Edwin Biemondbiemond.blogspot.com

J/E

Agenda

Overview OSB & SOA Suite Using the OSB Bad Practices

E

Enterprise Service Bus

An ESB on its own is not a complete SOA solution, even though it is often marketed that way.

Gartner/Burton Group 2007

E

How to use the OSB ?

J

J

Agenda

Overview OSB & SOA Suite Using the OSB Bad Practices

E

OSB

Finance domain CRM domain

OSBOSB

CRM ApplicationFIN Application

OSBOSB

OSB

BPELBPEL

Mediator

MediatorBPEL

Mediator

Mediator Mediator

WS

Load balancing ThrothlingDyn. RoutingSLA / Endpoint

intercomposite

SB Transports

E

Mediator

BizApi

Mediator Mediator

BR

Where to use Mediator ?

Loosely coupling of Oracle BPEL Intra composite EDN Multi routing Specific features:

MDS usage Domain Value mapping Xref (cross referencing ) support Synchronous / Asynchronous Routing

E

Where to use Oracle BPEL ?

Stateful Long running processes (dehydration store) Service Orchestration Compensation Fault framework Business Rules & Human workflow

J

Async Service in OSB

10g BPEL transport 11g SOA-direct transport

E

Agenda

Overview OSB & SOA Suite Using the OSB Bad Practices

E

Using the OSB ?

High volume* Stateless* Security Transformation Throttling

Caching Load balancing Endpoint SLA Transports Routing

J

Security

Use OWSM for 11g & 12c

E

Transformation

XQuery XSLT support Java callout support for JSON, JEJB transport

E

Control the workload

J

ThrottlingLimit requests on Business ServiceUses memory Queue, no failoverpriority possible

Control the workload

Work ManagersProtect WebLogic Server (Max Threads)

J

Caching

Based on Oracle Coherence Protect back-end from heavy load Configurable time-to-live Uses Cache Token Expression

e.g. fn:data($body/s01:getEmployee/EmpID)

J

Load Balancing

Multiple load balancing algorithms Endpoint management:

Supports service pooling Automatic URI elimination

J

Endpoint SLA

Alert Rules Overview

E

Transports

OSB transports > JCA transports Database + AQ use JCA -> JDeveloper File JCA reads chunks (large files) JEJB transport (java object over the bus)

E

Text Processing

MFL will disappear Use Native Format Builder of Oracle SOA

Suite Use Oracle B2B (part of SOA Suite) for EDI,

HL7, RosettaNet, etc

E

Routing

Using Dynamic Routing Transport type must be the same Mediator: dynamic with business rules

+ interface must be the same Routing based on message content & headers

( performance ) Mediator: only message content

J

Enrichment

Use the Service Callout Mediator: almost impossible

J

Publish

Fire-and-Forget messages (1 way) Logging / Audit

Publish to local JMS Minimize message loss Prevent failure Offload with Store-and-Forward

E

Validate

Use Validate action early in proxy (stage) Prevent transformation errors Prevent invalid information to back-end

Basic XML schema validation No schematron support

E

Error handling

Default the request $body returned (echo) Stage, Pipelines, Route & System $fault in OSB is no valid SOAP Fault Best Practice:

define Error handling strategy define <soap:Fault> mapping

J

Agenda

Overview OSB & SOA Suite Using the OSB Bad Practices

E

Bad practice I - Datamodel

J

Same WSDL

Bad practice II - Orchestration

E

Bad practice III – execute-SQL

fn-bea:execute-sql($datasrc, $rowElemName, $sql, $param1-n)

• Officially only retrieve (select), but …• Designed for simple lookup (name value pair)• Risk: bad SQL fired at database• Increasing rows resultset => bad performance

E

Bad practice IV – Java galore

J

Bad practice V – Complexity

J

Conclusion

An ESB on its own is not a complete SOA solution, even though it is often marketed that way.

Gartner/Burton Group 2007

E

Questions

?

Shameless plug

The Oracle Service Bus Development Cookbook is a book which contains more than 80 practical recipes to develop service- and message-oriented solutions on the Oracle Service Bus 11g.

OTN + Packt recipes available