<Insert Picture Here>
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. 2010 Oracle Corporation 2 2
<Insert Picture Here> BPM 11gR1 Process Development Lifecycle November 2011
The BPM Lifecycle Process Development Activities Identify Design Compose Deploy Select Define Refine Refine Test Test Monitor Deploy Production Manage 4 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8
Process Development Stakeholders & Tools 5
Process Development Stakeholders ( 1 of 2) Process Analyst Process Architect Skills Minimal Process Modeling Understands Business Skills BPMN 2.0 expert (business view) Understands Business Needs Model high-level process definition Collaborate with other stakeholders Process Documentation Needs Detail oriented Model processes with high fidelity Make implementation choices Analyze process models
Process Development Stakeholders (2 of 2) Process Developer Process Owner Skills BPMN 2.0 (technical view) Web Services, XML Enterprise Apps Skills Defines Process Metrics Responsible for Process Needs Implement processes and UI Drag-and-drop wizards Coding optional Empower analysts Needs Process Analysis Process Performance Business Alignment
BPM Modeling Tools BPM Composer Process Analyst, Process Architect, Process Owner BPM Studio Process Analyst, Process Developer Discover, define & refine Customize from Templates Deploy Design & Compose Test & Deploy 8 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8
Oracle Process Composer for Rapid Process Discovery & Design Everyone has a different piece of the puzzle Shared, Collaborative, process discovery & design 9
Rules Modeling inside Composer 10
Oracle BPM Model driven implementation What you model is what you automate Other BPM tools Oracle BPM 11g Model Automate Model Automate BPMN XPDL BPMN 2.0 One Shared Model Iterate 11
Business IT Collaboration Single Model From Modeling to Execution Studio Comprehensive IDE for Developers Empower business analyst with catalog of implementation artifacts Single BPMN 2.0 model 12
BPM Project & Business Catalog 13
BPM Project (1 of 2) Contains the resources used to create and support a business application Includes Business Processes (BPMN) Simulations Organizational Chart Shared Resources Human Task Implementations Business Rule Implementations Services Data Types Event Exceptions Composite.xml 14 Oracle Restricted and Confidential 14
BPM Project (2 of 2) Superset of SOA Project IT View SCA Composite Assembly Model Composite.xml SOA Artifacts (xsd, wsdl, etc.) Adapters Service References etc. Business View Business Catalog Business Processes Organizational Data Simulations IT View Applications Navigator in BPM Studio Business View - BPM Project Navigator in BPM Studio 15 Oracle Restricted and Confidential 15
Business Catalog ( 1 of 2) Shared artifacts promote collaborative process development. BPM Project Org Chart BPMN Processes Simulations User Interfaces Business Indicators Business Catalog Data Types Events Rules Exceptions Human Tasks Services (Adapters, External, BPEL, Mediator) Business Catalog holds process related artifacts. Provides building blocks for implementing processes. Promotes sharing and reuse. Facilitates collaboration between Composer and Studio. 16
Business Catalog (2 of 2) Linkage to Business Catalog artifact makes process step concrete Business Catalog Artifact Business Object (Complex data type) Events (EDN) Exception References, Services (BPEL, Adapters, External Services) Human Task Implementations Rule Implementations Linkage to BPMN model 1. Arguments for Implementation artifacts 2. Arguments for Message Events 3. Data Objects (variables) Signal Event 1. Error Event 2. Message Event (in the case of Fault) 1. Service Task 2. Send Task 3. Receive Task 4. Message Event Interactive Tasks Rule Tasks
BPM Project Template BPM Project Template Layering of permissions on top of BPMN processes inside a BPM Project Enables customizations & promotes governance How to create BPM Projects from Templates 1. Create BPM Project Template (or) right-click & convert existing BPM Project to Template inside BPM Studio 2. Save to MDS 3. Create BPM Project from BPM Project Template inside Composer 4. Customize & Deploy You can convert BPM Project into a Template in Studio 18
Oracle MDS BPM Repository 19
Metadata Store (MDS) MDS is a design-time storage for BPM Projects MDS also holds deployed composites and used for run-time management as well MDS Storage is modeled as folders and files Can be backed by database or file system Production deployments use database Partitions contain groups of related schemas Folder structure and files reflect the state of collaboration (i.e. MDS does not provide locking or notification) 20
Metadata Store (MDS) SOA Partition (soa-infra) Shared definition Deployed Composites BPM partition supports Studio/Composer collaboration BPM Projects saved under Applications BPM Project Templates under Templates BPM Project Snapshots (Composer) under Snapshots BPM Project drafts (working copy) under Drafts These reference artifacts in SOA Partition obpm partition Soa-infra partition 21
Oracle MDS BPM Process Development Life cycle 22
Collaborative Process Design Supports Top-down & Bottom-up modeling BPM Studio Save / Lock & Edit MDS Save/ Lock & Edit BPM Composer Collaborative Process Development Check-in/ Checkout & version management Source Control Systems Design, Simulate, Compose, Test & Deploy Deploy BPMN 2.0 processes Define, Refine, Customize & Deploy BPM Run-time Source of truth 23
Process Development Lifecycle Composer MDS Studio Version Control Project created 1. Create BPM Project & start editing; Save & locked by Composer user 2. Edit, Share, Collaborate & create snapshots snapshots 3. Save & Release (MDS) Project unlocked Project locked by Studio user 4. Check-out from MDS for View/Edit 5. Version Application Version BPM Project 2. Edit Project & make changes Project created & locked by Composer user Project unlocked 6. Implement 7. Version Application 8. Save to MDS & Unlock Version BPM Project 3. Save & Release Project unlocked 24
Process Development Lifecycle 1. Create Project in Composer 2. Edit, Share, Collaborate, Create Snapshots & Save BPM Projects in Composer (iterative) 3. Save & Release to MDS in Composer 4. Check-out & Edit from MDS in BPM Studio 5. Version Application in SVN 6. Implement Process in BPM Studio (concurrent editing supported through Team Development) 7. Version Application in SVN 8. Save to MDS & Unlock in BPM Studio 9. Back to Step 2 Steps 2 through 8 is iterative
1. Create BPM Project inside Composer
Many different ways to create a BPM Project Create from scratch or Create from BPM Project Template Browse BPM Project Templates in MDS Create from Template option
2. Collaboratively define model in Composer
Collaboration features in Composer Collaboration Project Home Change History Snapshots Project Sharing 29
Leverage Existing Models Import Visio and XPDL models 30
Sharing, Gallery & Approval Workflows Sharing When a BPM Project is created it is private & not shared. At any point in time, you can invite other people as participants (Project level privileges - Viewer or Editor) Global privileges across BPM Projects are also supported User privilege = Union of Global + Project privileges You have to be owner to assign project level privileges Gallery Create & delete BPM resources from the Gallery page Create BPMN processes & Human Task implementations Edit Rule implementations Approval Workflow Specify workflows for BPM Project deployment
MDS Locking of BPM Projects 1. Locking kicks in when you are sharing BPM Projects 2. Locking is done at the BPM Project level 3. Only one person can lock & edit the project at any point in time 4. Others can view changes as it is saved 5. You can break the locks in both Composer & Studio Managing locks inside Composer Log in as Administrator & go to Project Management 32
Composer Snapshots & Change Log Snapshot is at the Project level Provides savepoints in Composer for in-flight work (go back to previous state) You can open an older snapshot in read-only mode or revert back to a previous snapshot and make it the current version Change Log shows changes across snapshots
Documentation for Collaboration Use Documentation Internal for passing feedbacks, comments & notes among business & IT stakeholders Use Documentation End User for documenting procedural steps for online help 34
Documenting the Design Collaboration Diagram & Process Report help business to understand the business processes 35
3. Save & Release BPM Project inside Composer 36
Differences between Save & Save and Release Save Save & Release When is this option shown Lock status Draft copy in MDS Deleted For both private & shared BPM Projects Not broken; current user can continue to edit Only for shared BPM Projects Broken; current user needs to acquire new lock Deleted Other participants can see changes Yes Yes 37
P u b l i c What happens in MDS when you work inside Process Composer? Applications Create BPM Project in Composer BPM Project folder created Edit Lock file created Changes become visible to other participants Save & Release Lock file is deleted S p a c e D r a f t S p a c e Snapshots Drafts Edit Draft folder created for Project Project metadata file created Snapshot folder created Create Snapshot Share & Save Save & Release Draft folder is deleted 38
BPM Partition in MDS Active saved version goes under Applications folder Lock file gets created if it is currently being edited Only changes related to working version are copied under drafts folder Lock file gets created if it is currently being edited Entire BPM Project is copied under snap shots folder 39
4. Check-out & Edit inside BPM Studio 40
BPM Studio - Check-out from MDS BPM MDS Connection - You can connect as a regular user or administrator Shows BPM Project Lock Status inside BPM MDS Navigator in BPM Studio 41
5. Version check BPM Project in Studio 42
BPM Studio Team Development
Version check inside BPM Studio using Team Development for Concurrent Editing (1 of 2) Requires that recommended best practices are strictly adhered to avoid merge conflicts 1.Assign an overall owner and components owners Overall owner manages changes to the top-level structure Overall owner defines & maintains the composite.xml Component owners implement the components they own 2.Define an initial composite structure and check in to VCS Identify Processes (BPMN & BPEL), Services, Components, References All shared types/wsdls must be stored in MDS & not locally
Version check inside BPM Studio using Team Development for Concurrent Editing (2 of 2) 3. Establish integration milestones and change control Component owners check in incremental work Draft mode in ps4fp allows incomplete implementation 4. Any new Component must be added by the owner Owner changes and validates top level model and checks it in Component owners refresh to pickup structural changes
Team Development BPMN Models BPMN models should not be edited concurrently Merging of concurrent changes is complex and error prone BPMN models can be re-factored into sub-processes to: Hide complexity Facilitate re-use Support concurrent development Each sub-process can be developed concurrently Use reusable sub-process when used only from within the project Use stand alone subprocess when used by other projects
Team Development UI Integration There are two common types of UI/BPM integration External UI that interacts with the process ADF task forms launched from BPM Workspace Both types of UI can be developed in parallel Contract for External UI is the composite service interface Contract for Task forms is the task Payload schema Both types of UI leverage Data Controls Hides the details of the underlying transport Can be refreshed if the contract changes Use the auto-generated ADF task forms for testing Provides a quick way to do initial testing of processes Typically replaced with custom forms combined into one EAR
6. Implement process models in Studio 48
Composer versus Studio (1 of 2) Feature Composer Studio Audience Create & Edit BPM Project from scratch & from Templates Customization use case create BPM Project from Templates Business User, Business Analyst, Process Architect, Process Owner Create & Edit BPMN Processes Yes Yes Browse Business Catalog & Make Implementation Choices Create Human Task Implementations Create/Edit Business Rule Implementations Yes Yes Yes Yes (* only select task metadata is exposed. More parameters will be exposed in PS6) Only edit Business Rules; Cannot create Rule dictionaries Process Developer, (* Business Analyst only for simulation) Yes. Complex Data Types Not until PS6 release Yes No Yes Complete Task Editor Create and edit Business Rules 49
Composer versus Studio (2 of 2) Feature Composer Studio Create User Interfaces No. Frevvo integration for simple forms slated for PS6 Specify Documentation Yes Yes Simulation No (tentative for PS6) Yes ADF User Interfaces Data mappings Simple XPATH only Conditional expressions for Gateways Yes Configure Message Events Yes Yes Yes Define Business Exceptions and Events; Configure Signal Event and Error Events Define message based correlation sets Deploy No No Yes (Forms should be deployed and URL specified in Task definition ) No Yes Yes 50
Ease-of-use Powered by BPMN 2.0 Seamless Business IT Collaboration Analyst Tools Developer Tools Process Execution Engines Progressive Refinement Analysts model at their level of abstraction Developers refine the model with implementation details Different perspectives are maintained No loss in translation What you model is what you execute Model portability Well defined persistence format Levels of conformance 51
Implement BPMN process step (1 of 2) Model is the Executable Properties -> Implementation tab 1 Simplified Human Task Editor Human Workflow Pattern 2 Drag & drop Data Objects to set the input and output arguments Data Object Browser Add Implementation Reference Browse for an Implementation artifact in Catalog Delete Implementation Reference 52
Implement BPMN process step (2 of 2) Model is the Executable 3 4 Input arguments The process step is tied to an implementation now Data Object Browser Next step is to map the process data objects to and from input/output arguments of the implementation XPATH Mapping Oracle Confidential Do Not Distribute 53
7. Version check BPM Project in Studio 54
Version check BPM Project Version check final BPM Project once more before sync with MDS Owner responsible for this step 55
8. Save & Release Lock of BPM Project from BPM Studio
BPM Studio Save to MDS & Release Lock 1 2 Save to MDS inside BPM Studio Release lock on BPM Project inside BPM MDS Navigator in BPM Studio 57
Collaboration across Composer & Studio Guidelines for collaboration across Composer & Studio when Team Development is used MDS folders must be based on labels from VCS Labels are defined for branches in VCS BPM Studio workspace is bound to the branch Project in Composer is created under folder whose name is based on VCS label
Deployment of BPM Projects
BPM Project Deployment BPM Projects can be deployed in 5 different ways: From Jdeveloper BPM Studio From BPM Process Composer From Oracle Enterprise Manager Using Ant scripts ant-sca-compile compiles SOA composites ant-sca-deploy deploy SOA composite Using WLST scripts sca_deploycomposite Deploy composite applications sca_deploycomposite(serverurl, sarlocation, overwrite, user, sca_deploycomposite("http://myhost10:7001", "/tmp/sca_helloworld_rev1.0.jar", forcedefault=false, password,forcedefault, configplan) configplan="/tmp/deployplan.xml") sca_undeploycomposite Undeploy composite sca_undeploycomposite(serverurl, compositename, revision, user, password) sca_undeploycomposite("http://myhost10:7001","helloworld", "1.0")
Deploy from Composer 1 BPM UI Projects have to be deployed separately URL for Task User Interfaces have to be specified as part of Task definition in Composer 2 3
Deploy from BPM Studio 1 2 3 Deploy from Application Navigator Specify Revision. In PS4FP, select keep running instances on deploy to preserve in-flight instances from going stale when redeploying the same process version You can deploy associated UI Projects together or deploy UI Projects separately as an ear
Testing of BPM Projects
BPM Project Unit Testing Draft Mode enables testing of partially completed processes EM integrated Test Client and Test Case Support Standalone test clients via JUnit/XMLUnit, SOAPUI, etc. Use BPM processes to test BPM processes
Integration Testing BPM Process Testing Use SOAP message generators for synchronous testing soapui, XMLUnit Develop BPM/BPEL processes as test drivers Useful for handling asynchronous interactions UI Testing Utilize automated scripting tools to simulate expected load Include a set of baseline tests to verify infrastructure performance e.g. empty payload end-to-end Ensure that any back end processing is also simulated
Test to Production
Test To Production (T2P) - Migration Migration has two key elements Removing external dependencies from code Using scripts to migrate application metadata Removing external dependencies J2EE deployment plans externalize dependencies SOA equivalent is the configuration plan Scripts for migrating application metadata T2P Ant scripts export and import metadata for: Human Work flow custom views Flex field mappings Vacation rules. Custom dash board and grants WLST scripts can be used to initialize security stores <soaconfigplan > <composite name="fileadaptorcomposite"> <service name="readpo"> <binding type="*"> <property name="infilefolder"> <replace>/prod/folder</replace> </property> </binding> </service> </composite> <composite name="*"> <imports> <searchreplace> <search>myserver17</search> <replace>test-server</replace> </searchreplace> </imports> <reference name="*"> <binding type="ws"> <attribute name="location"> <searchreplace> <search>myserver17</search> <replace>test-server</replace> </searchreplace> </attribute> </binding> </reference> </composite> </soaconfigplan>
Test To Production (T2P) - Deployment Deployment can be performed using JDeveloper Ant Scripts WLST Scripts Enterprise Manager Best practice for deployment is to use scripts Provides a more repeatable process Can be integrated into other system management tools Ant is generally used as the top-level script Calls WLST as needed
Team Development Tips
Managing Separate Code Lines BPM instances are bound to the composite s version PS4FP enables updates to an existing version without going stale Instances can not be migrated to a newer version Alternative approach is to merge changes to prior version(s) VCS Version 1.0.0 Bug Fix VCS Version 1.0.1 Merge from 1.1 VCS Version 1.0.2 Composite Version 1.0 VCS Version 1.1.0 VCS Version 1.1.1 Composite Version 1.1 70
Versioning Considerations The closer we are to SVN, the more Official The Code When we are from SVN, we only have working copies or Pseudo-Versions of the process. Deltas between official version in SVN and working copy in BPM Studio are changes that need to be checked-in to become official. Versions are only a relevant concept in SVN Builds that are deployed to Production should come from artifacts checked out of SVN
Questions 2009 Oracle Corporation 72