SlideShare a Scribd company logo
WHERE TO USE THE
ORACLE SERVICE BUS ?
OBUG Connect
24 April 2012 @ MECC Maastricht
Who ?
Jan van Zoggel                 Edwin Biemond
jvzoggel.wordpress.com         biemond.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
Finance domain                                            CRM domain

                     Load balancing
           OSB       Throthling                                    OSB
                     Dyn. Routing
                     SLA / Endpoint
          Mediator                           Mediator
                     intercomposite                            Mediator

BR         BPEL         Mediator      BPEL
                                                                   BPEL

          Mediator                  Mediator
                                                        Mediator          Mediator


           OSB       SB Transports OSB
                                                         OSB               OSB


               BizApi               WS

                  FIN Application                          CRM Application
                                         E
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*          Caching
 Stateless*            Load balancing

 Security              Endpoint SLA

 Transformation        Transports

 Throttling            Routing




                   J
Security
   Use OWSM for 11g & 12c




                       E
Transformation
   XQuery
   XSLT support
   Java callout support for JSON, JEJB transport




                         E
Control the workload
 Throttling
  Limit requests on Business Service
  Uses memory Queue, no failover
  priority possible




                      J
Control the workload
 Work Managers
  Protect 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




        Same WSDL




                    J
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

More Related Content

PPTX
Where and when to use the Oracle Service Bus (OSB)
PPT
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
PPT
Reusing Existing Java EE Applications from SOA Suite 11g
PDF
Osb student guide
PDF
oracle-osb
PPTX
SOA Suite 12c - Service Bus new features summary
PPT
Oracle SOA Suite in use – a practical experience report
PPTX
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Where and when to use the Oracle Service Bus (OSB)
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Reusing Existing Java EE Applications from SOA Suite 11g
Osb student guide
oracle-osb
SOA Suite 12c - Service Bus new features summary
Oracle SOA Suite in use – a practical experience report
Five Cool Use Cases for the Spring Component of the SOA Suite 11g

What's hot (20)

PPTX
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
PPTX
ESB Presentation
 
PPT
Enterprise Service Bus Part 1
PDF
Enterprise Service Bus and JBI
PPSX
ESB Overview
PPT
Enterprise service bus(esb)
PDF
WSO2 ESB and SOA
PDF
Oracle OSB Tutorial 2
PPTX
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
PPT
Overview of SOA and the role of ESB / OSB
PPTX
SOA for PL/SQL Developer (OPP 2010)
PPT
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
PPTX
Enterprise Service Bus
PDF
An Unbiased Look: Oracle SOA Suite 12c
PPTX
ESB What it is?
PPT
Oracle Event Delivery Network (EDN) of SOA Suite 11g
PPTX
Overview of ESB at Azilen Tech Meetup
PDF
ESB and SOA
PPT
WebServices and Workflow technologies
PPT
Introduction to Enterprise Service Bus
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
ESB Presentation
 
Enterprise Service Bus Part 1
Enterprise Service Bus and JBI
ESB Overview
Enterprise service bus(esb)
WSO2 ESB and SOA
Oracle OSB Tutorial 2
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
Overview of SOA and the role of ESB / OSB
SOA for PL/SQL Developer (OPP 2010)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Enterprise Service Bus
An Unbiased Look: Oracle SOA Suite 12c
ESB What it is?
Oracle Event Delivery Network (EDN) of SOA Suite 11g
Overview of ESB at Azilen Tech Meetup
ESB and SOA
WebServices and Workflow technologies
Introduction to Enterprise Service Bus
Ad

Viewers also liked (20)

