Top Banner
ORACLE Service Bus 11g For the Busy IT Professional DOAG2010 munz & more Dr. Frank Munz November 2010
67

Oracle Service Bus (OSB) for the Busy IT Professonial

Nov 02, 2014

Download

Technology

Frank Munz

Oracle Service Bus Introduction, Service Bus Concepts, Oracle Fusion Middleware, getting started, overview
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: Oracle Service Bus (OSB) for the Busy IT Professonial

ORACLE Service Bus 11g For the Busy IT Professional DOAG2010

munz & more Dr. Frank Munz

November 2010

Page 2: Oracle Service Bus (OSB) for the Busy IT Professonial

INTRODCUTION getting started

Page 3: Oracle Service Bus (OSB) for the Busy IT Professonial

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

Page 4: Oracle Service Bus (OSB) for the Busy IT Professonial

•  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 5: Oracle Service Bus (OSB) for the Busy IT Professonial

munz & more http://www.munzanmdore.com

Page 6: Oracle Service Bus (OSB) for the Busy IT Professonial

SERVICE ORIENTED ARCHITECTURE?

service bus positioning

Page 7: Oracle Service Bus (OSB) for the Busy IT Professonial

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?  -­‐>  

Page 8: Oracle Service Bus (OSB) for the Busy IT Professonial

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 L

Page 9: Oracle Service Bus (OSB) for the Busy IT Professonial

Why not use e.g. EJBs then?

Similar situation for EJBs: •  Java only •  Changes in interface require new stubs -> changes in client jar file

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

Page 10: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 11: Oracle Service Bus (OSB) for the Busy IT Professonial

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 12: Oracle Service Bus (OSB) for the Busy IT Professonial

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  

Billing  JMS  

Network  EJB  

CRM  JAXWS  

Page 13: Oracle Service Bus (OSB) for the Busy IT Professonial

Business Process Management (BPM) BPM deals with business workflows Ideally: 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 14: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 15: Oracle Service Bus (OSB) for the Busy IT Professonial

Service Bus

•  Similar to EAI (same protocols) but configuration 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 16: Oracle Service Bus (OSB) for the Busy IT Professonial

Service Bus

-> Service Virtualization Layer

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

Page 17: Oracle Service Bus (OSB) for the Busy IT Professonial

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 18: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 19: Oracle Service Bus (OSB) for the Busy IT Professonial

SOA Definition

"Service-Oriented Architecture is an IT strategy that organizes the discrete functions contained in enterprise applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs."

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

Page 20: Oracle Service Bus (OSB) for the Busy IT Professonial

What is SOA?

SOA = BPM + ESB + X

so what is X? Repository, Registry, Governance, … and what happened with EAI? often replaced by ESB

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

Page 21: Oracle Service Bus (OSB) for the Busy IT Professonial

ORACLE SERVICE BUS OVERVIEW

basic features & architecture

Page 22: Oracle Service Bus (OSB) for the Busy IT Professonial

Oracle Service Bus OSB 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)

Page 23: Oracle Service Bus (OSB) for the Busy IT Professonial

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

Unified  RunJme  

Policy Manager

Oracle  Service  Bus  

Common JCA-based connectivity infrastructure

Web-­‐based  console  

Mediator  

Oracle  WLS  

WLIntegraJon  WLI  

SQL  SAP  etc.  

MQSeries  ALDataServicesPlaPorm  ALDSP  

SOAP,  WS  JMS,RMI  

DSP,  SOAP  JPD,  SOAP  

SOAP,  (s)Tp,  file  

XQuery   MQ  

Oracle  Tuxedo  

Business  Rules  Human    Workflow  BPEL/BPMN  

Eclipse  /  JDeveloper  

Page 24: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 25: Oracle Service Bus (OSB) for the Busy IT Professonial

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 26: Oracle Service Bus (OSB) for the Busy IT Professonial

