29
<Insert Picture Here> SOA Suite 11g goes live (finally) - 10 cool highlights & what we are working on Clemens Utschig-Utschig, PM & SOA Platform Architect [email protected]

SOA Suite 11g goes live (finally) - 10 cool highlights ...€¦ · SOA Suite 11g goes live (finally) - 10 cool highlights & what we are working on ... •It’s backed by AQ (and

  • Upload
    vonhu

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

<Insert Picture Here>

SOA Suite 11g goes live (finally) -

10 cool highlights & what we are working on

Clemens Utschig-Utschig, PM & SOA Platform Architect

[email protected]

The following is intended to outline our general

product direction. It is intended for information

purposes only, and may not be incorporated into any

contract. It is not a commitment to deliver any

material, code, or functionality, and should not be

relied upon in making purchasing decisions.

The development, release, and timing of any

features or functionality described for Oracle’s

products remains at the sole discretion of Oracle.

Agenda

• Recap - what you (should) know about SOA Suite 11g

• 10 cool features (some you likely don’t know)

<Insert Picture Here>

Oracle SOA Suite 11g

What do you know today?

Emergence of Service Platforms

CORBA

EAIMessaging

Web Services

BPELESB

SERVICE PLATFORM11g

10.1.3

10.1.2

J2EE

• Integrated for ease-of-use & optimized performances

• Yet, fully standards-compliant

• No sacrifice on hot-pluggability

XSLTXML

SCA

WSDL

SOA Composite – based on SCA

• SOA composite is a standards-based deployment unit

• Leverages the SCA assembly model

• Can mix variety of components: Mediator, BPEL,

Human Workflow, Rules.

• Separate interface / binding from component

Mediator

BPEL

wire

SOA composite

service reference

S S

R

R

properties

BPEL

WS

WS

WSR

S

S

R

R

R

11g Service Infrastructure

BusinessRules

Mediator

Policy Manager

Optimized binding

BPELHuman

Workflow

11g SCA Service InfrastructureOne unified infrastructure to manage

Oracle Service Bus

Common JCA-based connectivity infrastructure

Repository

7

Applicationcomposers

SOAOperations

Web-basedconsole

IDESCA Composite

SOA Composite Editor

BPEL

HumanTask

RulesMediation

BPEL orchestration

Business Rules

Human Tasks

Web services

and adapters

Mediation

BAM

B2B

1) EDN (Event delivery network ..)

• What you should know ..

• It’s really, really loose coupled, and edl based

• Does not only work with SOA – but also from your apps, and

the db (pl/sql)

• It’s backed by AQ (and soon by JMS too)

• It’s aligned to SCA-Events

• Work with events – not messaging infrastructure!

• Declarative way to work with publish-subscribe

• Offers rich subscription capabilities:

1. Namespaces

2. Events Names

3. Content-based XPath filters

Event Delivery Network, basics ..

EDN support across the stack

• ESB fan-out patterns

• Update operations on ADF-BC objects trigger events,

initiating SOA composites

• Etc.

SOA composite

SOA composite

SOA composite

newSupplier event

SOA composite

createSupplier

ADF page flowand BC

newSupplier event

EDN console in Enterprise Manager

EDN – what you didn’t know ..

• Not just for mediator ..

• Works cross composite (not just intra)

• Security subject bubbles (runAs)

• Works in BPEL too, including correlation sets

• Receive, onMessage, pick, eventHandler

• Invoke

2&3) Oracle Human Workflow ..

• What you should know ..

• It’s a part of the SOA infra and hence of your composite

• Workflow forms for your tasks use JSF now

• No more jsp (+code) generation

• Rich-client support

• Supports pluggable identity providers (OID, LDAP, XML, ..)

• Allows really complex routing now ..

Oracle Human Workflow – task based

Stage based design

Human Workflow – what you didn’t know

• Routing can be dynamic, rather than static

• Based on busines rules

• Based on data – via external service calls (AMX)

• Human workflow (task) events

• onTaskAssigned, onTaskModified, onXXX – via EDN

• Full task payload, including system attributes

4) Service Data Object (SDO) support

• What you should know ..

