oracle soa suite 12.2.1 new features
TRANSCRIPT
OUGN Vårseminar 2016
Maarten Smeets, 10-03-2016
Oracle SOA Suite 12.2.1 new features
Introduction
• About AMIS– Located in the Netherlands– Oracle Award winning partner
• 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)
@MaartenSmeetsNL
https://nl.linkedin.com/in/smeetsm
Agenda
• New features for the LOB user– Enterprise Manager (ALTA style)– Service Bus Console (ALTA style)– BAM, B2B, MFT new features
• New features for developers
– JavaScript in SOA composites– JavaScript in Service Bus– REST support (native, end-to-end)– Debugger enhancements
• New features for operations– Circuit Breaker
– Composite instance patching– Integration Workload Statistics (IWS)– In-Memory SOA– Automatic Service Migration (ASM)
New features for the LOB user
5
6
New features for LOB usersNew Enterprise Manager
7
New features for LOB usersNew Service Bus console
New features for Operations
8
• Auto Purge: Automatically purge old data past the retention point periodically on schedule. AUTOMATED OPERATIONS.
• Modularity Profile: Reduce startup time and memory by starting up only components used (selected by selecting a profile). PERFORMANCE
• 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.
• Work Managers: Switch to work managers to simplify and improve thread tuning. SIMPLIFIED TUNING.
• Flow Trace: Switch to flow trace where multiple composites are shown in a single trace for better troubleshooting. SIMPLIFIED TROUBLESHOOTING.
New features for operationsAlready in 12.1.3
• 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– Circuit Breaker – Improved resiliency
when downstream services go down.
10
New features for operations in 12.2.1Oracle Integration Continuous Availability
A license to Oracle WebLogic Server Continuous Availability is a prerequisite to license and use Oracle Integration Continuous Availability. If using only In-Memory SOA, a license to Oracle WebLogic Server Continuous Availability is not required.
11
Oracle WebLogic Server 12.2.1Continuous Availability
• Automated cross-domain transaction recoveryProvides 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 PatchingProvides an automated mechanism to orchestrate the rollout of patches while avoiding downtime or loss of sessions.
• WebLogic Server Multitenant live resource group migrationProvides 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.1Continuous Availability
• Coherence federated cachingReplicates cache data asynchronously across multiple geographically distributed clusters.
• Coherence GoldenGate HotCacheDetects and reflects database changes in cache in real time.
• Oracle Traffic DirectorRoutes HTTP, HTTPS, and TCP traffic to application servers and web servers on the network.
• Oracle Site GuardEnables administrators to automate complete site switchover or failover.
13
Circuit breakerOverview
• 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 breakerConfiguration
15
Circuit breakerConfiguration
16
Circuit breakerIn action
17
Patch running instancesWhy?
• 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 instancesWhat?
https://blogs.oracle.com/integration/entry/patching_soa_composite_instances_in
Compatible changes include
• Non-schema related XSLT changes
• Changes to fault policy, sensor data, and analytics data
• Compatible BPEL changes such as sync/async invoke, transformation activity, assign operations, etc.
• JCA Adapter configuration properties
• Modifications of token values in composite references
Incompatible changes include
• Deleting or renaming composite artifacts
• Updating binding properties
• Changes to a WSDL and Schema definition
• Changes to XQuery mappings
• Changes to BPEL receive inputs, structured activities, assign mapper source/target/skip conditions
19
Patch running instancesHow?
https://blogs.oracle.com/integration/entry/patching_soa_composite_instances_in
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
20
Patch running instancesHow?
Oracle made a typo here
21
Patch running instancesHow?
• Create a patch JAR with – Jdeveloper– sca_packagePatch– ant-sca-package
• WLST sca_validatePatch and sca_patchComposite can be used to validate and apply a patch
sca_validatePatch('http://localhost:8001', 'weblogic', 'welcome1', 'sca_HelloWorldWsAddrCaller_patch.jar')
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 serveris 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 snapshotssaves 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– System resource usage– Composite statistics– Statistics for internal system queues– Statistics for synchronous and asynchronous business
processes– Endpoint statistics
• The components supported– BPEL Service Engine– EDN (Event Delivery Network)– Web Service Binding– File Adapter– JMS Adapter– 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 StatisticsExample 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 StatisticsEndpoints and wires
HelloWorldXML and HelloWorldXMLJS are SOAP servicesHelloWorldJS and HelloWorldJSXML are JSON services
29
Integration Workload StatisticsActivities and processes
HelloWorldXML and HelloWorldXMLJS are SOAP servicesHelloWorldJS 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 binding
In BPEL
BPEL assign
Response
Speed assign
Speed wire
Speed reply IWS
Speed SOAPUI
JSON JSON JS JSON ++ ++++ +++ ++++
JSON XML XPath JSON ++++ + ++++ ++
XML XML JS XML + ++ + +++
XML XML XPath XML +++ +++ ++ +
32
Oracle Integration Continuous AvailabilityIn-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 AvailabilityIn-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 AvailabilityIn-memory SOA
Transactions are not supported
• Do you need transactions when you can use compensation handlers?
• Transactions spanning multiple servicesare difficult anyway• timeout settings on different levels• XA datasources• WS-AT headers and coördination,
node trust settings, etc
35
Oracle Integration Continuous AvailabilityIn-memory SOA
New features for Developers
36
37
New features for developersAlready 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 developersNew 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 SuiteThe 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 SuiteWhy 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 SuiteE4X
• var languages = new XML('<languages type="dynamic"> <lang>JavaScript</lang> <lang>Python</lang></languages>‘);
• var c = languages.lang.length()
• languages.lang += <lang>Ruby</lang>;
• var a = 2;var b = <foo bar={a}>"hi"</foo>;
• var languages = <languages type="dynamic"> <lang>JavaScript</lang> <lang>Python</lang> </languages>;
42
Composite REST Binding
• First define a REST binding
43
JavaScript support in SOA SuiteComposite REST Binding
• Create a REST Method
44
JavaScript support in SOA SuiteComposite REST Binding
• Define the response
45
JavaScript support in SOA SuiteCreate BPEL based on binding
• Select the REST method
46
JavaScript support in SOA SuiteSet default expression language
• Set the default expression language
47
JavaScript support in SOA SuiteActivities
• Use JavaScript in activities
48
JavaScript support in SOA SuiteSeeing it work
• EM Fusion Middleware Control, Test service
49
JavaScript support in SOA SuiteGood to know
• Variable scope is process
• Payload validation causes NullPointerException
50
JavaScript support in SOA SuiteGood to know
51
New features for developersJavaScript in Service Bus
REST Branch• Native REST where the interface is
not described at design-time (Un-typed)
• JavaScript action
52
New features for developersThe 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 developersThe debugger. 12.1.3 recap
54
New features for developersDebugger enhancements in 12.2.1
• XSLT debugger. Remote debugging of XSLT’s! (in BPEL, Mediator, Service Bus)
55
New features for developersDebugger 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
• 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
Oracle Enterprise Linux (64-bit) EL 6 Update 7Oracle Database, Enterprise Edition 12.1.0.2Oracle SOA Suite 12.2.1 (includes Service Bus, B2B, Oracle Enterprise Scheduler (ESS) and Business Activity Monitoring)Oracle Managed File Transfer 12.2.1Oracle Stream Explorer 12.2.1Oracle JDeveloper 12.2.1Sun Java 1.8.0_51-b16 (64-bit)
57
What is coming (announced by Oracle @OOW)
• Multitenancy support for SOA Suite– Data isolation via RDBMS PDB – Resource isolation via WLS Partitions and JVM enhancements – Metadata isolation – separate tenant composites. Also, Shared
composites. – Configuration Isolation – separate tuning, datasources , JMS
destinations etc. – Administrative isolation
• Real-Time Integration Business Insight– Allows business users to define milestones– Architect can map milestones to process steps– BAM dashboards provide insight
• B2B– In the cloud (ICS, SOA CS as API’s)– Self service– Improved monitoring
• EM support– Service Bus Service Heat Map– Web service beacon test
58
Real-Time Integration Insight
• Endpoint Cloning• FIPS Compliance• ALTA Skin • PGP Support• MLLP Sync-Request-Reply• T2P Incremental • Endpoint Throttling• Resiliency improvements• Performance improvements
B2B 12.2.1
• Version 2 of SOA & BPM Process Analytics Dashboards
• Opaque Query • Parameter Support in Custom
Functions• Performance Improvements
• New “Alta” Look and Feel• New Charts: Uptakes new
version of Oracle standard charts!
• Custom Function Support for Alerts & KPIs
BAM 12.2.1
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