SlideShare ist ein Scribd-Unternehmen logo
1 von 36
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

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
prksh89
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
WSO2
 

Was ist angesagt? (20)

Introducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database ProfessionalsIntroducing SOA and Oracle SOA Suite 11g for Database Professionals
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
 
ESB Presentation
ESB PresentationESB Presentation
ESB Presentation
 
Enterprise Service Bus Part 1
Enterprise Service Bus Part 1Enterprise Service Bus Part 1
Enterprise Service Bus Part 1
 
Enterprise Service Bus and JBI
Enterprise Service Bus and JBIEnterprise Service Bus and JBI
Enterprise Service Bus and JBI
 
ESB Overview
ESB OverviewESB Overview
ESB Overview
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
Oracle OSB Tutorial 2
Oracle OSB Tutorial 2Oracle OSB Tutorial 2
Oracle OSB Tutorial 2
 
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA SuiteFive Cool Use Cases for the Spring Component in Oracle SOA Suite
Five Cool Use Cases for the Spring Component in Oracle SOA Suite
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
 
SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)SOA for PL/SQL Developer (OPP 2010)
SOA for PL/SQL Developer (OPP 2010)
 
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
Oracle Event Delivery Network (EDN) of SOA Suite 11g
Oracle Event Delivery Network (EDN) of SOA Suite 11gOracle Event Delivery Network (EDN) of SOA Suite 11g
Oracle Event Delivery Network (EDN) of SOA Suite 11g
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
WebServices and Workflow technologies
WebServices and Workflow technologiesWebServices and Workflow technologies
WebServices and Workflow technologies
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 

Andere mochten auch

Blogging presentation
Blogging presentationBlogging presentation
Blogging presentation
Traci Van
 
Horarios industrial mayo agosto 2013
Horarios industrial mayo agosto 2013Horarios industrial mayo agosto 2013
Horarios industrial mayo agosto 2013
betirri11
 
Blogging presentation
Blogging presentationBlogging presentation
Blogging presentation
Traci Van
 
Final Project: The Petter's Show
Final Project: The Petter's ShowFinal Project: The Petter's Show
Final Project: The Petter's Show
lizzyf16
 
Independent Research Project Data
Independent Research Project DataIndependent Research Project Data
Independent Research Project Data
Jowairia
 
Programa Usos del Temps
Programa Usos del TempsPrograma Usos del Temps
Programa Usos del Temps
fem talent
 

Andere mochten auch (20)

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

Ähnlich wie Where to use OSB

John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speaker
deimos
 
Maximize Messaging and Performance and Lowering Infrastructure Footprint
Maximize Messaging and Performance and Lowering Infrastructure FootprintMaximize Messaging and Performance and Lowering Infrastructure Footprint
Maximize Messaging and Performance and Lowering Infrastructure Footprint
WSO2
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Tammo van Lessen
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy Architectures
PerconaPerformance
 
Apache Etch Introduction @ FOSDEM 2011
Apache Etch Introduction @ FOSDEM 2011Apache Etch Introduction @ FOSDEM 2011
Apache Etch Introduction @ FOSDEM 2011
grandyho
 
IBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons LearnedIBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons Learned
Ted Leung
 

Ähnlich wie Where to use OSB (20)

Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012
Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012
Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012
 
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo RamassoJava Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
Java Ide Day 2008 - Presentation on JDeveloper by Paolo Ramasso
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speaker
 
Databases for Storage Engineers
Databases for Storage EngineersDatabases for Storage Engineers
Databases for Storage Engineers
 
Oracle goldengate ogg
Oracle goldengate oggOracle goldengate ogg
Oracle goldengate ogg
 
Oracle goldengate OGG
Oracle goldengate OGGOracle goldengate OGG
Oracle goldengate OGG
 
Entity Framework
Entity FrameworkEntity Framework
Entity Framework
 
Entity framework
Entity frameworkEntity framework
Entity framework
 
Weblogic - Data management in application servers
Weblogic - Data management in application serversWeblogic - Data management in application servers
Weblogic - Data management in application servers
 
Complex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBaseComplex Er[jl]ang Processing with StreamBase
Complex Er[jl]ang Processing with StreamBase
 
Bringing You Up to Date with LE for z/VSE
Bringing You Up to Date with LE for z/VSEBringing You Up to Date with LE for z/VSE
Bringing You Up to Date with LE for z/VSE
 
Maximize Messaging and Performance and Lowering Infrastructure Footprint
Maximize Messaging and Performance and Lowering Infrastructure FootprintMaximize Messaging and Performance and Lowering Infrastructure Footprint
Maximize Messaging and Performance and Lowering Infrastructure Footprint
 
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-OrchesterWeb Service Composition mit WS-BPEL und dem Open-Source-Orchester
Web Service Composition mit WS-BPEL und dem Open-Source-Orchester
 
Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1Exchange Server 2013 Architecture Deep Dive, Part 1
Exchange Server 2013 Architecture Deep Dive, Part 1
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy Architectures
 
Apache Etch Introduction @ FOSDEM 2011
Apache Etch Introduction @ FOSDEM 2011Apache Etch Introduction @ FOSDEM 2011
Apache Etch Introduction @ FOSDEM 2011
 
IBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons LearnedIBM Solutions '99 XML and Java: Lessons Learned
IBM Solutions '99 XML and Java: Lessons Learned
 
Integrating EBS And OTM - Process Flows And Avoiding Pitfalls.pdf
Integrating EBS And OTM - Process Flows And Avoiding Pitfalls.pdfIntegrating EBS And OTM - Process Flows And Avoiding Pitfalls.pdf
Integrating EBS And OTM - Process Flows And Avoiding Pitfalls.pdf
 
Hadoop for carrier
Hadoop for carrierHadoop for carrier
Hadoop for carrier
 
Lessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PILessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PI
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

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

Hinweis der Redaktion

  1. Vondikwelmooie quote, hebdat Gartner/Burton artikeloverigensdigitaalGrotergemaakt
  2. Integration patternDavid Chapell (2004)
  3. http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/soa.htm
  4. http://docs.oracle.com/cd/E16764_01/integration.1111/e10223/09_policy_mgr.htm
  5. 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.
  6. 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.
  7. http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  8. https://blogs.oracle.com/christomkins/entry/load_balancing_in_aqualogic_se
  9. http://biemond.blogspot.com/2011/05/osb-endpoint-monitoring-and-sla-alert.html
  10. http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  11. Visio: ServiceCallout en getCustomerDetails call (GOOD)
  12. Visio: ServiceCallout en getCustomerDetails call (GOOD)
  13. STORY: protect OSB (support team) for invalid date errorshttp://gibaholms.wordpress.com/2011/10/31/advanced-validation-in-oracle-service-bus-11g/
  14. http://jvzoggel.wordpress.com/2011/07/28/custom-soap-faults-osb/
  15. Uses CDM from backend in BS and PS, result all clients use proprietary datamodel. After application upgrade/change all consumers need to update.
  16. ServiceCallout with multiple Update/Write actions on non reliable protocol (HTTP),ERROR: what if 3rd SC fails
  17. 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
  18. ZwareJavaCallout met extreemveelmemoryload (jijidee?)
  19. Adding to much logic in the service (route tables, dynamic publish, if-then-else)
  20. Vondikwelmooie quote, hebdat Gartner/Burton artikeloverigensdigitaalGrotergemaakt