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
Oracle SOA Tips & Tricks
Nuremberg Convention Center East
Room 15: Prag
Novemb...
© Raastech, Inc. 2013 | All rights reserved. Slide 2 of 61raastech.com
About Raastech
 Systems integrator founded in 2009...
© Raastech, Inc. 2013 | All rights reserved. Slide 3 of 61raastech.com
About Me
 Ahmed Aboulnaga
 15+ years of Oracle mi...
© Raastech, Inc. 2013 | All rights reserved. Slide 4 of 61raastech.com
What is this presentation about?
 For the experien...
© Raastech, Inc. 2013 | All rights reserved. Slide 5 of 61raastech.com
Agenda
1. A lot of random stuff
© Raastech, Inc. 2013 | All rights reserved. Slide 6 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuff...
© Raastech, Inc. 2013 | All rights reserved. Slide 7 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuff...
© Raastech, Inc. 2013 | All rights reserved. Slide 8 of 61raastech.com
Understand what BAM is designed for
 Not a data re...
© Raastech, Inc. 2013 | All rights reserved. Slide 9 of 61raastech.com
Weak BAM reporting capabilities
 No user sorting
...
© Raastech, Inc. 2013 | All rights reserved. Slide 10 of 61raastech.com
BAM runs only on IE
 Yes, I know the history of B...
© Raastech, Inc. 2013 | All rights reserved. Slide 11 of 61raastech.com
Don’t forget about BAM purging
 People tend to fo...
© Raastech, Inc. 2013 | All rights reserved. Slide 12 of 61raastech.com
Avoid BAM RMI Adapter
 BAM Adapter comes in 2 fla...
© Raastech, Inc. 2013 | All rights reserved. Slide 13 of 61raastech.com
Avoid BAM RMI Adapter
 BAM Adapter comes in 2 fla...
© Raastech, Inc. 2013 | All rights reserved. Slide 14 of 61raastech.com
Understanding BAM inBatch=‘Y’
 The BAM Adapter pr...
© Raastech, Inc. 2013 | All rights reserved. Slide 15 of 61raastech.com
Understanding BAM inBatch=‘Y’
 BAM Adapter report...
© Raastech, Inc. 2013 | All rights reserved. Slide 16 of 61raastech.com
Understanding BAM inBatch=‘Y’
 BAM Adapter report...
© Raastech, Inc. 2013 | All rights reserved. Slide 17 of 61raastech.com
Understanding BAM inBatch=‘Y’
 Works great, but i...
© Raastech, Inc. 2013 | All rights reserved. Slide 18 of 61raastech.com
Understanding BAM inBatch=‘Y’
BAM
UP
BAM
Goes DOWN...
© Raastech, Inc. 2013 | All rights reserved. Slide 19 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 20 of 61raastech.com
OSB Summary
Pros 
 Stateless, so performance is ...
© Raastech, Inc. 2013 | All rights reserved. Slide 21 of 61raastech.com
OSB vs. BPEL Performance
 1000 transactions (OSB)...
© Raastech, Inc. 2013 | All rights reserved. Slide 22 of 61raastech.com
OSB vs. Composite Tracing
© Raastech, Inc. 2013 | All rights reserved. Slide 23 of 61raastech.com
OSB Report Action
 OSB performs 2x to 4x faster t...
© Raastech, Inc. 2013 | All rights reserved. Slide 24 of 61raastech.com
OSB Report Action
 Can filter by index
 Header a...
© Raastech, Inc. 2013 | All rights reserved. Slide 25 of 61raastech.com
OSB Report Action
 For all Proxy Services, in the...
© Raastech, Inc. 2013 | All rights reserved. Slide 26 of 61raastech.com
Using JCA Adapters in OSB
 OSB provides native ad...
© Raastech, Inc. 2013 | All rights reserved. Slide 27 of 61raastech.com
OSB Caching
 Result Caching (Coherence) on Busine...
© Raastech, Inc. 2013 | All rights reserved. Slide 28 of 61raastech.com
OSB on Exalogic – Problems
 On OSB installations ...
© Raastech, Inc. 2013 | All rights reserved. Slide 29 of 61raastech.com
OSB on Exalogic – Solution
 For all Business Serv...
