CA Workflow
CA Workflow
E1WF15011SE
These educational materials (hereinafter referred to as the "Materials") are for the end user's educational purposes only and are subject to change or withdrawal by CA at any time. These Materials may not be copied, transferred, reproduced, disclosed, modified or duplicated, in whole or in part, without the prior written consent of CA. These Materials are confidential and proprietary information of CA and protected by the copyright laws of the United States and international treaties. EXCEPT AS OTHERWISE STATED IN THE APPLICABLE AGREEMENT, TO THE EXTENT PERMITTED BY APPLICABLE LAW, CA PROVIDES THESE MATERIALS "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. IN NO EVENT WILL CA BE LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR INDIRECT, FROM THE USE OF THESE MATERIALS, INCLUDING WITHOUT LIMITATION, LOST PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. The use of any software or product referenced in the Materials is governed by the end user's applicable license agreement. The manufacturer of these Materials is CA. Provided with "Restricted Rights." Use, duplication or disclosure by the United States Government is subject to the restrictions set forth in FAR Sections 12.212, 52.227-14, and 52.227-19(c)(1) - (2) and DFARS Section 252.227-7014(b)(3), as applicable, or their successors.
All trademarks, trade names, service marks, and logos referenced herein belong to their respective companies. Copyright 2006 CA. All rights reserved.
Table of Contents
Introduction
Welcome . . . . . . . . . . . . . . . . . . . . Target Audience . . . . . . . . . . . . . . . Learning Path . . . . . . . . . . . . . . . . . About This Workbook. . . . . . . . . . . . Conventions . . . . . . . . . . . . . . . About This Course . . . . . . . . . . . . . . Course Length . . . . . . . . . . . . . . Prerequisite Skills . . . . . . . . . . . Course Agenda . . . . . . . . . . . . . Day 1 . . . . . . . . . . . . . . . . . . . . Day 2 . . . . . . . . . . . . . . . . . . . . Day 3 . . . . . . . . . . . . . . . . . . . . Day 4 . . . . . . . . . . . . . . . . . . . . Case Study: Really Big Corporation . . CA Workflow Overview. . . . . . . . . . . CA Workflow Components . . . . . . The Workflow Design Environment The Workflow Server . . . . . . . . . Worklist . . . . . . . . . . . . . . . . . . CA Workflow . . . . . . . . . . . . . . . . . . CA Workflow Users . . . . . . . . . . . Workflow Design Considerations . Course Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii . viii . viii . . ix .. x . . xi . . xi . . xi . . xi . . xi . xii . xii . xiii . xiv . xiv . xv . xv . xvi . xvi xvii xviii xviii . xx
iii
Modify a Process Definition . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Add an Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16 Display the Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 Import and Export Processes . . . . . . . . . . . . . . . . . . . . . . . 2-21 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
iv
Work with Complex Data Types and Web Services . . . . . . 7-13 Assessment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7-17
vi
Introduction
vii
Introduction
Target Audience
Welcome
Slide 1
Target Audience
Welcome to Creating Custom Workflows with CA Solutions: Introduction training by CA. This course was specifically designed for system administrators, IT services managers, application users, business analysts, and IT architects. In your jobs, you are responsible for business process management that changes constantly throughout the enterprise. As your company continues to grow in size and complexity, your need to document and automate business processes also grows.
Slide 2
Learning Path
This course provides a solid foundation to create and use business processes. You will focus on the design and implementation of business processes through a graphical user interface (GUI). You will learn how to create a business process that interacts with people and external systems through a variety of methods, including web-based forms and web services. To learn about additional training solutions designed for your job role or this software product, visit: gems.ca.com/Gemsmarketing/CourseFinder.asp Here you will find links to the Catalog, Learning Paths, Registration, Locations, and Schedules. Learning Paths will help you determine the best training combination to enhance job performance, learn advanced skills, or become certified.
Notes
viii
Interactive Demonstration
Skill Practice
Skill Builder
You will build confidence applying the task just learned to real-world business problems written around a fictional scenario, enabling you to understand not just how to perform the task, but why.
Notes
ix
Introduction
Conventions
Conventions
The following conventions are used throughout the Student Workbook: Convention Use Bold Text to be typed (exactly as written) presented in a sentence Variable values Emphasis Titles of books Example At the prompt, type md temp and press Enter. Enter a range from 0 to n, where n equals the number of tapes. Do not erase the backup tapes. See the Unicenter TNG: Getting Started Guide. Refer to the Special Training Manual by IBM. See Administration for more information. For example: set USERNAME "J. Smith" Type md C:\FolderName and press Enter.
Italics
Reference to module titles and headings Source code and commands to be typed (exactly as written)
Notes
Slide 3
Course Length
4 days
Prerequisite Skills
Slide 4
Notes
xi
Introduction
Day 2
Day 2
Module 5: Create Decision Points in a Process Definition
Task 1: Create a Decision Point Using Branch and Merge
Notes
xii
Introduction Day 3
Slide 5
Day 3
Module 8: Enable Communication Between Processes
Task 1: Create Process Parameters Task 2: Create a Process Actor Task 3: Update the Process Definition
Day 4
Module 10: Create a Custom Workflow
Skill Builder: Analyze and Implement a Business Process To gain job competency using the Workflow component, you will practice these tasks in a business context and have opportunities to solve problems on your own.
Notes
xiii
Introduction
Case Study: Really Big Corporation
Slide 6
Slide 7
CA Workflow Overview
CA Workflow is software for designing, executing, and interacting with a business process. CA Workflow provides the functionality that enables customers to better manage their business processes. In general terms, a workflow is best described as the automation of a business process, in whole or part, during which documents, information, or tasks are passed from one participant to another for action according to a predefined flow.
Slide 8
CA Workflow is not a stand-alone product. It is a workflow engine that is an integrated component of the following CA products:
CleverPath Aion BPM r10 eTrust Admin 8.1 Unicenter Service Desk (SD) r11 Unicenter Service Delivery r11
Notes
xiv
CA Workflow is integrated in these CA products through an actor, a web service, or API calls. CA Workflow uses the Management Database (MDB) as the repository for data about the process definitions, actors, data types, and so on. This data is stored as XML in the MDB.
Slide 9
CA Workflow Components
CA Workflow has a client/server architecture that consists of the following components:
Workflow Design Environment, also referred to as the Integrated Development Environment (IDE) or Workflow Client Workflow server Worklist, which is accessible through a web browser
Slide 10
Review process history Start, stop, terminate, delete, create, and query a process Import or export information
Notes
xv
Introduction
The Workflow Server
Slide 11
Actor Adapters enable the expansion of workflow activity functionality. The Process Engine executes process definition instances. The Process Manager provides management for process definitions and process instances.
Workflow Client, Worklist, and the Java and web services API use services provided by the Workflow server.
Slide 12
Worklist
Worklist is a web-based application used by workflow participants to perform assigned workitems, also known as tasks or activities. In Worklist, a user can perform the following, depending on the user's permissions:
Start a workflow process. View assigned activities (tasks). Complete, reassign, delegate, and take tasks. View completed tasks.
Notes
xvi
Introduction CA Workflow
Slide 13
CA Workflow
CA Workflow enables you to design and execute business processes using an intuitive GUI. The CA Workflow engine enables automation of these business processes, or tasks, passed from one participant to another. Tasks can invoke actions such as external applications, services, database queries, and sending email. The following diagram is an example of a business process definition:
Slide 14
A workflow process definition denotes tasks, procedural steps, organizations or individuals involved, required input and output information, and the tools necessary for managing and maintaining each step in a business process.
Notes
xvii
Introduction
CA Workflow Users
Slide 15
CA Workflow Users
CA Workflow users are defined by the business role they perform as shown in the following table: Role Process Designer Business User Definition Creates, maintains, and debugs workflows using Workflow Client (IDE) Executes tasks in a workflow and accomplishes tasks related to business processes using CA Worklist Uses Workflow Client (IDE) to create, maintain, and debug business process definitions and CA Worklist to execute tasks
IT User
Slide 16
Plan your entire workflow before you design it. Lay out the logical flow on paper first, then fill in all the details later. It is easier to redesign pieces or change details at this stage than when you have a fully implemented workflow. Decide which actors you are going to need. Which parts of your workflow are automated and interact with web services or require custom Java objects? Which parts of your workflow are manual and require user approval or data entry?
Notes
xviii
Slide 17
Remember counters and guard conditions where necessary. Decide which forms you need for your user interaction. Determine if and where your workflow needs to use exceptions. You might want to use exceptions if workitems need to respond to events that occur elsewhere inside the workflow. Do business process events occur where you need to explicitly terminate the instance, reassign waiting workitems, or remove workitems from a user's worklists?
If you have a complex workflow, consider where you might be able to use subprocesses. Subprocesses help break large workflows into smaller units of functionality making them easier to print, design, and conceptually model.
When you have your workflow designed and your actors and attributes ready, you are ready to build it in the Process Designer.
Build your workflow in manageable steps. Test each piece along the way to make sure it works properly. It is helpful to enable the Server Log when testing the process.
Notes
xix
Introduction
Course Objectives
Slide 18
Course Objectives
After this course, you will be able to:
Navigate the CA Workflow Environment Create a Workflow Process Troubleshoot CA Workflow Processes Create an Email Activity Create Decision Points in a Process Definition Build XPath Expressions Implement Web Services in a Process Enable Communication Between Processes Create Subactivities and Due Date Processing Create a Custom Workflow
Slide 19
Notes
xx
Notes
xxi
Introduction
Course Objectives
Notes
xxii
1
Navigate the CA Workflow Environment
1-1
Module Objectives
After this module, you will be able to:
Access the CA Workflow Design Environment Navigate the CA Workflow Design Environment Perform Tasks in the CA Workflow Worklist
Module Overview
In this module, you will access and navigate the CA Workflow Design Environment. This will enable you to efficiently use the CA Workflow Client interface to design the workflows required by RBC. In addition, by using the CA Workflow Worklist, you will view, take, perform, and reassign workitems.
Notes
1-2
Navigate the CA Workflow Environment Task 1: Access the CA Workflow Design Environment
Slide 1-2
Slide 1-3
%WORKFLOW_ADMIN_GROUP%: Users who are members of this group can access the Workflow Design Environment and also have implicit Worklist Process Initiator authority. The name of this group will vary depending on the embedding product. Refer to the embedding product documentation for information on the group name. For this course, the group name is Workflow Admin. %PROCESS_INITIATOR_GROUP%: Users who are members of this group can start processes from the Worklist. The actual name of this group varies depending on the embedding product. Refer to the embedding product documentation for information on the group name. For this course, the group name is Process Initiator.
Slide 1-4
For this course, the following users are already defined in eTrust Embedded IAM: Username tfields mcox snickels rjones Password tfields mcox snickels rjones Role Workflow Admin Agent Underwriter Underwriter eTrust Embedded IAM Workgroup Workflow Admin Process Initiator Process Initiator Process Initiator
Notes
1-3
Interactive Demonstration
Task Purpose: Log in to Workflow Client. Using one of the predefined users, you will log in to Workflow Client. 1 2 To open Workflow Client, double-click the IDE shortcut on your desktop. Type tfields for Username and tfields for Password. Note: Access to the Workflow Design Environment is limited to members of the Workflow Admin group. The user, tfields, was created for this class and is a member of this group. 3 4 5 Type http://localhost:8080/pm for Server Name. Close the Workflow Client window. Open Workflow Client and log in using mcox as the user name and mcox as the password. The message Access Denied appears because mcox is not a member of the Workflow Admin group in eTrust Embedded IAM.
Task Summary
In this task, you accessed the CA Workflow Design Environment. This will enable you to log in to any Workflow server. In the next task, you will navigate the CA Workflow Design Environment.
Notes
1-4
Navigate the CA Workflow Environment Task 2: Navigate the CA Workflow Design Environment
Slide 1-5
Slide 1-6
A company creates a business process to identify the resources, manual and automated activities, and activity relationships to accomplish a business goal. A workflow partially or fully automates the business process by defining the business process activities in a process definition. These business process activities commonly include passing forms, tasks, or information from one resource to another, where the resource is human or software. A process definition is a representation of your business process in CA Workflow. You use CA Workflow to create and manage process definitions and workflow instances, and to control workflow participant interaction.
Slide 1-7
The CA Workflow Client interface consists of six individual tabs, each of which provides separate and distinct functionality: CA Workflow Tabs Process Manager Functionality The Process Manager tab is the primary location for managing the life cycle of process definitions and process instances. You can also configure the Workflow server and create a server activity log. The Data Types tab lets you define complex data structures based on the data types used in web services and on imported XML schema. The Process Designer tab lets you create and update process definitions.
Data Types
Process Designer
Notes
1-5
Interactive Demonstration
Task Purpose: Identify the functionality available in Workflow Client tabs. 1 2 Launch the Workflow IDE. Type tfields to log in to Workflow Client.
Notes
1-6
Slide 1-8
Explore the Process Definitions toolbar by moving your cursor over each icon. The following actions can be performed using the Process Definition toolbar: Reload the process definitions list from the server. Open the selected process definition on the Process Designer tab. Unlock the selected process definition you locked to enable other users to edit the process definition. Your user name is cleared from the In Use column. You can only unlock a process definition that you have locked. Lock the selected process definition so that no other user can edit the process definition except you. Your user name appears in the In Use column. Delete the selected process definition. Start a new instance of the selected process definition.
Notes
1-7
Explore the Process Instances toolbar by moving your cursor over each icon. You can perform the following actions using the Process Instances toolbar: Reload the process definitions list from the server. View the instance information for a process definition. Select the date range for the instances you need to view using a calendar. Generate a list of instances for the selected process definition in a specific date range using the Query feature. Open, unlock, lock, and delete process instances.
Note: You cannot delete a process instance unless the process instance is complete or terminated. When there are active process instances, you can view the details of an instance by double-clicking it. When you are in an active process instance, you can view the Roles, Attributes, Exceptions, Verify, Workitems, Form, and History tabs for that process instance.
Notes
1-8
Note: The tabs in Process Instances are the same tabs you see in the Process Designer tab. However, their functionality is different for an active process instance. They provide information about the status of an active process instance. Two of the tabs, Workitems and History, are active only when you are in an active process instance. 6 Click Server Configuration. Server Configuration enables you to view and modify default properties for the server. During installation, the property fields are populated with default values. The following properties are configured for the server: Properties EnginePools Description The number of engine instances the server runs to process workflow activities
The name that appears in the email From field when the workflow sends an email The file name for the Process Manager log file The maximum number of workitems the process engine keeps in memory When the number of instance workitems reaches the maximum value, they are written to disk. To improve the performance of the server, you can increase the MaxWorkitems value. This is dependent on the capacity of the server.
SMTP Host
Notes
1-9
Click Server Log. The Server Log provides information for each node in the process: Date and time it was executed Action taken by the Process Manager engine Instance ID Workitem ID
The Server Log also indicates if there was a problem with the processing of one of the nodes. Note: The Server Log is available only if you select Enable Logging on the File menu or click the Start button on the toolbar. It is recommended that you enable logging before you test your process definition.
Slide 1-9
Notes
1-10
The grouped complex types of the actor are displayed as a tree. You can further expand the tree to view the subelements, if any exist. The elements at the lowest level are basic data types, such as string, integer, date, and so on, or are themselves complex types.
Note: You will learn more about complex data types later in the course.
Slide 1-10
Notes
1-11
Note: The nodes for which the role is responsible appear in the swim lane of the role. Open the vertical and horizontal gridlines Automatically align the node with the closest vertical and horizontal gridlines when moving a node Disable the ability to move nodes Display a potential problem list for all process definition nodes Switch to the selector icon so you can select nodes
Notes
1-12
There are several workflow component objects used in the design of a definition. Of these, nodes are the basic building blocks: Node Activity Description An Activity node is a workflow object that indicates work done by a defined role. The operations available for this node depend on the role to which the Activity is assigned. The operations available to the role depend on the actor assigned to the role. For example, forms can be shown to a user but not to Java code. When you double-click an Activity node, the Activity dialog appears. The Activity dialog contains the Workitem tab where you assign the Activity to a role, select an Operation for the role to perform, and assign process input and output parameters. Values assigned to the input and output parameters can be entered manually or by using the Expression Builder. The Expression Builder can use XPath expressions and normal expressions such as simple addition, string concatenation, and so on. It provides the following functions:
Assigns an expression to the input and output
Provides a label for the workitem in Worklist. Sets attributes to a calculated value, for example,
$price=$cost*$quantity.
Subactivity
A Subactivity node indicates a subprocess that occurs when a transition is joined with the Subactivity node. All the subactivity iterations must be complete before the workflow moves out of the subactivity.
Notes
1-13
Wait Event
Evaluation
Timer
Throw Exception The Throw Exception node enables you to specify that an unusual event occurred. Other activities looking for that event will then be invoked. Object Comment Stop Decision Point An Object node is a workflow element that indicates an object operation is invoked. A Comment is a workflow element that is a text annotation. A Stop node is a workflow object that indicates when the process workflow ends. In process modeling, the point where paths can diverge is called a decision point. Workflow provides two means for representing decision points, a Fork node and a Branch node.
Notes
1-14
Node Fork
Description A Fork node is a workflow element that indicates where the process takes parallel paths. A fork is like a Boolean AND. Guard conditions on the paths are evaluated. If the guard condition for a path is satisfied, the workflow takes the path. A Join node is a workflow element that indicates where parallel workflow processes join; all paths must be completed before the transition out of a join occurs. This node is the counterpart of a Fork node. A Branch node is a workflow element that indicates that the workflow process takes one path from a set of alternate paths; the path taken is the first transition where the guard condition evaluates to TRUE. The workflow process takes only one path. A branch is like a Boolean OR. Branches are ordered by number, and their guard conditions are evaluated in the order they are numbered, starting with the lowest. The workflow process takes the first branch whose guard condition is satisfied and ignores the other paths.
Join Node
Branch Node
Merge Node
A Merge node is a workflow element that indicates where alternate workflow process paths merge into a single path. This node is the counterpart of a Branch node and specifies that the workflow can proceed as soon as any one of the input paths are complete. A Connect is a workflow element that indicates the relationship between process workflow nodes and the workflow direction.
Connect Line
Notes
1-15
Attributes
Notes
1-16
Function The Exceptions tab lets you configure an exception. The Verify tab lets you identify workflow errors. If there are problems displayed in this window, double-click a node problem to display the node dialog and review the current settings. The Workitems tab is not available when you are in the Process Designer tab. A workitem is the task or activity that needs to be performed. It can be manual or automated. A workitem is assigned to a role when you configure an Activity Node.
Workitems
Notes
1-17
The Form Designer is used to build the forms that human actors use for the input and review of values used in the process. History The History tab is only available in an active process instance. The History tab lets you view the history of a process instance by node and event.
Slide 1-11
Notes
1-18
An actor type is an actor collection in which all actors have the same implementation or some other logical grouping characteristic. In this class, you will use the following actor types:
Slide 1-12
Web services: An actor can consume a web service. This actor uses the public or exposed methods of the web service. Process actor: A process actor is used when one process needs to call another process for starting, stopping, or querying it.
Notes
1-19
Task Summary
You navigated the CA Workflow Client interface and accessed all the tabs available in the interface. This will enable you to perform various tasks using the CA Workflow Client in an efficient manner. In the next task, you will perform tasks in the CA Workflow Worklist.
Notes
1-20
Navigate the CA Workflow Environment Task 3: Perform Tasks in the CA Workflow Worklist
Slide 1-14
Slide 1-15
Work with tasks that are currently in their queue and in the group queues to which they belong View, perform, take, return or reassign tasks Start a new process instance
To log in to Worklist, a user must have a user name in eTrust Embedded IAM. To start a process from Worklist, the user must be a member of the Process Initiator group.
Interactive Demonstration
Task Purpose: Perform a task in the CA Workflow Worklist. The Worklist contains two tabs:
Notes
1-21
Note: The Task list will be empty because you have not started a process yet. To perform a task, click Perform in the Perform Task column. 3 In the upper right corner, click Configure. You can customize the Task tab to provide a view of the available tasks based on user preferences. You can configure the Task tab using the following methods: 4 Select the columns that you want displayed in your Task tab. Set the number of rows that you want to display in a single page. Activate the Show Completed Tasks setting and set the timing for due date alerts.
Task Summary
In this task, you logged in to Worklist, customized the view of the Task tab, performed a task, and started a process instance from Worklist. This enables human actors to manage tasks assigned to them in the workflow.
Notes
1-22
Assessment
1 Which CA Workflow Client tab is used when you want to start a process? a b c d 2 Actors Data Types Process Monitor Process Manager
In which area of the CA Workflow Client interface can you view the process history? a b c d Activity node Form Designer Process Definitions Active process instance
Notes
1-23
Module Summary
You should now be able to:
Access the CA Workflow Design Environment Navigate the CA Workflow Design Environment Perform Tasks in the CA Workflow Worklist
Accessing and navigating the CA Workflow Design Environment enables you to efficiently use the CA Workflow Client interface to design the workflows for RBC. In addition, by using the CA Workflow Worklist, you can view, take, perform, and reassign workitems. In the next module, you will create a workflow process.
Notes
1-24
2
Create a Workflow Process
2-1
Module Objectives
After this module, you will be able to:
Create a Process Definition Modify a Process Definition Import and Export Processes
Module Overview
To be successful in todays business world, RBC must respond to change quickly and effectively by automating its process. Therefore, RBC have decided to create a workflow process in CA Workflow. In this module, you will create a process definition that uses forms and assigns activities to users. You will then add activities to the process, which will enable you to use forms.
Notes
2-2
Slide 2-2
Slide 2-3
To create your business process, you use the Workflow Design Environment tool of CA Workflow. It provides the functionality to:
Define the process Automate the process Carry out the process Monitor the process Administer the process Assign due dates Indicate exceptions
Workflow has a client/server architecture. The client side is used to create the processes, which communicates with the server where the processes run.
Notes
2-3
Interactive Demonstration
Task Purpose: Create a process definition. 1 2 Double-click the IDE icon on the desktop. Type the following information in the login dialog that appears: Username: tfields Password: tfields In the Server Address box, leave the default setting. The CA Workflow Design Environment appears. Note: Access to CA Workflow Design Environment is based on security permissions, which have been predefined. 3 4 5 Click the Process Designer tab. On the toolbar, click the Process Definition icon. The Create Process Definition dialog appears. Type the following information in the fields provided: Name: RBC Inc Short Name: RBC Description: RBC process for customer evaluation Leave the Active box cleared and accept the default dates. 6 Click OK.
Notes
2-4
For now, the process is unusable because you have not defined what the Activity node does.
Slide 2-5
Assign a Role
The second step in creating a business process is to assign roles. Roles are generic categories or abstract groupings of entities that perform tasks in a process. A process must be associated with at least one role.
Interactive Demonstration
Task Purpose: Assign roles. 1 2 3 4 Click the Process Designer tab. At the bottom of the Main panel, locate the Roles tab. Role1 is already selected. Click Update. Replace Role1 with the following information: Name: Agent Description: This role defines the activities for the agents. 5 Under Actors, select Global User List. This is where human actors are defined. Some have been defined previously. After selecting Global User List, the Edit button under Configuration is enabled. 6 Click Edit.
Notes
2-5
10 Click Add. 11 To return to the Role dialog, click OK twice. 12 To close the Role dialog, click OK. 13 To save your changes, click Save on the toolbar.
Slide 2-6
Define Attributes
The third step in creating a business process is to define the attributes. Attributes are the variables or parameters that pass information between the different actors in the workflow. Attributes can also be the business terms used throughout the workflow process, which constitute a global vocabulary for the workflow you are defining.
Interactive Demonstration
Task Purpose: Define the attributes. 1 2 3 On the Process Designer tab for the RBC Inc. process definition, click the Attributes tab. Click Add. Type the following information: Name: CustomerFinancialStability Note: Spaces are not permitted in attribute names. It is recommended that you use some type of naming convention. 4 Assign a type of string.
Notes
2-6
5 6
Type Determine if a customer is financially stable in the Description field. Select External. Note: Making business terms external can be useful in debugging processes. This makes it possible to see if actions are occurring.
7 8
Click OK. Create the attributes from the following table: Data Name Coverage Liability Property Risk Data Type string string
Note: Make sure that the attributes are made external by selecting the appropriate check box. 9
Slide 2-7
Notes
2-7
Interactive Demonstration
Task Purpose: Define a business form. 1 2 3 4 5 Click the Process Designer tab. Click the Forms tab. Click Add. A sample form is created, which by default contains a Submit button. To give the form a unique ID, label, and description, double-click the Value cell for each property at the bottom of the dialog. Type the following information in the sample form: id: DataEntryForm label: Insurance Application description: This form is used to gather information. Note: The id field must not contain spaces. 6 To add other items to the form, use one of the following methods: 7 8 Click and drag the icon to the form area. Right-click the form name and click Add. Right-click a form control and click Insert before or Insert after.
Add a group below the form labeled Insurance Application. This group becomes a container for other items. Change the group information to the following: id: grpPricingTierInformation label: Pricing Tier Information Note: The id field must not contain spaces.
Notes
2-8
To add an input item in the Pricing Tier Information group: a b Click the icon or drag it from the left to the group. Type the following in the input form: id: inCustomerFinancialStability label: Customer Financial Stability
10 Place two more input items in the Pricing Tier Information group with the following entries: a First input item: id: inCoverageLiability label: Coverage Liability b Second input item: id: inPropertyRisk label: Property Risk 11 Change the label on the Submit button to Process by clicking Submit and then changing the label value to Process. 12 Create a Cancel button by adding another Submit button to the form. Place it before the Process button. Change the information of the button to: id: cancel label: Cancel action: cancel
Notes
2-9
Interactive Demonstration
Task Purpose: Configure the Get Customer Information activity in the process definition. 1 2 3 Click the Process Designer tab. In the Main panel, double-click the green Activity node. The Activity dialog appears. On the Properties tab, type the following information: Label: Get Customer Information Description: Display a form to gather customer information. The label is displayed below the Activity node in the process definition. It is also the name of the activity the user sees in Worklist.
Notes
2-10
In the Activity dialog, click the Workitem tab. The Workitem tab defines which action is required at this stage in the process and which role will perform that action.
To specify who will be doing this work, select the role that will perform this activity: a b From the Assign to Role list, select Agent. Under Operation, select Show: Insurance Application.
This specifies that the actor performing the agent role will be shown the Insurance Application form that was designed. 6 Click the Assign To area of the inCoverageLiability Output Parameter. A list of the data attributes you defined appears. Note: To save the output variables, select which output parameters will be stored in the data attributes you defined. 7 8 Select CoverageLiability. Following the same procedure, assign the rest of the output parameters to their corresponding data attributes except for the button pressed parameter. This parameter will always have a type of string. Note: The data attribute name used for each output must be recognizable.
Notes
2-11
Note: The Expression Builder dialog enables you to build XPath expressions using a GUI. The XPath Expression Evaluator used with Workflow supports only the XPath 1.0 standard. Workflow does not verify the validity of XPath expressions; therefore, you must create valid expressions. 10 To close the activity, click OK. 11 Save the changes you have made to the process definition.
Slide 2-9
Interactive Demonstration
Task Purpose: Start a Workflow through the Workflow Client. 1 2 Open Workflow Client and click the Process Manager tab. Click Process Definitions and select the RBC Inc. process definition.
Notes
2-12
On the toolbar, click the Run Process button. You will see the following message: Error starting process. No Effective Active process found. To make the process active, open the RBC Inc. process and right-click the date of the RBC Inc. business process definition. In the menu that appears, click Properties. Select Active and click OK. To save the process, click Save. Click the Process Manager tab, select the RBC Inc. process, and click Run Process. Close Workflow Client. Now that you have started the process, you can perform the activities. In the previous interactive demonstration, you assigned the Get Customer Information activity to the Agent role, which is assigned to the mcox agent. This means the mcox user will have an activity waiting to be completed in Worklist.
4 5 6 7 8 9
Slide 2-10
Perform an Activity
The Tasks tab in Worklist displays the activities the user is assigned or those available to the user's group to complete. If an activity is assigned to a group, anyone in the group can perform the activity. Note: The Show dialog located under the Tasks tab indicates whether you are viewing tasks assigned to All, the groups to which the user belongs, or the individual user. If it is set to All, you are viewing the workitems of groups and users in the same list. If you select the name of the group to whom the user belongs, you will only be shown workitems available to the group and those that are not assigned to anyone. If you select the user's ID, you will only be shown the workitems the user is assigned.
Notes
2-13
Interactive Demonstration
Task Purpose: Perform a task for the Get Customer Information activity. 1 Log in to Worklist using one of the following methods: 2 Open Microsoft Internet Explorer and type http://localhost:8080/wl in the Address field. On the desktop, double-click the Worklist icon.
Type the following information to log in: Username: mcox Password: mcox
Click Log In or press Enter. There are two tabs in Worklist, Tasks and Workflow Templates. On the Tasks tab, the Task List displays the activity created when you started the Get Customer Information process. This tab is where actors perform the tasks assigned to them.
4 5
On the row for Get Customer Information activity, select Perform Task and click Perform. This will display the Insurance Application form. Complete the form with the following information: Customer Financial Stability: Low Coverage Liability: Medium Property Risk: Medium If you decide you do not want to complete the activity, click Cancel instead of Process. This will return you to the Task List without completing the activity.
Notes
2-14
Click Process. There are four ways to know the task has been completed: There is a Confirmation: The task is complete message appears beside a green circle containing a check mark. This message is located above the Tasks and Workflow Templates tabs. On the Activity row, the Completed column shows the date and time the task was completed. On the Activity row, under the Due Date column, there is a column containing a green circle with a check. The Perform link in the Perform Task column has been removed.
After you click Process or Cancel, return to the Task List. Notice you still have tasks waiting to be performed. 7 Complete the remaining tasks and log out of Worklist by clicking the Logout link.
Task Summary
In this task, you gained familiarity with the elements used to create a workflow process. You use these elements to define and execute effective workflow processes, optimizing the functionality of CA Workflow and improving business processes throughout your organization. In the next task, you will add an activity to display your form and assign a pricing tier based on the data provided.
Notes
2-15
Slide 2-12
Add an Activity
Your first task is to delete the connecting line between the Get Customer Information node and the Stop node. You then need to add a new node and reconnect the process.
Interactive Demonstration
Task Purpose: Add a new node. 1 2 3 4 5 6 Log in to Workflow Client using tfields as the user name and password. The Process Manager tab appears. Open the RBC Inc. process definition. The Process Designer tab appears. Right-click the line that connects the Get Customer Information node to the Stop node and click Delete. On the toolbar, click the Activity icon and then click the area on the workspace where the new Activity node is to be placed. On the toolbar, click the Connect icon. Click and hold the Get Customer Information Activity node, and then drag and drop it to the new Activity node. A line connects the two nodes.
Notes
2-16
7 8
Repeat steps 4 through 6 to connect the new Activity to the Stop node. Save your changes.
Skill Practice
Task Purpose: Add a new form to the RBC Inc. process definition. In a previous interactive demonstration, you created a form to collect client information. The information collected in the form will ultimately indicate the type of insurance coverage for which a client is eligible. This decision is made by underwriters. Now, you must create a form that will deliver client information to the Underwriters group. The Underwriters review form is similar to the Agents data entry form, with two major differences. First, the review form does not permit modification of the data. Second, the review form includes an extra grouping for the action to be taken by the underwriter. Create a new form using the following steps: 1 2 Log in to Workflow Client as tfields and open the RBC Inc. process definition in the Process Designer tab. Create a new form named ApplicationReviewForm. This will contain the same groups as the Insurance Application form with the same properties, except you will use the Output type instead of the Input type. a b 3 4 Add a group named Application Information to the form. Add three Output elements for Customer Financial Stability, Coverage Liability, and Property Risk.
When this is complete, make sure there is a Process and Cancel button, as you did in the Insurance Application form. Add another group to the form and set the ID to grpPricingTier and the label to Assign Pricing Tier.
Notes
2-17
6
Slide 2-13
Interactive Demonstration
Task Purpose: Configure the new activity to display the Application Review form. In the Application Review form, you used a new attribute named Pricing Tier. Therefore, this new attribute must be added to the list of attributes in the process definition. 1 2 3 4 5 6 In the RBC Inc. process definition, click the Process Designer tab and select Attributes. Add the PricingTier attribute and give it a type of string. Make the attribute external. Create a new role named Underwriter and assign the snickels user to that role. Type Underwriter for the description. Double-click the Activity node you added to the Workflow. This will open the Activity node on the Properties dialog. Type Review Application as the name of the activity. Click the Workitem tab.
Notes
2-18
7 8 9
Under Assign to Role, select Underwriter. Under Operation, select Show: Application Review. Under Input Parameters, assign the Value Expression to their corresponding data attributes except for InPricingTier. To assign the values, click each row under Value Expression and then click the ellipsis to display the list of available attribute values. Double-click the value to add it to the Expression box of the Expression Editor. The values are self-identifying by their names and match the input parameter names. Note: When you double-click an attribute, it appears in the Expression box with a $ before its name. This is so the CA Workflow identifies it as an attribute and takes its value rather than taking it as a literal.
10 Under Output Parameters, assign inPricingTier to the PricingTier attribute. 11 To open the Expression Builder, click the ellipsis. 12 Assign the Workitem the following label: Review Applicant's Information This label will be displayed in Worklist. 13 When you have configured the Activity window, click OK. 14 Save the changes to your Workflow.
Skill Practice
Task Purpose: Run processes and perform Worklist tasks. 1 2 3 Run the RBC Inc. process twice. Log in to Worklist as mcox and perform his tasks. On the Get Customer Information Activity row, click Perform.
Notes
2-19
Click Process. Perform the remaining activities for mcox. Valid values for all the fields are: High Medium Low
Log out of Worklist. Remember, you added a new step to the process, which sends a form to the underwriters. The agent is complete, so the underwriter has a set of tasks to perform. Log in to Worklist as snickels. Click Perform for the Review Application activity. The Application Review form is displayed. It contains the data you submitted in the first form.
8 9
10 Click the down arrow and select a Pricing Tier from the list. Click the Pricing Tier you want to assign. 11 To complete this activity, click Process. You are returned to Worklist. 12 Complete the rest of the tasks in your queue. 13 Exit Workflow Client and log out of Worklist.
Task Summary
You added an activity to your Workflow to display your form in Worklist and assigned a pricing tier based on the data provided. This permits the information provided in the first form to be displayed and acted on by the assigning of a pricing tier. In the next task, you will import and export processes.
Notes
2-20
Slide 2-14
Interactive Demonstration
Task Purpose: Export a process definition. To export a process definition from Workflow Client: 1 2 3 4 Open Workflow Client. On the Process Manager tab, in the Process Definition section, select the RBC Inc. process definition. On the File menu, click Export. In the Save dialog, navigate to C:\ClassMedia where the XML file is to be saved. Save your changes. When exporting Process Definitions, the following are exported: Roles defined in the process Attributes defined in the process Forms defined in the process
Anything that can be found in the Process Designer tab of Workflow Client is exported except actors.
Notes
2-21
Interactive Demonstration
Task Purpose: Export actors. 1 2 3 4 5 In Workflow Client, click the Actors tab and select any actor. On the File menu, click Export. The Actor Export dialog appears. Select one or more actors to be exported. Click Export. In the Save dialog, select the destination folder in C:\ClassMedia and then save your changes.
Interactive Demonstration
Task Purpose: Export a form. 1 2 3 4 In Process Definitions, select the process definition called RBC Inc. created in the previous module. On the Forms tab in the bottom pane, select the form named Insurance Application. Click Update. On the Forms Designer page, click Export and provide a location where this form will be exported in an XML file.
Notes
2-22
Interactive Demonstration
Task Purpose: Import a process. 1 2 3 In Workflow Client, click File ` Import ` Process Definition. Navigate to the RBCInc.xml file located on yourlocalcomputer. Select RBCInc.xml and click Open. Note: You must rename the imported file if it has the same name as an existing process definition or actor.
Interactive Demonstration
Task Purpose: Import a form. 1 2 3 4 5 6 7 Open the RBC process definition. Click the Forms tab. Select the insurance application form. Click Update. Click Import. Select the form XML file to import and click OK. To exit the Form Designer, click OK.
Task Summary
In this task, you exported process definitions, forms, and a list of actors to XML files. This enables you to archive and back up the XML file or import it into a new installation.
Notes
2-23
Assessment
1 In a workflow, who performs a task? a b c d 2 The agent The author The actor in a role The process definition
Which tabs in Workflow Client can you select to create a new process definition? (Choose two.) a b c d Process Manager Process Designer Process Definition Process Instances
Which item determines the operations available to an Activity node? a b c d Data type Process being executed Actor type defined to play the role Role to which the Activity node is assigned
Notes
2-24
Notes
2-25
Module Summary
You should now be able to:
Create a Process Definition Modify a Process Definition Import and Export Processes
Now that you can create a workflow process in CA Workflow, RBC will be able to respond quickly and effectively to the ever-changing needs of the contemporary marketplace. In the next module, you will troubleshoot CA Workflow processes.
Notes
2-26
3
Troubleshoot CA Workflow Processes
3-1
Module Objectives
After this module, you will be able to:
Troubleshoot Using Process Instance History Troubleshoot Using the Server Log Troubleshoot Using Log Files
Module Overview
In this module, you will troubleshoot Workflow processes for RBC with methods such as process instance history, external variables, server logs, and log files for individual products. This will enable system and application administrators to debug and troubleshoot CA Workflow processes easily. This facilitates quicker turnaround times when designing process definitions because you can identify and rectify errors quickly.
Notes
3-2
Slide 3-2
Interactive Demonstration
Task Purpose: Troubleshoot a process definition with process instance history and external variables. To view your process instance history, you will need to do the following:
Import an existing process definition or run an existing process definition. Launch the process definition. This will create a process instance. Connect to the Workflow IDE to view the instance history.
Notes
3-3
Click the Process Manager tab, select the XYZ process definition and click the green arrow to launch it. The following message appears: Successfully started process. Click OK.
Notes
3-4
10 Click the Perform link at the far right of the screen. A form appears prompting you to provide the following information about the customer: Customer Financial Stability Coverage Liability Property Risk Type High in the Customer Financial Stability field. Type Medium in the Coverage Liability field. Type Low in the Property Risk field.
11 Type any string for the previous fields and click Submit.
In the next step of the Workflow process, Mike Cox will receive an email from CA Workflow thanking him for submitting the customer insurance information. 12 Log in as: User: mcox@cawf.edu
Note: The login password is dependent on the computer. Please refer to passwords.txt for the proper password. Mike does not receive an email from CA Workflow. You will now determine the cause with Workflow troubleshooting techniques.
Notes
3-5
In this case, the status of our Workflow process is Suspended. 17 Double-click the process instance to view it. This will display a read-only view of the running process instance. 18 To view the current status of the running process instance, click the History tab at the bottom of the IDE. The History tab shows the following items: Component: This denotes the node that was run. Time: This indicates the time of the event. Event: This indicates the event that happened. Workitem: This denotes the unique ID of the workitem where this action or event occurred. The Workitem ID is a very important number. It is tied to the main process through the context parameter. The Workitem ID is unique to the particular process instance and is generated by the Process Manager.
Notes
3-6
Note: Alternatively, you can double-click any node in the process instance and view its history by clicking the History tab for each individual node. 19 Examine the History tab for the overall process definition. 20 Make note of the instance ID listed in the Event column of the History tab. The format will be similar to the following: 'WorkitemInfo: Definition ID=<some number> Instance ID =<some number> Version ID=<some number>' Instance ID: _____________ 21 Scroll down and notice where you are in the process. The Event column shows the following exception at the Send Event Component: Exception: Problem with send mail: Sending failed; nested exception is: class javax.mail.MessagingException: Could not connect to SMTP host: mail, port: 25; nested exception is: java.net.ConnectException: Connection timed out: connect >Workitem ID> 22 Click the Main tab where the node for this process is defined. 23 To view the history of the email event, double-click the email event node and click the History tab. The Event column displays the same exception you noted in the Send Event component.
Notes
3-7
Notes
3-8
Task Summary
In this task, you used process instance history from a process definition to troubleshoot technical problems in your workflow. In the next task, you will troubleshoot using server logs.
Notes
3-9
Interactive Demonstration
Task Purpose: Troubleshoot a running process instance using the server log. 1 2 3 In the IDE, click the Process Manager tab. Click Server Log. Click Play at the top of the window to start the server log. You will now launch the XYZ process definition again to try to capture error information on the process in the server log. You must always start the server log before your process definition is launched. It will continue to run until you stop it manually with the Stop button in the server log. 4 5 To navigate to the process definition, click Process Definitions. To launch the process definition, select XYZ and click the green arrow at the top of the screen. A message appears stating that the process was started successfully. Click OK. To complete the first node in the Workflow process, Get Customer Information, double-click the desktop shortcut for Worklist to open the Worklist. Log in to the Worklist with the following information: User: mcox Password: mcox
6 7
Notes
3-10
Click the Perform link to the far right of the window. a b c Type High in the Customer Financial Stability field. Type Medium in the Coverage Liability field. Type Low in the Property Risk field.
11 Click Submit. In the next step of the Workflow process, Mike Cox will receive an email from CA Workflow thanking him for submitting the customer insurance information. This time you received an email from CA Workflow because the system now has the correct name of the SMTP server.
No task appears. 13 Navigate to the IDE and click the Process Manager tab. 14 Click Process Instances.
Notes
3-11
Notes
3-12
22 To view the latest information about this process in the Information column, scroll to the bottom of the window and view the latest error. If you had multiple instances of the XYZ process definitions running, you would have to sort the columns by clicking the appropriate column name for: a b Instance ID in the Instance column Workitem ID in the Workitem column
This is where these IDs are useful for troubleshooting. It can be hard to keep track of these instances in the Server Log if there are many processes running at the same time, especially when it comes to many of the same process definitions running at the same time. Using these IDs can help you distinguish between them.
Notes
3-13
Troubleshoot
24 To fix the error, access the Process Manager tab and click Process Definitions. 25 Open your XYZ process definition. 26 Double-click the Review Application node and click the Workitem tab. 27 For the text parameter in the Value Expression Column, click all the way to the right so that an ellipsis appears. 28 Click the ellipsis. This opens the Expression Builder window. 29 Modify the expression to add a $ prior to the attribute cfs. It now reads: concat("This form contains ",$cfs,$cl,$pr) 30 To close the Expression Builder, click OK. 31 To close the Review Application Node, click OK. 32 To save your changes to the entire process definition, click the Save icon on the toolbar. 33 Click the Process Manager tab and click Process Definitions. 34 Select the XYZ Process definition and click the green arrow. A message appears stating that the process has started successfully.
Notes
3-14
35 Click OK. To complete the first node in the Workflow process, Get Customer Information, you will need to log in to the Worklist as the Insurance Agent, Mike Cox, and enter customer insurance information. 36 To open the Worklist, double-click the desktop shortcut for Worklist and connect to the Worklist with the following information: User: mcox Password: mcox
You have one task in your Worklist, Get Customer Information. 37 Click the Perform link located to the far right of the window. 38 Fill out the form as follows: a b c d Type High in the Customer Financial Stability field. Type Medium in the Coverage Liability field. Type Low in the Property Risk field. Click Submit.
In the next step in the Workflow process, Mike Cox will receive an email from CA Workflow thanking him for submitting the customer's insurance information, assuming that Outlook is still open. 39 Finally, log back in to your Worklist to perform one final task as the Underwriter, Sarah Nickels. Sarah will need to review the customer's insurance information entered by the agent.
Notes
3-15
41 Click the Perform link located to the far right of the window. A form appears confirming the information that the agent entered into the system. Through troubleshooting techniques, you are now able to run and complete the XYZ process definition successfully.
Task Summary
In this task, you used the server log to troubleshoot a process instance. This enabled you to use the server log to diagnose problems with process instances effectively. In the next task, you will troubleshoot processes using log files of products that embed CA Workflow.
Notes
3-16
Slide 3-4
Slide 3-5
Install log: $NX_ROOT/site/wekinstall.log This file shows errors that occurred during the installation of CA Workflow. Configure log: $NX_ROOT/log/configure.x, where x represents a number The Workflow server is installed during the installation of the Service Desk primary server at the end of the installation process while configuration is run. It is the log file for Unicenter Service Desk configuration.
Stdlogs: $NX_ROOT/log/stdlog.x, where x is a number This file shows general Unicenter Service Desk errors. Tomcat server logs: $NX_ROOT/log/pdm_tomcat.log The most significant run-time errors in the Workflow are logged in this file, for example, bad usernames, database errors, and so on. stderr.log stdout.log pm_log.YYYY-MM-DD.txt wl_log.YYYY-MM-DD.txt
eTrust Directory log files: Program Files/CA/eTrust Directory/dxserver/logs These log files can be used for Workflow authentication issues because the Unicenter Service Desk version of the Workflow uses eTrust Embedded IAM for authentication, which is run from eTrust Directory.
Notes
3-17
Ingres log files: Program Files/CA/Advantage Ingres [ET]/ingres/files These files can be used for Workflow authentication issues because the Service Desk version of the Workflow uses eTrust Embedded IAM for authentication, which runs from eTrust Directory that uses Ingres in the back end.
Web services log files: wsactorSoapRequest.xml: This file supplies the last SOAP request. wsactorSoapResponse.xml: This gives the last SOAP response.
Slide 3-6
In Unicenter Service Delivery, you can use the following log files for troubleshooting:
Tomcat server logs: Unicenter Service Delivery\logs stderr.log >> FulfillmentService.log stdout.log >> FulfillmentService.log
Notes
3-18
Slide 3-7
In CleverPath Aion Business Process Manager (BPM), the following log files will help you with troubleshooting:
Task Summary
In this task, you identified the log files included in products that embed CA Workflow to troubleshoot issues.
Notes
3-19
Assessment
1 When you are checking the process instance history, which variable is generated by the Process Manager and indicates where an action or event has occurred? a b c d 2 Node Event Workitem Component
Which statement best describes a server log? a b c d Stores run-time errors Creates a process instance Shows general Unicenter Service Desk errors Provides a detailed account, or log, of every action and event for each running process definition instance on the server
Which Unicenter Service Desk log records the most significant run-time errors in the Workflow? a b c d Stdlogs Install log Configure log Tomcat server log
Notes
3-20
Slide 3-8
Module Summary
You should now be able to:
Troubleshoot Using Process Instance History Troubleshoot Using the Server Log Troubleshoot Using Log Files
In this module, you used different methods to successfully troubleshoot RBC Workflow processes. These methods enable system and application administrators to debug and troubleshoot CA Workflow processes more efficiently. This facilitates faster design delivery because you can identify and rectify errors quickly. In the next module, you will create an email activity.
Notes
3-21
Notes
3-22
4
Create an Email Activity
4-1
Module Objectives
After this module, you will be able to:
Module Overview
RBC managers need an efficient way to help ensure the timely notification and completion of role-based tasks. They can achieve this by creating a process that automatically sends an email notification when tasks need to be performed. Workflow will enable RBC managers to develop an automated process that will enhance customer satisfaction through increased productivity and business efficiency. In this module, you will add an email activity to the process definition.
Notes
4-2
Slide 4-2
Interactive Demonstration
Task Purpose: Add an email activity. 1 2 Type tfields to log in to Workflow. On the Actors tab, under Global User List, do the following: a b In the main pane, click the Send Event Operations tab. Click Send E-mail.
When you click any group or user, Activity Operations appears by default. These are the operations a user or group can perform for any activity. 3 4 5 6 Click the Process Manager tab. To verify the mail server is set up, click Server Configuration. The SMTP Host must be set to localhost. Save any changes. Click Process Definitions and then open the process definition for RBC.
Notes
4-3
Recall that a Send Event node is defined as an event sent to an actor. In this process, the email will be sent to the tfields user with the final pricing tier for the applicant. 11 Click the Event tab. Notice that the Send Event node does not have a Workitem tab, but an Event tab. a b From the Assign To Role list, select Agent. From the Event list, select Send Email.
There are two parameters, one for the subject of the email and one for the message. 12 For the Subject parameter, click the Value Expression field and then click the ellipsis to open the Expression Builder. 13 Build the following expression: Final Pricing Tier For Applicant 14 For the message parameter, click the Message row and open the Expression Builder. 15 In the Variables column, double-click Pricing Tier. The variable will be added to the Expression Window as $Pricing Tier.
Notes
4-4
Skill Practice
Task Purpose: Run the process and perform tasks. 1 Run the RBC process from Workflow Client. Note: You will be prompted for the applicant ID. 2 3 Log in to Microsoft Outlook as tfields and check email. Exit email, Worklist, and Workflow Client.
Task Summary
An email message is sent when the Send Event is activated. When configured to send an email, a Send Event becomes a powerful tool that enables a quicker response time. Responsibilities associated with each step are built into the Workflow, which helps ensure immediate notification of the appropriate person or group.
Notes
4-5
Assessment
1 Which type of activity is sending an email? a b c d 2 Wait Event Show form Send Event Process initiator
How many parameters are assigned to the Send Email event by default? a b c d One Two Four Three
To whom can you send an email? a b c d Users who are defined as actors in Workflow Groups who are defined as actors in Workflow Users from the external mailing list outside Workflow Groups from the external mailing list outside Workflow
Notes
4-6
Slide 4-3
Module Summary
You should now be able to:
In this module, you added an email activity to the process definition. This enabled RBC to automate sending emails. Automating this task enabled managers to increase productivity and business efficiency. In the next module, you will create decision points in a process definition.
Notes
4-7
Notes
4-8
5
Create Decision Points in a Process Definition
5-1
Module Objectives
After this module, you will be able to:
Module Overview
RBC needs to further automate its business process to reduce the time staff members spend on making decisions. One way RBC will accomplish this is by incorporating decision points in their process definition using CA Workflow. In this module, you will incorporate decision points in a process definition using Branch and Merge.
Notes
5-2
Create Decision Points in a Process Definition Task 1: Create a Decision Point Using Branch and Merge
Slide 5-2
Slide 5-3
The four types of decision points are: Node Branch Function The branch node permits only one path, the first path with the guard condition that is met.
Merge
The merge node brings all paths back to a single path. As soon as a path hits the merge, the merge is executed and the process continues. The fork node permits multiple paths simultaneously, all of which are processed in parallel. Each path of a fork is self-contained and can finish its own execution. The join node brings all parallel paths to a single path and waits for all paths to complete. If a path does not complete, the process will not continue and the join will not execute.
Fork
Join
Notes
5-3
Interactive Demonstration
Task Purpose: Create decision points using Branch and Merge. 1 2 3 4 5 6 Type tfields to log in to Workflow. Open the RBC process definition in Process Manager. Remove the connectors for the existing Send Event node. Add two new nodes to the RBC process definition, Branch and Merge, on the toolbar. Place the Branch node before the existing Send Event node and the Merge node after the existing Send Event node. Add a second Send Event node to the definition. This Send Event node will generate a different type of email based on the pricing tier. The process definition now has the original Send Event node in addition to the one you added. 7 8 9 Add the label Reject Email to the top Send Event node. Type Accept Email to rename the Send Email label. To send out the appropriate email, configure the Send Events.
10 Connect the Branch node to the Review Application activity and then to the two Send Event nodes. 11 Connect the Send Event nodes to the Merge node and connect the Merge node to the Stop node. Note: The connectors have assigned numbers. 12 Double-click the connecting line between the Branch node and the Send Event node labeled Reject Email. This action sets up the condition for the path that sends out the rejection email.
Notes
5-4
13 In the Transition Properties dialog, on the Properties tab, type Reject in the Label field. 14 In the Description field, type the following: A rejection email will be sent out if the Underwriter rejects the applicant. 15 Click the Guard Condition tab. To determine the branch for the Workflow to follow, specify a guard condition on the connections out of the Branch node. Guard conditions are Boolean conditions that, when evaluated to TRUE, determine the conditions to follow. The process takes this path if the pricing tier assigned by the Underwriter is rejected. Therefore, a guard condition is needed to reflect this. 16 To open the Expression Builder, click the ellipsis. a b c d e In the Variables list box, double-click PricingTier. $PricingTier appears in the Expression field. In the Operators list box, double-click the equals sign. The equals sign now appears in the Expression field. In the Expression box, type "Reject" after the equal sign. The double quotes are required for a string. Click OK. The expression appears on the Guard Condition tab. Click OK.
The Workflow will take this path if the pricing tier assigned by the Underwriter is Reject. The numbers on the two paths indicate the order in which the condition is evaluated. When the process gets to this decision point, it will test Branch 1 first to see if pricing tier is equal to Reject. If not, it will evaluate the condition for Branch 2.
Notes
5-5
Notes
5-6
Interactive Demonstration
Task Purpose: Test the decision points. 1 2 Run the new process three times from the Workflow Client Process Manager tab. Use Worklist to perform tasks assigned to the tfields user. Note: If the applicant was rejected, you will receive a rejection email. If the applicant was assigned a pricing tier, you will receive an acceptance email.
Task Summary
In this task, you determined the path that a process follows by creating decision points. Basing each decision point on a set of conditions, you provided flexibility when designing an efficient Workflow process.
Notes
5-7
Assessment
1 In the branch design, what must you establish to specify which path to follow? a b c d 2 Joins Transitions Send Events Guard Conditions
Which node enables the processing of multiple paths simultaneously? a b c d Join Fork Merge Branch
Which node brings all paths back to a single path and, having hit this node, continues the process? a b c d Join Fork Merge Branch
Notes
5-8
Slide 5-4
Module Summary
You should now be able to:
You created a process consisting of decision points. With four types of decision points, you determined the path for the process to follow. RBC can now implement a workflow process that will reduce time spent on making decisions. In the next module, you will build XPath expressions.
Notes
5-9
Notes
5-10
6
Build XPath Expressions
6-1
Module Objectives
After this module, you will be able to:
Module Overview
XPath is a W3C standard and a language used to find information in an XML document. You can search for specific document elements using XPath expressions. XPath also provides over 100 built-in functions to perform many different types of operations: string functions, numeric functions, date and time comparisons, node and QName manipulation, sequence manipulation, Boolean functions, and many more. In this module, you will identify the syntax of XPath expressions and how XPath is used in Workflow. You will build XPath expressions to find information and perform functions on that information. This will enable you to search for the information that your business needs in a more efficient manner.
Notes
6-2
Slide 6-2
Slide 6-3
Axis
Axis identifies a location in the document to search in relation to the context node. It describes the relationship between the context node and the node you need to find. You can use many different axes or relationships in XPath expressions. Alternatively, you can use the short hand form of the axis if available. Some of these axes are described in the following table:
Description Direct child of the context node Direct parent of the context node Any child, grandchild, and so on, of the context node
Notes
6-3
Notes
6-4
Node Test
The second part of the XPath expression is the node test. This is where you describe the node you are looking for. In XPath, there are seven types of nodes: element, attribute, text, namespace, processing-instruction, comment, and document (or root) nodes. The six types of node tests are explained in the following table:
Function Returns all comment nodes Returns all nodes with that name Returns all processing-instruction nodes Returns the text of the node Returns all nodes except attribute and namespace nodes Returns all nodes of the same type For example, if you specify /bookstore/child::*, this will return all the child elements of the bookstore element. If you specify /bookstore/ attribute::*, this will return all the attributes of the bookstore element.
Notes
6-5
Predicates
The final part of the expression is the predicate, which enables you to specify a filter to narrow down the selection of nodes from a node test. It works in a similar way to the where clause in a SQL statement. The predicate is optional in your XPath expressions. When you use a predicate, put it in square brackets right after the node test. The predicate can be a value or an XPath expression using operators and functions. The Workflow IDE online help provides a listing of all the functions and operators you can use.
Slide 6-4
To select all descending elements from the root: /descendant::* The axis is descendant and the node test is *, or element nodes, which are descendants of the root node. There is no predicate.
To select ancestor elements of the context node that are named Chapter: ancestor::Chapter The axis is ancestor and the node test is Chapter, which is the actual name of the node. There is no predicate.
Notes
6-6
To select nodes that have more than two direct children of the name Skip: /descendant::node()[count(child::Skip) > 2] The axis is descendant, the node test is node(), which selects all types of nodes except attributes and namespaces, and the predicate is count(child::Skip) > 2. In this predicate, you are counting the number of children named Skip that each node has. You are only selecting those nodes that have more than two children named Skip. Notice the parameter to the count function, which is found in the online help of Workflow, also contains an XPath expression. You can also write this expression as: /descendant::node()[count(Skip) > 2] This is because child is the assumed axis and the assumed relationship when using predicates.
To select all student elements whose name attribute start with A: //Student[starts-with(@name,A)] The axis is descendant-or-self (shorthand is //) and the node test is Student (actual name of the node), and the predicate is startswith(@name,A). Here you have another function used in the predicate, and again one of the parameters passed into this function is an XPath expression. You can also write this expression as: /descendant-or-self::Student[starts-with(attribute::name,A)]
Notes
6-7
Notes
6-8
To get all the books in the bookstore, you specify: /bookstore/book This returns: <book> <title lang=english>Intro to XPath</title> <price>39.99</price> </book> <book> <title lang=spanish>Advanced XML</title> <price>49.95</price> </book> Because this bookstore has more than one child element named book, it selected all the nodes named book. Remember, the default axis used is child. You can also write this statement as: /bookstore/child::book To get the book in the bookstore whose price is less than 45 dollars, you specify: /bookstore/book[price < 45] This returns: <book> <title lang=english>Intro to XPath</title> <price>39.99</price> </book>
Notes
6-9
Notes
6-10
Slide 6-5
Operators, where you will see the common short-hand XPath axes like // (Descendant-or-self) or the / (selecting the document root and separation of location steps) XPath functions All the attributes defined in your Workflow
Interactive Demonstration
Task Purpose: Import a process definition, and modify and create XPath expressions. Import a process definition that contains expression nodes where you can modify and create XPath expressions. The XML document is a string value in Workflow and is stored on your classroom computer. The information you want to retrieve is the number of bankruptcies the customer had in the first application. 1 2 To open CA Workflow, double-click IDE on the desktop. Log in using the following credentials: User Name: tfields Password: tfields
Notes
6-11
Notes
6-12
Notes
6-13
37 In the Task list, click Perform for the activity named Display Result. 38 To perform this task, you will read a message that displays the result of the XPath Expression. The result is 1. 39 Click OK. 40 Log out of CA Workflow Worklist. 41 Exit CA Workflow.
Skill Practice
Task Purpose: Retrieve all the age nodes from the same document using XPath expressions. 1 2 3 In the Expression Builder, modify the XPath expression created in the previous interactive demonstration. Save and run the process definition. Verify the result in Worklist.
Task Summary
In this task, you identified the syntax of XPath expressions and how to build these expressions in the Expression Builder. Creating XPath expressions in Workflow enables you to extract the information you need from XML documents.
Notes
6-14
Assessment
1 Which node test returns all nodes of the same type? a b c d 2 * Text() Node() Comment()
Which syntax types are found in the Expression Builder? (Choose two.) a b c d Nodes Attributes Operators Process Definitions
Notes
6-15
Module Summary
You should now be able to:
In this module, you identified the syntax of XPath expressions and created and modified XPath expressions in the Expression Builder. Constructing XPath expressions enables you to retrieve information from XML documents and navigate through elements and attributes to search for the information you need. XPath also provides over 100 built-in functions to perform many types of operations on XML documents. In the next module, you will implement web services in a process.
Notes
6-16
7
Implement Web Services in a Process
7-1
Module Objectives
After this module, you will be able to:
Add a Web Service Actor Automate an Activity Using a Web Service Parse a Complex Type Output from a Web Service Work with Complex Data Types and Web Services
Module Overview
RBC wants to improve process productivity. Currently, various activities in a process are performed manually. Automating these activities will reduce errors, increase productivity, and improve customer satisfaction. In this module, you will implement web services to automate activities in a process. You will add web services to a process and configure activities to use these web services.
Notes
7-2
Slide 7-2
Interactive Demonstration
Task Purpose: Add and explore a basic web service actor. 1 2 3 Open your web browser. In the Address field, type http://localhost:8080/axis and press Enter. Click List Services. A list of all available web services on the system appears. Note: The web service can be located anywhere on the network. It does not have to be on the same system as the CA Workflow server. The web services you use in this class are prebuilt to illustrate how web services are used with CA Workflow. They do not correspond to any other CA product and you will not find these web services on any CA Workflow installation. 4 Click the wsdl link for the BasicWS web service. The WSDL appears in your window and the Address bar shows the following URL: http://localhost:8080/axis/services/BasicWS?wsdl
Notes
7-3
Note: The first four steps help you locate the WSDL. The following steps can vary when you try to find WSDL in the real world. 5 6 7 8 9 Copy the URL from the Address bar of your browser. Open the Workflow IDE and log in as tfields. Click the Actors tab. Right-click the Web Service folder. Select Add Actor.
10 Name the actor BasicWS. 11 Paste the URL you copied in step 5 into the WSDL URL field. 12 To add the actor, click OK. 13 Select the actor and examine the Activity Operations tab. Note: The available operations for this actor appear only when you assign a task to a role the web service performs. Other web services have different operations available. This is considered a basic web service because the operations take and return primitive types. 14 Click the Data Types tab. Notice the new data types created correspond to the web service. This becomes important later in the module when a web service contains complex data types.
Task Summary
You added a basic web service actor that can be used by CA Workflow to complete activities. However, you have not yet used this web service actor to perform an activity. In the next task, you will automate an activity using a basic web service actor.
Notes
7-4
Implement Web Services in a Process Task 2: Automate an Activity Using a Web Service
Slide 7-3
Interactive Demonstration
Task Purpose: Automate an activity using a basic web service actor. 1 2 3 4 5 6 7 8 Open the IDE and log in as tfields. Import an updated RBC process definition from the following location: C:\ClassMedia\Module 7\RBC Inc Module 7 Task 2.xml As you import, you will be prompted to give a new process name, and short name, as it already exists. Give the value RBCM7T2 for each. Add a new role called BWS. The BasicWS actor created earlier will play the new role. Open the Determine Pricing Tier activity. Change the role that plays this activity to the new BWS role. Change the operation to getPricingTier. Type the input parameters to match what the web service is looking for. Use the following as a guide: CFS = Customer Financial Stability
Notes
7-5
In the output parameters, select the PricingTier attribute. This attribute is assigned the results from the getPricingTierReturn output parameter.
10 Click OK. 11 Save the process. In the following skill practice, you will observe the use of the web service by running the process and viewing the results.
Skill Practice
Task Purpose: Test the basic web service actor in an activity. 1 2 Start the process through the IDE or the Worklist. Use the following inputs: Customer Financial Stability = Excellent Coverage Liability = Medium Property Risk = Blank
The result of the process is an email received stating that the pricing tier assigned was B. 3 4 Start the process again. When you are prompted for inputs, leave all fields blank. The web service will return a Refer. This means a task has been assigned to the underwriter. 5 Log in as snickels to perform the assigned task. After snickels has performed the task, an email will be sent, which specifies the result snickels assigned.
Notes
7-6
Task Summary
You used a basic web service actor to perform basic automation in a process. In the next task, you will configure a simple web service actor.
Notes
7-7
Slide 7-5
Interactive Demonstration
Task Purpose: Add a simple web service actor. 1 2 Open the Workflow IDE and log in as tfields. Create the SimpleWS web service actor using the following URL: http://localhost:8080/axis/services/SimpleWS?wsdl Examine the operations exposed by this web service. In addition, examine the Data Types tab for the data types created for this web service actor. Note: You can find the WSDL using the URL specified in the Add a Web Service Actor task. 3 Import the following RBC Process: C:\ClassMedia\Module 7\RBC Inc Module 7 Task 3.xml This is an updated process with new forms and attributes. This is a framework for the rest of this task. 4 As you import, you will be prompted to give a new process name, and short name, as it already exists. Give the value RBCM7T3 for each.
Notes
7-8
5 6 7 8 9
Add a new role named SWS. The SimpleWS web service will play this role. Add a new activity at the beginning of the process, between the Start and the Review Customer Information activity, and reconnect everything. Open the properties for the activity. Name the activity Retrieve Customer Information. Click the WorkItem tab and assign the activity to the SWS role.
10 Select getData as the operation. 11 Type 1 as the input parameter for the getData method. Note: This input parameter is a number. Do not use any quotes. 12 Assign the output parameter to the cust_info attribute. You added a new web service actor that returns an XML-formatted string. This string has important customer information. Next, you will retrieve information from this string.
Slide 7-6
Notes
7-9
Pre Tab
The Pre tab is similar to the function node. It runs a set of expressions you specify. The difference is that when you specify expressions on the Pre tab of an activity, they will run as part of the activity before the Workitem tab. This means the set of expressions appears as a single activity in the process rather than multiple activities.
Post Tab
The same process applies to the Post tab, except it runs the expressions after the Workitem tab. Therefore, the overall flow is Pre to Workitem to Post.
Interactive Demonstration
Task Purpose: Parse information using XPath. In this interactive demonstration, you will use the Post tab and XPath expressions to parse information the simple web service actor returns. 1 2 3 4 5 Open the Workflow IDE, log in as tfields, and open the RBC Inc process definition. Open the Retrieve Customer Information activity tab. Click the Post tab. Click add attribute. Add the cust_info_xml attribute. Use the Expression Editor to assign the expression the value of cust_info or $cust_info. This changes the attribute from a string type to an XML type. It is important to perform this step because you cannot run XPath expressions on a simple string type. It must be a complex object or XML. Because the string is formatted as XML, you can assign it directly to another attribute that is defined as XML. This enables you to run XPath expressions to get the required data.
Notes
7-10
Add the following attributes to the Assign To section of the Post tab: first_name last_name street city state zip_code phone_number email date_of_birth years_employed years_at_address customer_id bankruptcies
To parse the data out of the XML string for each attribute, use the XPath expressions in the following table: Attribute first_name last_name street city state XPath Expression $cust_info_xml//firstname/text() $cust_info_xml//lastname/text() $cust_info_xml//address/text() $cust_info_xml//city/text() $cust_info_xml//state/text()
Notes
7-11
Note: You need to type most of the expressions in the Expression Editor. 8 Save the process.
Skill Practice
Task Purpose: Test the simple web service actor in an activity. 1 2 3 Run the process once. Log in as the relevant user and perform the assigned task. View the results.
Notes
7-12
Task Summary
You implemented two web services in your process so far. You also used the Post tab to parse information from the XML and assigned attributes. This enables you to retrieve important business information from XML. In the next task, you will implement complex web services in a process.
Notes
7-13
Slide 7-9
Interactive Demonstration
Task Purpose: Automate an activity using a complex web service. 1 2 Open the Workflow IDE and log in as tfields. Add a new ComplexWS actor using the following URL: http://localhost:8080/axis/services/ComplexWS?wsdl Note: You can browse to the URL by following the steps in task 1. 3 On the Data Types tab, examine the associated data types. 4 One new data type and a few subtypes will be present. Examine the data subtypes.
Open the RBC process definition or import a new one from: C:\ClassMedia\Module 7\RBC Inc Module 7 Task 4.xml This has a slightly modified form and framework. As you import, you will be prompted to give a new process name, and short name, as it already exists. Give the value RBCM7T4 for each.
Notes
7-14
Add new attributes that correspond to the new data types. Notice as you add a new attribute, new data types corresponding to the data types for the web services appear. These are typically in the form of: <WebServiceName>.<DataTypeName> For example: ComplexWS.PropertyRisk Add one attribute for each of the following: Property Risk Financial Stability Pricing Tier Coverage Liability
7 8 9
Open the Determine Pricing Tier activity. Change the role to CWS. Change the operation to getPricingTier. Notice the input parameters are complex. For example, ComplexWS.PropertyRisk. The same for the output parameter.
10 Assign the inputs and outputs to their respective attributes you created in step 6. 11 Click the Pre tab for the activity. Note: You can set the values of the complex data types on the Pre tab. This helps ensure that the complex types are set before the web service is called. 12 Click Add and select the complex attribute for property risk. 13 Select the row for Property Risk. Notice that the Define button is enabled because the attribute is a complex type.
Notes
7-15
Note: CWS_PT is the complex data type that corresponds to the one you defined in step 6. 20 Save the process.
Skill Practice
Task Purpose: Run the process.
Task Summary
You implemented web services that use complex data types as input and output parameters.
Notes
7-16
Assessment
1 You need to add a web service actor to the CA Workflow system. What is the first step you need to perform? a b c d 2 Log in to the Workflow IDE. Add an actor to the Workflow. Inspect the Activity Operations tab. Locate the WSDL for the web service.
Which tabs run a set of expressions you specify as part of an activity? (Choose two.) a b c d Pre Post Function Workitem
When you add a new attribute to a complex web service, new data types corresponding to the data types for the web services appear. Which format do these data types follow? a b c d <WebServiceName>.<DataTypeName> <DataTypeName>.<WebServiceName> <WebServiceName>.<DataTypeName>.<AttributeName> <DataTypeName>.<WebServiceName>.<AttributeName>
Notes
7-17
Module Summary
You should now be able to:
Add a Web Service Actor Automate an Activity Using a Web Service Parse a Complex Type Output from a Web Service Work with Complex Data Types and Web Services
In this module, you added basic web service actors. You can use these actors to automate activities in any RBC process. By automating activities, you can reduce errors, increase productivity, and improve customer satisfaction. You also implemented simple web service actors and complex web services in a process. This enables you to retrieve important business information from XML. In the next module, you will enable communication between processes.
Notes
7-18
8
Enable Communication Between Processes
8-1
Module Objectives
After this module, you will be able to:
Create Process Parameters Create a Process Actor Update the Process Definition
Module Overview
RBC management has determined that the RBC process definition must be further automated. You must create a new process definition that deals only with reviewing the application. This means you will also delete some activities from your original process definition. In this module, you will create a process actor, associate the process definition with the process actor, and then test the new definition. Currently, all activities are defined in one process definition. The agent activity of getting customer information is defined along with reviewing the application by the underwriters.
Notes
8-2
Slide 8-2
Slide 8-3
The new process definition is named RBC Inc Referral. In this process definition, evaluation of the pricing tier has been referred to the analyst and possibly to the Underwriting group. First, an analyst reviews the information submitted by the customer agent, and then tries to assign a pricing tier. The possible values are A, B, C, or Refer. If the analyst chooses A, B, or C, an acceptance message is sent to the Agents group. If the analyst chooses Refer, the information is sent to the Underwriting group to assign a final pricing tier.
Interactive Demonstration
Task Purpose: Create process parameters. 1 2 Log in to Workflow Client using tfields as the username and password. Import the RBC Inc Referral process from: C:\ClassMedia\Module 8\RBC Inc Referral.xml This Workflow definition will take several process parameters. 3 4 Open the RBC Inc Referral Process. In the left pane, under Definitions, click the RBC Inc Referral folder, and then right-click and click Parameters.
Notes
8-3
Add the following output parameters for this Workflow definition: Data Name Pricing Tier Justification Data Type String String
In the Process Designer, click the Attributes tab. Notice the process parameter attributes are displayed and listed. They can be used just like any other attribute in the process, which means they can be displayed on forms, assigned values from forms or web services, and so on. Also notice there is a Y in the column for Input or Output for the attribute, and the attributes are not marked as external.
8 9
Configure the Analyst Review activity. It will display the Analyst Review form to the Analyst role. Assign form values as needed. Type the following as the Workitem label: concat("Application ID: ", $app_id)
10 Configure the Underwriter Review activity. It will display the Underwriter Review form to the underwriter role.
Notes
8-4
11 Assign form values as needed. Type the following as the Workitem label: ("Application ID: ", $app_id) 12 Configure the guard conditions. a b For the path that leads to the underwriter review activity, $pt = "Refer" is the guard condition. The other condition is $pt != "Refer".
Note: pt refers to the output parameter you created in step 5 for Pricing Tier. 13 Save the changes.
Skill Practice
Task Purpose: Run the process. When you have completed the design of the definition, run the process and work through it in Worklist to make sure everything works. Note: The only user who is a member of the Analyst group is rjones. Therefore, when you log in to Worklist to complete your first activity, use rjones as the user name and rjones as the password. 1 2 Log in to Worklist as rjones. Start the RBC Inc Referral process. Note: Workflow will request inputs to the process now that it has process parameters. 3 Complete the task assigned to rjones to make sure the process works.
Notes
8-5
Task Summary
You have created a new process definition, RBC Inc Referral. This sends customer information to the Analyst and Underwriting groups for evaluation. Analysts can then examine the data submitted by the customer agent to assign a pricing tier. If required, the Analyst can refer the information to the Underwriting group for a final pricing tier. In the next task, you will create a new process actor.
Notes
8-6
Slide 8-4
Slide 8-5
Process actors can perform operations such as starting a process, waiting for it to finish, and retrieving the results of the process execution. Process actors usually pass required attributes through process parameters. If you have successfully created the RBC Inc Referral process definition, you can now create a process actor in the RBC process definition that will start this process. You can also update the RBC process definition to use this new process actor.
Interactive Demonstration
Task Purpose: Create a new process actor in the RBC process definition. 1 2 On the Actors tab, right-click the Processes folder. Click Add Actor. The Process Actor dialog appears. It contains the process definitions defined in your Workflow installation. 3 Select RBC Inc Referral and click OK.
Notes
8-7
the activity
Returns a process for the newly running activity Passes context string, which is used in later
activities
Note Usually you pass in the Process ID of the current process. Terminate Process Suspend Process Resume Process Query Process Get Results This operation terminates a running or suspended process. This operation suspends a running process. This operation resumes a suspended process. This operation queries a process to determine the status.
A separate activity is performed by this actor. This is used after the process is completed. Output process parameters are passed back. This specifies the Process ID of the subprocess
Note This is the value returned from the Start Process operation.
Notes
8-8
The Wait Event Operations tab is enabled. Click the tab to view the wait events.
When you update your RBC process definition, you use the Wait Event node. This causes your Workflow to wait for an event to happen before it proceeds. There are several wait events associated with the process actor, including Process Completed. This is important because the RBC process will initiate an instance of RBC Referral. The RBC process will then have to wait until the RBC Referral process is complete before retrieving the results.
Task Summary
You have created a new process actor to start the RBC Referral process. In the next task, you will update the process definition associated with the process actor you created.
Notes
8-9
Interactive Demonstration
Task Purpose: Update the process definition. 1 2 Open the RBC definition in Process Manager. The Review Application activity includes activities for the Underwriting group to review the application. Delete the Review Application node. Note: This will delete all lines connected to the node, including the line that contains the guard condition. This will need to be re-created. 3 4 The Underwriter role and the Application Review form are not required. Delete them. Add three nodes to the process according to the sequence and names in the following table: Node Activity Wait Event Activity Name Application Referral Wait for Referral Get Referral Results
These activities replace the Review Application activity. Note: A Wait Activity uses a Wait Event node, which you will find on the toolbar.
Notes
8-10
Connect the nodes to the rest of the process. a b c d Branch to Application Referral Application Referral to Wait for Referral Wait for Referral to Get Referral Results Get Referral Results to Merge
6 7 8 9
Add the role named Referral and have the RBC Inc Referral process actor perform that role. Add two string type attributes named ReferralPID and PT_Justification. Make them external. Open the Application Referral activity and assign it to a role of Referral with an operation of Start Process. Under Input Parameters, assign the $_ProcessId value to Context. The input for the Start Process is the Context, which is the Process ID of the RBC process. The Process ID, $_ProcessId, is an internal variable. Fill in the rest of the input parameters.
10 The output parameter is the Process ID of the Pricing Tier Referral process. Assign this output parameter to ReferralPID, which is the attribute you defined earlier. You need the referral process ID to receive the results back from the process. 11 Open the Wait Activity. 12 Assign the Wait Activity to the Referral Role, with an operation of Process Completed. You will set this node to wait for the Referral Process to be complete before continuing processing. The Wait Event waits based on the Context set when you started the subprocess. Remember, in step 10, you used the Process ID of the current (parent) RBC Inc Process. You will use this again.
Notes
8-11
16 For the output parameters, assign PricingTier to FinalPricingTier and PT_Justification to Justification. 17 Set guard conditions for the Branch paths. For the Refer path, assign the guard condition $Pricing Tier=Refer, and for the Determined Pricing Tier path, assign the guard condition $PricingTier!=Refer. 18 Modify the Send Email activity to include the justification in the message.
Notes
8-12
Skill Practice
Task Purpose: Test the process. Now that you have created a process actor and updated the process definition, you must test it to make sure it works. 1 2 3 Start the RBC business process once or twice. Use Worklist to complete the activities. Log in as an agent (mcox), and if needed as an analyst (rjones), and then as an underwriter (snickels). You will receive an acceptance or rejection email after the Analyst accepts the applicant or when the Underwriter accepts or rejects the applicant.
Task Summary
You have updated the RBC process definition so that it is associated with a new process actor. This means that now the process definition only deals with applications. In addition, you verified that the updated process definition provides the desired results.
Notes
8-13
Assessment
1 To which type of process definition can a process actor be assigned? a b c d 2 Active Simple Internal External
To which operation are output process parameters passed back? a b c d Get Results Start Process Resume Process Suspend Process
Notes
8-14
Slide 8-7
Module Summary
You should now be able to:
Create Process Parameters Create a Process Actor Update the Process Definition
At the request of RBC management, you further automated the RBC process definition by creating a new process definition for reviewing applications. To accomplish this, you created a process actor, associated the process definition with a process actor, and then tested the new definition. This will enable RBC management to further automate the RBC process definition. In the next module, you will create subactivities and due date processing.
Notes
8-15
Notes
8-16
9
Create Subactivities and Due Date Processing
9-1
Module Objectives
After this module, you will be able to:
Module Overview
RBC uses workflows to manage its business processes. These workflows include complex activities that make it difficult and time-consuming to manage processes. In this module, you will create subactivities and due date processing to decrease the complexity of workflows used by RBC. This will help increase profitability for RBC because it reduces the time needed to monitor processes and activities not completed by the scheduled date.
Notes
9-2
Slide 9-2
Slide 9-3
In the CA Workflow IDE, a subactivity is a single activity symbol on one diagram that can be opened to reveal another workflow contained inside it. You can continue this nesting process indefinitely. All subactivities are part of the entire process. Each diagram can be shown in a separate tab across the top or expanded inline on a single diagram. The same general principles of coupling and cohesion used in software development apply to the structuring of subactivities. A subactivity can perform a single well-defined activity that can be named in business terms. Structuring a subactivity this way is useful if you subsequently decide to remove the subactivity and make it a separate process. Converting a subactivity to a separate process enables other workflows to invoke it. In this task, you will create a subactivity that manages the approval process.
Slide 9-4
Interactive Demonstration
Task Purpose: Create a subactivity. 1 2 3 Log in to the Workflow IDE. Open the RBC Inc process definition. Make a copy of the 2 Referred guard condition. Note: This guard condition will be lost when you create the subactivity and you will need to re-create it. You can make a copy of the guard condition using the $pt = "Refer" syntax.
Notes
9-3
Note: To select these activities, hold down the Shift key and click each one. 5 Right-click one of the selected items and click Create Sub-Activity. The three selected items will be replaced by a single activity with a + sign. The + sign indicates that there are details contained in the activity. 6 7 8 9 Name this activity Approval Process. Connect the branch to the Approval Process Activity. Connect the Approval Activity to the Merge. Recreate the guard condition.
10 To view the details in the new activity, click the + sign and select Open in Tab. 11 Connect the Sub-Activity workflow to the start and end icons. 12 Save the process.
Skill Practice
Task Purpose: Run the process with the due dates. 1 2 Start the process. Perform the assigned tasks.
The Main workflow shows the major activities performed in the workflow. The details of how to perform these major activities are contained in subactivities.
Notes
9-4
Task Summary
In this task, you created a subactivity. This will enable you to manage complex workflows for RBC. In the next task, you will create due date processing using subactivities.
Notes
9-5
Slide 9-6
You create due date processing in two parts. First, you specify a relative or an absolute time by when the activity must be completed. Then, you specify the action to take if the activity is not completed on time. This can be accomplished by drawing another workflow.
Interactive Demonstration
Task Purpose: Create due date processing. 1 2 3 4 5 Log in to the Workflow IDE. Open the RBC Inc. process. Open the Review Customer Information activity. Click the Due Date tab. From the first list, select from node activation. Other options in the list are: from process start at time
Notes
9-6
To specify the amount of time, type 3 and select minutes for the units of time. Note: Alternatively, you can type an expression that will be evaluated. You can also use a rule component or a predictive component to estimate the amount of time to permit.
7 8
Select Reassign Workitem. Notice there are several other options on the tab. To return to the Main workflow diagram, click OK. Notice the Review Customer Information activity now has a small calendar icon beside it.
Right-click the activity and click Open Due Date Processing. An empty workflow diagram appears. This is where you specify what must happen if the activity passes its due date. Note: You can also double-click the calendar icon to open the due date processing.
10 Add a new role named Department Leader. This role will be played by the tfields user. 11 Design the due date processing process to send an email to the Department Leader stating the task is overdue. 12 Save the process.
Notes
9-7
Skill Practice
Task Purpose: Run the process with the due dates. 1 2 3 Start the process. Let the Review Customer Information activity pass its due date. Check your email to confirm that this occurred.
Task Summary
In this task, you created due date processing for activities in a workflow. This will help you monitor activities that have passed their due date. You also defined actions that can be carried out when an activity is not completed by its due date.
Notes
9-8
Assessment
1 What can you specify when you create due date processing for an activity? (Choose two.) a b c d Time for the activity to be completed Action to take if the activity is not completed on time Buffer time for the activity, after which the activity will be terminated Parameters to generate a report on how frequently an activity was not completed
Notes
9-9
Module Summary
You should now be able to:
In this module, you created subactivities and due date processing. Subactivities help you manage the complex workflows used by RBC. Due date processing will help RBC track an activity that has exceeded its due date. This will increase profitability for RBC by reducing the time required to monitor workflows. In the next module, you will apply all the skills you acquired in the course to create a custom workflow.
Notes
9-10
10
Create a Custom Workflow
10-1
Module Objectives
After this module, you will be able to:
Module Overview
In this module, you will use the knowledge you gained throughout the course to analyze and implement a business process using CA Workflow. You will create forms, interact with web services, send emails, use decision points, and more. This will prepare you for creating workflows in the real world.
Notes
10-2
Create a Custom Workflow Skill Builder: Analyze and Implement a Business Process
RBC is expanding their business to include risk assessment services for three types of common health risks:
They have defined a process around this line of business, which needs to be implemented quickly. They have a lot of information about their customers they can use, but they will also need to add new data to this information. RBC has developed web services to help with the assessment of these risks as well.
Slide 10-3
RBC has defined the following roles and actors to play a part in the process: Role Risk Assessment Actor Risk Assessment web service: http://localhost:8080/axis/services/ RiskAssessment?wsdl Customer Retrieval Web service: http://localhost:8080/axis/services/ SimpleWS?wsdl Health Care Agent User mcox
Notes
10-3
User tfields
RBC has identified the following as information already known about their customers, which they can use in the process: Attribute First name Address State Age Email address Weight Type String String String Integer String Integer Attribute Last name City Zip code Phone number Height Customer ID Type String String Integer String Integer Integer
Slide 10-5
RBC will need to collect the following information during the process to fully evaluate the risk: Attribute Watery eyes Itchy skin Type Boolean Boolean Attribute Runny nose Weeks since last hike Type Boolean Integer
Notes
10-4
Create a Custom Workflow Skill Builder: Analyze and Implement a Business Process
Attribute Systolic
Type Integer
RBC has defined the process for the new line of business. The process identifies if you are at risk from the common cold, foot fungus, or poison ivy. 1 The process will require a customer ID to start. This is a number between 1 and 100, and it needs to be passed into the process for the process to start. Assign a risk assessment ID to the risk process. Note: To get a random ID, assign the process instance ID to the risk assessment ID. 3 Based on the customer ID number, retrieve the customer information from the database through the supplied web service. Note: This information is retrieved as XML and will need to be parsed out.
Slide 10-7
Display the customer information to the agent. Also, gather new information including the following symptoms: Runny nose Watery eyes Muscle aches Itchy skin Blood pressure (systolic, diastolic) Date of their last hike
Notes
10-5
The process will now simultaneously do the following: a b Check for foot fungus risk. Check for common cold risk and then poison ivy risk.
Note: The check for poison ivy depends on the outcome of risk for the common cold. c
Slide 10-9
RBC has asked that this section be performed in a subactivity to hide some of the complexity.
6 7 8 9
If any risk is unknown, display a form to the assessor stating the information and asking for risk assignment. If all risk is known, bypass step 6. Display a message to the agent stating the final results. RBC also wants any activity that interacts with its users through forms or messages to have a label attached that displays the risk assessment ID.
Using the information provided and the skills you acquired throughout the course, implement this process in CA Workflow.
Notes
10-6
Slide 10-10
Module Summary
You should now be able to:
You analyzed the business process scenario and implemented the process in CA Workflow. This will prepare you for creating workflows in the real world.
Notes
10-7
Course Summary
You should now be able to:
Navigate the CA Workflow Environment Create a Workflow Process Troubleshoot CA Workflow Processes Create an Email Activity Create Decision Points in a Process Definition Build XPath Expressions Implement Web Services in a Process Enable Communication Between Processes Create Subactivities and Due Date Processing Create a Custom Workflow
Slide 10-12
Notes
10-8
A
Assessment and Skill Builder Solutions
A-1
Assessment Answers
Module 1
Question 1: d Question 2: d
Module 2
Question 1: c Question 2: a and b Question 3: d Question 4: c
Module 3
Question 1: c Question 2: d Question 3: d
Module 4
Question 1: c Question 2: b Question 3: a and b
Notes
A-2
Module 5
Question 1: d Question 2: b Question 3: c
Module 6
Question 1: a Question 2: b and c
Module 7
Question 1: d Question 2: a and b Question 3: a
Module 8
Question 1: a Question 2: a
Module 9
Question 1: a and b
Notes
A-3
They have defined a process around this line of business, which needs to be implemented quickly. They have a lot of information about their customers they can use, but they will also need to add new data to this information. RBC has developed web services to help with the assessment of these risks as well. RBC has defined the following roles and actors to play a part in the process: Role Risk Assessment Actor Risk Assessment web service: http://localhost:8080/axis/services/ RiskAssessment?wsdl Customer Retrieval Web service: http://localhost:8080/axis/services/ SimpleWS?wsdl Health Care Agent User mcox
Health Care Assessor User snickels Health Care Manager User tfields
Notes
A-4
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
RBC has identified the following as information already known about their customers, which they can use in the process: Attribute First name Address State Age Email address Weight Type String String String Integer String Integer Attribute Last name City Zip code Phone number Height Customer ID Type String String Integer String Integer Integer
RBC will need to collect the following information during the process to fully evaluate the risk: Attribute Watery eyes Itchy skin Muscle ache Diastolic Type Boolean Boolean Boolean Integer Attribute Runny nose Weeks since last hike Systolic Type Boolean Integer Integer
RBC has defined the process for the new line of business. The process identifies if you are at risk from the common cold, foot fungus, or poison ivy.
Notes
A-5
This needs to be completed in less than five minutes, or an email is sent to the manager. The task is reassigned back to the agent after five minutes. 5 The process will now simultaneously do the following: a b Check for foot fungus risk. Check for common cold risk and then poison ivy risk.
Notes
A-6
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
Note: The check for poison ivy depends on the outcome of risk for the common cold. c 6 7 8 9 RBC has asked that this section be performed in a subactivity to hide some of the complexity.
If any risk is unknown, display a form to the assessor stating the information and asking for risk assignment. If all risk is known, bypass step 6. Display a message to the agent stating the final results. RBC also wants any activity that interacts with its users through forms or messages to have a label attached that displays the risk assessment ID.
Using the information provided and the skills you acquired throughout the course, implement this process in CA Workflow.
Software Solution
Create the Process Definition
1 2 3 4 Open the Workflow IDE using the shortcut on the desktop. Log in as tfields. Click File ` New ` ProcessDefinition. In the Create Process Definition dialog, type the following information in the fields provided: Name: RBC Health Risk Short Name: RBCHC Description: Determine the Health Risk
Notes
A-7
Create Actors
1 2 3 4 5 6 7 8 9 Open a browser window and type http://localhost8080/axis in the Address field. Click the List link. Click the wsdl link for Risk Assessor. In the page that loads, copy the URL in the Address field using Ctrl+C. Click the Actors tab. In the Workflow IDE, right-click Web Service and click Add Actor. In the Actor dialog, use Ctrl+V to paste the URL you copied into the WSDL URL field. Type RiskAssessor in the Name field. Click OK. The RiskAssessor actor now appears under Web Service on the Actors tab. 10 Click the Data Types tab. 11 Expand RiskAssessor and click complexType: BloodPressure. 12 In the browser window, click Back. 13 Click the wsdl link for SimpleWS. 14 In the page that loads, copy the URL in the Address field using Ctrl+C. 15 In the Workflow IDE, click the Actors tab. 16 Right-click Web Service and click Add Actor. 17 In the Actor dialog, use Ctrl+V to paste the URL you copied into the WSDL URL field.
Notes
A-8
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
18 Type CustomerInfo in the Name field. 19 Click OK. The CustomerInfo actor now appears under Web Service on the Actors tab.
Assign Roles
1 2 3 4 5 6 7 8 9 Click the Process Designer tab. At the bottom of the Main panel, locate the Roles tab. Role1 is already selected. Click Update. Replace Role1 with the following information: Name: Risk Assessor Under Actors, select RiskAssessor. Click OK. On the Roles tab, click Add. In the Role dialog, type Customer Info in the Name field. Under Actors, select CustomerInfo.
10 Click OK. 11 On the Roles tab, click Add. 12 In the Role dialog, type Health Care Agent in the Name field. 13 Under Actors, select Global User List. This is where human actors are defined. Some have been defined previously. The Edit button under Configuration is enabled. 14 Click Edit. 15 In the Actor Configuration dialog, click Browse. The EIAM User Selection dialog appears.
Notes
A-9
Notes
A-10
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
38 Click Add. 39 To return to the Role dialog, click OK twice. 40 To close the Role dialog, click OK. 41 Click Save on the toolbar.
Define Attributes
1 2 3 4 5 6 7 8 9 Click the Attributes tab. In the left panel, right-click RBC Health Risk and click Parameters. In the Process Parameters dialog, click Add beside Input Parameters. In the Attribute dialog, type customer_id in the Name field. From the Type list, select integer. Click OK. In the Process Parameters dialog, click Close. On the Attributes tab, double-click the customer_id attribute. In the Attribute dialog, select External and click OK.
10 Click Add. 11 In the Attribute dialog, type first_name in the Name field. 12 From the Type list, select string. 13 Select External and click OK. 14 Click Add. 15 In the Attribute dialog, type last_name in the Name field. 16 From the Type list, select string. 17 Select External and click OK. 18 Click Add.
Notes
A-11
Notes
A-12
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
43 In the Attribute dialog, type email in the Name field. 44 From the Type list, select string. 45 Select External and click OK. 46 Click Add. 47 In the Attribute dialog, type height in the Name field. 48 From the Type list, select integer. 49 Select External and click OK. 50 Click Add. 51 In the Attribute dialog, type weight in the Name field. 52 From the Type list, select integer. 53 Select External and click OK. 54 Click Add. 55 In the Attribute dialog, type watery_eyes in the Name field. 56 From the Type list, select boolean. 57 Select External. 58 Click OK 59 Click Add. 60 In the Attribute dialog, type itchy_skin in the Name field. 61 From the Type list, select boolean. 62 Select External. 63 Click OK. 64 Click Add. 65 In the Attribute dialog, type runny_nose in the Name field. 66 From the Type list, select boolean.
Notes
A-13
Notes
A-14
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
10 In the Activity dialog, click OK. 11 On the Attributes tab, click Add. 12 In the Attribute dialog, type cust_info in the Name field. 13 From the Type list, select string. 14 Select External and click OK. 15 Click Add. 16 In the Attribute dialog, type cust_info_xml in the Name field. 17 From the Type list, select XML. 18 Select External and click OK. 19 In the Main panel, double-click the Get Customer Information Activity node. 20 In the Activity dialog, click the Workitem tab.
Notes
A-15
Notes
A-16
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
43 Click OK. 44 Click Add. 45 In the Add Attribute dialog, select zip_code from the Select an Attribute list. 46 Click OK. 47 Click Add. 48 In the Add Attribute dialog, select age from the Select an Attribute list. 49 Click OK. 50 Click Add. 51 In the Add Attribute dialog, select phone_number from the Select an Attribute list. 52 Click OK. 53 Click Add. 54 In the Add Attribute dialog, select email from the Select an Attribute list. 55 Click OK. 56 Click Add. 57 In the Add Attribute dialog, select height from the Select an Attribute list. 58 Click OK. 59 Click Add. 60 In the Add Attribute dialog, select weight from the Select an Attribute list. 61 Click OK. 62 Move to the cust_info_xml row on the Post tab. 63 Select the Expression field for cust_info_xml and then click the ellipsis to open the Expression Builder. 64 From the Variables list, select cust_info.
Notes
A-17
Notes
A-18
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
82 Click the Expression field for zip_code and click the ellipsis that appears to open the Expression Builder. 83 From the Functions list, select number(object). 84 In the Expression field, replace object with the expression you copied in step 69. 85 Replace firstname with zipcode in the expression and click OK. 86 Click the Expression field for age and click the ellipsis that appears to open the Expression Builder. 87 From the Functions list, select number(object). 88 In the Expression field, replace object with the expression you copied in step 69. 89 Replace firstname with age in the expression and click OK. 90 Click the Expression field for phone_number and click the ellipsis that appears to open the Expression Builder. 91 In the Expression field, use Ctrl+V to paste the expression you copied in step 69. 92 Replace firstname with phonenumber in the expression and click OK. 93 Click the Expression field for email and click the ellipsis that appears to open the Expression Builder. 94 In the Expression field, use Ctrl+V to paste the expression you copied in step 69. 95 Replace firstname with email in the expression and click OK. 96 Click the Expression field for height and click the ellipsis that appears to open the Expression Builder. 97 From the Functions list, select number(object). 98 In the Expression field, replace object with the expression you copied in step 69.
Notes
A-19
10 Click the Expressions tab. 11 Click Add. 12 In the Add Attribute dialog, scroll the Select an Attribute list and select risk_assessment_id.
Notes
A-20
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
13 Click OK. 14 On the Expressions tab, click the Expression field for risk_assessment_id. 15 To open the Expression Builder, click the ellipsis. 16 From the Variables list, select _ProcessId and click OK. 17 In the Evaluate Expression(s) dialog, click OK. 18 In the Main panel, add a connector between the Start node and the Assign Risk Assessment ID Evaluation node. 19 Add a connector between the Assign Risk Assessment ID Evaluation node and the Get Customer Information Activity node. 20 Save the process.
Make sure there are two submit buttons, one for Process and one for Cancel. You will now create the first of four groups for this form. This group will be used to gather customer information.
4 5
Add a group to the form and position it above the Process and Cancel elements. Select the new group and type the following information: a b id: grpCustInfo label: Customer Info
Notes
A-21
This output element appears as Name: on the form. Add another output element to the Customer Info group. Select Output and type the following information: a b id: id_address label: Address:
This output element appears as Address: on the form. 10 Add another output element to the Customer Info group. 11 For id_address2, delete the value of the label, so its empty. 12 Add another output element to the Customer Info group. 13 Select Output and type the following information: a b id: id_phone label: Phone:
This output element appears as Phone: on the form. 14 Add another output element to the Customer Info group. 15 Select Output and type the following information: a b id: id_email label: Email:
This output element appears as Email: on the form. 16 Add another output element to the Customer Info group. 17 Select Output and type the following information:
Notes
A-22
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
a b
This output element appears as Age: on the form. You will now create the second group for this form. This group will be used to gather customer health information. 18 Add another group to the form. 19 Select the new group and type the following information: a b id: grpHealthInfo label: Health Info
This group appears as Health Info on the form. 20 Add an output element to the Health Info group. 21 Select Output and type the following information: a b id: id_height label: Height (in):
This output element appears as Height (in): on the form. 22 Add another output element to the Health Info group. 23 Select Output and type the following information: a b id: id_weight label: Weight (lbs):
This output element appears as Weight (lbs): on the form. 24 Add a select control to the Health Info group. 25 Select Select1 and type the following information: a b id: id_last_hike label: Last Hike (wks):
Notes
A-23
You will now create the third group for this form. This group will be used to gather customer blood pressure information. 26 Add another group to the form. 27 Select the new group and type the following information: a b id: grpBP label: Blood Pressure
This group appears as Blood Pressure on the form. 28 Add an input control to the Blood Pressure group. 29 Select Input and type the following information: a b id: id_systolic label: Systolic:
This input element appears as Systolic: on the form. 30 Add another input control to the Blood Pressure group. 31 Select Input and type the following information: a b id: id_diastolic label: Diastolic:
This input element appears as Diastolic: on the form. You will now create the final group for this form. This group will be used to gather customer symptoms. 32 Add another group to the form. 33 Select the new group and type the following information: a b id: grpSymptoms label: Symptoms
Notes
A-24
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
This group appears as Symptoms on the form. 34 Add a select control to the Symptoms group. 35 Select Select1 and type the following information: a b c d id: id_runny_nose label: Runny Nose: itemLabels: true, false itemValues: true, false
36 Add another select control to the Symptoms group. 37 Select Select1 and type the following information: a b c d id: id_watery_eyes label: Watery Eyes: itemLabels: true, false itemValues: true, false
38 Add another select control to the Symptoms group. 39 Select Select1 and type the following information: a b c d id: id_itchy_skin label: Itchy Skin: itemLabels: true, false itemValues: true, false
40 Add another select control to the Symptoms group. 41 Select Select1 and type the following information: a b c id: id_muscle_ache label: Muscle Ache: itemLabels: true, false
Notes
A-25
42 To view the form, click Preview. 43 Return to the Form Designer and click OK. 44 Save your work. Note: You may have to log in as tfields to complete the save.
10 From the Functions list, select concat(string, string, ...) 11 In the Expression field, replace the first string with the following: Risk Assessment ID: 12 Replace the second string with risk_assessment_id from the Variables list. 13 Delete the comma and the ... after the second string and click OK.
Notes
A-26
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
14 Under Output Parameters, select diastolic in the Assign To column for the id_diastolic parameter. 15 Select itchy_skin in the Assign To column for the id_itchy_skin parameter. 16 Select weeks_since_last_hike in the Assign To column for the id_last_hike parameter. 17 Select muscle_ache in the Assign To column for the id_muscle_ache parameter. 18 Select runny_nose in the Assign To column for the id_runny_nose parameter. 19 Select systolic in the Assign To column for the id_systolic parameter. 20 Select watery_eyes in the Assign To column for the id_watery_eyes parameter. 21 Under Input Parameters, click the Value Expression field for the id_address parameter. 22 Click the ellipsis to open the Expression Builder. 23 From the Variables list, select address and click OK. 24 Under Input Parameters, click the Value Expression field for the id_address2 parameter. 25 Click the ellipsis to open the Expression Builder. 26 From the Functions list, select concat(string, string, ...) 27 In the Expression field, replace the first string with city from the Variables list. 28 Replace the second string with ,. 29 Add a third string by selecting state from the Variables list. 30 Add a comma after state. 31 Type as a fourth string.
Notes
A-27
Notes
A-28
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
53 From the Variables list, select phone_number and click OK. 54 Under Input Parameters, click the Value Expression field for the id_weight parameter. 55 Click the ellipsis to open the Expression Builder. 56 From the Variables list, select weight and click OK. 57 In the Activity dialog, click OK. 58 On the toolbar, click Save. 59 In the Main panel, add a connector between the Agent Form Activity node and the Stop node. 60 Add a connector between the Get Customer Information Activity node and the Agent Form Activity node. 61 On the toolbar, click Save.
10 Drag a Send Event node from the toolbar and drop it between the Start and Stop nodes.
Notes
A-29
Notes
A-30
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
Drag a Join node from the toolbar and drop it in the location indicated by your instructor. Note: To make room for these nodes, you might have to move the Stop node to the right.
5 6
Add a connector between the Agent Form Activity node and the Fork node. Connect the remaining nodes as follows: a b c d e f Connect the fork to the first Activity node along the top. Connect the fork to the second Activity node along the bottom. Connect the second Activity node to the third Activity node. Connect the first Activity node to the join. Connect the third Activity node to the join Connect the join to the Stop node.
Click Save.
Notes
A-31
10 To open the Activity dialog, click the Foot Fungus Risk node.
Notes
A-32
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
a b c d e f g h i
Click the Workitem tab. Under the Value Expression column, click the empty field for the value expression assigned to ffr. Click the ellipsis to the right of the value expression. In the Expression Builder, select FFRInfo from the Variables list. It appears in the Value Expression field. Click OK. Under the Value Expression column, click the empty field for the value expression assigned to bp. Click the ellipsis to the right of the value expression. In the Expression Builder, select BPInfo from the Variables list. It appears in the Value Expression field. Click OK.
11 Under Output Parameters, click the empty field assigned to the getFootFungusRisk parameter. 12 Select ff_risk from the Assigned To list. 13 In the Activity dialog, click the Pre tab and click Add. a b c d e a b Select FFRInfo from the Add Attribute list. Click OK. Click Add. Select BPInfo from the Add Attribute list. Click OK. In the Define Complex Type dialog, expand FFRInfo. Click the empty field for the expression assigned to age.
Notes
A-33
Notes
A-34
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
e f g h i
Click OK. Click the empty field for the expression assigned to systolic. Click the ellipsis to the right of the expression. In the Expression Builder, select systolic from the Variables list. It appears in the Expression field. Click OK.
10 In the main window, click Add. 11 In the Attribute dialog, type cc_risk in the Name field. 12 From the Type list, select string. 13 Select External and click OK. 14 Double-click the Common Cold Risk Activity.
Notes
A-35
Notes
A-36
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
36 In the Activity dialog, under Pre Processing Expressions, select BPInfo and click Define. 37 In the Define Complex Type dialog, expand BPInfo. 38 Click the button on the element: dialostic (int) line in the Expression column. 39 In the Expression Builder, select dialostic from the Variables list and click OK. 40 Click the button on the element: systolic (int) line in the Expression column. 41 In the Expression Builder, select systolic from the Variables list and click OK. 42 Click OK. 43 In the Activity Dialog, click the Workitem tab, check the Input Parameters, and click OK.
Notes
A-37
Click OK.
10 In the lower right pane, click Add. 11 In the Attribute dialog: a b c Type pi_risk in the Name field. Select string from the Type list. Select External.
12 Click OK. 13 Double-click the Poison Ivy Risk node. 14 Under the Value Expression column, click the empty field for the value expression assigned to pir. 15 Click the ellipsis to the right of the value expression. 16 In the Expression Builder, select PIRInfo from the Variables list. It appears in the Expression field. 17 Click OK. 18 Under the Value Expression column, click the empty field for the value expression assigned to bp. 19 Click the ellipsis to the right of the value expression. 20 In the Expression Builder, select BPInfo from the Variables list. It appears in the Expression field. 21 Click OK. 22 In the Output Parameters area, select pi_risk from the Assign To list. 23 In the Activity dialog, click the Pre tab and click Add. 24 Select PIRInfo from the Add Attribute dialog and click OK. 25 Click Add. 26 Select BPInfo from the Add Attribute dialog and click OK.
Notes
A-38
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
27 Select PIRInfo and click Define. 28 In the Define Complex Type dialog, expand PIRInfo. 29 Under the Expression column, click the empty field for the expression assigned to age. 30 Click the ellipsis to the right of the expression. 31 In the Expression Builder, select age from the Variables list. It appears in the Expression field. 32 Click OK. 33 Under the Expression column, click the empty field for the expression assigned to cc_risk. 34 Click the ellipsis to the right of the expression. 35 In the Expression Builder, select cc_risk from the Variables list. It appears in the Expression field. 36 Click OK. 37 Under the Expression column, click the empty field for the expression assigned to itchy_skin. 38 Click the ellipsis to the right of the expression. 39 In the Expression Builder, select itchy_skin from the Variables list. It appears in the Expression field. 40 Click OK. 41 Under the Expression column, click the empty field for the expression assigned to muscle_ache. 42 Click the ellipsis to the right of the expression. 43 In the Expression Builder, select muscle_ache from the Variables list. It appears in the Expression field. 44 Click OK.
Notes
A-39
Notes
A-40
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
4 5 6 7
Add an Activity node to the definition and place it after the Branch node. Add a Merge node to the definition and place it between the Activity node and the Stop node. Connect the Join node to the Branch node. Connect the Branch node to the Activity node and to the Merge node. Note: The connectors have assigned numbers.
8 9
Connect the Activity node to the Merge node. Connect the Merge node to the Stop node.
Notes
A-41
Double-click the connector between the Branch node and the Merge node. The Transition Properties dialog appears. On the Properties tab, type Risk Known in the Label field. Type If we do not meet the other criteria, then all risk is known, and this is the path to take in the Description field. Click OK. Click Save.
Notes
A-42
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
Add a Submit button and type the following information: a b id: cancel label: Cancel
5 6 7 8 9
From the action Value list, select cancel. Add another Submit button and type Process in the label field. Add a Group to the form. Right-click Group and then click Insert After ` Group. A new group appears on the form. Right-click the new group and then click Insert After ` Group. A new group appears on the form.
10 Select the first group and type the following information: a b id: grpCustInfo label: Customer Info
This group appears as Customer Info on the form. 11 Right-click Customer Info and click Add ` Output. An output element appears below Customer Info on the form. 12 Select Output and type the following information: a b id: outRAID label: Risk Assessment ID:
This output element appears as Risk Assessment: on the form. 13 Right-click Customer Info and then click Add ` Output. An output element appears below Risk Assessment ID: on the form. 14 Select Output and type the following information: a id: outAge
Notes
A-43
This output element appears as Age: on the form. 15 Right-click Customer Info and then click Add ` Output. An output element appears below Age: on the form. 16 Select Output and type the following information: a b id: outHeight label: Height:
This output element appears as Height: on the form. 17 Right-click Customer Info and then click Add ` Output. An output element appears below Height: on the form. 18 Select Output and type the following information: a b id: outWeight label: Weight:
This output element appears as Weight: on the form. 19 Select the group below Customer Info and type the following information: a b id: grpBPInfo label: Blood Pressure
This group appears as Blood Pressure on the form. 20 Right-click Blood Pressure and then click Add ` Output. An output element appears below Blood Pressure on the form. 21 Select Output and type the following information: a b id: outSystolic label: Systolic:
Notes
A-44
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
22 Right-click Blood Pressure and then click Add ` Output. An output element appears below Systolic: on the form. 23 Select Output and type the following information: a b id: outDiastolic label: Diastolic:
This output element appears as Diastolic: on the form. 24 Select the group below Blood Pressure and type the following information: a b id: grpSymptoms label: Symptoms
This group appears as Symptoms on the form. 25 Add five output elements to the Symptoms group. 26 Select the first output element and type the following information: a b id: outIS label: Itchy Skin:
This output element appears as Itchy Skin: on the form. 27 Select the second output element and type the following information: a b id: outRN label: Runny Nose:
This output element appears as Runny Nose: on the form. 28 Select the third output element and type the following information: a b id: outWE label: Watery Eyes:
This output element appears as Watery Eyes: on the form. 29 Select the fourth output element and type the following information:
Notes
A-45
This output element appears as Muscle Ache: on the form. 30 Select the fifth output element and type the following information: a b id: outLH label: Last Hike:
This output element appears as Last Hike: on the form. 31 Right-click Symptoms and then click Insert After ` Group. A new group appears on the form. 32 Select Group and type the following information: a b id: grpDiagnosis label: Diagnosis
This group appears as Diagnosis on the form. 33 Right-click Diagnosis and then click Add ` select1. A select1 element appears below Diagnosis on the form. 34 Add two additional select1 elements to Diagnosis. 35 Select the first select1 element and type the following information: a b c d a b id: sltCCR label: Common Cold Risk: itemLabels: High, Medium, Low itemValues: High, Medium, Low id: sltPIR label: Poison Ivy Risk:
36 Select the second select1 element and type the following information:
Notes
A-46
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
c d a b c d
itemLabels: High, Medium, Low itemValues: High, Medium, Low id: sltFFR label: Foot Fungus Risk: itemLabels: High, Medium, Low itemValues: High, Medium, Low
37 Select the third select1 element and type the following information:
38 Click Preview. 39 Close the form preview. 40 Click OK on the Form Designer. 41 Click Save.
Notes
A-47
10 From the Variables list, select age. The outAge input parameter is assigned a value expression of $age. 11 Assign the following value expressions to the remaining input parameters: a b c d e f g h i j outDiastolic: $diastolic outHeight: $height outIS: $itchy_skin outLH: $weeks_since_last_hike outMA: $muscle_ache outRAID: $risk_assessment_id outRN: $runny_nose outSystolic: $systolic outWE: $watery_eyes outWeight: $weight
12 Click the ellipsis next to the Label field. The Expression Builder appears. 13 In the Functions list box, select concat(string, string). concat(string, string) appears in the Expression field. 14 In the Expression field: a b c Type Risk Assessment ID: to replace the first string. Replace the second string with a $risk_assessment_id variable. Delete the ellipsis and the comma after the $risk_assessment_id.
15 Click OK.
Notes
A-48
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
10 Connect the Start node to the Send Event node and connect the Send Event node to the Stop node. 11 Double-click the Send Event node. The Send Event dialog appears. 12 Type Notify Manager in the Label field. 13 Click the Event tab. 14 From the Assign to Role list, select Health Care Manager. 15 From the Event list, select Send E-mail. 16 To open the Expression Builder for the Subject parameter, click the Value Expression field and then click the ellipsis.
Notes
A-49
Rename the id of the second Submit button to process. Add a group to the form. Click and drag the group and drop it before Submit on the form. Click Group and type the following information:
Notes
A-50
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
a b 8 9
Right-click Risk Assessment and click Add ` Output. An output element appears under Risk Assessment on the form. Add three more Outputs under Risk Assessment. a b id: outRAID label: Risk Assessment ID:
This output element appears as Risk Assessment ID: on the form. 11 Select the second Output and type the following information: a b id: outCCR label: Common Cold Risk:
This output element appears as Common Cold Risk: on the form. 12 Select the third Output and type the following information: a b id: outPIR label: Poison Ivy Risk:
This output element appears as Poison Ivy Risk: on the form. 13 Select the fourth Output and type the following information: a b id: outFFR label: Foot Fungus Risk:
This output element appears as Foot Fungus Risk: on the form. 14 Click Preview. The Final Risk Analysis form appears. 15 Close the preview.
Notes
A-51
10 From the Variables list, select cc_risk and click OK. 11 Under Input Parameters, click the Value Expression field for the outFFR parameter. 12 Click the ellipsis to open the Expression Builder. 13 From the Variables list, select ff_risk and click OK. 14 Under Input Parameters, click the Value Expression field for the outPIR parameter. 15 Click the ellipsis to open the Expression Builder. 16 From the Variables list, select pi_risk and click OK. 17 Under Input Parameters, click the Value Expression field for the outRAID parameter.
Notes
A-52
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
18 Click the ellipsis to open the Expression Builder. 19 From the Variables list, select risk_assessment_id and click OK. 20 At the bottom of the Workitem tab, click the ellipsis for the Label field. 21 From the Functions list, select concat(string, string, ...). 22 In the Expression field, replace the first string with the following: Risk Assessment ID: 23 Replace the second string with risk_assessment_id from the Variables list. 24 Delete the comma and the ellipsis after the second string and click OK. 25 Click the Due Date tab. 26 From the first list, select from node activation. 27 Type 5 and select minutes as the units of time. 28 Select Leave Workitem. 29 Click OK. 30 Add a connector between the Merge node and the Final Analysis Activity node. 31 Add a connector between the Final Analysis Activity node and the Stop node. 32 In the Main panel, right-click the Final Analysis Activity node and click Open Due Date Processing. 33 Delete the connector between the Start node and the Stop node. 34 Add a Send Event node between the Start node and the Stop node. 35 Add a connector between the Start node and the Send Event node. 36 Add a connector between the Send Event node and the Stop node. 37 Double-click the Send Event node. The Send Event dialog appears. 38 On the Properties tab, type Notify Manager in the Label field.
Notes
A-53
49 Click OK. 50 In the Send Event dialog, click OK. 51 Click Save. 52 Open the Main panel and examine the results.
Notes
A-54
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
Right-click and click Create Sub Activity. A Sub Activity node appears in the Main panel. Double-click the Sub Activity node. The Sub Activity dialog appears. On the Properties tab, type Calculate Risk in the Label field. Click OK. Add a connecter from the Agent Form node to the Calculate Risk node. Add a connector between the Calculate Risk Activity node and the Branch node. Right-click the plus sign on the Calculate Risk Activity node and click Open in tab. The Calculate Risk: Sub Activity panel appears. Delete the connector between the Start node and the Stop node.
10 Add a connector between the Start node and the Fork node. 11 Move the Stop node to the right of the Join node. 12 Add a connector between the Join node and the Stop node. 13 Click Save. 14 Return to the Main panel.
Notes
A-55
4 5 6 7
Click Process.
10 In the Task List, click Refresh. No activities appear in the Task List. 11 Click Logout.
Notes
A-56
Assessment and Skill Builder Solutions Skill Builder: Module 10 - Analyze and Implement a Business Process
12 Log in as snickels. The Assign Risk Activity appears in the Task List. 13 Click Perform. 14 Under Diagnosis, change Poison Ivy Risk and Foot Fungus Risk to Low. 15 Click Process. 16 Click Logout. 17 Log in as mcox. The Final Analysis Activity appears in the Task List. 18 Click Perform. 19 In the Final Risk Analysis form, click Submit. 20 Click Logout.
Notes
A-57
Notes
A-58