PPTX
Oracle Service Bus 12c (12.2.1) What You Always Wanted to Know
PDF
Oracle OSB Tutorial 1
PDF
Oracle WorkManager
PDF
1 2 osb deep dive
PDF
Test driven Soa Suite 12c Upgrade
PDF
Oracle Service Bus (OSB) for the Busy IT Professonial
PDF
Hands-On with Oracle SOA
PDF
Oracle SOA, BPM, OSB, BAM, & B2B 12C
PDF
Oracle University - Your Complete Training Source for Oracle Software and Har...
PDF
Oracle SOA Development - Hands-On from Start to Finish
PPT
Blogging presentation
PPT
Html5(2)
PDF
Horarios industrial mayo agosto 2013
PPT
Blogging presentation
PPTX
Final Project: The Petter's Show
PPT
First conditional
PPTX
Independent Research Project Data
PPT
Programa Usos del Temps
Oracle Service Bus 12c (12.2.1) What You Always Wanted to Know
Oracle OSB Tutorial 1
Oracle WorkManager
1 2 osb deep dive
Test driven Soa Suite 12c Upgrade
Oracle Service Bus (OSB) for the Busy IT Professonial
Hands-On with Oracle SOA
Oracle SOA, BPM, OSB, BAM, & B2B 12C
Oracle University - Your Complete Training Source for Oracle Software and Har...
Oracle SOA Development - Hands-On from Start to Finish
Blogging presentation
Html5(2)
Horarios industrial mayo agosto 2013
Blogging presentation
Final Project: The Petter's Show
First conditional
Independent Research Project Data
Programa Usos del Temps
Ad

Similar to Where to use OSB (20)

PPTX
Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012
PPT
Oracle fusion soa online training in africa
PPT
Oracle fusion soa online training in africa
PPT
Oracle fusion soa online training in africa
PDF
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
PDF
oracle service bus
DOCX
Soaosbcourse_content
DOC
Osbsoa1
PPTX
SOA OSB BPEL BPM Presentation
PDF
Oracle service bus (osb) for the busy it
PDF
Oracle SOA Suite 12c 1z0-434 Day 1/3
PDF
ITI005En-SOA (II)
PDF
Report from the trenches: Using SOA Integrated Gateway
PDF
USP presentation of CHOReOS @ FISL Conference
PDF
Integration of Web Service Stacks in an Esb
PPT
What is an ESB? OPITZ CONSULTING - Winterberg - Trops
PPT
SOA 11g Foundation - 01.1 -SOA Overview.ppt
PDF
Enterprise Use Case - Selecting an Enterprise Service Bus
PDF
Tactics Esb Implementation
PDF
Spagic3 Presentation En
Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012
Oracle fusion soa online training in africa
Oracle fusion soa online training in africa
Oracle fusion soa online training in africa
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
oracle service bus
Soaosbcourse_content
Osbsoa1
SOA OSB BPEL BPM Presentation
Oracle service bus (osb) for the busy it
Oracle SOA Suite 12c 1z0-434 Day 1/3
ITI005En-SOA (II)
Report from the trenches: Using SOA Integrated Gateway
USP presentation of CHOReOS @ FISL Conference
Integration of Web Service Stacks in an Esb
What is an ESB? OPITZ CONSULTING - Winterberg - Trops
SOA 11g Foundation - 01.1 -SOA Overview.ppt
Enterprise Use Case - Selecting an Enterprise Service Bus
Tactics Esb Implementation
Spagic3 Presentation En

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
cuic standard and advanced reporting.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
cuic standard and advanced reporting.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
Unlocking AI with Model Context Protocol (MCP)
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Where to use OSB

  • 1. WHERE TO USE THE ORACLE SERVICE BUS ? OBUG Connect 24 April 2012 @ MECC Maastricht
  • 2. Who ? Jan van Zoggel Edwin Biemond jvzoggel.wordpress.com biemond.blogspot.com J/E
  • 3. Agenda  Overview  OSB & SOA Suite  Using the OSB  Bad Practices E
  • 4. 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
  • 5. How to use the OSB ? J
  • 6. J
  • 7. Agenda  Overview  OSB & SOA Suite  Using the OSB  Bad Practices E
  • 8. Finance domain CRM domain Load balancing OSB Throthling OSB Dyn. Routing SLA / Endpoint Mediator Mediator intercomposite Mediator BR BPEL Mediator BPEL BPEL Mediator Mediator Mediator Mediator OSB SB Transports OSB OSB OSB BizApi WS FIN Application CRM Application E
  • 9. 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
  • 10. Where to use Oracle BPEL ?  Stateful  Long running processes (dehydration store)  Service Orchestration  Compensation  Fault framework  Business Rules & Human workflow J
  • 11. Async Service in OSB  10g BPEL transport  11g SOA-direct transport E
  • 12. Agenda  Overview  OSB & SOA Suite  Using the OSB  Bad Practices E
  • 13. Using the OSB ?  High volume*  Caching  Stateless*  Load balancing  Security  Endpoint SLA  Transformation  Transports  Throttling  Routing J
  • 14. Security  Use OWSM for 11g & 12c E
  • 15. Transformation  XQuery  XSLT support  Java callout support for JSON, JEJB transport E
  • 16. Control the workload Throttling  Limit requests on Business Service  Uses memory Queue, no failover  priority possible J
  • 17. Control the workload Work Managers  Protect WebLogic Server (Max Threads) J
  • 18. 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
  • 19. Load Balancing  Multiple load balancing algorithms  Endpoint management:  Supports service pooling  Automatic URI elimination J
  • 20. Endpoint SLA  Alert Rules  Overview E
  • 21. Transports  OSB transports > JCA transports  Database + AQ use JCA -> JDeveloper  File JCA reads chunks (large files)  JEJB transport (java object over the bus) E
  • 22. 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
  • 23. 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
  • 24. Enrichment  Use the Service Callout  Mediator: almost impossible J
  • 25. Publish  Fire-and-Forget messages (1 way)  Logging / Audit  Publish to local JMS  Minimize message loss  Prevent failure  Offload with Store-and-Forward E
  • 26. 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
  • 27. 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
  • 28. Agenda  Overview  OSB & SOA Suite  Using the OSB  Bad Practices E
  • 29. Bad practice I - Datamodel Same WSDL J
  • 30. Bad practice II - Orchestration E
  • 31. 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
  • 32. Bad practice IV – Java galore J
  • 33. Bad practice V – Complexity J
  • 34. 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
  • 36. 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

