(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
Oracle SOA suite and Coherence dehydration
1. Extreme performance with Oracle
SOA Suite 12.2, Coherence and
Exalogic
Helsinki, Wednesday , May 17, 2017
By Michel Schildmeijer,
2. Speaker and Contents
• Michel Schildmeijer, Oracle ACE
• 17 years WebLogic, Middleware, Integration
Contents:
• Dehydration on SOA, what is it?
• How configure Oracle SOA Suite for Exalogic
• SOA and Coherence
□ How can SOA make use of coherence for dehydration?
19-5-2017Ruimte voor voettekst2
3. The case
• A credit insurance company
• Lot’s of initiatives to transform to new technology
• Key platform was the “Blue Stack”
• Current Oracle Fusion Middleware Platform on
conventional hardware
19-5-2017Ruimte voor voettekst3
4. First: Generic Migration Plan
19-5-20174
Period 1 Period 2 Period 3 Period 4
<nn> weeks <nn> weeks <nn> weeks
Inventory & Design
Develop, Deploy, Build
Rollout & TestRollout & Test
Oracle Fusion Middleware 12c Migration Path
Operational Ready & LiveOperational Ready & Live
<nn> weeks
5. Pre-analysis Upgrade SOA 11g to 12c
• Pre-analysis for upgrade areas of complexity:
□ Use custom DB scripts for purge, partitioning
□ Custom code using SOA locator APIs
□ Significant performance tuning in 11g?
□ Long running Instances?
19-5-2017Redesign & Rebuild5
6. 19-5-2017Ruimte voor voettekst6
SOA logical landscape
Process Services
Orchestration
System BPM
Business Logic
Databases
Data Services
Enterprise Service Bus (ESB)
Systems of Record
Web Portals
Human Business Process Management (BPM)
Security
RegistryandRepository
Manageandmonitor
8. Chosen: Side by side Upgrade SOA 11g to 12c
• New build domain configuration
• Deploy composites after upgrade
• Not for long-running instances
19-5-2017Redesign & Rebuild8
9. 19-5-2017Ruimte voor voettekst9
SOA Infrastructure PlatformSOA Infrastructure Platform
WebLogic Server
Managed Server(S)
Java EE deployed Apps for
SOA
Webapps
EJB/MDB
RAR
Software & Config files
Oracle Linux
SOA WebLogic Cluster
Operating System
Installation & Config
Domain Configuration
JDBC
JMS
HTTP(S)
JMX
10. Side by side Upgrade SOA 11g to 12c
19-5-2017Redesign & Rebuild10
11. Dehydration of SOA Suite, what is it?
• Statelessness - Services minimize resource
consumption by deferring the management of state
information when necessary
• State is maintained and offloaded in a dehydration
store
• An instance is created every time a new inbound call
arrives
• Every important step is maintained using a
dehydration point
19-5-2017Ruimte voor voettekst11
12. Why Dehydration?
• Long running instances waiting for response consumes
memory and CPU
• While waiting for the response the bpel engine can
store the process, thus freeing up server resources.
• Over the life cycle of the BPEL instance, the instance
with the current state of execution may be saved in
database.
19-5-2017Ruimte voor voettekst12
13. Dehydration continued
• Storing status of BPEL process(long running process,
asynchronous process) into database tables
• SOA_INFRA schema is the dehydration store contains tables
to hold the meta data of the process.
• Synchronous Process
□ Process gets dehydrated only at the end of the process.
□ Using Dehydrate activity we can explicitly dehydrate
process state if required.
• Asynchronous Process
□ Automatically dehydrated the process based on the
activities used.
19-5-2017Ruimte voor voettekst13
14. Dehydration store tables
• Cube_Instance: Stores the information about the
composite instance that gets created.
• Cube_scope: Stores information about the scopes and
variables declared and used.
• DLV_Message: All the incoming payload details are
stored.
• Invoke_Message: All the outgoing message payload
details are stored.
• Audit_Trail: Used to store information xml rendered in
EM console.
19-5-2017Ruimte voor voettekst14
16. • Transaction speeds are constrained by database
I/O at dehydration points
• Persisting state and flow data cause substantial
database growth
• Purging database at regular intervals is a
mandatory operational overhead
Oracle Confidential – Internal/Restricted/Highly Restricted16
Challenges
17. A possible Solution
• Choice to persist flow and instance data only for faulted
transactions
• Coherence cache for running transactions (flow trace, BPEL
state, audit trail and payloads)
• Tracks and updates already persisted transactions
• Choice to defer writing to a database - update in batches
• Configurable write behind thread
• Metrics to track and evaluate state of transactions
19. But first
• Design a SOA Suite infrastructure which makes use of:
□ Extreme performance features
□ Stable and solid solution architecture
□ Exalogic network capabilities
19-5-2017Ruimte voor voettekst19
21. Exalogic X5-2 Converged Infrastructure
Integrated Network Attached Storage
ZFS Clustered for high availability
80 TB SAS disk, 6,4 TB read cache, 800
GB write cache
Clones, snapshots, remote replication
Integrated Storage
40 Gb/sec internal I/O backplane
10 Gigabit Ethernet connectivity to
datacenter
Internal I/O Fabric and Data Center Conn.
2 socket, 8-core, 2.9 GHz Intel Xeon
processors
7.5 TB of DRAM
1080 cores in a Full Rack; also available in
1/2,1/4,1/8 or multi-rack configurations
Redundant SSD, power, cooling,
InfiniBand
Compute Power
33. WebLogic Channels
Several channels to define
• WebLogic Admin Channel.
• This is the default channel to be used by the
AdminServer.
• Internal network channels for HTTP and
T3 (Cluster, Coherence, OTD)
• These channels are used for internal traffic:
• Cluster communication
• Application High Availability and Serialization
• Application caching with Coherence
• External network channels for SOA
34. JMS Messaging Optimization
• The way message are temporary stored,
compressed and decompressed can be set
with these optimizations
• JMS Lockless Request Manager.
• A specific WebLogic JMS MBean must be set
for using concurrent messaging for JMS queue
35. JMS Messaging Optimization
• The way message are temporary stored,
compressed and decompressed can be set
with these optimizations
• JMS Lockless Request Manager.
• A specific WebLogic JMS MBean must be set
for using concurrent messaging for JMS queue
ServerMBean.useConcurrentQueueForRequestManager=true
36. SOA and Coherence
• Coherence in JVM or separate coherence
cluster
• Coherence cluster needs own JVMs
• Coherence WKA addresses use over Infiniband
-Dtangosol.coherence.wka1=(IPoIB adress
localhost)-Dtangosol.coherence.wka2=(IPoIB
adress1)-Dtangosol.coherence.localhost=(IPoIB
adress2)
37. SOA and Coherence
• Coherence integrate with SOA Suite:
• Activation of Coherence Adapter
38. SOA and Coherence
• Coherence
Configurations:
• file adapter-
soa-
config.xml
• New EIS
Adapter
40. SOA and Coherence
• Test Coherence Adapter:
• WSDL call a different adapter reference for each
operation.
• Put (Put item in cache),
• Get (Get item from cache),
• Remove (Remove item from cache) or
• Query (Query item from cache),
• list – retrieve all the objects in the cache. listKeys
– retrieve all the keys of the objects in the cache;
• removeAll – remove all the objects from the cache.
45. SOA BPEL and Coherence
• Some specific settings set in JVM for Coherence:
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}
-Dsoa.archives.dir=${SOA_ORACLE_HOME}/soa
-Dsoa.oracle.home=${SOA_ORACLE_HOME}
-Dsoa.instance.home=${DOMAIN_HOME}
-Dtangosol.coherence.log=jdk
• Transport optimization
-Dtangosol.coherence.transport.reliable=imb -
Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl
• Take the database role in committing and rollback
-Dweblogic.transaction.blocking.commit=true
-Dweblogic.transaction.blocking.rollback=true
46. SOA BPEL and Coherence
• Some specific settings for SOA:
• CacheEnabled=true
• -Dbpel.cache.localStorage=true
• -Dbpel.cache.threadCount=<value>
• -Dbpel.cache.cubeInstance.sizeLimit=<value>
• -Dbpel.cache.invokeMessage.sizeLimit=<value>
• -Dbpel.cache.deliveryMessage.sizeLimit=<value>
• -Dbpel.cache.deliverySubscription.sizeLimit=<value>
Note that all settings relate to some form of dehydration
47. The benefits
• Minimize database traffic by using coherence cache
• Regulate amount of dehydrations to the database
• Use ZFS storage, high speed with Infiniband
• Besides all the Exalogic benefits, also to be used
on non Exalogic hardware
48. Any Questions?
Let’s keep in touch!!
The ACE Community
mschildmeijer@qualogy.com
https://community.oracle.com/blogs/mnemonic
https://www.qualogy.com/nl/techblog/author/michel-
schildmeijer