Oracle SOA Tips & Tricks

Revelation Technologies
Revelation TechnologiesTechnical Director at Revelation Technologies
Ahmed Aboulnaga
Technical Director
Raastech
Oracle SOA Tips & Tricks
Nuremberg Convention Center East
Room 15: Prag
November 13, 2013
16:00 – 16:45
© 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
© 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
© 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
© 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
4. WebLogic stuff
5. Integration stuff
6. OSR stuff
© 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
© 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
© 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
© 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
© 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
© Raastech, Inc. 2013 | All rights reserved. Slide 12 of 61raastech.com
Avoid BAM RMI Adapter
 BAM Adapter comes in 2 flavors; RMI and SOAP
© 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
© 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?)
© 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
© 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
© 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
© 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!
© 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
© 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
© 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
© 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 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)
© 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
© 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
© 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)
© 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
© 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
© 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”
© 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
© 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>
© 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
© 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”
© 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)
© 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
© 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"
© 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
© 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
© 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>
© 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
© 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
© Raastech, Inc. 2013 | All rights reserved. Slide 42 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Policy Replicated
© Raastech, Inc. 2013 | All rights reserved. Slide 43 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Policy Replicated (with Singleton property)
© Raastech, Inc. 2013 | All rights reserved. Slide 44 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Policy Partitioned
© Raastech, Inc. 2013 | All rights reserved. Slide 45 of 61raastech.com
Singleton property with JMS Topics
 Forwarding Policy Partitioned (with Singleton property)
© 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
© 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
© 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
© 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
© 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
© 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
© 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 binding between SOA Suite and OSB
 SOAP is a better performant protocol than RMI
© 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>
© 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
© 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
© 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
© 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)
© 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
© 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
© Raastech, Inc. 2013 | All rights reserved. Slide 61 of 61raastech.com
Contact Information
 Ahmed Aboulnaga
Technical Director
ahmed.aboulnaga@raastech.com
1 of 61

Recommended

Little Known Tips & Tricks from Across the Oracle SOA Landscape by
Little Known Tips & Tricks from Across the Oracle SOA LandscapeLittle Known Tips & Tricks from Across the Oracle SOA Landscape
Little Known Tips & Tricks from Across the Oracle SOA LandscapeRevelation Technologies
844 views72 slides
What Every Client Should Do on Their Oracle SOA Projects by
What Every Client Should Do on Their Oracle SOA ProjectsWhat Every Client Should Do on Their Oracle SOA Projects
What Every Client Should Do on Their Oracle SOA ProjectsRevelation Technologies
1.4K views54 slides
Oracle SOA Development - Hands-On from Start to Finish by
Oracle SOA Development - Hands-On from Start to FinishOracle SOA Development - Hands-On from Start to Finish
Oracle SOA Development - Hands-On from Start to FinishRevelation Technologies
1.2K views102 slides
An Unbiased Look: Oracle SOA Suite 12c by
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cRevelation Technologies
1.5K views69 slides
Learn Oracle WebLogic Server 12c Administration by
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation Technologies
3.3K views81 slides
Learn Oracle WebLogic Server 12c Administration by
Learn Oracle WebLogic Server 12c AdministrationLearn Oracle WebLogic Server 12c Administration
Learn Oracle WebLogic Server 12c AdministrationRevelation Technologies
518 views81 slides

More Related Content

Similar to Oracle SOA Tips & Tricks

CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud by
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudNati Shalom
5.4K views17 slides
Upgrading to Oracle SOA Suite 11g While Maintaining 100% Uptime by
Upgrading to Oracle SOA Suite 11g While Maintaining 100% UptimeUpgrading to Oracle SOA Suite 11g While Maintaining 100% Uptime
Upgrading to Oracle SOA Suite 11g While Maintaining 100% UptimeRevelation Technologies
420 views32 slides
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite by
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteVMware Tanzu
1.8K views40 slides
An Unbiased Look: Oracle SOA Suite 12c by
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cRevelation Technologies
1.2K views70 slides
Double the Performance of Oracle SOA Suite 11g? Absolutely! by
Double the Performance of Oracle SOA Suite 11g? Absolutely!Double the Performance of Oracle SOA Suite 11g? Absolutely!
Double the Performance of Oracle SOA Suite 11g? Absolutely!Revelation Technologies
1.5K views44 slides
Adobe Ask the AEM Community Expert Session Oct 2016 by
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016AdobeMarketingCloud
1.3K views33 slides

Similar to Oracle SOA Tips & Tricks(20)

CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud by Nati Shalom
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private CloudCloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
Nati Shalom5.4K views
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite by VMware Tanzu
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
VMware Tanzu1.8K views
Adobe Ask the AEM Community Expert Session Oct 2016 by AdobeMarketingCloud
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
AdobeMarketingCloud1.3K views
Understanding and Developing Web Services - For DBAs and Developers by Revelation Technologies
Understanding and Developing Web Services - For DBAs and DevelopersUnderstanding and Developing Web Services - For DBAs and Developers
Understanding and Developing Web Services - For DBAs and Developers
Understanding and Developing Web Services: For DBAs and Database Developers by Revelation Technologies
Understanding and Developing Web Services: For DBAs and Database DevelopersUnderstanding and Developing Web Services: For DBAs and Database Developers
Understanding and Developing Web Services: For DBAs and Database Developers
Advantages And Disadvantages Of Camelcase And Underscoc by Nicole Hodges
Advantages And Disadvantages Of Camelcase And UnderscocAdvantages And Disadvantages Of Camelcase And Underscoc
Advantages And Disadvantages Of Camelcase And Underscoc
Nicole Hodges5 views
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite by Christian Tzolov
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache CalciteEnable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
Christian Tzolov75 views
#JavadayEcuador Monolith to Microservices by Alberto Salazar
#JavadayEcuador Monolith to Microservices#JavadayEcuador Monolith to Microservices
#JavadayEcuador Monolith to Microservices
Alberto Salazar150 views
Transaction Control – a Functional Approach to Modular Transaction Management... by mfrancis
Transaction Control – a Functional Approach to Modular Transaction Management...Transaction Control – a Functional Approach to Modular Transaction Management...
Transaction Control – a Functional Approach to Modular Transaction Management...
mfrancis884 views
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon... by Alberto Salazar
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
Alberto Salazar70 views
Oracle RAC 12c Rel. 2 for Continuous Availability by Markus Michalewicz
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous Availability
Markus Michalewicz388 views
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ... by Amazon Web Services
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
Amazon Web Services1.1K views
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk by Edward Burns
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Edward Burns907 views

More from Revelation Technologies

Oracle BPM Suite Development: Getting Started by
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedRevelation Technologies
531 views26 slides
Developing Web Services from Scratch - For DBAs and Database Developers by
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database DevelopersRevelation Technologies
330 views61 slides
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U... by
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Revelation Technologies
1.4K views64 slides
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance by
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceRevelation Technologies
1K views78 slides
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud... by
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Revelation Technologies
346 views63 slides
Getting Started with Security for your Oracle SOA Suite Integrations by
Getting Started with Security for your Oracle SOA Suite IntegrationsGetting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite IntegrationsRevelation Technologies
1.3K views78 slides

More from Revelation Technologies(20)

Developing Web Services from Scratch - For DBAs and Database Developers by Revelation Technologies
Developing Web Services from Scratch - For DBAs and Database DevelopersDeveloping Web Services from Scratch - For DBAs and Database Developers
Developing Web Services from Scratch - For DBAs and Database Developers
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U... by Revelation Technologies
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Domain Partitions and Multitenancy in Oracle WebLogic Server 12c - Why It's U...
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance by Revelation Technologies
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud... by Revelation Technologies
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Anyone Can Build a Site, Even You! Create a Microsite with Oracle Sites Cloud...
Getting Started with Security for your Oracle SOA Suite Integrations by Revelation Technologies
Getting Started with Security for your Oracle SOA Suite IntegrationsGetting Started with Security for your Oracle SOA Suite Integrations
Getting Started with Security for your Oracle SOA Suite Integrations
First Impressions: Docker in the Cloud with Oracle Container Cloud Service by Revelation Technologies
First Impressions: Docker in the Cloud with Oracle Container Cloud ServiceFirst Impressions: Docker in the Cloud with Oracle Container Cloud Service
First Impressions: Docker in the Cloud with Oracle Container Cloud Service
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown by Revelation Technologies
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On ShowdownOracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Compute Cloud vs. Amazon Web Services EC2 -- A Hands-On Showdown
Oracle Java & Developer Cloud Service: What It Does & Doesn't Do by Revelation Technologies
Oracle Java & Developer Cloud Service: What It Does & Doesn't DoOracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Java & Developer Cloud Service: What It Does & Doesn't Do
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review by Revelation Technologies
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On ReviewOracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Oracle Compute Cloud Service vs. Amazon Web Services EC2 : A Hands-On Review
Version Uncontrolled - How to Manage Your Version Control (whitepaper) by Revelation Technologies
Version Uncontrolled - How to Manage Your Version Control (whitepaper)Version Uncontrolled - How to Manage Your Version Control (whitepaper)
Version Uncontrolled - How to Manage Your Version Control (whitepaper)
Usability - Ignored by Developers and Undervalued by Managers (article) by Revelation Technologies
Usability - Ignored by Developers and Undervalued by Managers (article)Usability - Ignored by Developers and Undervalued by Managers (article)
Usability - Ignored by Developers and Undervalued by Managers (article)
Understanding and Developing Web Services - For DBAs and Developers (whitepaper) by Revelation Technologies
Understanding and Developing Web Services - For DBAs and Developers (whitepaper)Understanding and Developing Web Services - For DBAs and Developers (whitepaper)
Understanding and Developing Web Services - For DBAs and Developers (whitepaper)
What Every Client Should Do On Their Oracle SOA Projects (whitepaper) by Revelation Technologies
What Every Client Should Do On Their Oracle SOA Projects (whitepaper)What Every Client Should Do On Their Oracle SOA Projects (whitepaper)
What Every Client Should Do On Their Oracle SOA Projects (whitepaper)
What Every Client Should Do On Their Oracle SOA Projects (article) by Revelation Technologies
What Every Client Should Do On Their Oracle SOA Projects (article)What Every Client Should Do On Their Oracle SOA Projects (article)
What Every Client Should Do On Their Oracle SOA Projects (article)

