SlideShare a Scribd company logo
1 of 61
Download to read offline
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

More Related Content

Similar to Oracle SOA Tips & Tricks

CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
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
 
Upgrading to Oracle SOA Suite 11g While Maintaining 100% Uptime
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
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
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
 
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!
Double the Performance of Oracle SOA Suite 11g? Absolutely!Revelation Technologies
 
Adobe Ask the AEM Community Expert Session Oct 2016
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
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Understanding and Developing Web Services - For DBAs and Developers
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 DevelopersRevelation Technologies
 
Understanding and Developing Web Services: For DBAs and Database Developers
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 DevelopersRevelation Technologies
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
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 CalciteChristian Tzolov
 
#JavadayEcuador Monolith to Microservices
#JavadayEcuador Monolith to Microservices#JavadayEcuador Monolith to Microservices
#JavadayEcuador Monolith to MicroservicesAlberto Salazar
 
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...
Transaction Control – a Functional Approach to Modular Transaction Management...mfrancis
 
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...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...Alberto Salazar
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityMarkus Michalewicz
 
IBM Informix - What's new in 12.10.xc7
IBM Informix - What's new in 12.10.xc7IBM Informix - What's new in 12.10.xc7
IBM Informix - What's new in 12.10.xc7Pradeep Natarajan
 
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) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...Amazon Web Services
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
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 talkEdward Burns
 
Techtonic Summit NYC
Techtonic Summit NYCTechtonic Summit NYC
Techtonic Summit NYCBob Wise
 

Similar to Oracle SOA Tips & Tricks (20)

CloudCrowd - RazorFish Presentation on Building Hybrid Public/Private Cloud
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
 
Upgrading to Oracle SOA Suite 11g While Maintaining 100% Uptime
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% Uptime
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
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
 
An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
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!
Double the Performance of Oracle SOA Suite 11g? Absolutely!
 
Adobe Ask the AEM Community Expert Session Oct 2016
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
 
Oracle SOA Tips & Tricks (whitepaper)
Oracle SOA Tips & Tricks (whitepaper)Oracle SOA Tips & Tricks (whitepaper)
Oracle SOA Tips & Tricks (whitepaper)
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Understanding and Developing Web Services - For DBAs and Developers
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
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
 
What is the Oracle Cloud?
What is the Oracle Cloud?What is the Oracle Cloud?
What is the Oracle Cloud?
 
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
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
 
#JavadayEcuador Monolith to Microservices
#JavadayEcuador Monolith to Microservices#JavadayEcuador Monolith to Microservices
#JavadayEcuador Monolith to Microservices
 
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...
Transaction Control – a Functional Approach to Modular Transaction Management...
 
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...
Oracle code bogota-Handle the Complexity of Migrate to Microservices from Mon...
 
Oracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous AvailabilityOracle RAC 12c Rel. 2 for Continuous Availability
Oracle RAC 12c Rel. 2 for Continuous Availability
 
IBM Informix - What's new in 12.10.xc7
IBM Informix - What's new in 12.10.xc7IBM Informix - What's new in 12.10.xc7
IBM Informix - What's new in 12.10.xc7
 
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) ...
From Monolith to Microservices (And All the Bumps along the Way) (CON360-R1) ...
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
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
 
Techtonic Summit NYC
Techtonic Summit NYCTechtonic Summit NYC
Techtonic Summit NYC
 

More from Revelation Technologies

Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTAutomating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTRevelation Technologies
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudRevelation Technologies
 
Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...Revelation Technologies
 
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices Framework
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices FrameworkIntroducing the Oracle Cloud Infrastructure (OCI) Best Practices Framework
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices FrameworkRevelation Technologies
 
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Revelation Technologies
 
PTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandPTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandRevelation Technologies
 
PTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownPTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownRevelation Technologies
 
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Revelation Technologies
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Revelation Technologies
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Revelation Technologies
 
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to KnowThe Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to KnowRevelation Technologies
 
Compute Cloud Performance Showdown: Amazon Web Services, Oracle Cloud, IBM ...
Compute Cloud  Performance Showdown: Amazon Web Services, Oracle  Cloud, IBM ...Compute Cloud  Performance Showdown: Amazon Web Services, Oracle  Cloud, IBM ...
Compute Cloud Performance Showdown: Amazon Web Services, Oracle Cloud, IBM ...Revelation Technologies
 
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudSecuring your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudRevelation Technologies
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedRevelation Technologies
 
Developing Web Services from Scratch - For DBAs and Database Developers
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
 

More from Revelation Technologies (20)

Operating System Security in the Cloud
Operating System Security in the CloudOperating System Security in the Cloud
Operating System Security in the Cloud
 
Getting Started with Terraform
Getting Started with TerraformGetting Started with Terraform
Getting Started with Terraform
 
Getting Started with API Management
Getting Started with API ManagementGetting Started with API Management
Getting Started with API Management
 
Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and RESTAutomating Cloud Operations: Everything You Wanted to Know about cURL and REST
Automating Cloud Operations: Everything You Wanted to Know about cURL and REST
 
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the CloudGetting Started with API Management – Why It's Needed On-prem and in the Cloud
Getting Started with API Management – Why It's Needed On-prem and in the Cloud
 
Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...Automating Cloud Operations - Everything you wanted to know about cURL and RE...
Automating Cloud Operations - Everything you wanted to know about cURL and RE...
 
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices Framework
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices FrameworkIntroducing the Oracle Cloud Infrastructure (OCI) Best Practices Framework
Introducing the Oracle Cloud Infrastructure (OCI) Best Practices Framework
 
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
 
PTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on DemandPTK Issue 72: Delivering a Platform on Demand
PTK Issue 72: Delivering a Platform on Demand
 
PTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance ShowdownPTK Issue 71: The Compute Cloud Performance Showdown
PTK Issue 71: The Compute Cloud Performance Showdown
 
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
Everything You Need to Know About the Microsoft Azure and Oracle Cloud Interc...
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
 
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
Compute Cloud Performance Showdown: 18 Months Later (OCI, AWS, IBM Cloud, GCP...
 
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to KnowThe Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
 
Cloud Integration Strategy
Cloud Integration StrategyCloud Integration Strategy
Cloud Integration Strategy
 
Compute Cloud Performance Showdown: Amazon Web Services, Oracle Cloud, IBM ...
Compute Cloud  Performance Showdown: Amazon Web Services, Oracle  Cloud, IBM ...Compute Cloud  Performance Showdown: Amazon Web Services, Oracle  Cloud, IBM ...
Compute Cloud Performance Showdown: Amazon Web Services, Oracle Cloud, IBM ...
 
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudSecuring your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
 
Hands-On with Oracle SOA Cloud Service
Hands-On with Oracle SOA Cloud ServiceHands-On with Oracle SOA Cloud Service
Hands-On with Oracle SOA Cloud Service
 
Oracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting StartedOracle BPM Suite Development: Getting Started
Oracle BPM Suite Development: Getting Started
 
Developing Web Services from Scratch - For DBAs and Database Developers
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
 

Recently uploaded

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

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