SlideShare a Scribd company logo
WHERE TO USE THE
ORACLE SERVICE BUS ?
OBUG Connect
24 April 2012 @ MECC Maastricht
Who ?
Jan van Zoggel
jvzoggel.wordpress.com
Edwin Biemond
biemond.blogspot.com
J/E
Agenda
 Overview
 OSB & SOA Suite
 Using the OSB
 Bad Practices
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
OSB
Finance domain CRM domain
OSBOSB
CRM ApplicationFIN Application
OSB
OSB
OSB
BPELBPEL
Mediator
Mediator
BPEL
Mediator
Mediator Mediator
WS
Load balancing
Throthling
Dyn. Routing
SLA / Endpoint
intercomposite
SB Transports
E
Mediator
BizApi
Mediator Mediator
BR
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
Using the OSB ?
 High volume*
 Stateless*
 Security
 Transformation
 Throttling
 Caching
 Load balancing
 Endpoint SLA
 Transports
 Routing
J
Security
 Use OWSM for 11g & 12c
E
Transformation
 XQuery
 XSLT support
 Java callout support for JSON, JEJB transport
E
Control the workload
J
Throttling
 Limit requests on Business Service
 Uses memory Queue, no failover
 priority possible
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
Bad practice I - Datamodel
J
Same WSDL
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

Similar to Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Guido Schmutz
 
OpenESB
OpenESBOpenESB
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
JUG Genova
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
Guido Schmutz
 
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)
Guido Schmutz
 
Differentiating between web APIs, SOA, & integration …and why it matters
Differentiating between web APIs, SOA, & integration…and why it mattersDifferentiating between web APIs, SOA, & integration…and why it matters
Differentiating between web APIs, SOA, & integration …and why it matters
Kim Clark
 
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
 
SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODE
Tammo van Lessen
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
andrejusb
 
Oracle soa course_content
Oracle soa course_contentOracle soa course_content
Oracle soa course_content
XAVIERCONSULTANTS
 
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11gFive Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Guido Schmutz
 
Java Web Service - Summer 2004
Java Web Service - Summer 2004Java Web Service - Summer 2004
Java Web Service - Summer 2004
Danny Teng
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
Agora Group
 
Java/J2EE Companion
Java/J2EE CompanionJava/J2EE Companion
Java/J2EE Companion
Raghavan Mohan
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
Gordon Dickens
 
Soaosbcourse_content
Soaosbcourse_contentSoaosbcourse_content
Soaosbcourse_content
XAVIERCONSULTANTS
 
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
Matt O'Keefe
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorial
cribes
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
Lucas Jellema
 
Weblogic - Data management in application servers
Weblogic - Data management in application serversWeblogic - Data management in application servers
Weblogic - Data management in application servers
Vibrant Technologies & Computers
 

Similar to Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012 (20)

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
OpenESB
OpenESBOpenESB
OpenESB
 
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
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
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)
 
Differentiating between web APIs, SOA, & integration …and why it matters
Differentiating between web APIs, SOA, & integration…and why it mattersDifferentiating between web APIs, SOA, & integration…and why it matters
Differentiating between web APIs, SOA, & integration …and why it matters
 
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
 
SOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODESOA-based Business Integration with Eclipse BPEL and Apache ODE
SOA-based Business Integration with Eclipse BPEL and Apache ODE
 
Forms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression PactForms, ADF and JET a Non-Aggression Pact
Forms, ADF and JET a Non-Aggression Pact
 
Oracle soa course_content
Oracle soa course_contentOracle soa course_content
Oracle soa course_content
 
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11gFive Cool Use Cases for the Spring Component of the SOA Suite 11g
Five Cool Use Cases for the Spring Component of the SOA Suite 11g
 
Java Web Service - Summer 2004
Java Web Service - Summer 2004Java Web Service - Summer 2004
Java Web Service - Summer 2004
 
Oracle - Programatica2010
Oracle - Programatica2010Oracle - Programatica2010
Oracle - Programatica2010
 
Java/J2EE Companion
Java/J2EE CompanionJava/J2EE Companion
Java/J2EE Companion
 
Enterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable ApplicationsEnterprise Spring Building Scalable Applications
Enterprise Spring Building Scalable Applications
 
