SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

51
Developer Productivity and Performance Robert van Mölken, 17-07-2014 SOA Suite 12c Deep-Dive

description

Deep dive Developer Productivity and Performance SOA Suite 12c. Presentation during the SOA track of the AMIS SOA and BPM Suite 12c launch event on July 17, 2014

Transcript of SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Page 1: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Developer Productivity and Performance

Robert van Mölken, 17-07-2014

SOA Suite 12c Deep-Dive

Page 2: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Developer installer with integrated server

• Oracle created a single download

– JDeveloper

– Database (JavaDB)

– Weblogic

– Integrated SOA Suite (incl Service Bus)

– Full fletch Enterprise Manager

• All software is installed into a single middleware home directory.

• JavaDB is a development database that allows one to start development with SOA Suite without the need to run RCU.

‘30 minutes to Hello World’

Bit much… AMIS current record is 10

Page 3: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

3

Integration of SOA and SB development

• In 12c both SB and SCA development is done in Jdeveloper

• All Adapters supported in Service Bus

• Service Bus analogy more like SCA Composites

– It uses a Composite like overview

– Proxy is renamed to Proxy Services and Business Service to External Services

Proxy

Services

Proxy

ServicesPipelines and Split-joinsPipelines and Split-joins Business

Services

Business

Services

Palette of Service

Components

& Adapters

Palette of Service

Components

& Adapters

Page 4: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

4

Integration of SOA and SB development

Pipeline editor similar to Eclipse IDE (11g)

Page 5: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

5

Integrated run-time SOA environment with debugging

• Available on the integrated WebLogic server within JDeveloper

• Installed ‘out of the box’, included with the simple installer

• Locally develop and run your SCA composites and Service Bus services

• Even better, you can run it in debug mode

– Set breakpoints in Composite editor, BPEL processes and Service Bus Pipelines

– Ability to stop at a breakpoint, look at the data and step in, step out, etc

– Ability to change the value of a variable while debugging

JDeveloper 12c: Integrated SOA/OSB debugger

Page 6: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

6

SOA Debugger

A breakpoint can be on adapters using the composite editor.

Het rode bolletje geeft ook de richting aan van de breakpoint,

Page 7: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

7

SOA Debugger

Debugging can be performed via context menu

Page 8: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

8

SOA Debugger

Once debugger launched a message can initiated on a SOAP service

Page 9: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

9

SOA Debugger

An active breakpoint turns blue whereupon the DATA tab will show the current variables

Page 10: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

New Technology Adapters

10

Page 11: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

11

Mobile EnablementREST Adapter

• Easily expose any service or reference as REST

• Automated conversion from XML to JSON

• Possibility to map operations to existing services

• Built-in coherence caching for result optimization

• JDeveloper can generate XML & JSON sample payloads

• Looking at the REST adapter more closely!

– Supports multiple resource paths, including dynamic path variable

– Map multiple operation to the same resource path using different HTTP method

– OWSM policies for REST ( no OAuth support )

Page 12: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

12

REST Adapter

Adapter for both exposing and calling REST service

Page 13: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

13

REST Adapter

Declare one or more resource paths (= endpoints)

Page 14: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

14

REST Adapter

Add own operations with request and response or from existing service

Page 15: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

15

REST Adapter

Payload can be accepted as XML, JSON or URL-encoded. Payload will be automaticly transformed to choosen XML Schema

Page 16: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

16

REST Adapter

For the response you can set which response codes can bereturned and what payload and how to return faults

Page 17: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

17

REST Adapter

When consuming an external REST service it can be based on a WADL.

Page 18: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

18

Integrated CachingCoherence Adapter

• Integrates the Coherence Cache with SCA Composites & Service Bus

• Used to reduce latency on high-traffic operation(s)

• Put, get, remove and query data into/from the Coherence cache

• XML and POJO (custom Java class) as data structure

• Some interesting features of this adapter:

– Auto-generation of unique key when putting data into cache

– Setting a time-to-live for your data in the cache

– Return only the keys when querying data

Page 19: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

19

Coherence Adapter

Adapter to put in and get items from Coherence cache

Page 20: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

20

Coherence Adapter

It can Put items into Coherence, Get items, Remove items using its cache keyand can it query Coherence using any search strings.

Page 21: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

21

Coherence Adapter

Page 22: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

22

Coherence Adapter

A cache item can be based on a XML Schema

Page 23: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

23

Cloud ConnectivitySalesforce.com

• Support for inbound and outbound integration, secure connection and session management.

• It has a graphical API discovery, uses declarative modeling through wizards and supports optimization of API requests.

• Support for standard and custom Salesforce objects

– Through SOAP API using Partner WSDL & Enterprise WSDL

– Uses Salesforce’s own Query Language (SOQL) & Search Language (SOSL)

