bpel 2.0 oracle bpel pm 10.1.3 [email protected] presales architect fusion middleware

32
BPEL 2.0 Oracle BPEL PM 10.1.3 [email protected] Presales Architect Fusion Middleware

Upload: shauna-hamilton

Post on 24-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

BPEL 2.0

Oracle BPEL PM 10.1.3

[email protected]

Presales Architect Fusion Middleware

Agenda

• Einführung• BPEL 2.0• Overview of Oracle BPEL PM 10.1.3 Major

Features• New workflow architecture• Decision service, Rules engine integration• BPEL Test capability

• Q&A, Feedback and Comments

Process Orchestration Requirements

?

Java Platform

Portal

ADF

Java Services (EJB)

Messaging Destinations (JMS)

User Tasks

Web Services (Sync and Async)

Legacy Applications (JCA, adapters)

Orchestration

ConnectivityHeterogenous Back EndsSilos of API and mechanismsOpaque/heterogeneous data definitionsSynchronizing multiple data stores

Flow ControlAsynchrony, Flow Coordination, Data Transformation, Compensation, Version Control, Auditing

ScalabilityUnpredictable loadsAsymmetric performance capabilities

Management and SecurityAccess control, Encryption, Logging, MeteringIndependent of the service

Interaction/AccessCatalog, Customization, Access

Process Orchestration Today

?

Java Platform

Portal

ADF

Java Services (EJB)

Messaging Destinations (JMS)

User Tasks

Web Services (Sync and Async)

Legacy Applications (JCA, adapters)

Process Flow

Today

Not enough metadata Not tool friendly

Proprietary languages Rare skill sets, consulting

Hard Wired/Code Rigid, difficult to change

Incompatible Infrastructures Difficult to manage and scale

Introduction to BPEL

What is BPEL?

Duplicate Number!

SalesDB start

end

Router

Billing

Markup language for composing a set of discrete services into

an end-to-end process flow

• 10+ years of R&D from MSFT and IBM

• SOAP but also Java, JCA

• Rich Flow Semantics

• Optimized Bindings

• XPATH+XSLT+XQuery

• WS-Security

• A Process is a Service

BPEL by Example

Select Lowest Offer

10:00am

Handle Negative Credit Exception

Credit Rating

start

end

BPEL Flow

?

United Loan Star Loan

Get Rating

Send Loan Application

Receive Loan Offer

03:00pm

Send Loan Application

Receive Loan Offer

<process>

</process>

<switch>

<variable>

<faultHandlers>

<receive>

<invoke>

<invoke><flow>

</flow>

<partnerLink>

<partnerLink> <partnerLink>

Exploring Orchestration with BPEL Activities

Assign

Compensate

Empty

Flow

Invoke

PartnerLink

Pick

Receive

Reply

Scope

Sequence

Switch

Terminate

Throw

Wait

While

New in BPEL 2.0Improved data access

• Variable XPath Binding ($ notation) • makes BPEL variable data available in XPath

expressions as XPath variables leading to simplified expressions (without requiring usage of bpws:getVariableData).

• Message parts • are available as a variable for each part and may be

referenced as $varX.partN. BPEL 2.0 also adds support for variables based on XSD complex types.

New in BPEL 2.0Improved data manipulation

• BPEL 2.0 enables complex XML transformations within BPEL processes by introducing bpel:doXslTransform().

• keepSrcElement to control whether the destination element name is overwritten

• inline variable initialization,

• extension assign to enable implementations to extend assign capabilities

New in BPEL 2.0New activities

• forEach, which executes the enclosed scope, in serial or parallel, a variable number of times.

• repeatUntil, which repeats enclosed scope until specified condition is true,

• extensionActivity, which improves the ability of BPEL implementations to provided extended activities

New in BPEL 2.0Enriched fault handling

• BPEL 2.0 improves fault handling by introducing finer grain knobs in the catch construct, and a rethrow activity,

• advanced fault handling features are also introduced including termination handler and exitOnStandardFault attribute on scopes.

New in BPEL 2.0Advanced message operations

• BPEL 2.0 introduces Join-style Correlation set to enable multi-start process scenarios.

• Local PartnerLinks

• initializePartnerRole to facilitate process binding during deployment

New in BPEL 2.0Syntax makeovers

• Many changes in BPEL 2.0 are syntactic in nature;

• changes from ‘switch’ to ‘if-elseif-else’,• changes from ‘terminate’ to ‘exit’• different cases of ‘compensate’

• compensate• compensateScope

Not in BPEL 2.0BPEL4People

