You are on page 1of 39

Oracle BPM /

Oracle ADF
Integration Best
Practices

Andrejus Baranovskis
CEO & Architect, Red Samurai Consulting
Oracle ACE Director
Danilo Schmiedel
Technical Consultant, Opitz Consulting GmbH

ADF, SOA , BPM, WebCenter


and UCM

Oracle Fusion Middleware


Innovation Award 2010

Small Team of Experts,


Focused on Technical Quality
Results

SOA Partner Community


Award for Outstanding
Contribution Across the
World 2010

Customers Global
Corporations, Medium and
Small Business

2010 Enterprise 2.0 Blazer:


Enterprise 2.0 Leader Award

Oracle Technical Blog 7


Years (~500 posts)

OPITZ CONSULTING GmbH

Founded in 1990, located in Germany and


Poland

Business IT Alignment, BPM, SOA and


system integration, Application
development, IT Infrastructure Management

Specialized in SOA, BPM, ADF &


Application Grid

Also specialized in Exadata, Business


Intelligence Foundation, Oracle Database,
Oracle Enterprise Linux, Real Application
Cluster, Oracle VM, Data Warehousing,
DB11g Performance Tuning

2010 Oracle Fusion Middleware Award

2008 2010 EMEA SOA Community Award

Outline

BPM/ADF Integration Points

Reuse of BPM Components

ADF/BPM Generic Task Handler

Decoupling Business Data

Complexity and Architecture

Process Replay

Share Artifacts with MDS

Oracle BPM/ADF Integration

Customize BPM Workspace with


ADF

BPM/ADF Integration Points

ADF UI

BPM Workspace App

ADF UI

Custom ADF App


Imports BPM Workspace JAR

BPM Human Task Process

Some of our challenges

Complexity

Flexibility

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Configurable through Business Rules, DVMs,


Process migration because of environment changes and
new product releases are necessary
Top-down approach (contract-first)

Integration

Custom-defined user task forms that fit into existing


implementations and future plans

Component
View

Locking and
Coordination

Validation

Finish

Staffing
cancelled

Validate
Application

Staffing Business Process

Preparation

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
no

Check Staffing
Dependencies

Approve Staffing

Staffing
processed

Setup
Accounts

Approver X

Approver B

Approver A

Dependency
exists?

Create
operating
sequence

Dynamic
Approver
Determination

Perform
Approval
Steps

Approval
finished

Start
Approval

Perform
Approval
Steps

Continue
Staffing event

Cancel Staffing
event

Challenges and what it means (1)?

Complexity

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Following the BPM Suite standard approach for


Flexibility
approx.15 processes:

Configurable through Business Rules, DVMs,


Process
several
SCAmigration
projects because of environment changes and
new
product
releases
are necessary
more
than
300 task
definition
files
Top-down
(contract-first)
more
than 300approach
single ADF-UI
projects

Integration
Versioning?
Maintenance? Migration?

Custom-defined user task forms that fit into existing


implementations and future plans

Cancel Staffing
event

Continue
Staffing event

Staffing
cancelled

Staffing Business Process

Validate
Application

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
no

Check Staffing
Dependencies

Approve Staffing

Setup
Accounts

Approver X

Approver B

Approver A

Dependency
exists?

Create
operating
sequence

Dynamic
Approver
Determination

Perform
Approval
Steps

Approval
finished

Start
Approval

Perform
Approval
Steps

Staffing
processed

Cancel Staffing
event

Continue
Staffing event

Staffing
cancelled

Staffing Business Process

Validate
Application

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
no

Check Staffing
Dependencies

Approve Staffing

Setup
Accounts

Dependency
exists?

Create
operating
sequence

Dynamic
Approver
Determination

Perform
Approval
Steps

Approval
finished

Start
Approval

Perform
Approval
Steps

Approver X

Approver B

Approver A

Staffing
processed

Cancel Staffing
event

Continue
Staffing event

Staffing
cancelled

Staffing Business Process

Validate
Application

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
no

Check Staffing
Dependencies

Approve Staffing

Staffing
processed