• Uses the Oracle Credential Store Framework to store user credentials

• Supports the adapter diagnostic framework for reporting and alerting

Page 24: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

24

Cloud Adapter: Salesforce.com

Salesforce.com Cloud Adapter: create new business object

Page 25: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

25

LDAP Adapter

• Support for inbound and outbound integration

• Access you LDAP directory e.g. check user has the required privileges

• Inbound integration

– Listen to Entry change notifications (ECN) and Change log notifications

– When listening to a ECN you can select which Search Base you want to use, an

optional Search Filter and on what Event you want to be triggered on

• Outbound integration

– Four one-way operations; Add, Delete, Modify, Modify DN

– Three sync operations: Compare, Search and execute a custom DSML request

– DSML request option uses DSMLv2 schema definition

Page 26: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

26

LDAP Adapter

Adapter for integration with LDAP registry

Page 27: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

27

Updated UMS Adapter

• Updated version of UMS Adapter introduced in 11.1.1.7

• New SMS and IM for inbound and outbound integration

• New outbound operation type to get the status of a send message

• The SMS (SMPP) and IM (XMPP) configuration is done through the driver configuration pages in the EM

• JDeveloper has two new notification types to support the new drivers

– Choosing SMS you enter the from and to telephone#

– Choosing IM you enter the jabber account to send the message to

Page 28: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

28

Updated UMS Adapter

Adapter for integration with messaging services (email, SMS, IM)

Page 29: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

29

Other Adapters

In addition to these four major changes, there are also new adapters for:

• MQ Adapter to integrate with IBM WebSphere MQ

• MSMQ Adapter to integrate with Microsoft Message Queuing

• The Web Service Adapter is renamed to SOAP Adapter

• MFT Adapter for Oracle’s Managed File Transfer

Page 30: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

30

Database Connection Types

• Java DB - Oracle's supported distribution of the Apache Derby open source database. It is used to run SOA Suite repository which is used by the integrated server

• JDE World - Easy access to the data in the JD Edwards database.

Page 31: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Performance & Optimization

31

Page 32: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Modularity

• 12c has improved start up times and memory footprint with modularity profiles enabling only required components

• New installation is default configured with the SOA_FOUNDATION profile

– Can be altered in EM

• Upgrading from 11g will set SOA_CLASSIC as the default profile

– SOA_CLASSIC profile has the largest footprint, BPEL_ONLY has the least footprint

Page 33: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Modularity

The profiles listed below are arranged in decreasing order of footprint

– SOA CLASSIC ~ SOA Foundation with B2B + BPM Modules

– SOA FOUNDATION WITH HEALTHCARE ~ SOA Foundation with B2B + Healthcare UI

– SOA FOUNDATION WITH B2B ~ SOA Foundation Enterprise + B2B

– SOA FOUNDATION ENTERPRISE ~ SOA Foundation + Full Adapter Set

– SOA FOUNDATION ~ Orchestration + Mediator + Rules + Partial Adapter set

– ORCHESTRATION ~ BPEL-Only + HWF + Partial Adapter set

– BPEL-ONLY ~ BPEL Components + SOA Common Infrastructure + Partial Adapter set

• Partial Adapter set consist of the File, FTP, DB, JMS, AQ, MQSeries, OracleApps and the UMS Adapter

• Full adapter sets adds the Socket, LDAP, Coherence, MSMQ, JDEWorldand the SAP Adapter

Page 34: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

34

Composite Lazy Loading

• Staggered loading of composite artifacts which spreads out bootstrap cost

• Composite loading time is fixed number, but delays the loading of some resources till it receive first request

• Initial time for server startup is improved and the cost across for individual composites is spread out based on their demand

• Reduces overhead from composites which are rarely used

Page 35: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

35

Composite Lazy Loading

Composite loading has the following stages

1. Creation on in-memory java models

2. Creating Mbeans

3. Loading the various components in the composite

4. Loading the resources used by the composites such as schemas & WSDLs

• First 2 stages are performed at server start up, loading the needed metadata

• Next two stages are performed when particular composite receives a request

Page 36: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

36

Work Managers

• WLS leverages work managers across SOA Suite, eliminating the need to perform manual configurations to tune for performance

• Resource management and scheduling is delegated to WLS

• Event Delivery Network (EDN) and adapters do not use work managers

• Work managers are self tuning

– Avoids inconsistencies that occur with processing transactions from manual setting

– Allows WLS to self tune based on types of processes

• Work managers can even be configured per SOA partition

Page 37: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

37

DB Tuning out-of-the-box

• Running RCU to create the initial DB schemas you can choose between several DB profiles; small, medium and large

– This enables the appropriate OOTB performance features

• The medium/large profiles automatically configure DB partitioning and Global hash indexes (GHI)

– GHI helps with faster querying & EM responsiveness and instance tracking