© Raastech, Inc. 2013 | All rights reserved. Slide 30 of 61raastech.com
Securing OSB Services with OWSM
1. Click on the Pr...
© Raastech, Inc. 2013 | All rights reserved. Slide 31 of 61raastech.com
Securing OSB services with OWSM
6. When testing, a...
© Raastech, Inc. 2013 | All rights reserved. Slide 32 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 33 of 61raastech.com
Securing SOA services with OWSM
1. Navigate to the...
© Raastech, Inc. 2013 | All rights reserved. Slide 34 of 61raastech.com
Optimized calls if using ServiceURL
 Ensure that ...
© Raastech, Inc. 2013 | All rights reserved. Slide 35 of 61raastech.com
Optimized calls if using ServiceURL
 Ensure that ...
© Raastech, Inc. 2013 | All rights reserved. Slide 36 of 61raastech.com
Avoid Mediator Parallel Routing Rules
 See this p...
© Raastech, Inc. 2013 | All rights reserved. Slide 37 of 61raastech.com
100 messages98 messages
Wait 1 second
 No message...
© Raastech, Inc. 2013 | All rights reserved. Slide 38 of 61raastech.com
Consider 1-way BPEL Instead of Queues
 Queues are...
© Raastech, Inc. 2013 | All rights reserved. Slide 39 of 61raastech.com
Use MDS for all WSDLs
 Consider ORAMDS instead of...
© Raastech, Inc. 2013 | All rights reserved. Slide 40 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 41 of 61raastech.com
Singleton property with JMS Topics
 For inbound J...
© Raastech, Inc. 2013 | All rights reserved. Slide 42 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 43 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 44 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 45 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Po...
© Raastech, Inc. 2013 | All rights reserved. Slide 46 of 61raastech.com
Avoid Distributed Topics
 Not possible to have tr...
© Raastech, Inc. 2013 | All rights reserved. Slide 47 of 61raastech.com
Avoid Distributed Topics
 Cannot have durable sub...
© Raastech, Inc. 2013 | All rights reserved. Slide 48 of 61raastech.com
Avoid Distributed Topics
 Cannot have durable sub...
© Raastech, Inc. 2013 | All rights reserved. Slide 49 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 50 of 61raastech.com
Direct Binding in OSB? Yes or No?
1. Edit the busi...
© Raastech, Inc. 2013 | All rights reserved. Slide 51 of 61raastech.com
Direct Binding in SOA? Yes or No?
1. Edit the prox...
© Raastech, Inc. 2013 | All rights reserved. Slide 52 of 61raastech.com
Direct Binding in SOA? Yes or No?
© Raastech, Inc. 2013 | All rights reserved. Slide 53 of 61raastech.com
Direct Binding? Yes or No?
 No
 Avoid direct bin...
© Raastech, Inc. 2013 | All rights reserved. Slide 54 of 61raastech.com
PassThroughHeader Property
 Do you need to use th...
© Raastech, Inc. 2013 | All rights reserved. Slide 55 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 56 of 61raastech.com
Why consider a service registry?
 Over time, most...
© Raastech, Inc. 2013 | All rights reserved. Slide 57 of 61raastech.com
Service
Oracle Service Registry
Some screenshots f...
© Raastech, Inc. 2013 | All rights reserved. Slide 58 of 61raastech.com
Avoid Oracle Service Registry
 Do not use at all
...
© Raastech, Inc. 2013 | All rights reserved. Slide 59 of 61raastech.com
Agenda
1. BAM stuff
2. OSB stuff
3. SOA Suite stuf...
© Raastech, Inc. 2013 | All rights reserved. Slide 60 of 61raastech.com
Summary
 BAM: Use it for what it is intended for
...
© Raastech, Inc. 2013 | All rights reserved. Slide 61 of 61raastech.com
Contact Information
 Ahmed Aboulnaga
Technical Di...
Upcoming SlideShare
Loading in …5
×

Oracle SOA Tips & Tricks

689 views

Published on