Setup
Accounts

Dependency
exists?

Perform
Approval
Steps

Approval
finished

Start
Approval

Approver X

Perform
Approval
Steps

Before Task
Operations

Human Task

After Task
Operations

Oracle Human Workflow

Dynamic
Approver
Determination

Approver B

Approver A

Generic Task Handler


Create
operating
sequence

Generic ADF Human Task Handler


ADF UI

ADF UI

ADF Data Control


Generic BPM Human Task

Generic BPM Human Task

BPM Human Task

BPM Human Task

Generic ADF Human Task Handler

Generic ADF Human Task Handler

Generic ADF Human Task Handler

Generic ADF Human Task Handler

Challenges and what it means (2)?

Complexity

What about my running instances?

Flexibility

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Configurable through Business Rules, DVMs,


Process migration because of environment changes and
new product releases are necessary
Top-down approach (contract-first)

Integration

Custom-defined user task forms that fit into existing


implementations and future plans

Decoupling Business Data

Staffing Business Process

Cancel Staffing
event

Continue
Staffing event

Staffing
cancelled

Validate
Application

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
Approve Staffing

no

Check Staffing
Dependencies

Setup
Accounts

Staffing
processed

Dependency
exists?

Deployment

Instance Data
Task Data / Payload

Why is the transfer of complex


business data through the whole
process critical?

MDS

SOAINFRA

Versioning
Migration
Performance
UI collects data from SOAINFRA

Decoupling Business Data (2)

Staffing Business Process

Cancel Staffing
event

Continue
Staffing event

Staffing
cancelled

Validate
Application

Setup
Workplace

Continue?

Start
Process

Finish
Staffing
yes
Approve Staffing

no

Check Staffing
Dependencies

Setup
Accounts

Staffing
processed

Dependency
exists?

Deployment

Instance Data
Task Data / Payload

Why is the transfer


of complex
Adapter Services
business data through the whole
process critical?

MDS

SOAINFRA

Versioning
Business
Migration
related data
Performance
UI collects data from SOAINFRA

Setup the housekeeping

Monitor the filesystem

Monitor your server and apps (EM FMW Control, Grid Control)

Monitor the memory (JRockit Mission Control)

Manage database growth of MDS and SOAINFRA

Purging: Looping, Parallel, Partitioning

Oracle Fusion Middleware Administrator's Guide (chapter 9)

SOA 11G Database Growth Management Strategy

The character of the processes and the amount of instances is


important to find the right purging strategy (short-running or
long-running)

Challenges and what it means (3)?

Complexity

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Flexibility

Configurable through Business Rules, DVMs,


Process
of environment changes and
=> How
shouldmigration
I design because
my SCA-Applications?
new product releases are necessary
=> Which
functionalities
be used twice or more?
Top-down
approachcan
(contract-first)

=> How should I use features like partitions in order to


Integration
ease
the monitoring of the composites during runtime?
Custom-defined user task forms that fit into existing
=> What
are valid naming
implementations
and conventions?
future plans

Create
operating
sequence

Dynamic
Approver
Determination

Perform
Approval
Steps

Approval
finished

Start
Approval

Approver B

Approver A

Process Replay

Perform
Approval
Steps

Generic
Task Handler

Replay
Service

2
Order

WS

30000

..

40001

70080

Form Data

..

Check: Is Replay Mode


active?

Query the outcome and


the appropriate task
data of the current order
and working step.

Return the result to the


Generic Task Handler
and mark the working
step as replayed.

Continue the steps for


all tasks with a selected
outcome.

Form Data Table

Working Steps

Form Data

WS01

WS02

WS01

Order Table
Working Step Table

Challenges and what it means (4)?

Complexity

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Flexibility

Where should I store those contract information?

Configurable through Business Rules, DVMs,


Process migration because of environment changes and
new product releases are necessary
Top-down approach (contract-first)

Integration

Custom-defined user task forms that fit into existing


implementations and future plans

SOA Composite 1

Reuse of services + data

CustomerInfoService
(with SOAP-Binding)

ClaimNotification
Interface