• Dramatically reduces the possibility of stale data

• Canonical representation of data

• Data-graph

• Change-summary

• Static / dynamic (getProperty(“ename”) / getEname)

• Based on OASIS standard

• Supported through Toplink (EclipseLink) OX

• Each ADF Business Component VO can be exposed as SDO

Traditional data access

Unless you lock the data,

allowing concurrent data

manipulation can be

problematic.

Window of exposure is

increased when using

run/suspend/resume

applications such as BPM.

Safeguarding against

problems can be complex

and tedious.

Get(employee)

Update(employee)

Update incorrectbased on stale

data!

BPEL process

Employee Benefits Calculation

dehydration

rehydration

(5 minutes sleep)

Databackend

HR ManagementSystem

Get(employee)

Update(employee)compensation = compensation + $5K

time

Select benefits package based on compensation

SDO – what you did not know ..

• Full integration through (special) variables in BPEL

(entity variables)

• Flush of data during commit of the transaction

• Including transaction / subject propagation

• Automated population of change summary

• Access to underlying SDO implementation

• bpelx:exec

• XML – serialization only if needed, not for

• Composite 2 composite invocation

• Composite 2 ADF-BC

• Invocation API

5) Metadata services – MDS

• What you should know ..

• The magic adf-config.xml

• store usage / namespace

• Unified storage of XML in the backend

• For ADF –

• Site customization layer

• Runtime customization of page(s), fields, forms

• For SOA – store of runtime artifacts

• Transparently backed by DB or filesystem

MDS – browsing / using artifacts

Transparent config (file/db)

MDS – what you didn’t know

• The perfect store for sharing artifacts

• WSDL / XSD cache is global (= small heap footprint)

• Local file system / transfer up to remote server

• Reference via oramds:/apps/..

• Import / export via scripting

6) Adapting to various environments

• SOA config plans can adjust environment-specific

parameters

Deploy to a new environment without changing core

composite definition

PRODUCTIONDEVELOPMENT

C:\tmp /data/receivehttp://dumbo:7001 http://ironman:7101schema=stordersschema=dev

Anatomy of a SOA config plan

<composite name="POProcessing">

<searchReplace>

<search>8888</search>

<replace>8889</replace>

<searchReplace>

</composite>

<wsdlAndSchema

name="WriteApprovalResults_file.jca">

<jca:property name="PhysicalDirectory">

<replace>c:\tmp\out</replace>

</jca:property>

</wsdlAndSchema>

2 main sections:

• <composite/>

To operate substitutions

on anything in

composite.xml

• <wsdlAndSchema/>

to operate substitutions

on .xsd, .wsdl and .jca

files

What can be modified with a c-plan?

• SOA composite file (composite.xml): any property

• composite properties

• service properties

• Reference properties

• binding properties

• JCA adapter files: any property

• XSD files: schemaLocation attribute of an include, import, and

redefine

• WSDL files: location attribute of an include

• Policy references for the following:

• Service component

• Service and reference binding components

7) Unit Testing – on composite level

10.1.3 BPELTest framework elevated to composite level

1. Define tests / asserts / emulations (JDeveloper)

2. Execute (SOAConsole or ANT)

3. Review results (EM or standard JUnit report)

8) Sensors on composite level

9) Management gimmicks, iteration 3 ..

ANT

• ant-sca-compile.xml

• ant-sca-deploy.xml

• ant-sca-mgmt.xml

• ant-sca-package.xml

• ant-sca-test.xml

• ant-sca-upgrade.xml

• ant-scac.xml

• ant-scap.xml

• ant-scatest.xml

WLST

• deployComposite

• undeployComposite

• startComposite

• stopComposite

• activateComposite

• retireComposite

• assignDefaultComposite

• attachPlan

• extractPlan

• generatePlan

• validatePlan

• scac_setProp

• scac (compile)

• validateTask

• scap

10) .. It runs on Weblogic (10.3.1)

• … and leverages it !

• Administration (WLS Console)

• HA / Cluster setup & runtime (also relying on Coherence)

• Failover: XA based transaction recovery + WLS Whole Server

Migration

• Transaction management

• Thread management

• WebLogic JMS