Successfully reported this slideshow.

Where to use OSB

3,621 views

Published on

Published in: Technology
  • Be the first to comment

Where to use OSB

  1. 1. WHERE TO USE THEORACLE SERVICE BUS ?OBUG Connect24 April 2012 @ MECC Maastricht
  2. 2. Who ?Jan van Zoggel Edwin Biemondjvzoggel.wordpress.com biemond.blogspot.com J/E
  3. 3. Agenda Overview OSB & SOA Suite Using the OSB Bad Practices E
  4. 4. Enterprise Service BusAn ESB on its own is not a complete SOAsolution, even though it is often marketedthat way.Gartner/Burton Group 2007 E
  5. 5. How to use the OSB ? J
  6. 6. J
  7. 7. Agenda Overview OSB & SOA Suite Using the OSB Bad Practices E
  8. 8. Finance domain CRM domain Load balancing OSB Throthling OSB Dyn. Routing SLA / Endpoint Mediator Mediator intercomposite MediatorBR BPEL Mediator BPEL BPEL Mediator Mediator Mediator Mediator OSB SB Transports OSB OSB OSB BizApi WS FIN Application CRM Application E
  9. 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. 10. Where to use Oracle BPEL ? Stateful Long running processes (dehydration store) Service Orchestration Compensation Fault framework Business Rules & Human workflow J
  11. 11. Async Service in OSB 10g BPEL transport 11g SOA-direct transport E
  12. 12. Agenda Overview OSB & SOA Suite Using the OSB Bad Practices E
  13. 13. Using the OSB ? High volume*  Caching Stateless*  Load balancing Security  Endpoint SLA Transformation  Transports Throttling  Routing J
  14. 14. Security Use OWSM for 11g & 12c E
  15. 15. Transformation XQuery XSLT support Java callout support for JSON, JEJB transport E
  16. 16. Control the workload Throttling  Limit requests on Business Service  Uses memory Queue, no failover  priority possible J
  17. 17. Control the workload Work Managers  Protect WebLogic Server (Max Threads) J
  18. 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. 19. Load Balancing Multiple load balancing algorithms Endpoint management:  Supports service pooling  Automatic URI elimination J
  20. 20. Endpoint SLA  Alert Rules  Overview E
  21. 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. 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. 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. 24. Enrichment Use the Service Callout  Mediator: almost impossible J
  25. 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. 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. 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. 28. Agenda Overview OSB & SOA Suite Using the OSB Bad Practices E
  29. 29. Bad practice I - Datamodel Same WSDL J
  30. 30. Bad practice II - Orchestration E
  31. 31. Bad practice III – execute-SQLfn-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. 32. Bad practice IV – Java galore J
  33. 33. Bad practice V – Complexity J
  34. 34. ConclusionAn ESB on its own is not a complete SOAsolution, even though it is often marketedthat way.Gartner/Burton Group 2007 E
  35. 35. Questions ?
  36. 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

×