adf_bpm_integration
DESCRIPTION
this documents explains the best practices for ADF BPM integrationTRANSCRIPT
-
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
Small Team of Experts, Focused on Technical Quality Results
Customers Global Corporations, Medium and Small Business
Oracle Technical Blog 7 Years (~500 posts)
Oracle Fusion Middleware
Innovation Award 2010
SOA Partner Community
Award for Outstanding
Contribution Across the
World 2010
2010 Enterprise 2.0 Blazer:
Enterprise 2.0 Leader Award
-
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
OPITZ CONSULTING GmbH
-
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
Customize BPM Workspace with
ADF
Oracle BPM/ADF Integration
-
BPM/ADF Integration Points
BPM Human Task Process
BPM Workspace App Custom ADF App
Imports BPM Workspace JAR
ADF UI ADF UI
-
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
-
Locking and Coordination
Preparation Finish Validation
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
C
om
po
nen
t
Vie
w
Start
Process
Setup Workplace
Approve Staffing
Start
Approval
Create operating sequence
Dynamic Approver
Determination
Perform Approval
Steps
Approval
finished
Perform Approval
Steps
Ap
pro
ve
r A
A
pp
rov
er
B
Ap
pro
ve
r X
Continue?
-
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
Challenges and what it means (1)?
Following the BPM Suite standard approach for
approx.15 processes:
several SCA projects
more than 300 task definition files
more than 300 single ADF-UI projects
Versioning? Maintenance? Migration?
-
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event
Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
Start
Process
Setup Workplace
Approve Staffing
Start
Approval
Create operating sequence
Dynamic Approver
Determination
Perform Approval
Steps
Approval
finished
Ap
pro
ve
r A
A
pp
rov
er
B
Ap
pro
ve
r X
Perform Approval
Steps
Continue?
-
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event
Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
Start
Process
Setup Workplace
Approve Staffing
Start
Approval
Create operating sequence
Dynamic Approver
Determination
Perform Approval
Steps
Approval
finished
Ap
pro
ve
r A
A
pp
rov
er
B
Ap
pro
ve
r X
Perform Approval
Steps x x
x x x
x
x
Continue?
-
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event
Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
Start
Process
Setup Workplace
Approve Staffing
Start
Approval
Create operating sequence
Dynamic Approver
Determination
Perform Approval
Steps
Approval
finished
Ap
pro
ve
r A
A
pp
rov
er
B
Ap
pro
ve
r X
Perform Approval
Steps Human Task
Before Task Operations
After Task Operations O
racle
Hum
an
Wo
rkflow
Generic Task Handler
x
Continue?
-
Generic ADF Human Task Handler
BPM Human Task
Generic BPM Human Task
ADF Data Control
Generic BPM Human Task
ADF UI ADF UI
BPM Human Task
-
Generic ADF Human Task Handler
-
Generic ADF Human Task Handler
-
Generic ADF Human Task Handler
-
Generic ADF Human Task Handler
-
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
Challenges and what it means (2)?
What about my running instances?
-
Decoupling Business Data
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event
Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
Start
Process
Setup Workplace
Approve Staffing
MDS SOAINFRA
Deployment Instance Data
Task Data / Payload
Why is the transfer of complex business data through the whole process critical?
Versioning
Migration
Performance
UI collects data from SOAINFRA
Continue?
-
Decoupling Business Data (2)
Validate Application
Check Staffing Dependencies
Setup Accounts
Dependency
exists?
yes
no
Finish Staffing
Staffing
cancelled
Staffing
processed
Continue
Staffing event
Cancel Staffing
event
Sta
ffin
g B
usin
ess P
rocess
Start
Process
Setup Workplace
Approve Staffing
MDS SOAINFRA
Deployment Instance Data
Task Data / Payload
Why is the transfer of complex business data through the whole process critical?
Versioning
Migration
Performance
UI collects data from SOAINFRA
Business
related data
Adapter Services
Continue?
-
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)
Setup the housekeeping
-
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
Challenges and what it means (3)?
=> How should I design my SCA-Applications?
=> Which functionalities can be used twice or more?
=> How should I use features like partitions in order to
ease the monitoring of the composites during runtime?
=> What are valid naming conventions?
-
Process Replay
Start
Approval
Create operating sequence
Dynamic Approver
Determination
Perform Approval
Steps
Approval
finished
Perform Approval
Steps
Ap
pro
ve
r A
A
pp
rov
er
B
Working Steps Form Data
WS01
WS02
WS01
Order WS
30000 ..
40001
70080
Order Table
Working Step Table
1
2 2
Generic
Task Handler
Form Data
..
Form Data Table
Replay
Service
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.
2
1
2
3
4
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 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
Challenges and what it means (4)?
Where should I store those contract information?
-
Reuse of services + data S
OA
Co
mp
osit
e 1
S
OA
Co
mp
os
ite 2
Server
Car CustomerInfoService
(with SOAP-Binding) Customer
Claim Notification
MDS
CustomerInfoService
(abstract Interface) ClaimNotification
Interface
CarRental
Interface CarBooking
-
Share artifacts with MDS
MDS
Composite
Interface (WSDL)
Reference Interfaces
(WSDL)
Fault Policies
(XML)
Domain
Value Maps (DVM)
Business Events
(EDL) Data (XSD)
oramds:/apps//.wsdl
-
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)
A few more things...
-
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
Challenges and what it means (5)?
How can I create my own worklist application?
-
Customized BPM Worklist Task Flow
(MDS Seeded Customization)
BPM Worklist JAR with ADF Task Flows
Applied MDS Seeded Customization
ADF UI
Custom ADF Application
-
Customized BPM Worklist Task Flow
(MDS Seeded Customization)
-
BPM Workspace Mode
-
Lightweight ADF Task Flow for BPM
Human Tasks
BPM Java API
ADF UI
Custom ADF Application
-
Lightweight ADF Task Flow for BPM
Human Tasks
-
ADF Security Integration
BPM Human Task
Generic BPM Human Task
ADF Data Control
Generic BPM Human Task
ADF UI ADF UI
BPM Human Task
A
D
F
S
E
C
U
R
I
T
Y
-
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
Outtasking
Client
Partner
Consulting
Coaching
Fix Price
Industry Financial Services
Non-Profit Retail/
Logistic
Jrgen Kunz Senior Vice President Northern Europe & Managing
Director Oracle Germany
Our Platinum Partner OPITZ CONSULTING with his
excellent employees and outstanding
project successes belongs to our
privileged partners.
Markus Mehrens Head of Account Management, Deutsche Postbank AG
Referring to our external partners, I rarely experienced that project
organization and project management
have been handled in such perfect
manner.
Telco/
Media
Technology
Methods
Marketing
Non-Profit
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.
-
Red Samurai Profile
Customer Base
United States
Germany
South Africa
Greece
Switzerland
United Kingdom
Spain
Portugal
Australia
Jordan
Saudi Arabia
Canada
Czech Republic
Norway
Focus
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: [email protected]
Twitter: dschmied
Phone: +49-30-6298889-0
-
Contacts
Andrejus Baranovskis
Blog: http://andrejusb.blogpost.com
Web: http://redsamuraiconsulting.com
Email: [email protected]
Facebook: http://www.facebook.com/redsamoracle
Phone: +370-640-14737