Saturday, 22 June 2013

Fusion Apps - Customizing and Extending BPMN Processes

The Oracle Fusion Customer Relationship Management (CRM) and Oracle Fusion Human Capital Management (HCM) product families of Oracle Fusion Apps use Business Process Management Notation (BPMN) processes to define some of the process flows used within their applications.

Business Process Composer enables you to customize these processes. In Fusion Apps BPMN Processes has been deployed using BPM Projects which in turn has used Project Templates specifically provided for Fusion Apps. 
The technical components inside PBM projects are called the business catalog. The business catalog contains various reusable services that a BPMN process can use to connect to other components of the application, including other processes, systems, and databases.
The business catalog contains the following reusable components:

Business Catalog Components Available in Business Process Composer
Business Catalog ComponentDescription
ServicesServices are used to connect a BPMN process with other processes, systems, and services, including BPEL processes, databases.
Human tasksHuman tasks enable you to define how end users interact with your BPMN processes. Human tasks are implemented in a BPMN process using the user task.
Business rulesOracle business rules are statements that describe business policies or describe key business decisions.

Oracle Fusion Apps provide multiple tools for customizing and extending BPMN processes. These tools are 


This tool...Enables you to...
Business Process ComposerCustomize BPMN processes by creating and deploying BPM projects based on project templates. 
Oracle BPM Studio (JDeveloper)Customize project templates. 
Oracle SOA ComposerCustomize business rules, domain value maps, and approval configuration and assignment rules at runtime
Oracle BPM WorklistCustomize approval configuration and assignment rules. 


As with many ERPs, there are mainly two types of customization - Design Time(DT) and Run Time(RT)
Now if you go by the present Fusion Apps implementation model then it is the SaaS model which most the customers are going for. In SaaS there are multiple access constraints and one of them is that you can not do DT Customization. So you are left with RT customization. Logically next question will be "What can we do with BPMN Processes at RT?"

You can use SOA Composer and BPM Worklist to customize

  • Oracle business rules
  • Domain value maps
  • Approval assignment rules in human workflows such as customizing the approval flow for a specific customer.

These customizations can be made directly to a running Oracle Fusion application without having to redeploy the BPM project.

Using Business Process Composer
you can make the following customizations to a BPM project created from a project template:
  • Customize an existing BPMN process.
  • Create new BPMN processes.
  • Create simple data objects.
  • Create and modify some business catalog components.

List of Business Catalog Components
Business Catalog ComponentCan be created using Business Process Composer?Can be customized using Business Process Composer?
Business rulesNoYes
Human tasksYes
You can create human tasks using Business Process Composer, however not all functionality of a human task can be customized.
Yes
ServicesYesYes

If you want to customize anything other than those mentioned above, then you have to use JDeveloper using Customization Role. There are three blog posts by Fusion Applications Developer Relations Team about how to setup JDeveloper environment for Fusion Appplications Development. 
You can also refer John Brock's blog post on Setting Up A Fusion Development Environment. Here in this blog I will cover RT customizations.
Now you know what can be done with what Tools. So the next logical step will be how to access these tools in Fusion Apps environment.
Let's start with SOA Suite(SOA Composer & BPM Worklist)

Starting the Customization Tool
For Customizing...Start...By Entering...
Business rules
  • Approval configuration and assignment rules
  • Oracle BPM Worklist (recommended)
  • Oracle SOA Composer
Note: If you use Oracle SOA Composer to customize approval configuration and assignment rules during runtime, changes in subsequent revision patches are not applied successfully.
http://host:port/integration/worklistapp


http://host:port/soa/composer
  • Nonapproval business rules
Oracle SOA Composer
http://host:port/soa/composer
Domain value mapsOracle SOA Composer
http://host:port/soa/composer
SOA composite application endpoint properties such as Oracle WSM security policies and binding component propertiesOracle Enterprise Manager Fusion Applications Control
http://host:port/em


Let's say your HCM Product Family has been deployed on host yourserver.com and port 10619 then SOA Composer can be accessed http://yourserver.com:10619/soa/composer. Once you open the link it may ask you login credentials depending on whether you are already logged on to Fusion Apps or opening a new session. After successful login you would see a screen like this
SOA Composer











BPM Worklist











Alternatively if you have HCM Domain EM access then you can use that to get the SOA Composer and BPM Worklist urls for modifying HCM Approval rules and notifications. You can get the host and port details of HCM Domain using this post. Using this post you can get the roles needed to access EM.












This is the way you get url for BPM Worklist. Similarly you can get the url for SOA Composer and BPM Composer.







There is also FSM task to configure BPM Worklist












Now lets see what are the roles you need to access SOA Composer/BPM Worklist/BPM Composer. The duty role that is needed is BPM Workflow System Admin Role. So let's see what is there in this duty role. As this is a duty/application role, you need to use APM to see the details. So Log on to APM. Here is the post which describes how to navigate to APM. Once you log in then search the role and click on Open as shown












This shows the Application Role Hierarchy










As you can see that this duty has been mapped to External Role/Job Role Application Implementation Consultant and Human Capital Management Application Administrator. SO if you have either of them then you access SOA Composer/BPM Composer/BPM Worklist.

Summary
So you now know
  • What are BPMN Processes??
  • How they are implemented??
  • What Business Catalog Components are available??
  • What Tools are available to Customize them??
  • How to access those tools??
  • What Duty Roles do you need??
  • What Job roles d you need??
In the next post I will show how to customize tasks and it's rules using either SOA Composer or BPM Worklist or FSM Task for HCM Approval Configuration.

Cheers....................

No comments:

Post a Comment