oracle soa suite and coherence dehydration

49
Extreme performance with Oracle SOA Suite 12.2, Coherence and Exalogic Helsinki, Wednesday , May 17, 2017 By Michel Schildmeijer,

Upload: michel-schildmeijer

Post on 29-Jan-2018

528 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Oracle SOA suite and  Coherence dehydration

Extreme performance with Oracle

SOA Suite 12.2, Coherence and

Exalogic

Helsinki, Wednesday , May 17, 2017

By Michel Schildmeijer,

Page 2: Oracle SOA suite and  Coherence dehydration

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

Page 3: Oracle SOA suite and  Coherence dehydration

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

Page 4: Oracle SOA suite and  Coherence dehydration

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

Page 5: Oracle SOA suite and  Coherence dehydration

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

Page 6: Oracle SOA suite and  Coherence dehydration

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

Regis

try a

nd R

epository

Manage a

nd m

onitor

Page 7: Oracle SOA suite and  Coherence dehydration

Choice: In place upgrade SOA 11g to 12c

19-5-20177

Page 8: Oracle SOA suite and  Coherence dehydration

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

Page 9: Oracle SOA suite and  Coherence dehydration

19-5-2017Ruimte voor voettekst9

SOA Infrastructure PlatformSOA Infrastructure Platform

WebLogic Server

Managed Server(S)

Java EE deployed Apps forSOA

Webapps

EJB/MDB

RAR

Software & Config files

Oracle Linux

SOA WebLogic Cluster

Operating System

Installation & Config

Domain Configuration

JDBC

JMS

HTTP(S)

JMX

Page 10: Oracle SOA suite and  Coherence dehydration

Side by side Upgrade SOA 11g to 12c

19-5-2017Redesign & Rebuild10

Page 11: Oracle SOA suite and  Coherence dehydration

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

Page 12: Oracle SOA suite and  Coherence dehydration

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

Page 13: Oracle SOA suite and  Coherence dehydration

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

Page 14: Oracle SOA suite and  Coherence dehydration

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

Page 15: Oracle SOA suite and  Coherence dehydration

19-5-2017Ruimte voor voettekst15

Page 16: Oracle SOA suite and  Coherence dehydration

•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

Page 17: Oracle SOA suite and  Coherence dehydration

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

Page 18: Oracle SOA suite and  Coherence dehydration

19-5-2017Ruimte voor voettekst18

Page 19: Oracle SOA suite and  Coherence dehydration

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

Page 20: Oracle SOA suite and  Coherence dehydration

19-5-2017Ruimte voor voettekst20

Page 21: Oracle SOA suite and  Coherence dehydration

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

Page 22: Oracle SOA suite and  Coherence dehydration

Different

Vendors

across the

stack

Integrated

Tuned

Optimized

Consolidated

Application

Platform

Layer

Compute

Layer

Storage

Layer

I/O Layer

OS Layer

HP Blades

HP Storage

HP Networking

150+ partsMonths from start to finish before

its ready for production

1 Engineered SystemUnpack and ready for production

“in one day”

Building BlocksEngineered versus “common stack”

Page 23: Oracle SOA suite and  Coherence dehydration

5/19/201723

• The “Magic” Switch

WebLogic boost

Page 24: Oracle SOA suite and  Coherence dehydration

5/19/201724

• WebLogic Exalogic Domain Enhancements

• -Dweblogic.ScatteredReadsEnabled &

-Dweblogic.GatheredWritesEnabled

• Better I/O in high network volume environments

• Uses Native IO Socket Channels optimized

• -Dweblogic.replication.enableLazyDeserialization

• Clustered session replication

WebLogic boost

Page 25: Oracle SOA suite and  Coherence dehydration

5/19/201725

WebLogic boost

• # Enable Java Exalogic optimizations

EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES}

-Xlargepages:exitOnFailure=false -

Doracle.xdkjava.exalogic.optimization=true

-Dweblogic.ScatteredReadsEnabled=true

-Dweblogic.GatheredWritesEnabled=true

-

Dweblogic.replication.enableLazyDeserialization=true

"

export EXTRA_JAVA_PROPERTIES

Page 26: Oracle SOA suite and  Coherence dehydration

More optimizations

• Optimal use of Infiniband

• Clusters and channels

• Oracle Traffic Director

• SOA Suite and Coherence

Page 27: Oracle SOA suite and  Coherence dehydration

Optimal use of Infiniband

• Because of high speed IB network we could

• Store all persistency in database

• JMS TLogs

• JMS FileStores

Page 28: Oracle SOA suite and  Coherence dehydration

Optimal use of Infiniband

Page 29: Oracle SOA suite and  Coherence dehydration

JDBC GridLink over Infiniband

• jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROT

OCOL=tcp)(HOST=<IBVIP>)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=<DB Service>)))

• JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.net.preferIPv4Stack=true -Doracle.net.SDP=true"

setDomainEnvsetDomainEnv

JDBCJDBC

Page 30: Oracle SOA suite and  Coherence dehydration

WebLogic Channels

Page 31: Oracle SOA suite and  Coherence dehydration

5/19/201731

Page 32: Oracle SOA suite and  Coherence dehydration

5/19/201732

Page 33: Oracle SOA suite and  Coherence dehydration

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

Page 34: Oracle SOA suite and  Coherence dehydration

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

Page 35: Oracle SOA suite and  Coherence dehydration

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

Page 36: Oracle SOA suite and  Coherence dehydration

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 adresslocalhost)-Dtangosol.coherence.wka2=(IPoIBadress1)-Dtangosol.coherence.localhost=(IPoIBadress2)

Page 37: Oracle SOA suite and  Coherence dehydration

SOA and Coherence

• Coherence integrate with SOA Suite:• Activation of Coherence Adapter

Page 38: Oracle SOA suite and  Coherence dehydration

SOA and Coherence

• Coherence

Configurations:

• file adapter-soa-config.xml

• New EIS Adapter

Page 39: Oracle SOA suite and  Coherence dehydration

SOA and Coherence

Page 40: Oracle SOA suite and  Coherence dehydration

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.

Page 41: Oracle SOA suite and  Coherence dehydration

5/19/201741

Page 42: Oracle SOA suite and  Coherence dehydration

5/19/201742

Page 43: Oracle SOA suite and  Coherence dehydration

5/19/201743

Page 44: Oracle SOA suite and  Coherence dehydration

5/19/201744

Page 45: Oracle SOA suite and  Coherence dehydration

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

Page 46: Oracle SOA suite and  Coherence dehydration

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

Page 47: Oracle SOA suite and  Coherence dehydration

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

Page 48: Oracle SOA suite and  Coherence dehydration

Any Questions?Let’s keep in touch!!

The ACE Community

[email protected]

https://community.oracle.com/blogs/mnemonic

https://www.qualogy.com/nl/techblog/author/michel-schildmeijer

Page 49: Oracle SOA suite and  Coherence dehydration

Any Questions?

Let’s keep in touch!!

@MNEMONIC01@Qualogy_news

nl.linkedin.com/in/mschldmr