copyright © 2012, oracle and/or its affiliates. all rights reserved. 1 oracle unified bpm suite...
TRANSCRIPT
![Page 1: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/1.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.1
Oracle Unified BPM Suite Customer Advisory BoardDesign Best Practices Overview
![Page 2: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/2.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.2
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
![Page 3: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/3.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.3
Agenda
Motivation (Why These Topics)
Specific Design Topics
Exception handling
Questions and Answers, Discussion
![Page 4: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/4.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.4
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 5: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/5.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.5
Process Data Design Loading and Storing instance state is a significant performance driver
– Dehydration/Hydration puts pressure on the database and JVM (also GC)
– Amount of analytics data/users adds to performance considerations
– Size of “final” state impacts the time required to purge completed instances
Key Design Considerations …– Data objects should define the data needed to identify/manage the instance
Reference other data via DB Adapter, ADFbc, or service activity
– Define data objects in the scope where it is needed
– Review the amount and usefulness of analytics data produced All dimensions are sent with each measurement mark
![Page 6: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/6.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.6
Process Data Design Process State
SOA-INFRA Storage:CUBE_SCOPE
• Process Data ObjectsWFTASK
• Process Instance, Flex Fields• Scopes for …
• Parallel Gateway• Multi-Instance Activity
WFCOMMENTSWFATTACHMENTBPM_CUBE_PROCESSBPM_CUBE_PROCESSPERFORMANCE
![Page 7: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/7.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.7
Process Data DesignAnalytics Data – BI Views
![Page 8: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/8.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.8
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 9: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/9.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.9
Using Reusable Process via Call Activity
Reusable process is the most efficient way to reuse a flow– There is no “invoke”, the flow is “in-lined” into the current process
– Reusable process can only be used within a project
Invoking a process within the project is similar to invoking other components
– There is overhead in creating and persisting the component
– However the functionality can be exposed as a service
Calling across projects (composites) is the least efficient– Message delivery will be optimized (No SOAP message unless required)
– Creation and tracking of the composite instance is expensive
![Page 10: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/10.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.10
Using Reusable Process via Call Activity
![Page 11: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/11.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.11
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 12: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/12.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.12
Using Event Delivery Network (EDN) EDN is surfaced in BPMN 2.0 via the Signal Event
– Provides pub/sub semantics similar to JMS Events are typed via XSD
– Can be used to start, end or in-flight within a process
Benefits of Using Signals– Allows senders and receivers to be “de-coupled”
– Can be used to dynamically invoke subprocesses
Considerations/Limitations– In-flight signal catch events must be correlated (no generic subscription)
Two instances can not listen for the same in-flight event
– Signals can not be thrown/caught within the same process
![Page 13: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/13.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.13
Using EDN
![Page 14: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/14.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.14
Using EDNGenerating a Signal Start Event from the UI
![Page 15: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/15.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.15
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 16: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/16.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.16
Multi-Instance Activities
Enables looping construct within BPMN model– Can be configured as serial or concurrent
– Instance count can be defined using literal, collection size, or expression
Important Multi-Instance Design considerations– Minimize the number of instances – each is a unique scope
Each scope incurs persistence/purge overhead
– Asynchronous interactions require a scoped conversation
– For synchronous interactions utilize non-blocking invoke Otherwise total time will be sum of instance execution time
Declarative Looping Within BPMN
![Page 17: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/17.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.17
Multi-Instance Activities
![Page 18: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/18.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.18
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 19: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/19.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.19
Using the Spring Component
Allows Java to be invoked from WSDL based components (e.g. BPMN)– Often used for complex calculations or procedural logic
– Is an alternative to creating an “external” service (i.e. EJB or JAX-WS)
Where to put the code? Consider the scope of use …– Local use, compile source as part of the composite
– Shared use, have a separate project and deploy via SOA extension library
Use the “Predefined” Spring Beans– headerHelperBean, instanceHelperBean, loggerBean
If the code authenticates to external systems– Use the OPSS Credential Mapper APIs
![Page 20: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/20.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.20
Using The Spring Component
![Page 21: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/21.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.21
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 22: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/22.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.22
Human Task Integration
Define the task schema as a “visible” contract (a project milestone)– Isolate the task form from complex external schemas
– Look for opportunities to share task forms via hwtaskflow.xml
– Share the definition via MDS
Minimize storage space– Store keys that reference existing data, including attachments as URLs
Minimize storage space “multipliers”– Large numbers of specific user assignments (alternative app roles, groups)
– Large numbers of task data attributes (use a single complex type instead)
– Loop back path(s) in process model
Data Design
![Page 23: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/23.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.23
Human Task IntegrationData Design – Database Storage
![Page 24: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/24.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.24
Human Task Integration
Process and UI projects should be in separate applications– Avoids issues with shared MDS definitions in adf-config.xml
Try to put multiple task flows/task UIs into the same web application– Reduces memory footprint at runtime
– Needs to be balanced against team structure and division of work
– Use the task flow from human task wizard and drop handlers
If you can’t use one web application, consolidate WARs into a singe EAR– You can have multiple deployment profiles
Each WAR in a single EAR for development (speeds up redeployment) Multiple WARs in a single EAR for integration, UAT, production
Task UI Project Structure and Packaging
![Page 25: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/25.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.25
Human Task IntegrationTask UI Project Structure and Packaging
Use context menu on data control to update data control for changes to task schema
![Page 26: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/26.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.26
Human Task Integration
Disable any notifications that are not needed– Tasks have default notification for Assign, Complete, and Error
Page is rendered using org.apache.myfaces.trinidad.agent.email=true– See: http://docs.oracle.com/cd/E28271_01/web.1111/e28163/ad_output.htm#DAFFDHJE
– Default task forms may not display properly in Outlook 2010
– Use conditional logic in the page to tailor the content for email
Define a router and separate page for rendering notification email– Use the drop handler to create an email optimized form
Test with all relevant email clients
Notifications
![Page 27: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/27.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.27
Human Task IntegrationNotifications – Creating an Email Specific Page
• Use data control drop handler to create “email” page
• Create router that references bpmClientType property
![Page 28: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/28.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.28
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 29: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/29.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.29
Exception Handling
Interrupting Boundary Error Event
Non-Interrupting Boundary Timer Event
Error Boundary Event Event based Sub process
Error Event Sub-process
Within the Process Model
![Page 30: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/30.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.30
Manual Exception handling
Manual -> Alter FlowStudio Process Properties Workspace Alter Flow
![Page 31: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/31.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.31
Exception Handling
Managed by the runtime during “invoke” operations– Defines actions to take. e.g. retry 5 times followed by human intervention
How to define– Composite based
<composite faultPolicy=“MyPolicy"/>
– Component based
<component name=“MyComponent” faultPolicy=“MyPolicy”/>
– Reference based
<reference faultPolicy=“MyServiceFaults">
<name>MyService</name>
</reference>
Declarative via Fault Policy
![Page 32: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/32.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.32
Exception handling
Enterprise Manager– Fault action with
ora-human-intervention.
– Only for Recoverable faults (invoke operations).
– What happens if fault policy is not defined
Manual
![Page 33: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/33.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.33
Agenda
Motivation (Why These Topics)
Specific Design Topics– Data Design– Reusable Process– Using EDN– Multi-Instance Activity– Using the Spring Component– Human Task Integration
Exception handling
Questions and Answers, Discussion
![Page 34: Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Oracle Unified BPM Suite Customer Advisory Board Design Best Practices Overview](https://reader030.vdocuments.net/reader030/viewer/2022032605/56649e845503460f94b856f1/html5/thumbnails/34.jpg)
Copyright © 2012, Oracle and/or its affiliates. All rights reserved.34
Graphic Section Divider