Oracle Service Bus (OSB) for the Busy IT Professonial

5,271 views

Published on

Oracle Service Bus Introduction, Service Bus Concepts, Oracle Fusion Middleware, getting started, overview

Published in: Technology
1 Comment
7 Likes
Statistics
Notes
  • An older presentation, but a nice one :)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,271
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
311
Comments
1
Likes
7
Embeds 0
No embeds

No notes for slide

Oracle Service Bus (OSB) for the Busy IT Professonial

  1. 1. ORACLE Service Bus 11g For the Busy IT Professional DOAG2010 munz & more Dr. Frank Munz November 2010
  2. 2. getting started INTRODCUTION
  3. 3. Agenda 1.  2.  3.  4.  Introduction Service Bus Positioning Core OSB Features, Development Monitoring, Security and Clustering (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #3
  4. 4. Who is this guy? •  Frank Munz •  Research in supercomputing and medical imaging •  Worked for and with TIBCO, BEA and Oracle •  Founded munz & more in 2006 •  Focus Oracle middleware … (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #4
  5. 5. munz & more http://www.munzanmdore.com
  6. 6. service bus positioning SERVICE ORIENTED
  7. 7. The Enemy Interwoven silos with point to point integration RichClient   Portal   WebApp   web  service?  -­‐>   Fraud   Billing   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Network   CRM   Slide #7
  8. 8. General Questions 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #8
  9. 9. Why not use e.g. EJBs then? Similar situation for EJBs: •  Java only •  Changes in interface require new stubs -> changes in client jar file (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #9
  10. 10. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #10
  11. 11. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #11
  12. 12. Reduced Complexity EAI reduces complexity from O(n*n) to O(n): One change per system changed. Portal   RichClient   WebApp   EAI  -­‐>OSB   Fraud   FTP   Billing   JMS   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Network   EJB   CRM   JAXWS   Slide #12
  13. 13. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #13
  14. 14. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #14
  15. 15. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #15
  16. 16. Service Bus -> Service Virtualization Layer (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #16
  17. 17. 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
  18. 18. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #18
  19. 19. 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." (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #19
  20. 20. What is SOA? SOA = BPM + ESB + X so what is X? Repository, Registry, Governance, … and what happened with EAI? often replaced by ESB (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #20
  21. 21. basic features & architecture ORACLE SERVICE BUS OVERVIEW
  22. 22. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #22
  23. 23. BPEL/BPMN   Human     Workflow   Business  Rules   Mediator   Unified  RunJme   Policy Manager Common JCA-based connectivity infrastructure Eclipse  /   JDeveloper   Oracle  Service  Bus   JPD,  SOAP   SOAP,  WS   JMS,RMI   Oracle   WLS   WLIntegraJon   WLI   Oracle  Tuxedo   DSP,  SOAP   Web-­‐based   console   XQuery   MQSeries   ALDataServicesPlaPorm   ALDSP   SOAP,  (s)Tp,  file   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) MQ   SAP  etc.   SQL   Slide #23
  24. 24. Service Bus Functionality Overview I •  Loose coupling •  Location Transparency •  Dynamic Routing •  Schema Transformation •  Protocol mix and match (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #24
  25. 25. Service Bus Functionality Overview II •  Service Aggregation •  Load balancing, Clustering for Availability •  Security •  Monitoring •  Configuration driven (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #25
  26. 26. 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. (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #26
  27. 27. Proxy and Business Service Oracle  Service  Bus   ServiceImpl1   Client1   ProxyServiceA   BusinessServiceX   ServiceImpl1   Client2   ProxyServiceB   BusinessServiceY   ServiceImpl2   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #27
  28. 28. Location Transparency OSB uses Business Services Business Service = How to talk to service implementation This configuration can by changed anytime. (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #28
  29. 29. Transport and Binding Layer Client2   BusinessServiceX   ProxyServiceB   BusinessServiceY   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Transport   ProxyServiceA   ServiceImpl1   Binding   Binding   Client1   Transport   Oracle  Service  Bus   ServiceImpl1   ServiceImpl2   Slide #29
  30. 30. Context Variables Variables are filled automatically 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   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #30
  31. 31. Message Flow in Proxy A request A A A A A A A A A A A A R response Pipeline Stage Action A Request path Response path Routing Node R Route Node (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #31
  32. 32. Overview Actions Flow Control Message Processing Routing (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #32
  33. 33. Log Action Logs Xquery expression with annotation text and severity level to stdout. OSB console: (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #33
  34. 34. Dynamic Routing Routing based on runtime conditions: •  Outcome of call to another service •  Logical expression •  Content of message body •  Content of transport header (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #34
  35. 35. Schema Transformation •  XSD schema -> XSD schema •  binary (MFL) -> XSD schema •  XQuery or XSLT Example: Transform SAP address format to company-wide address format. (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #35
  36. 36. Eclipse: XQuery Mapper Import Xquery from Eclipse as OSB resource (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #36
  37. 37. 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> }
  38. 38. Protocol Adaption Oracle  Service  Bus   JMS   email   ProxyServiceA   BusinessServiceX   email   file   ProxyServiceB   BusinessServiceY   File   EJB   Tuxedo   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #38
  39. 39. JMS Endpoint URI (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #39
  40. 40. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #40
  41. 41. OSB Console http://host:port/sbconsole used for: Operations Development Monitoring Search Import / Export Testing (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #41
  42. 42. Eclipse Console (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #42
  43. 43. what is happening inside? MONITORING
  44. 44. 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? (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #44
  45. 45. Server Health Click on Server Snapshot for per server view (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #45
  46. 46. Service Health •  Overview -> click Name for details •  Select services with error (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #46
  47. 47. Detail: Service Metrics (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #47
  48. 48. Operation Metrics Good result for jitterAndMem implementation: (errors are provoked with illegal test data) (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #48
  49. 49. Detail: Action Metrics (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #49
  50. 50. SLA Conditions Depend on type count vs. min/max/avg Conditions can be combined (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #50
  51. 51. Reporting Console Search for reports via key Purge all reports or range asynchronously (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #51
  52. 52. inbound, outbound, authorized & single signed on SECURITY
  53. 53. 2 Scenarios... Web Services Security Pass-Through: •  Proxy ignores WS-Security header, payload encrypted •  OSB forwards message to service implementation Client   ProxyService   BusinessService   ServiceImpl   Active intermediary: •  Security header examined •  Encrypted messages get decrypted at proxy service (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #53
  54. 54. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #54
  55. 55. Transport Level Security Protocols like http, ftp, jms over SSL Easier to configure Endpoint to endpoint only -> messages are not encrypted in between (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #55
  56. 56. SAML and WLS / OSB SAML Pass-Through = •  OSB = passive intermediary •  OSB forwards SAML token to service impl. Active intermediary Oracle  Service  Bus   Client   AuthenJcator   SAML   CredenJal     Mapper   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Service  Impl   SAML   IdenJty   Asserter   Slide #56
  57. 57. availability, load balancing and throttling CLUSTERING OSB
  58. 58. Distributed OSB Cluster Clients   Clients   Clients   Oracle  Service  Bus  Cluster   Managed  Server1   Load  Balancer   ProxyService   BusinessService   Managed  Server2   ProxyService   WLS  Cluster   ServiceA   ServiceA   ServiceA   BusinessService   (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #58
  59. 59. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #59
  60. 60. new version OSB 11G
  61. 61. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #61
  62. 62. 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 (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #62
  63. 63. Questions? (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #63
  64. 64. Middleware and Cloud Computing Book Published! (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #64
  65. 65. Oracle WebLogic 12c Book (c) 2009/2010 Dr. Frank Munz / munz & more (Event:DOAG Nürnberg 11/2010) Slide #65
  66. 66. … 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
  67. 67. 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

×