DOAG Conference & Exhibition 13

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Oracle SOA Tips & Tricks

  1. 1. Ahmed Aboulnaga Technical Director Raastech Oracle SOA Tips & Tricks Nuremberg Convention Center East Room 15: Prag November 13, 2013 16:00 – 16:45
  2. 2. © Raastech, Inc. 2013 | All rights reserved. Slide 2 of 61raastech.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 Specialized  Certified staff in multiple disciplines  OCE, OCA, OCP, 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
  3. 3. © Raastech, Inc. 2013 | All rights reserved. Slide 3 of 61raastech.com About Me  Ahmed Aboulnaga  15+ 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
  4. 4. © Raastech, Inc. 2013 | All rights reserved. Slide 4 of 61raastech.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 61raastech.com Agenda 1. A lot of random stuff
  6. 6. © Raastech, Inc. 2013 | All rights reserved. Slide 6 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  7. 7. © Raastech, Inc. 2013 | All rights reserved. Slide 7 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  8. 8. © Raastech, Inc. 2013 | All rights reserved. Slide 8 of 61raastech.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
  9. 9. © Raastech, Inc. 2013 | All rights reserved. Slide 9 of 61raastech.com Weak BAM reporting capabilities  No user sorting  No field expansion  Cumbersome navigation  Weak search capabilities
  10. 10. © Raastech, Inc. 2013 | All rights reserved. Slide 10 of 61raastech.com BAM runs only on IE  Yes, I know the history of BAM… but still unacceptable
  11. 11. © Raastech, Inc. 2013 | All rights reserved. Slide 11 of 61raastech.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
  12. 12. © Raastech, Inc. 2013 | All rights reserved. Slide 12 of 61raastech.com Avoid BAM RMI Adapter  BAM Adapter comes in 2 flavors; RMI and SOAP
  13. 13. © Raastech, Inc. 2013 | All rights reserved. Slide 13 of 61raastech.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
  14. 14. © Raastech, Inc. 2013 | All rights reserved. Slide 14 of 61raastech.com Understanding BAM inBatch=‘Y’  The BAM Adapter property inBatch batches requests into batches (Could this sentence sound any more messed up?)
  15. 15. © Raastech, Inc. 2013 | All rights reserved. Slide 15 of 61raastech.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
  16. 16. © Raastech, Inc. 2013 | All rights reserved. Slide 16 of 61raastech.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
  17. 17. © Raastech, Inc. 2013 | All rights reserved. Slide 17 of 61raastech.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
  18. 18. © Raastech, Inc. 2013 | All rights reserved. Slide 18 of 61raastech.com Understanding BAM inBatch=‘Y’ 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!
  19. 19. © Raastech, Inc. 2013 | All rights reserved. Slide 19 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  20. 20. © Raastech, Inc. 2013 | All rights reserved. Slide 20 of 61raastech.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
  21. 21. © Raastech, Inc. 2013 | All rights reserved. Slide 21 of 61raastech.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
  22. 22. © Raastech, Inc. 2013 | All rights reserved. Slide 22 of 61raastech.com OSB vs. Composite Tracing
  23. 23. © Raastech, Inc. 2013 | All rights reserved. Slide 23 of 61raastech.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)
  24. 24. © Raastech, Inc. 2013 | All rights reserved. Slide 24 of 61raastech.com OSB Report Action  Can filter by index  Header and body are displayed separately  Enabling header/body on both request/response is 4x slower  This is the only OSB functionality that is persisted
  25. 25. © Raastech, Inc. 2013 | All rights reserved. Slide 25 of 61raastech.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
  26. 26. © Raastech, Inc. 2013 | All rights reserved. Slide 26 of 61raastech.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)
  27. 27. © Raastech, Inc. 2013 | All rights reserved. Slide 27 of 61raastech.com OSB Caching  Result Caching (Coherence) on Business Service  To be used with data that is not frequently updated (e.g., product info)  Will not re-query backend until it has expired  15% to 25% performance improvement with DB Adapter
  28. 28. © Raastech, Inc. 2013 | All rights reserved. Slide 28 of 61raastech.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
  29. 29. © Raastech, Inc. 2013 | All rights reserved. Slide 29 of 61raastech.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”
  30. 30. © Raastech, Inc. 2013 | All rights reserved. Slide 30 of 61raastech.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
  31. 31. © Raastech, Inc. 2013 | All rights reserved. Slide 31 of 61raastech.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>
  32. 32. © Raastech, Inc. 2013 | All rights reserved. Slide 32 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  33. 33. © Raastech, Inc. 2013 | All rights reserved. Slide 33 of 61raastech.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”
  34. 34. © Raastech, Inc. 2013 | All rights reserved. Slide 34 of 61raastech.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)
  35. 35. © Raastech, Inc. 2013 | All rights reserved. Slide 35 of 61raastech.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
  36. 36. © Raastech, Inc. 2013 | All rights reserved. Slide 36 of 61raastech.com Avoid Mediator Parallel Routing Rules  See this presentation for details why: http://www.raastech.com/raastech/library/ Raastech_2013_Collaborate_SOASuite11gPerformance.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"
  37. 37. © Raastech, Inc. 2013 | All rights reserved. Slide 37 of 61raastech.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
  38. 38. © Raastech, Inc. 2013 | All rights reserved. Slide 38 of 61raastech.com Consider 1-way BPEL Instead of Queues  Queues are great ways to force asynchronicity of your integration  But using 1-way BPEL async invocations achieves the same thing  No need to maintain a queue; BPEL recovery tables are used internally BPEL BPEL
  39. 39. © Raastech, Inc. 2013 | All rights reserved. Slide 39 of 61raastech.com Use MDS for all WSDLs  Consider ORAMDS instead of HTTP for 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>
  40. 40. © Raastech, Inc. 2013 | All rights reserved. Slide 40 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  41. 41. © Raastech, Inc. 2013 | All rights reserved. Slide 41 of 61raastech.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
  42. 42. © Raastech, Inc. 2013 | All rights reserved. Slide 42 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated
  43. 43. © Raastech, Inc. 2013 | All rights reserved. Slide 43 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated (with Singleton property)
  44. 44. © Raastech, Inc. 2013 | All rights reserved. Slide 44 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned
  45. 45. © Raastech, Inc. 2013 | All rights reserved. Slide 45 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned (with Singleton property)
  46. 46. © Raastech, Inc. 2013 | All rights reserved. Slide 46 of 61raastech.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
  47. 47. © Raastech, Inc. 2013 | All rights reserved. Slide 47 of 61raastech.com Avoid Distributed Topics  Cannot have durable subscribers on distributed topics SOA Producer SOA Consumer SOA Consumer SOA Consumer
  48. 48. © Raastech, Inc. 2013 | All rights reserved. Slide 48 of 61raastech.com Avoid Distributed Topics  Cannot have durable subscribers on distributed topics SOA Producer SOA Consumer SOA Consumer SOA Consumer
  49. 49. © Raastech, Inc. 2013 | All rights reserved. Slide 49 of 61raastech.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 61raastech.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
  51. 51. © Raastech, Inc. 2013 | All rights reserved. Slide 51 of 61raastech.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
  52. 52. © Raastech, Inc. 2013 | All rights reserved. Slide 52 of 61raastech.com Direct Binding in SOA? Yes or No?
  53. 53. © Raastech, Inc. 2013 | All rights reserved. Slide 53 of 61raastech.com Direct Binding? Yes or No?  No  Avoid direct binding between SOA Suite and OSB  SOAP is a better performant protocol than RMI
  54. 54. © Raastech, Inc. 2013 | All rights reserved. Slide 54 of 61raastech.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>
  55. 55. © Raastech, Inc. 2013 | All rights reserved. Slide 55 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff
  56. 56. © Raastech, Inc. 2013 | All rights reserved. Slide 56 of 61raastech.com Why consider a 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
  57. 57. © Raastech, Inc. 2013 | All rights reserved. Slide 57 of 61raastech.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
  58. 58. © Raastech, Inc. 2013 | All rights reserved. Slide 58 of 61raastech.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)
  59. 59. © Raastech, Inc. 2013 | All rights reserved. Slide 59 of 61raastech.com Agenda 1. BAM stuff 2. OSB stuff 3. SOA Suite stuff 4. WebLogic stuff 5. Integration stuff 6. OSR stuff 7. Summary
  60. 60. © Raastech, Inc. 2013 | All rights reserved. Slide 60 of 61raastech.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
  61. 61. © Raastech, Inc. 2013 | All rights reserved. Slide 61 of 61raastech.com Contact Information  Ahmed Aboulnaga Technical Director ahmed.aboulnaga@raastech.com

×