Reusable Policies and Expressions
From Business Process Management, BPM and Workflow Automation Wiki | BizAgi BPMS
Applies to ENTERPRISE .NET EDITION |
<keywords content="keywords">reuse,re-use,rules,rule,policy,policies,global,process,default</keywords>
Contents |
Policy and Expression Reusability
Reusability, in this article, refers to the policies and expressions in the Enterprise .NET Edition that can be used more than once, between applications and even between processes in different applications. Reusability also makes the modeling process more efficient because policies and expressions that are used frequently in a project are only created once and then they only need to be associated to the new elements when they are required.
Policies
Policies are only associated as Actions to specific shapes in a process. On the other hand, Expressions may be associated not only to actions, but also to sequence flows, forms and performers. To understand how policies are reused we will classify policies into two types:
Application Policies: these are the policies that can be reused by any of the processes that are part of the application.
Process Policies: can only be reused by the specific process within which they are created.
This is how the user will see the classification of the policies, and will be allowed to easily search and reuse the policy that he/she might be interested. Valid Approval is an example of an Application Policy that is part of the Administrative application, and can be checked from the Business Rules menu.
Authorization Level is an example of a Process Policy that is part of the Purchase Requistion process, and can be checked from the Processes Menu.
Once the user intends to associate a policy as an action of an activity of a process, a window with the policies in different levels will be displayed.
Example of Policy Reusability
To illustrate how policies can be reused consider the following project containing 4 different applications (Administrative, Finance, Marketing and Operations).
Application Policies created in the Administrative application, such as Valid Approval, can be reused in any of the different processes that conform the Administrative application (e.g. Invoice Payment, Purchase Requisition, etc.).
Here we can see Valid Approval is available in the Purchase Requisition process:
Valid Approval will also be available in the Invoice Payment process:
This policy would not be available in any process that is part of another application. For example the Prospect Follow-up process in the Marketing application.
Once the user tries to add a new policy in the Prospect Follow-up process, the Valid Approval policy will not be available in the Application Policies.
In the Process Policies, we can see that the policy Suggested Number of Quotes created in the Quotations process will be available from any of the different activities in the Quotations process.
The policies are created at the process level:
The Process Policies will be available as actions in the elements of the Quotation process:
But, if we go to the Invoice Payment process, the Suggested Number of Quotes policy will not be available for reuse.
Expressions
As mentioned above, expressions are not only associated to actions, but also to sequence flows, forms and performers. In terms of reusability, expressions may be classified as follows:
- Global Expressions: refer to the expressions that can be reused in all of the applications that are part of the project where they were created.
- Application Expressions: are those that can be reused in all of the processes that are part of the application where the expression was created.
- Process Expressions: those that can be reused in any of the elements of the process where they were created.
- Entity Expressions: refer to the expressions that can be reused only in the forms that are part of the entity where the expression was created.
- Default Expressions: are the expressions that are included in the system and are classified according to which element the expression is associated. For example, in a sequence flow element a default expression is one that returns a True statement. On the other hand, in an assignment expression for the performers of a task, a default expression can be one that assigns the task to the case creator.
This is how the classification of the expression may be seen when an expression is going to be associated to an action. Notice that below each type of expression, the expressions will be organized in expression families, such as the Documentation family below the Global Expressions:
Example of Expression Reusability
To understand how expressions can be reused, a global expression will be described. Note how the expression Complete Documents is created as a Global Expression.
Being a Global Expression, it should be available in all of the processes in any of the applications that are included in this project. So first, in the Purchase Requisition process from the Administrative application notice that the expression Complete Documents is available.
Now, notice that in the Prospect Follow-Up process from the Marketing application, the Complete Documents expression will be checked as a Global expression.
As can be seen, the Global Expression was available to be used in both processes and in different applications.
Restricted access to Reusable Business Rules
With Bizagi BPM Suite you can have a collaborative environment where you and other co-workers can work simultaneously on your processes. If you have several processes in your project you might need to restrict accesses to some elements to prevent the users modifying one process, to affect others.
When Bizagi Studio Security has been enabled and a user has been restricted (denied) to access a reusable business rule, he or she will be able to use it but not edit it. To restrict a user or a group of users to accessing a business rule, an administrator should deny access to it.
When the user attempts to edit it a message will be displayed:
You are not authorized to modify this element. Please contact your project administrator.
Click here to learn more about Security on Reusable Business Rules
Related Articles
How to create Application Policies
How to create Process Policies
Application Expressions <comments />