Editor's Notes

  • #5: Vondikwelmooie quote, hebdat Gartner/Burton artikeloverigensdigitaalGrotergemaakt
  • #6: Integration patternDavid Chapell (2004)
  • #12: http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/soa.htm
  • #15: http://docs.oracle.com/cd/E16764_01/integration.1111/e10223/09_policy_mgr.htm
  • #17: https://blogs.oracle.com/knutvatsendvik/entry/throttling_in_osbhttp://weblogic-wonders.com/weblogic/2010/11/21/understanding-the-work-managers/If you don’t explicitly define your Dispatch Policy on your JMS Proxy, then it will run in the default thread pool with everything else. This may be fine in some cases, but for services that require a short SLA, then allocating a dedicated Work Manager is probably a good idea.
  • #18: https://blogs.oracle.com/knutvatsendvik/entry/throttling_in_osbhttp://weblogic-wonders.com/weblogic/2010/11/21/understanding-the-work-managers/If you don’t explicitly define your Dispatch Policy on your JMS Proxy, then it will run in the default thread pool with everything else. This may be fine in some cases, but for services that require a short SLA, then allocating a dedicated Work Manager is probably a good idea.
  • #19: http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  • #20: https://blogs.oracle.com/christomkins/entry/load_balancing_in_aqualogic_se
  • #21: http://biemond.blogspot.com/2011/05/osb-endpoint-monitoring-and-sla-alert.html
  • #24: http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  • #25: Visio: ServiceCallout en getCustomerDetails call (GOOD)
  • #26: Visio: ServiceCallout en getCustomerDetails call (GOOD)
  • #27: STORY: protect OSB (support team) for invalid date errorshttp://gibaholms.wordpress.com/2011/10/31/advanced-validation-in-oracle-service-bus-11g/
  • #28: http://jvzoggel.wordpress.com/2011/07/28/custom-soap-faults-osb/
  • #30: Uses CDM from backend in BS and PS, result all clients use proprietary datamodel. After application upgrade/change all consumers need to update.
  • #31: ServiceCallout with multiple Update/Write actions on non reliable protocol (HTTP),ERROR: what if 3rd SC fails
  • #32: Using work-around you can insert data as wellcomplex SQL statements in Xqueryvs DB-adapter with tight DB coupling and small change Jdev/Eclipse WSDL export/importSmall select BEA function, large rowcount becomes very slowLast remark not necessary, but strange behaviour select * from customer -&gt; becomes CUSTOMER
  • #33: ZwareJavaCallout met extreemveelmemoryload (jijidee?)
  • #34: Adding to much logic in the service (route tables, dynamic publish, if-then-else)
  • #35: Vondikwelmooie quote, hebdat Gartner/Burton artikeloverigensdigitaalGrotergemaakt