Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ahmed Aboulnaga
Technical Director
Raastech
Little Known Tips & Tricks from
Across the Oracle SOA Landscape
Manchester Cen...
© Raastech, Inc. 2013 | All rights reserved. Slide 2 of 72raastech.com
About Me
 Ahmed Aboulnaga
 18+ years of Oracle mi...
© Raastech, Inc. 2013 | All rights reserved. Slide 3 of 72raastech.com
About Raastech
 Systems integrator founded in 2009...
© Raastech, Inc. 2013 | All rights reserved. Slide 4 of 72raastech.com
What is this presentation about?
 For the experien...
© Raastech, Inc. 2013 | All rights reserved. Slide 5 of 72raastech.com
Agenda
1. Technology Placement & Design Patterns
2....
© Raastech, Inc. 2013 | All rights reserved. Slide 6 of 72raastech.com
Technology Placement
 Some overlap between:
 Medi...
© Raastech, Inc. 2013 | All rights reserved. Slide 7 of 72raastech.com
BAM
Reporting
Design Patterns
Integration
Error
Fra...
© Raastech, Inc. 2013 | All rights reserved. Slide 8 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB
...
© Raastech, Inc. 2013 | All rights reserved. Slide 9 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB
...
© Raastech, Inc. 2013 | All rights reserved. Slide 10 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 11 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 12 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 13 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 14 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 15 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 16 of 72raastech.com
Asynchronous Design Pattern
Mediator
BPEL
BPEL
OSB...
© Raastech, Inc. 2013 | All rights reserved. Slide 17 of 72raastech.com
Technology Placement (for Sensors)
 BPEL sensors?...
© Raastech, Inc. 2013 | All rights reserved. Slide 18 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 19 of 72raastech.com
Understand what BAM is designed for
 Not a data r...
© Raastech, Inc. 2013 | All rights reserved. Slide 20 of 72raastech.com
Weak BAM reporting capabilities
 No user sorting
...
© Raastech, Inc. 2013 | All rights reserved. Slide 21 of 72raastech.com
BAM runs only on IE
 Yes, I know the history of B...
© Raastech, Inc. 2013 | All rights reserved. Slide 22 of 72raastech.com
Don’t forget about BAM purging
 People tend to fo...
© Raastech, Inc. 2013 | All rights reserved. Slide 23 of 72raastech.com
Avoid BAM RMI Adapter
 BAM Adapter comes in 2 fla...
© Raastech, Inc. 2013 | All rights reserved. Slide 24 of 72raastech.com
Avoid BAM RMI Adapter
 BAM Adapter comes in 2 fla...
© Raastech, Inc. 2013 | All rights reserved. Slide 25 of 72raastech.com
Understanding BAM inBatch=‘Y’
 The BAM Adapter pr...
© Raastech, Inc. 2013 | All rights reserved. Slide 26 of 72raastech.com
Understanding BAM inBatch=‘Y’
 BAM Adapter report...
© Raastech, Inc. 2013 | All rights reserved. Slide 27 of 72raastech.com
Understanding BAM inBatch=‘Y’
 BAM Adapter report...
© Raastech, Inc. 2013 | All rights reserved. Slide 28 of 72raastech.com
Understanding BAM inBatch=‘Y’
 Works great, but i...
© Raastech, Inc. 2013 | All rights reserved. Slide 29 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 30 of 72raastech.com
OSB Summary
Pros 
 Stateless, so performance is ...
© Raastech, Inc. 2013 | All rights reserved. Slide 31 of 72raastech.com
OSB vs. BPEL Performance
 1000 transactions (OSB)...
© Raastech, Inc. 2013 | All rights reserved. Slide 32 of 72raastech.com
OSB vs. Composite Tracing
© Raastech, Inc. 2013 | All rights reserved. Slide 33 of 72raastech.com
OSB Report Action
 OSB performs 2x to 4x faster t...
© Raastech, Inc. 2013 | All rights reserved. Slide 34 of 72raastech.com
OSB Report Action
 Can filter by index
 Header a...
© Raastech, Inc. 2013 | All rights reserved. Slide 35 of 72raastech.com
OSB Report Action
 For all Proxy Services, in the...
© Raastech, Inc. 2013 | All rights reserved. Slide 36 of 72raastech.com
Using JCA Adapters in OSB
 OSB provides native ad...
© Raastech, Inc. 2013 | All rights reserved. Slide 37 of 72raastech.com
OSB Caching
 Result Caching (Coherence) on Busine...