Loose Coupling / Mediation

1.  Clients talk to service bus (NOT directly to service implementation)

2.  OSB intercepts call = Service Mediation 3.  OSB calls service implementation OSB acts as "service virtualization layer" OSB can adapt/change message in step 2.

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

Page 27: Oracle Service Bus (OSB) for the Busy IT Professonial

Proxy and Business Service

Oracle  Service  Bus  

ProxyServiceB   BusinessServiceY  Client2   ServiceImpl2  

BusinessServiceX  ProxyServiceA   ServiceImpl1  

ServiceImpl1  

Client1  

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

Page 28: Oracle Service Bus (OSB) for the Busy IT Professonial

Location Transparency

OSB uses Business Services Business Service = How to talk to service implementation This configuration can by changed anytime.

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

Page 29: Oracle Service Bus (OSB) for the Busy IT Professonial

Transport and Binding Layer

Oracle  Service  Bus  

ProxyServiceB   BusinessServiceY  Client2   ServiceImpl2  

BusinessServiceX  ProxyServiceA   ServiceImpl1  

ServiceImpl1  

Client1  

Transport  

Bind

ing  

Transport  

Bind

ing  

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

Page 30: Oracle Service Bus (OSB) for the Busy IT Professonial

Context Variables

logical  variable   Purpose  $header SOAP  header  for  SOAP  

Else:  empty  <soap:Header/>    

$body SOAP  body  for  SOAP  Else:  <soap:Body>  with  enJre  payload  

