doag 2010 osb talk dr frank munz · 1 ORACLE Service Bus 11g For the Busy IT Professional munz&...
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
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