The first step to understand which customizations are needed is to do a gap analysis between the existing functionality and the desired functionality.
Let's start by understanding how the standard approval process works in OER by default:
Although this functionality might be useful for some customers, in many other implementations the default behavior of the workflow functionality within OER needs to be customized in order to fit the customer needs. Furthermore, when the status of any Asset changes, it is possible to configure the Event Manager and BPM Workflows functionality of OER to automate or customize the out-of-the-box approval process. This can be very useful especially to address the following use cases:
The Event Manager allows for different types of events to be wired to OBPM automated workflows or if desired, to custom BPM 11g PS6 processes. The following diagram depicts some samples of events wire to workflows:
Please refer to Chapter 3, Introduction to Oracle Enterprise Repository, for an architectural description OER workflows and Event Manager. You may also refer Event Manager to the Oracle OER Configuration Guide section 9.2.2, Automated Workflows.
http://docs.oracle.com/cd/E28280_01/admin.1111/e16580/oerwf.htm#CJHGDIJB
Oracle classifies automated workflows as follows:
Note that licensing restriction applies when using BPM 11g. For further info please refer to http://docs.oracle.com/cd/E23943_01/doc.1111/e14860/products.htm#CDEHFEFG
Before implementing an OER automated workflow, the following tasks must be completed:
Please refer to the Appendix, Installation Tips and Techniques for detailed steps of the installation and configuration process for OER, OBPM, and the Event Manager. The following section covers the steps needed to customize workflows.
The version of OER used in this book (OER PS6) introduces the possibility of utilizing custom Oracle BPM 11g. For the purposes of this book our objective in the chapter is to show the thought process needed in order to deliver a fit-for-purpose solution rather than using all features of the product. However, the OER configuration steps considered to be relevant have been described in more detail.
Having understood the default behavior of the automated workflows, as well as the new requirements that need to be supported by the target governance model, the next step is do a gap analysis and identify what changes need to be made to the OER workflows.
Based on the use case described in the chapter, the following model identifies is the expected behavior that needs to be configured in the automated workflows in order to deliver the requirements of Weir & Bell Telecom.
The model suggests that the following configurations and customizations are needed in OER and OER Workflows:
The following diagram shows the mapping between events and workflows that support the listed requirements:
Configurations of the out of the box automated workflows are done in a file called workflows.xml
.
This files needs to be generated using an OBPM Workflow Utility that comes with OER and then subsequently loaded into the OBPM OER engine.
Note that this chapter assumes that an OBPM has been successfully installed and the OBPM OER engine has been configured. For further information on how to achieve this task please refer to Appendix, Installation Tips and Techniques.
During installation and configuration of OBPM, this toolkit is unzipped and placed under <OBPM HOME>/OBPM_SetupScripts
. From this location the script /config_gen.sh
can be executed to generate a new workflow.xml
file. This is particularly important whenever new users are added into OER, as the workflow.xml
file should be refreshed if the new users have to participate in an automated workflow.
The following is an example of how to customize the workflow.xml
file to address the OBPM requirements identified in the previous section, and also how to load the new workflow.xml
file into the OBPM OER engine:
<OBPM HOME>/OBPM_SetupScripts
backup workflow.xml
.<MW Home>/repository111/core/workflow-tools
execute:./config_gen.sh http://<oer host>:<port>/oer/services/FlashlineRegistry <oer admin user> <oer password> <output directory>
For example:
./config_gen.sh http://soabpm-server:7101/oer/services/FlashlineRegistry admin welcome1 .
workflow.xml
to <OBPM HOME>/OBPM_SetupScripts
.<OBPM HOME>/OBPM_SetupScripts
edit workflow.xml
to include the encrypted password as follows:<alerConnection>
element details so the uri
points to the OER server. For example,<alerConnection> <uri>http://soabpm-server:7101/oer/services/FlashlineRegistry</uri> <registrar> <user>admin</user> <password>encrypted password</password> </registrar> </alerConnection>
<user>admin</user> <password>v2_1.yCFfBmPBkrk=</password>
Asset acceptance, assignment, and registration can be automated by configuring the Community Flows. By configuring a community, Assets within the community can be auto-accepted and upon approval of all Asset Types, the Asset will be registered. Communities are configured as follows:
<producingProjectSettings>
tag.<producingProjectSettings> <producingProject name="Common Project" community="SOA Design Authority" id="50000"/> <producingProject name="Order To Cash Integration" community="SOA Design Authority" id="50001"/> </producingProjectSettings>
<assetType>
tag.<assetType name="Service" community="SOA Design Authority" id="154"> … <assetType name="Requirement Document" community="SOA Design Authority" id="50100"> … <assetType name="Design Document" community="SOA Design Authority" id="50100">
autoAccept=true
and autoRegister=true
. These two properties are needed so workflows autoaccept an Asset after submission and once all tabs are approved (based on the multitier approvers, defined in the multitier rules) it then autoregisters the Asset.<communities name="SOA Design Authority" autoAccept="true" autoRegister="true">
…
AssetSubmission
event to the CommunityAccept
workflow as follows. This wire will allow for the community rules to autoaccept the Asset.<state name="urn:com:bea:aler:events:type:AssetSubmission"> <action>CommunityAccept</action> <action>ApproveTabAction</action> <approveTabs> <tab name="Change Management"/> </approveTabs> </state>
AssetAccepted
, AssetTabApproved
, and AssetAllTabApproved
as follows so once all tabs are approved, the Asset is automatically registered.<state name="urn:com:bea:aler:events:type:AssetAccepted"> <action>MultiTier_Tier1_Assign</action> </state> <state name="urn:com:bea:aler:events:type:AssetTabApproved"> <action>MultiTier_NextTier_Assign</action> <action>ResetChangeManagementTab</action> </state> <state name="urn:com:bea:aler:events:type:AssetAllTabApproved"> <action>AllTabsApproval_Register</action> </state>
Once the changes have been made to workflow.xml,
the file needs to be loaded into the OER BPM engine. This could be done in two ways:
workflow.xml
to <OBPM HOME>/workflow/aler_egine
and then starting the engine.workflow.xml
to the OER OBPM engine with the refresh_workflow.sh
script as follows:<OBPM HOME>/OBPM_SetupScripts
run:source setenv.sh ant -v copy-workflow-config
<MW Home>/repository111/core/workflow-tools
execute:./refresh_workflows.sh http://<obpm server>:9000/albpmServices/aler_engine/ws/RefreshConfigServiceListener aler_workflow_user <aler password>
For example,
./refresh_workflows.sh http://soabpm-server:9000/albpmServices/aler_engine/ws/RefreshConfigServiceListener aler_workflow_user welcome1
Once all of the desired changes have been made to the automated workflows, these should be tested by submitting a new Asset and stepping through each step of the Asset life cycle and check that the behavior is consistent with the changes made in workflow.xml
. For example:
AssetAccepted
. In workflow.xml
this event is wired to the CommunityAccept
action and therefore the Community Accept flow is executed.Refer to section 9.6.4.1, Configuring Community of the OER Configuration Guide for further info on this flow: http://docs.oracle.com/cd/E28280_01/admin.1111/e16580/oerwf.htm#CJHJEGAB
autoApprove
or autoRegister
flag set for this Asset's assetType
in workflow.xml
. As none of these flags were set in assetType,
it then tries to determine if these flags have been set for the community to which either the Asset or the project belongs to.producingProjectSettings
of workflow.xml
that the Asset belongs to the project Order to Cash Integration and therefore identifies that the Asset belongs to the community SOA Center of Excellence.AssetAccepted
event is triggered. In workflow.xml
this event is wired to the MultiTier_Tier1_Assign
the Asset is assigned to Tier 1 approvers as defined in the multitier rules for the community. In this example, the Tier 1 approver is only the architect.MyStuff
page.AssetTabApproved
is triggered. In workflow.xml
this event is wired to the MultiTier_NextTier_Assign
action. This action triggers a flow that will reassign the Asset to the Tier 2 approvers (in our example, the architect and the designer) and subsequently to the Tier 3 approvers (architect, designer, and quality tester) once the Taxonomy, Tests, and Support tabs have been approved.AssetAllTabApproved
is triggered. The AllTabsApproval_Register
action triggers the flow to register the Asset.The best way to debug OBPM 10g workflows is by using the OBPM 10g Log Viewer. To debug automated workflows using Log Viewer follow these steps:
oer_bpm_admin
user. Note that this user was created during the configuration of OBPM 10g.oer_bpm_admin
and its password and click OK.OER
and then click on Apply Filter.OER supports sending automatic e-mail notifications within the OER automated workflows and based on specific events. E-mails can be enabled or disabled as desired and also a variety of out of the box e-mail templates are available for use. To set up general notifications, follow these steps:
cmee.registrar.email
in the Enable New System Setting field located on the top right-hand side of the System Settings page.