performance

– GHI avoids full table scans and coupled with auto purge feature it keeps the

overheads low

Page 38: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

38

Purge/Partitioning Improvements

• Auto purge of SOA Repository is enabled by default for new installations

• Purging can now be scheduled through the enterprise manager

• Improved performance due to the new DB schemas which consolidate Audit and Flow instance data and Eliminates orphaned instances

• Interval Partitioning accelerates purging by targeting tables/instances within a time range

Page 39: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

39

Event Delivery Network (EDN)

• Re-built and based on JMS

• Deliver Events to single or multiple AQ or WebLogic Topics

– Brings scalability, different topic per consumer

• EDN publish and subscribe available outside SOA Suite

• Standard JMS functionality is now possible

– Durable subscribe and Store and Forward

Page 40: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

New and updated product releases

40

Page 41: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Managed File Transfer (MFT)

• Simple and Secure End-to-End Managed File Gateway

– Large files, encryption, auditing, monitoring, pass-by-reference

• Standards Based Middleware Integrations

– (s)FTP, SOA, B2B, Service Bus, Web Services …

• Lightweight Web based Design Time Interface

– Easily build, edit and deploy end-to-end transfers

• Additional Characteristics

– Scheduling, Embedded sFTP server, FTP proxy, no transformations

– Advanced Management: Pause, Resume, Resubmit

Page 42: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Managed File Transfer (MFT)

• Core

– “Embedded” FTP(S)/SSH, FTP / SSH server

– File transfer auditing

– Extensible framework – pre/post processing

– HA clustering

– SOA/B2B integration and delivery headers

– Scalable architecture

• Monitoring and Management

– Web UI: Managed Server• Designer, Monitor, Administration

– Enterprise Manager: Admin Server

• File Delivery

– Very Large Files ~ 500GB+

– Pass by Reference FTP or File, Inline

– Scheduling and Auto Retry

– Pause and Resume Target endpoints

– HTTP, JCA, FTP, In-memory

– Notifications

– Actions• Zip Compress/Decompress

• PGP Encrypt/Decrypt

– Callouts• Archive, Delete, Move, Custom

For more detailed information check out our OOW presentation on MFT: http://slidesha.re/16ZiCa8

Page 43: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

Managed File Transfer (MFT)

MFT 12c: Simple and Secure End-to-End Managed File Gateway

Page 44: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

44

Oracle Event Processing (OEP)

• Fully integrated in JDeveloper, left previous IDE (Eclipse)

• Every project has a EPN Diagram entry in the project explorer

• Added dialog windows for creating components

– Right-clicking within the EPN editor

– Drag & drop from the Components palette

• Two new adapter one for CSV (in-/outbound) and EDN (in-/outbound)

• Extensions to support Hadoop & Oracle NoSQL for use as TABLE source

• Extension for invoking/receiving Remote Method Invocation (RMI) calls

Page 45: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

45

Oracle Event Processing (OEP)

OEP 12c: Switches from Eclipse to JDeveloper

Page 46: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

46

Enterprise Scheduler Service

• With ESS you can schedule jobs (using job metadata modeling)

• Create and schedule jobs through the EM of Java API

• ESS can call EJB, PL/SQL, Java and Web Services (SCA/SB and Sync/Async with OWSM)

• Keeps track of dependency management, conflict resolution, prioritization, clustering, processor allocation and throttling

• What can it do for SOA?

– Supports scheduling of SCA Composites and SB Proxy services

– Prebuild jobs for initiating, activating and deactivating SOA and Service Bus components

– Schedule bulk error notifications to EM / Alert channels

– Bulk operations for fault management (automatically disable adapters)

Page 47: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

47

Enterprise Scheduler Service

ESS 12c: Schedule jobs using EM

Page 48: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

48

Business Activity Monitor (BAM)

• Multi-browser support including Mobile support

• More advanced Security model using OPSS (Oracle Platform Security Services) to secure the collected data

• Support a hybrid integration of CQL and SQL

– both query languages can be used together to collect data from different sources

• Uses Coherence for report and metadata cache

• Better integration with SOA/BPM Suite, because use of Star Schema

• Supports Active-Active High Availability modes, to run BAM on a cluster

Page 49: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

49

Business Activity Monitor (BAM)

• Export data during execution of processes to allow continuous monitoring

– Continuous monitoring in three ways; Real Time, One Time and Scheduled

• Side-by-side analysis between historical BI data and operational data

• New dashboards comes more richer out-of-the-box

– Extensive catalog with Metrics e.g. SOA/BPM process and Human Task performance

– Updated geomap, tree map, watch list, shatter chart and bubble chart components

Page 50: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

50

Business Activity Monitor (BAM)

BAM 12c: Analytics in BPEL

Page 51: SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperformance_robertvanmolken

51