Soaosbcourse_content
Soaosbcourse_contentSoaosbcourse_content
Soaosbcourse_content
 
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful  Protocol BuffersJavaOne 2009 - TS-5276 - RESTful  Protocol Buffers
JavaOne 2009 - TS-5276 - RESTful Protocol Buffers
 
The Complete Spring Tutorial
The Complete Spring TutorialThe Complete Spring Tutorial
The Complete Spring Tutorial
 
Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008Report From Oracle Open World 2008 AMIS 2 October2008
Report From Oracle Open World 2008 AMIS 2 October2008
 
Weblogic - Data management in application servers
Weblogic - Data management in application serversWeblogic - Data management in application servers
Weblogic - Data management in application servers
 

Recently uploaded

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

Where to use the Oracle Service Bus @ OBUG Connect 22-04-2012

  • 1. WHERE TO USE THE ORACLE SERVICE BUS ? OBUG Connect 24 April 2012 @ MECC Maastricht
  • 2. Who ? Jan van Zoggel jvzoggel.wordpress.com Edwin Biemond biemond.blogspot.com J/E
  • 3. Agenda  Overview  OSB & SOA Suite  Using the OSB  Bad Practices
  • 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
  • 8. OSB Finance domain CRM domain OSBOSB CRM ApplicationFIN Application OSB OSB OSB BPELBPEL Mediator Mediator BPEL Mediator Mediator Mediator WS Load balancing Throthling Dyn. Routing SLA / Endpoint intercomposite SB Transports E Mediator BizApi Mediator Mediator BR
  • 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
  • 13. Using the OSB ?  High volume*  Stateless*  Security  Transformation  Throttling  Caching  Load balancing  Endpoint SLA  Transports  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 J Throttling  Limit requests on Business Service  Uses memory Queue, no failover  priority possible
  • 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
  • 29. Bad practice I - Datamodel J Same WSDL
  • 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

  1. Bullets en ace weggehaald
  2. Wat moet ik hier over zeggen , weglaten anders mag jij het zeggen
  3. Vond ik wel mooie quote, heb dat Gartner/Burton artikel overigens digitaal Groter gemaakt
  4. Integration pattern David Chapell (2004)
  5. Wat moet ik hier over zeggen , weglaten anders mag jij het zeggen
  6. http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/soa.htm
  7. Wat moet ik hier over zeggen , weglaten anders mag jij het zeggen
  8. http://docs.oracle.com/cd/E16764_01/integration.1111/e10223/09_policy_mgr.htm
  9. https://blogs.oracle.com/knutvatsendvik/entry/throttling_in_osb http://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.
  10. https://blogs.oracle.com/knutvatsendvik/entry/throttling_in_osb http://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.
  11. http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  12. https://blogs.oracle.com/christomkins/entry/load_balancing_in_aqualogic_se
  13. http://biemond.blogspot.com/2011/05/osb-endpoint-monitoring-and-sla-alert.html
  14. http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
  15. Visio: ServiceCallout en getCustomerDetails call (GOOD)
  16. Visio: ServiceCallout en getCustomerDetails call (GOOD)
  17. STORY: protect OSB (support team) for invalid date errors http://gibaholms.wordpress.com/2011/10/31/advanced-validation-in-oracle-service-bus-11g/
  18. http://jvzoggel.wordpress.com/2011/07/28/custom-soap-faults-osb/
  19. Wat moet ik hier over zeggen , weglaten anders mag jij het zeggen
  20. Uses CDM from backend in BS and PS, result all clients use proprietary datamodel. After application upgrade/change all consumers need to update.
  21. ServiceCallout with multiple Update/Write actions on non reliable protocol (HTTP) ,ERROR: what if 3rd SC fails
  22. Using work-around you can insert data as well complex SQL statements in Xquery vs DB-adapter with tight DB coupling and small change Jdev/Eclipse WSDL export/import Small select BEA function, large rowcount becomes very slow Last remark not necessary, but strange behaviour select * from customer -> becomes CUSTOMER
  23. Zware JavaCallout met extreem veel memoryload (jij idee?)
  24. Adding to much logic in the service (route tables, dynamic publish, if-then-else)
  25. Vond ik wel mooie quote, heb dat Gartner/Burton artikel overigens digitaal Groter gemaakt