$attachements SOAP  a`achements  

$fault typed  error  informaJon  

$inbound service,  transport  and  security  informaJon  of  inbound  protocol  

$outbound outbound  protocol  

$operation current  operaJon  

Variables are filled automatically

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

Page 31: Oracle Service Bus (OSB) for the Busy IT Professonial

Message Flow in Proxy

Pipeline Stage Action Request path Response path Routing Node Route Node

A

A

A A

R R

A A

A A

A A A A A

A request response

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

Page 32: Oracle Service Bus (OSB) for the Busy IT Professonial

Overview Actions

Flow Control Message Processing Routing

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

Page 33: Oracle Service Bus (OSB) for the Busy IT Professonial

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 34: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 35: Oracle Service Bus (OSB) for the Busy IT Professonial

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 36: Oracle Service Bus (OSB) for the Busy IT Professonial

Eclipse: XQuery Mapper

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

Page 37: Oracle Service Bus (OSB) for the Busy IT Professonial

Xquery Join

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

where data($priceRequest/ns2:widgetId) = data($availRequest/ns0:widgetId)

return <quoteResponse> <unitPrice>

{data($priceRequest/ns2:price)} </unitPrice>

<requestedQuanity> {data($availRequest/ns0:requestedQuanity)}

</requestedQuanity> </quoteResponse> }

Page 38: Oracle Service Bus (OSB) for the Busy IT Professonial

Protocol Adaption

Oracle  Service  Bus  

ProxyServiceB   BusinessServiceY  file   File  

BusinessServiceX  ProxyServiceA   email  

JMS  

email  

EJB  

Tuxedo  

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

Page 39: Oracle Service Bus (OSB) for the Busy IT Professonial

JMS Endpoint URI

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

Page 40: Oracle Service Bus (OSB) for the Busy IT Professonial

OSB Admin Interfaces

•  Prior to version 3 only web based GUI •  Web based GUI for configuration based runtime changes, monitoring and management. No deployment necessary! •  WLS admin console for underlying configuration •  Eclipsed based development started with OSB 3.0 -> different development process

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

Page 41: Oracle Service Bus (OSB) for the Busy IT Professonial

OSB Console

http://host:port/sbconsole used for: Operations Development Monitoring Search Import / Export Testing

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

Page 42: Oracle Service Bus (OSB) for the Busy IT Professonial

Eclipse Console

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

Page 43: Oracle Service Bus (OSB) for the Busy IT Professonial

MONITORING what is happening inside?

Page 44: Oracle Service Bus (OSB) for the Busy IT Professonial

Questions addressed

How long does it take to execute this service on average? Send me an alert if takes 5 times longer. What was the longest execution time ever? How often is the login service on average called during 10 minutes?

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

Page 45: Oracle Service Bus (OSB) for the Busy IT Professonial

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 46: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 47: Oracle Service Bus (OSB) for the Busy IT Professonial

Detail: Service Metrics

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

Page 48: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 49: Oracle Service Bus (OSB) for the Busy IT Professonial

Detail: Action Metrics

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

Page 50: Oracle Service Bus (OSB) for the Busy IT Professonial

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)

Page 51: Oracle Service Bus (OSB) for the Busy IT Professonial

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 52: Oracle Service Bus (OSB) for the Busy IT Professonial

SECURITY inbound, outbound, authorized & single signed on

Page 53: Oracle Service Bus (OSB) for the Busy IT Professonial

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   BusinessService  Client   ServiceImpl  

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

Page 54: Oracle Service Bus (OSB) for the Busy IT Professonial

Message Level Security

Based on WS-Security Standards Use WS-Policy assertion to request message level security for proxy service •  Authentication •  Integrity •  Confidentiality Example: Secure credit card details only

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

Page 55: Oracle Service Bus (OSB) for the Busy IT Professonial

Transport Level Security

Protocols like http, ftp, jms over SSL Easier to configure Endpoint to endpoint only -> messages are not encrypted in between

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

Page 56: Oracle Service Bus (OSB) for the Busy IT Professonial

Service  Impl  

SAML and WLS / OSB

SAML Pass-Through = •  OSB = passive intermediary

•  OSB forwards SAML token to service impl.

Active intermediary

Oracle  Service  Bus  

AuthenJcator  SAML  

CredenJal    Mapper  

Client  SAML  IdenJty  Asserter  

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

Page 57: Oracle Service Bus (OSB) for the Busy IT Professonial

CLUSTERING OSB availability, load balancing and throttling

Page 58: Oracle Service Bus (OSB) for the Busy IT Professonial

Oracle  Service  Bus  Cluster  

Managed  Server1  

Managed  Server2  

WLS  Cluster  

Distributed OSB Cluster

ProxyService   BusinessService  ServiceA  

BusinessService  ProxyService  ServiceA  

ServiceA  

Load  Balancer  

Clients  Clients  Clients  

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

Page 59: Oracle Service Bus (OSB) for the Busy IT Professonial

Throttle

Limit number of concurrent messages to business service. Exceeding messages put in non-pers. queue. Queue full or expiration drops messages with error message

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

Page 60: Oracle Service Bus (OSB) for the Busy IT Professonial

OSB 11G new version

Page 61: Oracle Service Bus (OSB) for the Busy IT Professonial

New in OSB 11g

•  WLS 10.3.3 installation then OSB 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)

Page 62: Oracle Service Bus (OSB) for the Busy IT Professonial

New in OSB 11g

•  Message flow starts own JTA TX •  JEJB = native EJB inbound Proxy 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 63: Oracle Service Bus (OSB) for the Busy IT Professonial

Questions?

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

Page 64: Oracle Service Bus (OSB) for the Busy IT Professonial

Middleware and Cloud Computing Book Published!

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

Page 65: Oracle Service Bus (OSB) for the Busy IT Professonial

Oracle WebLogic 12c Book

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

Page 66: Oracle Service Bus (OSB) for the Busy IT Professonial

… 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 #66

Page 67: Oracle Service Bus (OSB) for the Busy IT Professonial

munz & more Training and Consulting •  WebLogic Admin Training 9 – 12c •  WebLogic Monitoring and Tuning •  Oracle Service Bus Training •  Cloud Training (AWS, Google, Oracle Cloud)

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