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  Oracle Fusion Middleware
and UCM Innovation Award 2010

 Small Team of Experts,  SOA Partner Community


Focused on Technical Quality Award for Outstanding
Results Contribution Across the
World 2010

 Customers – Global
Corporations, Medium and  2010 Enterprise 2.0 Blazer:
Small Business 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


 BPM/ADF Integration Points

 Reuse of BPM Components

 ADF/BPM Generic Task Handler

 Decoupling Business Data

 Complexity and Architecture


Outline  Process Replay
Oracle BPM/ADF Integration
 Share Artifacts with MDS

 Customize BPM Workspace with


ADF
BPM/ADF Integration Points

ADF UI ADF UI

Custom ADF App


BPM Workspace App
Imports BPM Workspace JAR

BPM Human Task Process


Some of our challenges…

 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 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
Validation Preparation Finish
Coordination

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?
Approver A

Create Dynamic Perform


operating Approver Approval
sequence Determination Steps
Start Approval
Continue Cancel Staffing
Approval finished Staffing event event
Approver B

Perform
Approval
Steps
Approver X
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, …

 several
 Process
SCAmigration
projects because of environment changes and
new
 more product
than releases
300 task are necessary
definition files
 more
 Top-down
than 300approach (contract-first)
single ADF-UI projects
 Integration
Versioning? Maintenance? Migration?
 Custom-defined user task forms that fit into existing
implementations and future plans
Cancel Staffing Continue
event Staffing event

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?
Approver A

Create Dynamic Perform


operating Approver Approval
sequence Determination Steps
Start Approval
Approval finished
Approver B

Perform
Approval
Steps
Approver X
Cancel Staffing Continue
event Staffing event

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?

x
Approver A

Create Dynamic Perform


operating Approver Approval
sequence Determination Steps
Start Approval
Approval finished

x x
Approver B

Perform
Approval
Steps

x
Approver X

x x x
Cancel Staffing Continue
event Staffing event

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?

Generic Task Handler


Approver A

Create Dynamic Perform


operating Approver Approval
sequence Determination Steps
Start Approval
Approval finished
Before Task

Oracle Human Workflow


Operations
Approver B

Perform
Approval
Steps
Human Task
Approver X

After Task
Operations

x
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
 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
What about my running instances?
 Flexibility
 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
Cancel Staffing Continue
event Staffing event

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?

Deployment
Instance Data  Why is the transfer of complex
Task Data / Payload business data through the whole
process critical?
 Versioning
 Migration
MDS SOAINFRA
 Performance
 UI collects data from SOAINFRA
Decoupling Business Data (2)
Cancel Staffing Continue
event Staffing event

Staffing
Validate cancelled
Staffing Business Process

Application Continue? Setup


Workplace
Start
Process
Finish
Staffing
yes Staffing
no processed
Check Staffing Setup
Approve Staffing
Dependencies Accounts
Dependency
exists?

Deployment
Instance Data  Why is the transfer of complex
Adapter Services
Task Data / Payload business data through the whole
process critical?
 Versioning
 Migration Business
MDS SOAINFRA
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
=> How shouldmigration
I design because of environment changes and
my SCA-Applications?
new product releases are necessary
=> Which functionalities
 Top-down approachcan be used twice or more?
(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
Process Replay
Approver A

Create Dynamic Perform


operating Approver Approval
sequence Determination Steps
Start Approval
Approval finished

1 Check: Is Replay Mode


Approver B

Perform
Approval
Steps
active?
2 Query the outcome and
… Form Data
the appropriate task
1
2 … ..
data of the current order
Generic
Task Handler and working step.
… …
3 Replay
Service
… … 
3 Return the result to the
2 2 Form Data Table
Generic Task Handler
Order WS and mark the working
Working Steps Form Data …
30000 … .. step as replayed.
WS01 … …
40001 … …
WS02 … …

4 Continue the steps for
70080 … …
WS01 … …
all tasks with a selected
Order Table outcome.
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
Reuse of services + data
SOA Composite 1

CustomerInfoService CarRental
Customer
(with SOAP-Binding) Interface Car CarBooking

CustomerInfoService
ClaimNotification (abstract Interface)
Interface Claim Notification

MDS
Server
SOA Composite 2
Share artifacts with MDS

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

Business Events Fault Policies Reference Interfaces


Data (XSD) (XML)
(EDL) (WSDL)
Composite Domain
Interface (WSDL) Value Maps (DVM) 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 if-


then-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
 Process mybecause
migration own worklist application?
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 ADF UI

A
D
F
ADF Data Control
S Generic BPM Human Task
E
C
U
R
I Generic BPM Human Task
T
Y

BPM Human Task BPM Human Task


Summary

 Create reusable components for BPM and ADF.

 Decouple business data from process instance data.

 Don‘t 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/ Non-Profit Head of Account Management, Deutsche Postbank AG
Logistic „Referring to our external partners,
Telco/
I rarely experienced that project
Media
organization and project management
have been handled in such perfect
manner.“

Industry Financial Services


Andreas Röttger (COO):
Consulting Coaching „We rely on services of trusted
partners so we can ensure the holistic
Fix Price Outtasking
approach in our projects. This is a key
in delivering value and innovation in
Marketing Technology complex projects.”
Jürgen Kunz
Senior Vice President Northern Europe & Managing
Director Oracle Germany
„Our Platinum Partner
OPITZ CONSULTING with his
Non-Profit Methods excellent employees and outstanding
Partner project successes belongs to our
privileged partners.“
Red Samurai Profile
Customer Base Focus
 United States  Canada  Advanced Oracle
Fusion Coaching
 Germany  Czech Republic
 Oracle Fusion
 South Africa  Norway Architecture
 Greece Development

 Switzerland  Oracle Fusion


Development and
 United Kingdom Implementation
 Spain  Social Enterprise
 Portugal Suite Product
Development and
 Australia Integration
 Jordan
 Saudi Arabia
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