© Raastech, Inc. 2013 | All rights reserved. Slide 38 of 72raastech.com
OSB on Exalogic – Problems
 On OSB installations ...
© Raastech, Inc. 2013 | All rights reserved. Slide 39 of 72raastech.com
OSB on Exalogic – Solution
 For all Business Serv...
© Raastech, Inc. 2013 | All rights reserved. Slide 40 of 72raastech.com
Securing OSB Services with OWSM
1. Click on the Pr...
© Raastech, Inc. 2013 | All rights reserved. Slide 41 of 72raastech.com
Securing OSB services with OWSM
6. When testing, a...
© Raastech, Inc. 2013 | All rights reserved. Slide 42 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 43 of 72raastech.com
Securing SOA services with OWSM
1. Navigate to the...
© Raastech, Inc. 2013 | All rights reserved. Slide 44 of 72raastech.com
Optimized calls if using ServiceURL
 Ensure that ...
© Raastech, Inc. 2013 | All rights reserved. Slide 45 of 72raastech.com
Optimized calls if using ServiceURL
 Ensure that ...
© Raastech, Inc. 2013 | All rights reserved. Slide 46 of 72raastech.com
Use MDS for all WSDLs
 Consider ORAMDS instead of...
© Raastech, Inc. 2013 | All rights reserved. Slide 47 of 72raastech.com
Avoid Mediator Parallel Routing Rules
 See this p...
© Raastech, Inc. 2013 | All rights reserved. Slide 48 of 72raastech.com
100 messages98 messages
Wait 1 second
 No message...
© Raastech, Inc. 2013 | All rights reserved. Slide 49 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 50 of 72raastech.com
Singleton property with JMS Topics
 For inbound J...
© Raastech, Inc. 2013 | All rights reserved. Slide 51 of 72raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 52 of 72raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 53 of 72raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 54 of 72raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 55 of 72raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 56 of 72raastech.com
Avoid Distributed Topics
 Not possible to have tr...
© Raastech, Inc. 2013 | All rights reserved. Slide 57 of 72raastech.com
Avoid Distributed Topics
 Cannot have durable sub...
© Raastech, Inc. 2013 | All rights reserved. Slide 58 of 72raastech.com
Avoid Distributed Topics
 Cannot have durable sub...
© Raastech, Inc. 2013 | All rights reserved. Slide 59 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 60 of 72raastech.com
Direct Binding in OSB? Yes or No?
1. Edit the busi...
© Raastech, Inc. 2013 | All rights reserved. Slide 61 of 72raastech.com
Direct Binding in SOA? Yes or No?
1. Edit the prox...
© Raastech, Inc. 2013 | All rights reserved. Slide 62 of 72raastech.com
Direct Binding in SOA? Yes or No?
© Raastech, Inc. 2013 | All rights reserved. Slide 63 of 72raastech.com
Direct Binding? Yes or No?
 No
 Avoid direct bin...
© Raastech, Inc. 2013 | All rights reserved. Slide 64 of 72raastech.com
PassThroughHeader Property
 Do you need to use th...
© Raastech, Inc. 2013 | All rights reserved. Slide 65 of 72raastech.com
PassThroughHeader Property
 Do you need to use th...
© Raastech, Inc. 2013 | All rights reserved. Slide 66 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 67 of 72raastech.com
Why consider Oracle Service Registry?
 Over time,...
© Raastech, Inc. 2013 | All rights reserved. Slide 68 of 72raastech.com
Service
Oracle Service Registry
Some screenshots f...
© Raastech, Inc. 2013 | All rights reserved. Slide 69 of 72raastech.com
Avoid Oracle Service Registry
 Do not use at all
...
© Raastech, Inc. 2013 | All rights reserved. Slide 70 of 72raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 71 of 72raastech.com
Summary
 BAM: Use it for what it is intended for
...
© Raastech, Inc. 2013 | All rights reserved. Slide 72 of 72raastech.com
Contact Information
 Ahmed Aboulnaga
Technical Di...
Upcoming SlideShare
Loading in …5
×

Little Known Tips & Tricks from Across the Oracle SOA Landscape

723 views

Published on

UKOUG Tech 13

Published in: Technology
  • Be the first to comment