CarRental
Interface

Customer

Car

CarBooking

CustomerInfoService
(abstract Interface)
Claim Notification

MDS

SOA Composite 2

Server

Share artifacts with MDS

oramds:/apps/<FOLDER>/<Service>.wsdl

Business Events
(EDL)

Composite
Interface (WSDL)

Data (XSD)

Fault Policies
(XML)
Domain
Value Maps (DVM)

Reference Interfaces
(WSDL)
MDS

A few more things...

Set the title-attribute of your composite instance with a


business related identifier

Use component-properties to change configuration


parameters of your implementations during runtime

Implement dynamic endpoint-binding pattern to avoid large ifthen-else trees (in BPEL: set property endpointURI during
runtime)

Challenges and what it means (5)?

Complexity

Long-running end-to-end processes


Approx. 20 Human Tasks per process + automated service calls
Infrastructure with more than 750 Managed Servers in Production
300.000 calculated end-to-end process instances per year

Flexibility
Configurable through Business Rules, DVMs,
How
can I create
mybecause
own worklist
application?
Process
migration
of environment
changes and
new product releases are necessary
Top-down approach (contract-first)

Integration

Custom-defined user task forms that fit into existing


implementations and future plans

Customized BPM Worklist Task Flow


(MDS Seeded Customization)
ADF UI

Custom ADF Application

Applied MDS Seeded Customization

BPM Worklist JAR with ADF Task Flows

Customized BPM Worklist Task Flow


(MDS Seeded Customization)

BPM Workspace Mode

Lightweight ADF Task Flow for BPM


Human Tasks

ADF UI

Custom ADF Application

BPM Java API

Lightweight ADF Task Flow for BPM


Human Tasks

ADF Security Integration


ADF UI
A
D
F
S
E
C
U
R
I
T
Y

ADF UI

ADF Data Control


Generic BPM Human Task

Generic BPM Human Task

BPM Human Task

BPM Human Task

Summary

Create reusable components for BPM and ADF.

Decouple business data from process instance data.

Dont forget the housekeeping for BPM and ADF.

Create well defined interfaces that fit into your architecture.

Be prepared for the worst-case (Fault Management, Replay, Entry


Points, etc.).

Use MDS to share your metadata.

Define clear naming conventions in advance for BPM and ADF.

Opitz Consulting Profile


Client

Markus Mehrens
Retail/
Logistic

Industry

Consulting

Non-Profit

Head of Account Management, Deutsche Postbank AG

Telco/
Media

Referring to our external partners,


I rarely experienced that project
organization and project management
have been handled in such perfect
manner.

Financial Services

Coaching
Fix Price

Marketing

Outtasking
Technology

Andreas Rttger (COO):


We rely on services of trusted
partners so we can ensure the holistic
approach in our projects. This is a key
in delivering value and innovation in
complex projects.
Jrgen Kunz
Senior Vice President Northern Europe & Managing
Director Oracle Germany

Non-Profit

Methods

Partner

Our Platinum Partner


OPITZ CONSULTING with his
excellent employees and outstanding
project successes belongs to our
privileged partners.

Red Samurai Profile


Customer Base

Focus

United States

Canada

Germany

Czech Republic

South Africa

Greece

Switzerland

United Kingdom

Spain

Portugal

Australia

Jordan

Saudi Arabia

Norway

Advanced Oracle
Fusion Coaching
Oracle Fusion
Architecture
Development

Oracle Fusion
Development and
Implementation
Social Enterprise
Suite Product
Development and
Integration

Contacts
Danilo Schmiedel

Blog: http://inside-bpm-and-soa.blogspot.com/

Web: http://www.opitz-consulting.com/

Email: danilo.schmiedel@opitz-consulting.com

Twitter: dschmied

Phone: +49-30-6298889-0

Contacts
Andrejus Baranovskis

Blog: http://andrejusb.blogpost.com

Web: http://redsamuraiconsulting.com

Email: abaranovskis@redsamuraiconsulting.com

Facebook: http://www.facebook.com/redsamoracle

Phone: +370-640-14737

You might also like