Vous êtes sur la page 1sur 65

Oracle SOA Suite 12.2.

1 new features
OUGN Vårseminar 2016
Maarten Smeets, 10-03-2016
Introduction

• About me
– Oracle Integration Consultant
– Experience with Oracle SOA Suite since 2007
– Well certified (SOA, BPM, Java, SQL,
PL/SQL among others)
– Author of more than 100 blog articles
(http://javaoraclesoa.blogspot.com)

• About AMIS
– Located in the Netherlands
– Oracle Award winning partner https://nl.linkedin.com/in/smeetsm

@MaartenSmeetsNL
Agenda

• New features for the LOB user • New features for developers • New features for operations
– Enterprise Manager (ALTA style) – JavaScript in SOA composites – Circuit Breaker
– Service Bus Console (ALTA style) – JavaScript in Service Bus – Composite instance patching
– BAM, B2B, MFT new features – REST support (native, end-to-end) – Integration Workload Statistics
– Debugger enhancements (IWS)
– In-Memory SOA
– Automatic Service Migration (ASM)
5

New features for the LOB user


6

New features for LOB users


New Enterprise Manager
7

New features for LOB users


New Service Bus console
8

New features for Operations


New features for operations
Already in 12.1.3
• Auto Purge: Automatically purge old data past • Work Managers: Switch to work managers to
the retention point periodically on schedule. simplify and improve thread tuning. SIMPLIFIED
AUTOMATED OPERATIONS. TUNING.

• Modularity Profile: Reduce startup time and • Flow Trace: Switch to flow trace where multiple
memory by starting up only components used composites are shown in a single trace for better
(selected by selecting a profile). PERFORMANCE troubleshooting. SIMPLIFIED TROUBLESHOOTING.

• Lazy Loading: Reduce startup time by loading


composites only on first use. PERFORMANCE
IMPROVEMENT

• Exception centered management console:


Rework of the EM console to be centered around
exception conditions instead of business as usual.
RAPID PROBLEM IDENTIFICATION/RESOLUTION.
10

New features for operations in 12.2.1


Oracle Integration Continuous Availability
• Availability
– Composite Instance Patching – patch long running instances immediately.
– Automatic Service Migration (ASM) – faster failover

• Performance
– In-Memory SOA – Optimized performance, scalability, reduced database growth.
– Integration Workload Statistics – Performance Diagnostic tool similar to DB AWR.
– Parallel Deployment – faster startup

• Resiliency A license to Oracle WebLogic Server Continuous Availability


– Circuit Breaker – Improved resiliency is a prerequisite to license and use Oracle Integration Continuous
when downstream services go down. Availability. If using only In-Memory SOA, a license to Oracle
WebLogic Server Continuous Availability is not required.
11

Oracle WebLogic Server 12.2.1


Continuous Availability
• Automated cross-domain transaction recovery
Provides automatic recovery of XA transactions across an entire domain, or across an entire site
with servers running in a different domain or at a different site.

• Zero Downtime Patching


Provides an automated mechanism to orchestrate the rollout of patches while avoiding
downtime or loss of sessions.

• WebLogic Server Multitenant live resource group migration


Provides the ability to migrate partition resource groups that are running from one cluster/server
to another within a domain without impacting the application users.
12

Oracle WebLogic Server 12.2.1


Continuous Availability
• Coherence federated caching
Replicates cache data asynchronously across multiple geographically distributed clusters.

• Coherence GoldenGate HotCache


Detects and reflects database changes in cache in real time.

• Oracle Traffic Director


Routes HTTP, HTTPS, and TCP traffic to application servers and web servers on the network.

• Oracle Site Guard


Enables administrators to automate complete site switchover or failover.
13

Circuit breaker
Overview
• Automatically suspend upstream endpoints when a downstream endpoint is down

• Automatically resumes any suspended service when the downstream endpoint comes back up.

• Prevents fault buildup in the server. No need to bulk-recover faulted instances

• Supported for
– Web Service: Incoming requests are rejected for the duration that
the Web service is suspended.
– Adapters: JMS, AQ, DB, File and FTP adapters can be automatically
suspended in this release.
– EDN Subscribers: The EDN subscriber closest to the downstream
endpoint gets suspended.
14

Circuit breaker
Configuration
15

Circuit breaker
Configuration
16

Circuit breaker
In action
17

Patch running instances


Why?
• A long-running BPEL contains a bug

• Certain long running instances have not reached this bug yet

• If you redeploy a new version, it will not fix running instances; only new ones

• If you deploy the same version, your instances will become stale

Patching a process will allow to fix running


instances and prevent the error from occurring!
18

Patch running instances


What?
Compatible changes include Incompatible changes include

• Non-schema related XSLT changes • Deleting or renaming composite artifacts

• Changes to fault policy, sensor data, and • Updating binding properties


analytics data
• Changes to a WSDL and Schema definition
• Compatible BPEL changes such as sync/async
invoke, transformation activity, assign • Changes to XQuery mappings
operations, etc.
• Changes to BPEL receive inputs, structured
• JCA Adapter configuration properties activities, assign mapper source/target/skip
conditions
• Modifications of token values in composite
references
https://blogs.oracle.com/integration/entry/patching_soa_composite_instances_in
19

Patch running instances


How?
JDeveloper has a new role, the SOA Patch Developer
• Only allows compatible changes to be made
• patch.xml is created in project_directory/SOA/SCA-INF
to track changes

https://blogs.oracle.com/integration/entry/patching_soa_composite_instances_in
20

Patch running instances


How?
Oracle made a typo here
21

Patch running instances


How?
• Create a patch JAR with sca_validatePatch('http://localhost:8001', 'weblogic',
'welcome1', 'sca_HelloWorldWsAddrCaller_patch.jar')
– Jdeveloper
– sca_packagePatch
– ant-sca-package

• WLST sca_validatePatch and


sca_patchComposite can be used to
validate and apply a patch
22

Automatic Service Migration (ASM) support


• Leverages WebLogic ASM feature
• Requires datasource
for leasing
• On failure migratable singleton
services are transferred to other
server (JTA, JMS)
• Failing back to original server
is not supported

https://docs.oracle.com/middleware/1221/core/CMEDG/GUID-079347E5-9DF0-44A9-9BF3-AF7C13D631B3.htm#CMEDG-GUID-6594C41E-ED8C-4E56-8578-B67250961831
23

Integration Workload Statistics

• Comparable reports to DB AWR


(Automatic Workload Repository)

• Helps with performance tuning


and tuning

• Takes periodic snapshots


saves them to database

• Allows generation of reports


(XSLT, CSV, HTML)

https://docs.oracle.com/middleware/1221/soasuite/administer/GUID-266118F3-8B14-4896-8081-A0A489FD0CEC.htm
24

Integration Workload Statistics

• IWS reports metrics • The components supported


– System resource usage – BPEL Service Engine
– Composite statistics – EDN (Event Delivery Network)
– Statistics for internal system queues – Web Service Binding
– Statistics for synchronous and asynchronous business – File Adapter
processes – JMS Adapter
– Endpoint statistics – FTP Adapter
– DB Adapter
– AQ Adapter
– MQ adapter.

• Not yet supported


– REST binding
25

Integration Workload Statistics


26

Integration Workload Statistics

DataSource
statistics

JVM statistics

Composite activity
statistics
27

Integration Workload Statistics


Example process to measure
• Simple Hello World process
– Using REST Binding or SOAP
– Using untyped JSON or XML
message (in BPEL)
– Containing an XPATH assign
or a JavaScript assign
28

Integration Workload Statistics


Endpoints and wires

HelloWorldXML and HelloWorldXMLJS are SOAP services


HelloWorldJS and HelloWorldJSXML are JSON services
29

Integration Workload Statistics


Activities and processes

HelloWorldXML and HelloWorldXMLJS are SOAP services


HelloWorldJS and HelloWorldJSXML are JSON services
30

SOAPUI Results

Different results! Here pure JS is fastest!


31

In summary: IWS + SOAPUI


on JSON and JavaScript

In In BPEL Respons Speed Speed Speed Speed


binding BPEL assign e assign wire reply IWS SOAPUI
JSON JSON JS JSON ++ ++++ +++ ++++

JSON XML XPath JSON ++++ + ++++ ++

XML XML JS XML + ++ + +++

XML XML XPath XML +++ +++ ++ +


32

Oracle Integration Continuous Availability


In-memory SOA. Why?
• Improves performance and scalability (especially if SOAINFRA DB is the bottleneck)

• Reduces SOAINFRA database growth

• Less purging required


33

Oracle Integration Continuous Availability


In-memory SOA. How?
• Leverage Coherence cache to run your non-transactional (non-XA) business processes in memory

• Only for short-running processes

• Set at component level

• Persistence settings:
– Immediate. Same as In-memory not enabled
– Deferred. Audit data eventually ends up in
database
– Fault. Audit data only ends up in database in
case of a fault
34

Oracle Integration Continuous Availability


In-memory SOA

Transactions are not supported

• Do you need transactions when you


can use compensation handlers?

• Transactions spanning multiple services


are difficult anyway
• timeout settings on different levels
• XA datasources
• WS-AT headers and coördination,
node trust settings, etc
35

Oracle Integration Continuous Availability


In-memory SOA
36

New features for Developers


37

New features for developers


Already in 12.1.3
• Developer installer with integrated WebLogic / Derby server
• Service Bus development in JDeveloper
• New technology adapters: LDAP, Coherence, REST, UMS Adapters
• Composite templates and BPEL subprocesses
• Service Bus templates
• Updates XSLT and XQuery mapper (much improved with bundle patches 2 and 3!)
• Fault policy editor
• Encrypt/Decrypt Personally-Identifiable Info (PII)

http://www.oracle.com/technetwork/middleware/soasuite/overview/wp-soa-suite-whats-new-12c-2217186.pdf
38

New features for developers


New in 12.2.1
• JavaScript in SOA composites

• JavaScript in Service Bus

• REST support (native, end-to-end)

• Debugger enhancements
39

JavaScript support in SOA Suite


The JavaScript engine
• Rhino is an open-source implementation of JavaScript written entirely in Java

• Mozilla Rhino v1.7R3


– is included in JDK7
– can be used with JDK8 (SOA Suite 12.2.1) (e.g. http://andreas.haufler.info/2015/04/using-rhino-with-java-8.html)
– ECMAScript 5 support
– Partial JavaScript 1.8 support

• ECMAScript 5 vs JavaScript 1.8


– JavaScript 1.8 is Mozilla's implementation of ECMAScript 5 with added features
– a superset of the ECMAScript specification

• Rhino 1.6 and greater supports ECMA-357 ECMAScript for XML (E4X)
– Can be used server-side in SOA Suite 12.2.1
– Native XML in JavaScript
40

JavaScript support in SOA Suite


Why Rhino and not Nashorn
• "ECMAScript 5.1 language specification doesn't define multithreading semantics for programs
written in the language; they are inherently single threaded. If we were to make them thread safe,
we'd be sacrificing single threaded performance for a behaviour that falls outside of the
specification.“

• Nashorn library internals themselves are thread safe, but JavaScript programs executing within a
single engine instance are not thread safe. This is different from Rhino. Using Nashorn, you
probably need to take steps to protect your ScriptEngine from concurrent access, which might
explain the unpredictable behavior you observe.

https://blogs.oracle.com/nashorn/entry/nashorn_multi_threading_and_mt
41

JavaScript support in SOA Suite


E4X
• var languages = new XML( • var languages =
'<languages type="dynamic"> <languages type="dynamic">
<lang>JavaScript</lang> <lang>JavaScript</lang>
<lang>Python</lang> <lang>Python</lang>
</languages>‘ </languages>;
);

• var c = languages.lang.length()

• languages.lang += <lang>Ruby</lang>;

• var a = 2;
var b = <foo bar={a}>"hi"</foo>;
42

Composite REST Binding

• First define a REST binding


43

JavaScript support in SOA Suite


Composite REST Binding
• Create a REST Method
44

JavaScript support in SOA Suite


Composite REST Binding
• Define the response
45

JavaScript support in SOA Suite


Create BPEL based on binding
• Select the REST method
46

JavaScript support in SOA Suite


Set default expression language
• Set the default expression language
47

JavaScript support in SOA Suite


Activities
• Use JavaScript in activities
48

JavaScript support in SOA Suite


Seeing it work
• EM Fusion Middleware Control, Test service
49

JavaScript support in SOA Suite


Good to know
• Variable scope is process

• Payload validation causes NullPointerException


50

JavaScript support in SOA Suite


Good to know
51

New features for developers


JavaScript in Service Bus

REST Branch
• Native REST where the interface is
not described at design-time
(Un-typed)

• JavaScript action
52

New features for developers


The debugger. 12.1.3 recap
• Automatically enabled for development environments on default port 5004
• Does not work on production mode servers or clusters
• One client at a time and one instance of a process
• Allows you to debug
– BPMN
– BPEL
– Service Bus pipelines
– Binding components
– Service components

http://docs.oracle.com/middleware/1221/soasuite/develop/GUID-B0A1C104-E021-4B0C-90DE-1745752C33BC.htm#SOASE88041
53

New features for developers


The debugger. 12.1.3 recap
54

New features for developers


Debugger enhancements in 12.2.1
• XSLT debugger. Remote debugging of XSLT’s! (in BPEL, Mediator, Service Bus)
55

New features for developers


Debugger enhancements in 12.2.1
• Conditional breakpoints • Exception breakpoints
56

Useful 12.2.1 resources

• Pre-build SOA Suite 12.2.1 virtual machine


– http://www.oracle.com/technetwork/middleware/soasuite/learnmore/soa-vm-2870913.html
Oracle Enterprise Linux (64-bit) EL 6 Update 7
Oracle Database, Enterprise Edition 12.1.0.2
Oracle SOA Suite 12.2.1 (includes Service Bus, B2B, Oracle
Enterprise Scheduler (ESS) and Business Activity Monitoring)
Oracle Managed File Transfer 12.2.1
Oracle Stream Explorer 12.2.1
Oracle JDeveloper 12.2.1
Sun Java 1.8.0_51-b16 (64-bit)

• Continuous Availability information


– https://docs.oracle.com/cd/E55108_01/doc.1213/e56762/wlsuite_options.htm#sthref62
– https://blogs.oracle.com/integration/entry/introducing_soa_continuous_availability_option
57

What is coming
(announced by Oracle @OOW)
• Multitenancy support for SOA Suite • B2B
– Data isolation via RDBMS PDB – In the cloud (ICS, SOA CS as API’s)
– Resource isolation via WLS Partitions and JVM enhancements – Self service
– Metadata isolation – separate tenant composites. Also, Shared – Improved monitoring
composites.
– Configuration Isolation – separate tuning, datasources , JMS • EM support
destinations etc.
– Service Bus Service Heat Map
– Administrative isolation
– Web service beacon test

• Real-Time Integration Business Insight


– Allows business users to define milestones
– Architect can map milestones to process steps
– BAM dashboards provide insight
58

Real-Time Integration Insight


B2B 12.2.1

• Endpoint Cloning
• FIPS Compliance
• ALTA Skin
• PGP Support
• MLLP Sync-Request-Reply
• T2P Incremental
• Endpoint Throttling
• Resiliency improvements
• Performance improvements
BAM 12.2.1

• New “Alta” Look and Feel • Version 2 of SOA & BPM Process
• New Charts: Uptakes new Analytics Dashboards
version of Oracle standard • Opaque Query
charts! • Parameter Support in Custom
• Custom Function Support for Functions
Alerts & KPIs • Performance Improvements
BAM 12.2.1
BAM 12.2.1
BAM 12.2.1
64

BAM 12.2.1
Questions

@MaartenSmeetsNL

https://nl.linkedin.com/in/smeetsm Download at http://bit.ly/1TPmoKB

Vous aimerez peut-être aussi