Professional Documents
Culture Documents
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
Customers – Global
Corporations, Medium and 2010 Enterprise 2.0 Blazer:
Small Business Enterprise 2.0 Leader Award
ADF UI ADF UI
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
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
Perform
Approval
Steps
Approver X
Cancel Staffing Continue
event Staffing event
Staffing
Validate cancelled
Staffing Business Process
x
Approver A
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
Perform
Approval
Steps
Human Task
Approver X
After Task
Operations
x
Generic ADF Human Task Handler
ADF UI ADF UI
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
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
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 your server and apps (EM FMW Control, Grid Control)
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
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
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
ADF UI
A
D
F
ADF Data Control
S Generic BPM Human Task
E
C
U
R
I Generic BPM Human Task
T
Y
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