Chapter 19. Siebel Workflow
The Siebel Workflow framework represents the foundation of business process automation in Siebel CRM applications. This chapter is the first of two in which we will learn basic and advanced configuration techniques for Siebel Workflow. The goal of this chapter is to gain deep understanding of Siebel Workflow and to learn basic techniques which enable us to create, test, publish, and manage workflow processes in Siebel CRM applications.
The chapter is structured as follows:
Understanding Siebel Workflow
Designing and creating workflow processes
Simulating and testing workflow processes
Publishing, activating, and managing workflow processes
Invoking workflow processes
Defining runtime events
Defining decision steps
Understanding Siebel Workflow
In order to gain a thorough understanding of Siebel Workflow, we can use the Siebel Sample Database as a safe environment for exploration. In the following procedure, we will invoke a preconfigured workflow process with a click on a menu item and use Siebel Tools to investigate the object definitions behind the user interface.
The workflow process that serves as an example creates a new quote for an existing account and navigates to the Quote Line Items view to allow the end user to continue the business process by entering line items for the new quote. We must emphasize at this point that this simple workflow process is just one of hundreds of preconfigured workflow processes in Siebel CRM. The majority of Siebel CRM functionality relies on the Siebel Workflow framework in very different ways.
Following the given procedure, we can explore how a Siebel workflow process supports the business process of creating a quote for an existing customer account.
Designing and creating workflow processes
It is important to understand that a workflow process is a program. The programming language is implemented as the Siebel Tools workflow framework, which allows us to graphically define the flow of steps, the decision logic, and exception handling.
The main difference between Siebel Workflow and classic programming languages is that we do not need to write program code. In the late nineties, many graphical programming interfaces emerged and the term fourth generation language (4GL) was coined to commonly describe them.
Note
Did you know?
Siebel Tools does not allow us to write program code in the workflow process editor. When specialized behavior is needed, we must use existing business services or write our own business service methods using the Siebel scripting framework.
We will discuss Siebel scripting for business services later in this book.
As developers, we may find ourselves in the situation of being asked by the business analyst team to assist...
Simulating and testing workflow processes
Similar to classic programming, developers need a secure test environment to verify that the new workflow process definition works as expected. Siebel Tools provides us with an integrated workflow process simulator to accomplish this task.
The simulation environment uses the Siebel Developer Web Client, so it is mandatory to complete the one-time setup of the Siebel Tools debugging options. These settings are made in the Debug tab of the Tools Development Options dialog, which we can open by selecting the Options... command in the View menu of Siebel Tools.
The necessary settings in the Debug tab have already been described in Chapter 2, Developer Tasks.
The following procedure describes how to use the Siebel workflow simulator:
1. Ensure that all necessary settings have been made in the Debug tab of the Siebel Tools options dialog.
2. In the Siebel client, find or create one or more test records. For our scenario, it is necessary to have one account...
Publishing, activating, and managing workflow processes
Once a workflow process has been successfully simulated and tested, we can publish it by setting its status to Completed. Before the Siebel application can access the workflow process, we must also activate it by copying its definition to so-called runtime tables in the Siebel database.
Siebel Tools provides the functionality to accomplish these tasks. In addition, we will discuss the administrative views in the Administration - Business Process screen of the Siebel Web Client, which allow us to manage workflow processes.
Note
Did you know?
It is not necessary, or even possible, to compile Siebel Workflow processes. Because they are not part of the SRF file, it is easier and faster to deploy modified or new workflow processes without server downtime.
The following diagram illustrates the steps of publishing, activating, and deploying workflow processes:
From the preceding diagram we can learn the following:
Invoking workflow processes
Workflow process definitions are always executed by the Workflow Process Manager business service. So when the question arises as to how to invoke workflow processes, we can rely on our knowledge on how to invoke a business service method. In Chapter 17, we already pointed out the invocation techniques for business services. For convenience the following shortened list conveys the most important invocation mechanisms for workflow processes:
Workflow policies: These can be defined by an administrator in the Workflow Policies view of the Administration - Business Process screen. A workflow policy consists of a set of conditions and a set of actions, which are executed when all conditions are satisfied. Workflow policies require additional server-side configuration steps that are out of the scope of this book.
Runtime events: These and their associated action sets are a real-time mechanism to invoke business service methods, and subsequently workflow processes,...
Case study example: Defining runtime events
The following procedure describes how to define a runtime event in a workflow process. In our scenario, we will invoke the AHA Synchronize Customer Documents workflow process every time an account record is updated:
1. In Siebel Tools, navigate to the AHA Synchronize Customer Documents workflow process.
2. Click the Revise button in the WF/Task Editor toolbar to create a new editable version.
3. Right-click the new version and select Edit Workflow Process to open the editor.
4. Select the connector leading from the Start step.
5. In the Properties window for the connector, set the Name property of the connector to Default.
6. Press Ctrl+A to add a new point to the connector.
7. Drag the new point downwards so that the connector is bent.
8. Drag a second connector from the Palettes window to the Start step and ensure that it is correctly connected between the Start step and the first business service step.
Note
Using multiple connectors from the Start step...
Case study example: Decision steps and Siebel operations
The following requirement can be used to learn how to use decision steps and Siebel Operation steps in workflow processes: Each workflow process created for AHA should be enabled to create an activity record for verification purposes. The activity must be associated with the parent record and should only be created when the AHA Create Activity process property is set to TRUE.
The following procedure describes how to extend the AHA Synchronize Customer Documents workflow process with the decision logic described previously:
1. Navigate to the AHA Synchronize Customer Documents workflow process.
2. Check out or lock the workflow process if necessary.
3. In the WF/Task Editor toolbar, click the Revise button.
4. Observe that a copy of the workflow process is created automatically and that the Version property is increased.
5. Open the new workflow process version in the editor.
6. In the Multi Value Property Window create a new process property...
The Siebel Workflow framework provides a graphical editor and declarative workspace in Siebel Tools to define program flows that can be triggered by a simple business service invocation.
In this chapter, we introduced essential facts about Siebel Workflow processes, their step types, and properties along with real-life examples.
In the course of this chapter, we learned how to use predefined business services, decision steps, and Siebel operation steps to support business process requirements.
In the next chapter, we will explore advanced workflow topics such as exception handling, subprocesses and loops.