• People Activities – People can perform tasks assigned to them by business processes

• People Initiating Processes – People can initiate processes such as Expense Report

• People Managing Business Processes – Business processes may require intervention to move the process forward

• Transition between Human and Automated – Business processes may change human activities to automated activities and vice versa

• Escalations – Escalation mechanisms are needed to escalate tasks that are not performed within expected time

• Nomination – Some situations may require performers to be assigned (nominated) on an instance basis (run time)

Major BPEL PM 10.1.3 Features

• Many workflow improvements• Decision service - Rules engine integration• BPEL Test capability

BPEL PM 10.1.3Workflow Services

Oracle BPM – Workflow Features

Task Assignment• Users• Roles• Groups

Task routing• Declarative patterns• Ad-hoc routing• Document based routing• Dispatching

Notifications• Declarative specification of:

• When – assigned, expired, …• Who – assignee, manager, …

• Email, Voice, Pager, SMS

Management Rules• Escalation• Delegation• Vacation• Work load balancing

Reports, Audit Trails, …• Productivity and distribution

reports• Complete history and audit

trail

Work-list Application• Profile based – assignee,

supervisor, group owner, process owner

• Auto-generated JSP forms• Integration with ADF• Comments & Attachments• Available as portlets• Completely customizable• Web Services and Java API

Identity Management• Roles and Org. Hierarchy• Integrates with OID, LDAP,

JAZN; custom plug-ins for other directories

Email

New Workflow Demo Scenario – Help Desk Request Flow

Help Desk BPEL Process

Receive Request

Get TicketDetails

Notify Customer

User Task

end

Human Workflow

Assign tasks

Set Outcome

Receive Response

HelpDesk App

JohnSteinbeck

Irving Stone

JamesCooper

Work-list Application - Home

Filter by Category (assigned to who), Priority, or Status

(Assigned, Completed)

Claim (lock) work assigned to Group

Supervisors can access Staff

tasks.

Organize work into views (like search folders)

Default Task Form

Attachments

History

Comments

Payload Data

Save

Advanced ActionsAction

BPEL PM 10.1.3Decision Service

Decision Service(Rules)

BPM & Rules - Usage Scenarios

Dynamic processing Intelligent routing Validation of policies within process Constraint checks

Ad-hoc Workflow • Policy based task assignment• Various escalation policies• Load balancing of tasks

Business Activity Monitoring• Alerts based on certain policies• Dynamic processing based KPI reasoning

Rules engines can be invoked as a Decision Service from a BPEL process.

Business Process(BPEL)

Decision Service - Concepts

Enables users to easily wire any Rules engine with a BPEL process

Key ideas:• Abstracts proprietary rule engine apis via a standard web service

interface.• Will work with any rules engine. Support for Oracle Business Rules

and iLog JRules (BLAZE expected, others possible)• Provides access to rules repository at design time (JDev) to enable

user to browse rule sets• Supports both stateless and stateful interaction patterns

• Example: ExecuteFunction, AssertFacts, WatchFacts etc.

• Implementation Details• Generates specific WSDL based on rule set being invoked• Metadata about rule engine and repository captured in .decs XML file in

BPEL project• Supports both SOAP and WSIF bindings

PORTAL

Modified Loan Flow Demo – BPEL + Rules

PORTAL

Web

Serv

ices

Inte

rface

: X

ML,

S

OA

P,

WS

DL,

WS

IF

WorklistApplication

Approval Task

DecisionService

RulesEngine

Rule Author

Credit RatingRules

LOAN FLOW BPEL PROCESS

receive

getPhone

invoke

select

receive

review

Union Loan

end

5-15 min

getRating

invoke

DecisionService

RulesEngine

Loan AdvisorRules

BPEL PM 10.1.3BPEL Test Feature

BPEL Test Framework

• Provides a mechanism that allows users to automate testing of their BPEL processes:• Emulate partners/services

• Verify process actions (assert)

• Calculate code coverage

• Supports both service and system faults

• Results integrated into BPEL Console as well as Ant-JUnit reports• User experience:

• Create test case “driver” file (export from audit trail)

• Deploy and run test cases via console or command-line

• View results, fix process logic and repeat

BPEL Test Framework

1. Create XML unit test driver from instance audit trail

BPEL Test Framework

2. Execute tests

BPEL Test Framework

3. View results, code coverage, fix as needed and repeat

Getting Your Hands on 10.1.3

http://otn.oracle.com/soa http://otn.oracle.com/bpel

Q&Aand

Feedback!