Little Known Tips & Tricks from Across the Oracle SOA Landscape

  1. 1. Ahmed Aboulnaga Technical Director Raastech Little Known Tips & Tricks from Across the Oracle SOA Landscape Manchester Central Convention Complex Exchange 8 December 2, 2013 12:45 – 13:45
  2. 2. © Raastech, Inc. 2013 | All rights reserved. Slide 2 of 72raastech.com About Me  Ahmed Aboulnaga  18+ years of Oracle middleware experience  Focus on Oracle Fusion Middleware, with emphasis on SOA, identity management, and portal technologies  Oracle ACE, OCE, OCA  Author / Presenter / Blogger  President of WMOUG / EGOUG
  3. 3. © Raastech, Inc. 2013 | All rights reserved. Slide 3 of 72raastech.com About Raastech  Systems integrator founded in 2009  Headquartered in the Washington DC area  Specializes in Oracle Fusion Middleware  Oracle Gold Partner & Reseller  Oracle SOA Suite Specialized  Certified staff in multiple disciplines  OCE, OCA, ITIL, CISSP, PMP, etc.  Continued contributions to the technology community  Sponsor and volunteer of numerous users groups  Ongoing publishing of books, articles, whitepapers, and blogs  Regular presenters at major conferences
  4. 4. © Raastech, Inc. 2013 | All rights reserved. Slide 4 of 72raastech.com What is this presentation about?  For the experienced Oracle SOA technologist  Random tips and tricks surrounding the following product sets:  SOA Suite 11g  BAM 11g  OSB 11g  OWSM 11g  OSR 11g  Goal is to share things you may never have heard about or come across
  5. 5. © Raastech, Inc. 2013 | All rights reserved. Slide 5 of 72raastech.com Agenda 1. Technology Placement & Design Patterns 2. BAM – What to avoid 3. OSB – What to avoid 4. SOA Suite – What to avoid 5. WebLogic Server – What to avoid 6. OSR – What to avoid
  6. 6. © Raastech, Inc. 2013 | All rights reserved. Slide 6 of 72raastech.com Technology Placement  Some overlap between:  Mediator & BPEL  BPEL & OSB  OSB & Mediator  Some customers are BPEL only shops  Some customers are OSB only shops  What to use? SOA Composite (BPEL + Mediator) SOA Composite (BPEL) OSB
  7. 7. © Raastech, Inc. 2013 | All rights reserved. Slide 7 of 72raastech.com BAM Reporting Design Patterns Integration Error Framework Gateway  Always have a gateway  Virtualization | Security | SLA management  Integration can include any number of technologies  Error framework is a must  Think about transaction reporting (BAM?)
  8. 8. © Raastech, Inc. 2013 | All rights reserved. Slide 8 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * BAM
  9. 9. © Raastech, Inc. 2013 | All rights reserved. Slide 9 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * BAM First touch point should be a gateway, provides: • Abstraction/virtualization • SLA monitoring • First line of defense • Could be in DMZ 1
  10. 10. © Raastech, Inc. 2013 | All rights reserved. Slide 10 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB 2 OEG * BAM JMS queue provides: • Immediate handoff from caller • Message persistence (which also supports recovery)
  11. 11. © Raastech, Inc. 2013 | All rights reserved. Slide 11 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG 1-way Async * BAM Mediator used for: • Routing • Calls BPEL as 1-way async (eliminates need for another queue) 3
  12. 12. © Raastech, Inc. 2013 | All rights reserved. Slide 12 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG Synchronous * BAM • Entire sub-process is synchronous • Errors bubbled up to BPEL • BPEL decides how to handle exceptions • OSB can be used for throttling or caching Throttle Cache 4
  13. 13. © Raastech, Inc. 2013 | All rights reserved. Slide 13 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * BAM Create an error management framework: • Single async service • Maintains errors in a table • Auto-notify by email as required 5
  14. 14. © Raastech, Inc. 2013 | All rights reserved. Slide 14 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * BAM Create a message resubmission framework: • Payloads persisted • Manually republished to original queue for resubmission 6
  15. 15. © Raastech, Inc. 2013 | All rights reserved. Slide 15 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * BAM Use BAM: • To store sensor data • Easily lookup state of transactions outside of main SOA engines • Keep BAM server on separate physical servers 7
  16. 16. © Raastech, Inc. 2013 | All rights reserved. Slide 16 of 72raastech.com Asynchronous Design Pattern Mediator BPEL BPEL OSB OSB OEG * Gateway BAM Reporting Error Management & Message Resubmission Frameworks Integration Design Pattern
  17. 17. © Raastech, Inc. 2013 | All rights reserved. Slide 17 of 72raastech.com Technology Placement (for Sensors)  BPEL sensors?  Composite sensors?  BAM sensors?
  18. 18. © Raastech, Inc. 2013 | All rights reserved. Slide 18 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  19. 19. © Raastech, Inc. 2013 | All rights reserved. Slide 19 of 72raastech.com Understand what BAM is designed for  Not a data repository… use OBIEE instead  Not intended for large amounts of data (think millions of records per data object)  Our mistake:  Instead of composite sensors, dumped huge amount of sensor data into BAM  Why is this a problem?  BAM unable to handle extremely large loads effectively  BAM reports are exceptionally weak  Who nowadays develops web apps that run only in IE?  Best used for aggregated data that needs to be reported against in near real-time
  20. 20. © Raastech, Inc. 2013 | All rights reserved. Slide 20 of 72raastech.com Weak BAM reporting capabilities  No user sorting  No field expansion  Cumbersome navigation  Weak search capabilities
  21. 21. © Raastech, Inc. 2013 | All rights reserved. Slide 21 of 72raastech.com BAM runs only on IE  Yes, I know the history of BAM… but still unacceptable
  22. 22. © Raastech, Inc. 2013 | All rights reserved. Slide 22 of 72raastech.com Don’t forget about BAM purging  People tend to forget about purging BAM Data Objects  If data object is based on a database table:  Simply create a scheduled PL/SQL package to purge the data  Otherwise:  Use BAM Alerts
  23. 23. © Raastech, Inc. 2013 | All rights reserved. Slide 23 of 72raastech.com Avoid BAM RMI Adapter  BAM Adapter comes in 2 flavors; RMI and SOAP
  24. 24. © Raastech, Inc. 2013 | All rights reserved. Slide 24 of 72raastech.com Avoid BAM RMI Adapter  BAM Adapter comes in 2 flavors; RMI and SOAP  In your code:  eis/bam/rmi  eis/bam/soap  Avoid RMI because:  It is not as efficient as SOAP  Bug in BAM Adapter leads to BPEL threads not being released
  25. 25. © Raastech, Inc. 2013 | All rights reserved. Slide 25 of 72raastech.com Understanding BAM inBatch=‘Y’  The BAM Adapter property inBatch batches requests into batches (Could this sentence sound any more messed up?)
  26. 26. © Raastech, Inc. 2013 | All rights reserved. Slide 26 of 72raastech.com Understanding BAM inBatch=‘Y’  BAM Adapter reports ‘success’ 100% of the time, but pushes the data as predetermined intervals SOA Composite Instance SOA Composite Instance SOA Composite Instance BAM inBatch=N inBatch=N inBatch=N
  27. 27. © Raastech, Inc. 2013 | All rights reserved. Slide 27 of 72raastech.com Understanding BAM inBatch=‘Y’  BAM Adapter reports ‘success’ 100% of the time, but pushes the data as predetermined intervals SOA Composite Instance SOA Composite Instance SOA Composite Instance BAM inBatch=Y inBatch=Y inBatch=Y
  28. 28. © Raastech, Inc. 2013 | All rights reserved. Slide 28 of 72raastech.com Understanding BAM inBatch=‘Y’  Works great, but if there is an error in a single BAM record:  The entire batch fails  Unknown which record failed  Failure not always in SOA logs but sometimes in BAM logs BAM UP BAM Goes DOWN SOA Suite UP SOA Suite Goes DOWN • Requests are batched in SOA • Invocations always success • Requests are batched in SOA • Invocations always success • Limit to how much can be batched • Batched requests are lost • Both are down idiot!
  29. 29. © Raastech, Inc. 2013 | All rights reserved. Slide 29 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  30. 30. © Raastech, Inc. 2013 | All rights reserved. Slide 30 of 72raastech.com OSB Summary Pros   Stateless, so performance is superior  Caching, throttling, service virtualization  Can search indexes in payloads (if enabled) Cons   Cannot reference MDS  Shared custom code required for DVM support  But cannot support multi-input DVMs  Severe limitations in transactional visibility, tracing, and metrics  WSDLs/XSDs must be copied locally
  31. 31. © Raastech, Inc. 2013 | All rights reserved. Slide 31 of 72raastech.com OSB vs. BPEL Performance  1000 transactions (OSB) = 3:32 minutes  1000 transactions (BPEL) = 10:19 minutes  OSB is superior in performance to BPEL (68% better) Service OSB Med OSB OSB Med Service BPEL Med Med BPEL Med
  32. 32. © Raastech, Inc. 2013 | All rights reserved. Slide 32 of 72raastech.com OSB vs. Composite Tracing
  33. 33. © Raastech, Inc. 2013 | All rights reserved. Slide 33 of 72raastech.com OSB Report Action  OSB performs 2x to 4x faster than BPEL (great!)  OSB sucks in terms of transactional visibility  Consider using the Report Action to capture SOAP headers and SOAP bodies  Consider creating a web service to log key metadata (e.g., think BPEL sensors)
  34. 34. © Raastech, Inc. 2013 | All rights reserved. Slide 34 of 72raastech.com OSB Report Action  Can filter by index  Header and body are displayed separately  Enabling header/body on both request/response 4x slower  This is the only OSB functionality that is persisted
  35. 35. © Raastech, Inc. 2013 | All rights reserved. Slide 35 of 72raastech.com OSB Report Action  For all Proxy Services, in the request stage: 1. Add a Report action for $header 2. Add a Report action for $body 3. Specify at least one “Key Name” for both 4. Add the “…Request” string to the name and use the same value from the body
  36. 36. © Raastech, Inc. 2013 | All rights reserved. Slide 36 of 72raastech.com Using JCA Adapters in OSB  OSB provides native adapters  JCA Adapters must be created in JDeveloper 11g  .JCA and .WSDL manually imported to OSB project  Not supported for all adapters (DB Adapter yes, FTP Adapter no)
  37. 37. © Raastech, Inc. 2013 | All rights reserved. Slide 37 of 72raastech.com OSB Caching  Result Caching (Coherence) on Business Service  To be used with data that is not frequently updated  Will not re-query backend until it has expired  15% to 25% performance improvement with DB Adapter
  38. 38. © Raastech, Inc. 2013 | All rights reserved. Slide 38 of 72raastech.com OSB on Exalogic – Problems  On OSB installations on Exalogic, the following problems were experienced:  Client requests get a read time out error  The BEA-380000 error “Request Entity Too Large” appears in the logs  OSB invocations retry multiple times every 5 minutes  OSB invocations invoke target service twice
  39. 39. © Raastech, Inc. 2013 | All rights reserved. Slide 39 of 72raastech.com OSB on Exalogic – Solution  For all Business Services 1. Under HTTP Transport Configuration 2. Set “Use Chunked Streaming Mode” to “Disabled”  For all Proxy Services 1. View Message Flow 2. Edit Route Node(s) 3. Check on “Quality of Service” and set it to “Exactly Once”
  40. 40. © Raastech, Inc. 2013 | All rights reserved. Slide 40 of 72raastech.com Securing OSB Services with OWSM 1. Click on the Proxy Service 2. Click on the “Policies” tab 3. Select “From OWSM Policy Store” and click “Add” 4. Select the policy “oracle/wss_username_token_service_policy” 5. Update, activate, and submit the changes
  41. 41. © Raastech, Inc. 2013 | All rights reserved. Slide 41 of 72raastech.com Securing OSB services with OWSM 6. When testing, add the following SOAP header to the envelope: <soap:Header xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http:// docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:UsernameToken wsu:Id="UsernameToken-tk6qMWkQ5hl3Md2INvp16Q22" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsse:Username>oratest</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token- profile-1.0#PasswordText">password123</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soap:Header>
  42. 42. © Raastech, Inc. 2013 | All rights reserved. Slide 42 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  43. 43. © Raastech, Inc. 2013 | All rights reserved. Slide 43 of 72raastech.com Securing SOA services with OWSM 1. Navigate to the composite, scroll down, and click on the reference 2. Click on the “Policies” tab 3. Attach the policy “oracle/wss_username_token_service_policy”
  44. 44. © Raastech, Inc. 2013 | All rights reserved. Slide 44 of 72raastech.com Optimized calls if using ServiceURL  Ensure that URLs used for composite-to-composite invocations are identical to the setting in ServerURL  SOA Suite optimizes these calls (uses RMI internally)
  45. 45. © Raastech, Inc. 2013 | All rights reserved. Slide 45 of 72raastech.com Optimized calls if using ServiceURL  Ensure that URLs used for composite-to-composite invocations are identical to the setting in ServerURL  SOA Suite optimizes these calls (uses RMI internally) soa_server1 soa_server2 ohs1 ohs2 soadev-vip
  46. 46. © Raastech, Inc. 2013 | All rights reserved. Slide 46 of 72raastech.com Use MDS for all WSDLs  Consider ORAMDS instead of HTTP for composite-to- external and/or composite-to-composite invocations  Removes the composite loading dependency (It’s still translated to an optimized call behind the scenes) <reference name="AsyncStatus" ui:wsdlLocation="oramds:/apps/WSDLs/AsyncStatus.wsdl"> <interface.wsdl interface="http://xmlns.oracle.com/AsyncStatus#wsdl.interface(execute_ptt)"/> <binding.ws location="oramds:/apps/WSDLs/AsyncStatus.wsdl" port="http://xmlns.oracle.com/AsynStatus#wsdl.endpoint(AsyncStatus_ep/execute_pt)" soapVersion="1.1“/> </reference>
  47. 47. © Raastech, Inc. 2013 | All rights reserved. Slide 47 of 72raastech.com Avoid Mediator Parallel Routing Rules  See this presentation for details why: http://www.raastech.com/raastech/library/Raastech_2013_Collaborate_SOASuite1 1gPerformance.pdf  This is because of the poor design that Oracle has chosen for avoiding thread starvation  Edit all “*.mplan” files for your asynchronous Mediator operations and change the executionType as follows: OLD: executionType="direct" NEW: executionType="queued"
  48. 48. © Raastech, Inc. 2013 | All rights reserved. Slide 48 of 72raastech.com 100 messages98 messages Wait 1 second  No messages here Wait 1 second  No messages here Wait 1 second  No messages here 99 messages Avoid Mediator Parallel Routing Rules
  49. 49. © Raastech, Inc. 2013 | All rights reserved. Slide 49 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  50. 50. © Raastech, Inc. 2013 | All rights reserved. Slide 50 of 72raastech.com Singleton property with JMS Topics  For inbound JMS Adapter from a topic, use the “singleton” property to avoid consumption of multiple messages in a cluster  For more information: <service name="JMSConsume" ui:wsdlLocation="JMSConsume.wsdl"> <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/JMS#wsdl.interface(Consume_ptt)"/> <binding.jca config="JMSConsume_jms.jca"> <property name="singleton">true</property> </binding.jca> </service> Single message consumption from distributed topic in WebLogic Server 11g http://blog.raastech.com/2012/04/single-message-consumption-from.html Understanding the "singleton" property with WebLogic JMS topics http://blog.raastech.com/2012/07/understanding-singleton-property-with.html
  51. 51. © Raastech, Inc. 2013 | All rights reserved. Slide 51 of 72raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated
  52. 52. © Raastech, Inc. 2013 | All rights reserved. Slide 52 of 72raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated
  53. 53. © Raastech, Inc. 2013 | All rights reserved. Slide 53 of 72raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated (with Singleton property)
  54. 54. © Raastech, Inc. 2013 | All rights reserved. Slide 54 of 72raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned
  55. 55. © Raastech, Inc. 2013 | All rights reserved. Slide 55 of 72raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned (with Singleton property)
  56. 56. © Raastech, Inc. 2013 | All rights reserved. Slide 56 of 72raastech.com Avoid Distributed Topics  Not possible to have truly highly available JMS destinations  Expectation: 1. With 1 consumer, if code is deployed to all 4 nodes of the cluster, the message is consumed only once 2. Message is equally available to all nodes of the cluster, so if any node fails, the message is still available and can be consumed without manual intervention  Reality:  Point #1 is not possible if you set the forwarding policy to “Replicated”  Point #2 is not possible if the destination's forwarding policy is set to “Partitioned”  Since these are the only two options available, unable to satisfy both requirements  See http://blog.raastech.com/2012/07/5-reasons-why-oracle-weblogic- server.html
  57. 57. © Raastech, Inc. 2013 | All rights reserved. Slide 57 of 72raastech.com Avoid Distributed Topics  Cannot have durable subscribers on distributed topics SOA Producer SOA Consumer SOA Consumer SOA Consumer JMS Topic
  58. 58. © Raastech, Inc. 2013 | All rights reserved. Slide 58 of 72raastech.com Avoid Distributed Topics  Cannot have durable subscribers on distributed topics SOA Producer SOA Consumer SOA Consumer SOA Consumer JMS Queue JMS Queue JMS Queue
  59. 59. © Raastech, Inc. 2013 | All rights reserved. Slide 59 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  60. 60. © Raastech, Inc. 2013 | All rights reserved. Slide 60 of 72raastech.com Direct Binding in OSB? Yes or No? 1. Edit the business service 2. For Protocol, select “soa-direct” 3. For Load Balancing Algorithm, select “round-robin” 4. For Endpoint URI, use the format shown in the screenshot
  61. 61. © Raastech, Inc. 2013 | All rights reserved. Slide 61 of 72raastech.com Direct Binding in SOA? Yes or No? 1. Edit the proxy service 2. Under Transport Configuration, modify Protocol to “sb” 3. In the OSB proxy service, Export WSDL via the icon and save it to your local file system 4. Extract the contents of the JAR file to your local file system 5. Create a Direct Binding reference  Enter a name  Ensure that Type is a “Reference”  Ensure that Reference Target is “Oracle Service Bus”  Manually import the WSDL and all referenced WSDLs/XSDs into the project  The Reference Binding Details will be automatically populated
  62. 62. © Raastech, Inc. 2013 | All rights reserved. Slide 62 of 72raastech.com Direct Binding in SOA? Yes or No?
  63. 63. © Raastech, Inc. 2013 | All rights reserved. Slide 63 of 72raastech.com Direct Binding? Yes or No?  No  Avoid direct binding between SOA Suite and OSB  SOAP is a better performant protocol than RMI
  64. 64. © Raastech, Inc. 2013 | All rights reserved. Slide 64 of 72raastech.com PassThroughHeader Property  Do you need to use the “passThroughHeader” property?  Allows elements in the header to pass from one composite to another  Otherwise, elements in the header that are not explicitly referenced will be dropped before they are passed to the next composite. <Header> <Security> <UsernameToken> <Username>oratest</Username> <Password>password123</Password> </UsernameToken> </Security> </Header> Composite 1 Composite 2 Composite 3 <Header> <Security> <UsernameToken> <Username>oratest</Username> </UsernameToken> </Security> </Header> <Header> </Header>
  65. 65. © Raastech, Inc. 2013 | All rights reserved. Slide 65 of 72raastech.com PassThroughHeader Property  Do you need to use the “passThroughHeader” property?  Allows elements in the header to pass from one composite to another  Otherwise, elements in the header that are not explicitly referenced will be dropped before they are passed to the next composite. <component name="UpdateCustomer"> <implementation.mediator src="UpdateCustomer.mplan"/> <property name="passThroughHeader">true</property> </component>
  66. 66. © Raastech, Inc. 2013 | All rights reserved. Slide 66 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  67. 67. © Raastech, Inc. 2013 | All rights reserved. Slide 67 of 72raastech.com Why consider Oracle Service Registry?  Over time, most organizations encounter the following problems:  No central service registry  Creation of duplicate/redundant services  Difficult to obtain interface specifics on existing services
  68. 68. © Raastech, Inc. 2013 | All rights reserved. Slide 68 of 72raastech.com Service Oracle Service Registry Some screenshots from: http://biemond.blogspot.com/2009/12/using-oracle-service-registry-in-soa.html SOA Suite OSR Register ServiceConfigure SOA Suite Service Service
  69. 69. © Raastech, Inc. 2013 | All rights reserved. Slide 69 of 72raastech.com Avoid Oracle Service Registry  Do not use at all  Was a hot topic 10 years ago, not so much nowadays  Nobody really does dynamic service lookup  OSR, at best, can be used as a service catalogue  Consider Oracle Enterprise Repository (OER)
  70. 70. © Raastech, Inc. 2013 | All rights reserved. Slide 70 of 72raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff 7. Summary
  71. 71. © Raastech, Inc. 2013 | All rights reserved. Slide 71 of 72raastech.com Summary  BAM: Use it for what it is intended for  OSB: Superior performance, poor visibility  SOA Suite: A lot of things to consider; learning about all aspects of the products takes time and experience  WebLogic Server: Avoid JMS topics  Integration: Avoid direct binding  OSR: Avoid altogether
  72. 72. © Raastech, Inc. 2013 | All rights reserved. Slide 72 of 72raastech.com Contact Information  Ahmed Aboulnaga Technical Director ahmed.aboulnaga@raastech.com @Ahmed_Aboulnaga

×