Recently uploaded

"Fast Start to Building on AWS", Igor Ivaniuk by
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor IvaniukFwdays
36 views76 slides
Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
21 views37 slides
Data-centric AI and the convergence of data and model engineering: opportunit... by
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...Paolo Missier
29 views40 slides
MemVerge: Past Present and Future of CXL by
MemVerge: Past Present and Future of CXLMemVerge: Past Present and Future of CXL
MemVerge: Past Present and Future of CXLCXL Forum
110 views26 slides
Understanding GenAI/LLM and What is Google Offering - Felix Goh by
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix GohNUS-ISS
39 views33 slides
The Importance of Cybersecurity for Digital Transformation by
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
25 views26 slides

Recently uploaded(20)

"Fast Start to Building on AWS", Igor Ivaniuk by Fwdays
"Fast Start to Building on AWS", Igor Ivaniuk"Fast Start to Building on AWS", Igor Ivaniuk
"Fast Start to Building on AWS", Igor Ivaniuk
Fwdays36 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier29 views
MemVerge: Past Present and Future of CXL by CXL Forum
MemVerge: Past Present and Future of CXLMemVerge: Past Present and Future of CXL
MemVerge: Past Present and Future of CXL
CXL Forum110 views
Understanding GenAI/LLM and What is Google Offering - Felix Goh by NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS39 views
The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS25 views
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy by Fwdays
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
"Role of a CTO in software outsourcing company", Yuriy Nakonechnyy
Fwdays40 views
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad... by Fwdays
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad..."Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
"Ukrainian Mobile Banking Scaling in Practice. From 0 to 100 and beyond", Vad...
Fwdays40 views
Liqid: Composable CXL Preview by CXL Forum
Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum121 views
TE Connectivity: Card Edge Interconnects by CXL Forum
TE Connectivity: Card Edge InterconnectsTE Connectivity: Card Edge Interconnects
TE Connectivity: Card Edge Interconnects
CXL Forum96 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin70 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi113 views
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk86 views
JCon Live 2023 - Lice coding some integration problems by Bernd Ruecker
JCon Live 2023 - Lice coding some integration problemsJCon Live 2023 - Lice coding some integration problems
JCon Live 2023 - Lice coding some integration problems
Bernd Ruecker67 views
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ... by Fwdays
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
Fwdays33 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS31 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views
The details of description: Techniques, tips, and tangents on alternative tex... by BookNet Canada
The details of description: Techniques, tips, and tangents on alternative tex...The details of description: Techniques, tips, and tangents on alternative tex...
The details of description: Techniques, tips, and tangents on alternative tex...
BookNet Canada110 views

Oracle SOA Tips & Tricks

  • 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. © 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. © 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. © 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. © Raastech, Inc. 2013 | All rights reserved. Slide 5 of 61raastech.com Agenda 1. A lot of random stuff
  • 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © Raastech, Inc. 2013 | All rights reserved. Slide 22 of 61raastech.com OSB vs. Composite Tracing
  • 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © Raastech, Inc. 2013 | All rights reserved. Slide 42 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated
  • 43. © Raastech, Inc. 2013 | All rights reserved. Slide 43 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Replicated (with Singleton property)
  • 44. © Raastech, Inc. 2013 | All rights reserved. Slide 44 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned
  • 45. © Raastech, Inc. 2013 | All rights reserved. Slide 45 of 61raastech.com Singleton property with JMS Topics  Forwarding Policy Partitioned (with Singleton property)
  • 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. © 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. © 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. © 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. © 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. © 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. © Raastech, Inc. 2013 | All rights reserved. Slide 52 of 61raastech.com Direct Binding in SOA? Yes or No?
  • 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. © 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. © 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. © 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. © 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. © 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. © 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. © 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. © Raastech, Inc. 2013 | All rights reserved. Slide 61 of 61raastech.com Contact Information  Ahmed Aboulnaga Technical Director ahmed.aboulnaga@raastech.com