Processes

About Processes

A process is the top-level asset in a process project. It contains steps and logic; and it is the asset that is ultimately built and executed in the Process Engine and uploaded to the Process Audit Database for analysis. Processes can be started in many different ways, including using rules and services.

A process can invoke a rule, of course, but a rule can also invoke a process. Designer 8.2 and later contains new functionality to support BPMN 2.0, including new ways to represent your processes in a more visual and logical language. Activities are things that are done. Events are things that happen. Those are the first concepts you need to understand. See About Activities and About BPMN Events.

Important: There is a .config file associated with the .process file. It is recommended that you manage the process using the Solutions view, which automatically handles these two files together. See About the Solutions View.

BPMN processes can be designated as callable. A BPMN callable process has a defined input / output signature, known as a Global Process Specification, and can be called by a call activity step. Call activities can also call webMethods referenced processes. For more information, see Call Activity Concepts.

You can open older Designer processes created with Designer 8.1 and earlier with later versions of Designer. Some changes are applied to ensure compatibility with BPMN. For a reference of those changes, see Legacy Processes and BPMN.

About Process Development Modes

About this task

The Process Development perspective supports two modes of operation, the Business Analyst mode, which provides a limited amount of information and capability, and the Process Developer mode, which provides full information and capability.

When you first open the Process Development perspective, the Business Analyst mode is enabled by default. In Business Analyst mode, the Process Development perspective displays only basic properties in the Properties view, basic preferences in the Preferences window, and basic functions on the tool bar. To see advanced properties, preferences, and functions, you must select the Process Developer mode, as described in Configuring the Process Development Mode.

The Business Analyst mode provides a streamlined set of features and functions that enable the business analyst to create business process models without the distraction of the more advanced process development functionality. If you are a process developer, you will most likely want to work exclusively in Process Developer mode. You can move back and forth between the two modes at any time and as often as you want.

Throughout this documentation, the properties that appear in the Properties view in the Process Developer mode are referred to as advanced properties, and the properties displayed in the Business Analyst mode are referred to as basic properties.

Legacy Processes and BPMN

With the introduction of Software AG Designer 8.2, the Process Development perspective began a transition to BPMN 2.0 notation and behavior. If you have business process models that were created with an earlier version, you can import those processes (referred to as legacy processes) into Designer 8.2 and later. However, because of the move to BPMN 2.0, some conversion is applied to steps imported from legacy Designer processes into BPMN Designer, as described in the following table:
Legacy Designer Step Converted to BPMN Step in Designer
Empty step Abstract task

About Abstract Tasks

Error transition from a subprocess Boundary intermediate error event (non-interrupting)

About Boundary Intermediate Error Events

Error transition from any step other than a subprocess Boundary intermediate error event (interrupting)

About Boundary Intermediate Error Events

Gateway step Complex gateway

About Gateways

IS service step Service task with type set to IS Service

About Service Tasks

Join timeout transition (with timeout set) at a legacy join step Join timeout transition

This is true only for a timeout transition defined at a legacy join step. All other timeout transitions are converted into Boundary Timer events.

About Joins

Publish step Send task

About Send Tasks

Receive step - starting receive Message start event
Note: Available Protocols: Publishable Subscription, JMS
About Message Start Events

About Receive Steps

Receive step - intermediate receive (that is, it does not start a process) Receive task
Note: Available protocols: Publishable Subscription, JMS, Simple Service
About Receive Tasks

About Receive Steps

Receive step and reply step (Simple Service for synchronous reply protocol on the receive step) Receive task and send task
Note: Simple Service Protocol
About Send Tasks

About Receive Tasks

About Receive Steps

Referenced process step Call activity with type webMethods process (deprecated)

About Call Activities and About BPMN Callable Processes

Reply step Send task

About Send Tasks

Rule step Business rule task with type set to webMethods Business Rule (default)

About Rule Tasks

Subprocess step See About Subprocess Types.
Task step User task

About User Tasks

Terminate step End terminate event

About Terminate End Events

Timeout transition (with timeout set) Boundary intermediate timer event

The interrupting behavior of boundary timer events is described in About Interrupting Behavior for Boundary Intermediate Events. A boundary intermediate timer event outgoing transition label shows Execution time > xxx .

For more information, see About Boundary Intermediate Timer Events.

Transition of type Step Iterations Exceeded Labeled conditional transition with no decorator.

Label shows Iterations > xxx .

Transition of type Unsatisfied Join Labeled conditional transition with no decorator.

Label shows Unsatisfied Join.

Web service step Service task with type set to Web Service

About Service Tasks

About BPMN Process Steps

With the introduction of Software AG Designer 8.2 and later versions, the Process Development perspective includes a number of step types that support the BPMN model.
The following table describes the BPMN Designer steps.
BPMN Designer Step Description
None Event (Start, Intermediate Throw, End)

See:

Signal Event (Start, Intermediate -- Throw or Catch, Boundary Interrupting and Boundary Non-Interrupting, End)

See:

Error Event (Intermediate Boundary Interrupting and Non-Interrupting, End)

See:

Message Event (Intermediate, Boundary Interrupting and Non-Interrupting, End)

See:

Note: The Message Intermediate Event has input and output transitions. This is the distinction between it and our former notion of Intermediate Receive. Intermediate Receives with no input transition migrate to Receive Tasks.
Manual Task About Manual Tasks
Gateway -- Inclusive, Exclusive, Parallel About Gateways
Subprocess See About Subprocess Types

Creating a Process

About this task

To create a process

Procedure

  1. In Designer: File > New > Process icon Process.
  2. In the New Process window, type the Process Name.
  3. Select the Process Project from the list OR click New to create a new process project for your new process.
    • If you create a new process project, Designer displays the New Process Project window. Type a Project name and select the workspace in which to save it. For more about creating process projects, see Creating Process Projects.
      Note: Process names can contain spaces, but if they contain spaces at the end of the name, Eclipse will warn you that the name is invalid. Although Designer does not enforce this restriction, it is a good practice to avoid trailing spaces in process names.
      Important: Do not name your process using the prefix wm, whether in lowercase, uppercase, or a combination thereof. Integration Server names its system packages using those letters as the prefix, and using the same prefix in process names could cause problems later.
  4. Click Finish.
    Tip: You can also create new processes in the Solutions view. See Creating Processes in the Solutions View.

Configuring a Process

About this task

Each process has a number of basic and advanced properties that you can configure, in addition to the properties you can set for steps, transition lines, pools, swimlanes, and other process components.

Note: You must be working in Process Developer mode to view and work with advanced properties. To learn more, see About Process Development Modes.

To configure a process

Procedure

  1. In the Process Development perspective, locate the process you want to work with in the Solutions view and double click to open it in the process editor.
  2. Click the process editor canvas to select the open process.
  3. In the Properties view, do one or both of the following:
  4. Save the process.

Updating Process Model Versions

In Software AG Designer, you can modify an existing process model and create a new version of the model. You can then build and upload the new version, and then enable it for use. In doing so, you can update any or all of the currently running instances of that model so that they start using the newer version. For more information, see these topics:

  • Working with Process Versions.
  • “Updating a Process Instance to a New Model Version” in the PDF publication webMethods Monitor User’s Guide.
  • “Enabling and Disabling Process Model Versions” in the PDF publication webMethods Monitor User’s Guide.

Troubleshooting a Process

When you develop a new process model, there may be times when the process does not execute as expected, and you want to find out why. Similarly, an existing process model may suddenly begin to behave in an unexpected manner, and you want to know why. The Process Engine provides you with the ability to gather troubleshooting information in the following ways:

  • You can collect a package of comprehensive process information for troubleshooting purposes. For more information, see the chapter “Collecting Process Troubleshooting Information” in the PDF publication Administering webMethods Process Engine.
  • You can collect logging information, as described in Process Logging Behavior.

You can use this information for your own troubleshooting efforts, and you may be asked to provide either or both of the above to Software AG Global Support if you have opened a support issue.

In addition, you can take advantage of other means of examining process instance runtime results in webMethods Monitor. With proper logging settings, you can examine the process instance pipeline, modify the pipeline, and resubmit a process instance. The Process Details page provides a great deal of information about the process instance, including a graphical representation of the process annotated with step statuses. For more information, see the “Process Monitoring” chapter of the PDF publication webMethods Monitor User’s Guide.

Basic Process Properties

The following table describes the basic process properties.
Properties Page Property Description
General Process Name

The name of the process model.

Important: If you change a process-wide property, such as renaming a process or a package, Designer prompts you to regenerate the process.
  Process ID

A system-generated process identifier. Not editable.

The Process ID consists of the process project name, any intermediate folders, and the process name, each separated by a slash ( / ), if all characters are simple ASCII characters. If any non-ASCII characters are used, Designer uses an encoding scheme to render all characters in the Process ID in ASCII.

  Version The current version of the process. The initial process version is 1. See Working with Process Versions.
  Created By The user name of the creator of the process. Not editable.
  Description Your descriptive information about the process, for documentation purposes only. Text in process descriptions is searchable.
Documentation Documentation Fields Local and default documentation fields to document in the process. Documentation fields are searchable. See About Process Documentation.
  Documentation Field Value Value for the assigned Documentation Field.
KPIs KPIs for <Process Name> Step-level KPI (Key Performance Indicator) definitions. For more information about the fields on this page and how to work with them, see About KPIs.
  KPI Properties Information used to describe a KPI: Name, Description, Unit of Measure, Associated Field, Aggregation Type, and Dimensions.

See About Step-Level KPIs.

  Name Name of the KPI.
Note: KPI names must be unique on a given Optimize server. Designer cannot, at design time, detect all the KPI names on the target server. However, if you duplicate a KPI name in a process, generation of the process produces a warning.
  Description Description of the KPI.
  Unit of Measure How the KPI is measured.
  Associated Field Associate the KPI with actual fields in the process. Only fields that are available in the output of the step can be used.
Note: When you associate an output field with a KPI or a dimension, Designer automatically adds the field to the Logged Fields page in the Properties view. Designer does not, however, automatically remove an output field from the Logged Fields page in the Properties view if you remove it from a KPI or dimension.
  Aggregation Type Aggregation type can be set to SUM, AVERAGE, or LAST VALUE
  Dimensions

Use this area to add, delete, and manage data dimensions for a selected KPI. You can associate a field from the step output with one or more dimensions.

Note: Dimension names must be unique on a given Optimize server. Designer cannot, at design time, detect all the dimension names on the target server. However, if you duplicate a dimension label in a process, generation of the process produces a warning.

For more information, see About KPIs.

Stages Stages A list of the stages created within this process model. For more information, see Working with Stages.
  Add Stage Click to add a stage.
  Delete Stage Click to delete a selected stage.
  Stage Details Configuration information about the selected stage.
  Name Name of the stage (read-only).
  Description Description (optional) of the stage.
  Start Milestone Selected start milestone for the stage.
  End Milestone Selected end milestone for the stage.
  Condition Specified condition to define a stage breach.
  Stop Tracking On Breach Stops stage processing for all remaining stages in the process instance when a stage breach occurs in this stage, and only one stage breached EDA (deprecated) event is emitted. Remaining stages are not tracked and will be shown as Incomplete in Monitor. The check box is cleared by default.
ARIS Model (for ARIS processes only) ARIS Download Client Open the model in ARIS.
  ARIS Process Documentation View documentation of the ARIS process.
  ARIS Connect Open the model in ARIS Connect.

Advanced Process Properties

The following table describes the advanced process properties.
Properties Page Property Description
Error Error Handler Task The task step that the Process Engine executes when an error occurs during the execution of a process instance. Also known as a process-wide error step.
  • If a step with a boundary intermediate error event fails, the transition for that event is taken in response to the failure.
  • If a step with no boundary intermediate error event fails, the process executes the logic defined in the error handler task.
  • If a step with no boundary intermediate error event fails and there is no designated error handler task, the process fails.
Cancel Cancel Handler Task The task step that the Process Engine executes, along with any downstream transitions, when its status is changed to Cancel by webMethods Monitor or a service invocation. Also known as a process-wide cancel step.
Note: Designer supports debugging the Cancel Handler Task. When using the Trace view in the Process Debugging perspective, you can manually force the cancellation of a process. See About the Trace View.
Timeout Timeout Handler Task

The task step that the Process Engine executes when the Maximum Process Execution Time is reached.

Note: Designer supports debugging the Timeout Handler Task. When using the Trace view in the Process Debugging perspective, you can manually force a process-wide timeout. See About the Trace View.
  Maximum Process Execution Time

Defines the maximum length of time a process can execute. The Timeout Handler Task step executes when this setting is reached. If no timeout handler task is defined, the process instance fails. Also known as a process-wide timeout.

The source of this value can be:

  • A static value that you define.
  • A value based on a business calendar in My webMethods Server. You can specify the number of days, hours, and minutes.

For more information, see Defining a Process Timeout.

Run Time Generated Package Name By default, the name of the generated Integration Server package is set to the name of the project. You can edit the package name. Only ASCII characters are allowed.
Important: If you change a process-wide property, such as renaming a process or a package, Designer prompts you to regenerate the process.
  Quality of Service

This section provides settings that affect process run-time behavior. For complete information about working with these fields, see Setting Quality of Service for a Process.

  • Optimize Locally: Execute adjacent steps on the same Integration Server without publishing transition documents. Enabled by default.
  • Express Pipeline: Send a reduced data set between the steps in a process. Enabled by default. Can significantly improve performance with large pipelines (1 MB or more).
  • Volatile Transition Documents:

    Send process transition documents in volatile mode. Enabled by default.

    • Select Volatile Transition Documentsto specify that Universal Messaging or Broker (deprecated) stores process transition documents and referenced process start documents in the specified message provider RAM.
    • Clear this check box to specify that Universal Messaging or Broker (deprecated) stores process transition documents and referenced process start documents on the local hard disk drive.
   
  • Volatile Tracking: Store process tracking information in memory only. Disabled by default.
    Note: If the Process Engine is running in a clustered environment, volatile tracking cannot be used, and this setting is ignored.
    • Select Volatile Tracking to specify that the Process Engine stores process status in RAM.
    • Clear this check box to specify that the Process Engine stores process status in the Process Engine database component.
  • Minimum Logging Level: Specifies the minimum audit logging threshold that can be set for this process in Monitor (that is, during run time). The default is 5 - Process and all events, activities, and looped activities. Available values are:
    • 1 - None
    • 2 - Errors only
    • 3 - Process only
    • 4 - Process and start events
    • 5 - Process and all events, activities, and looped activities (default)

      For more information, see “About Process Model Data Logging” in the PDF publication webMethods Monitor User’s Guide.

  Runtime Editable Properties
Note: All settings in this section can also be modified in Monitor. When you build and upload the process, the settings you define here will replace the existing run-time settings in the Process Audit database.
  • Steps Enabled for Resubmission
  Deprecated properties

Enable deprecated error handling behavior (not recommended): This option is not recommended except in very isolated cases. For more information, see About Step Failure Behavior.

  RosettaNet
  • Synchronous: Select this setting to generate an internal process flag called “synch” with a value of true. The Process Engine then passes this value to the RosettaNet Conversation Manager private data structure used to communicate with RosettaNet. Not selected by default.
Global Process Specification  

Use this page to define the inputs and outputs for a callable process. A global process specification, along with a start none event, is used when a callable process is invoked by a call activity step.

The input specification for a callable process determines the data that flows into the start none event in the callable process when it is triggered by a call activity. The output specification for a callable process determines the data that flows out of the callable process and back to the call activity that triggered it. The entire pipeline is automatically sent back to the call activity.

Adding, editing, and removing inputs and outputs for a global process is done the same way as it is for steps. Refer to Create Inputs and Outputs and Remove Inputs and Outputs.

For more information, see Defining a Global Process Specification.

Default Deployment Values Process will be execution-enabled by default during deployment by Deployer

Select this check box to automatically enable the process for execution when deployed by Deployer.

  Process will be analysis-enabled by default during deployment by Deployer Select this check box to automatically enable the process for tracking and analysis when deployed by Deployer.
Note: This feature is associated with webMethods Optimize for Process. Analysis-enabled processes can be tracked by Business Activity Monitoring by the Optimize Analytics engine. For more information, refer to webMethods Optimize User’s Guide.

About Synchronizing Process Runtime Settings with webMethods Monitor

You can create, modify, and delete stage, EDA (deprecated) event, and step enablement runtime settings in two locations:

  • In Software AG Designer, on the Stages page in the Property view, and on the Runtime page in the Property view.
  • In webMethods Monitor, as part of the Business Process administration functionality. For more information, see the chapter “Working with Process Models” in the PDF publication, webMethods Monitor User’s Guide.

In both cases, any changes to these runtime settings in a process model can be saved to the Process Audit database. The saved changes overwrite whatever previous setting information was present in the database. As a best practice, you should ensure that your runtime settings are always synchronized between the two locations.

For Designer, the following conditions apply:

  • When you open a process in Designer, it retrieves the runtime settings saved with the model in the local workspace.
  • When you click the Synchronize button on the Stages page in the Property view, or in the Runtime Editable Properties section of the Runtime page in the Property view, Designer retrieves the runtime settings from the database and applies them to the process model. Saving the process model saves the settings to the local workspace.
  • When you build and upload a process in Designer, the runtime settings in the model are written to the Process Audit database, overwriting whatever settings are stored there and applying those changes to the runtime environment. In addition, a warning message is recorded in the build and upload report.

Therefore:

  • If you want your process model in Designer to display the current database runtime stage settings, you must click the Synchronize button on the Stages page of the Property view. For more information, see Synchronizing Stage Settings.
  • If you want your process model in Designer to display the current runtime EDA (deprecated) event emission and step submission enablement values, you must click the Synchronize button on the Runtime Editable Properties section of the Runtime page in the Property view. For more information, see Enabling and Disabling Predefined EDA Event Emission for a Process Model.
  • If you want your process model runtime settings in Designer to be written to the database, click Build and Upload icon to build and upload the process model. This overwrites whatever settings are stored in the database, and the setting are applied to the runtime environment.

To help ensure that you are working with the latest settings, you are advised to click the appropriate Synchronize button immediately before you modify and save these settings.

Important: Deleting a step that is contained in a process stage without first synchronizing the stage settings with the database can lead to the process being out of sync with edits performed in Monitor, resulting in unexpected behavior. Always click the stage settings Synchronize button immediately before you delete any steps in Designer that are contained in a stage.

Printing a Process

About this task

To print a process

Procedure

  1. Click the process editor's canvas to select a process.
  2. Click File > Page Setup.
  3. In the Page Setup window, configure the following:
    • In the Orientation section, select Portrait or Landscape. The default is Landscape.
    • In the Scaling section, select Adjust to: and then select a zoom percentage or select Fit to page(s): and select the number of pages across which to print the process. The default is Fit to page(s): 1 across.
    • In the Margin (inches) section, set the Left, Right, Top, and Bottom margins. The defaults for each of these is 0.0.
  4. Click OK to save your settings.
  5. If you want to preview your process before printing, select File > Preview.
  6. Click File > Print.

Saving a Process Image

About this task

To save a process image

Procedure

  1. Click the process editor's canvas to select a process.
  2. Click File > Save as Image.
  3. In the Save Canvas as Image window, navigate to the location where you want to save the image file, and type a File name, including the extension.

    Valid extensions are SVG, JPG, JPEG, and PNG.

  4. Click OK to save the image file.
  5. An image of the process is also saved when you generate an HTML Documentation Report.

Copying a Process

About this task

You can copy an open process and save it with a new process name. The source process retains its mapping services, while the new target process has no mappings.

Important: The Save As menu option creates a copy of the process only. It does not create a copy of all the underlying (and generated) services.

To copy a process and save it with a new name

Procedure

  1. Click the process editor's canvas to select a process.
  2. Click File > Save As
  3. In the Save As window, do the following:
    1. Enter or select the process project in which to save the process. The process project must exist; you cannot create a new process project in this window.
    2. Enter the file name (.process name) of the new process. The field is pre-populated with the file name of the source process.
  4. Click OK to save the process file.

Using E-forms in a Process

About this task

Designer supports the use of Microsoft InfoPath and Adobe LiveCycle e-forms in processes. Both receive tasks that start processes and those that do not start processes can use e-forms. Message and signal start events can use e-forms to start processes. Message and signal intermediate events -- boundary and top-level -- can also use e-forms.

Important: User tasks can also use e-forms. E-form support in a user task must be added in the task editor, even if the process is e-form driven. For information about e-form support to a task, see "Adding E-form Support to a Task" in webMethods BPM Task Development Help. For more information about using e-forms, see the PDF publication Implementing E-form Support for BPM.

E-forms are created from templates; those templates contain information required by the process using the e-form. When an e-form is used in a process, it is an instance of that e-form. E-form templates and e-form instances both need to be accessible to the process, and it is important that each has a separate location.

To use an e-form in a process

In Designer, do one of the following:

  • Drag and drop an existing e-form sourced IS document from the Package Navigator view onto the process editor to create a message start event pre-configured to use an e-form. The E-form (For E-form Triggered Processes) check box is automatically selected, and the E-form Template Name field is automatically populated. You must select the E-form Content Repository location.

    OR

  • Drag and drop an existing e-form sourced IS document from the Package Navigator view onto an existing receive task, message / signal start event, or message / signal intermediate event (including boundary events) to configure it to use an e-form. The E-form (For E-form Triggered Processes) check box is automatically selected, and the E-form Template Name field is automatically populated. You must select the E-form Content Repository location.

    OR

  • Manually configure an existing receive task, message / signal start event, or message / signal intermediate event (including boundary events) to configure it to use an e-form. You must select the E-form (For E-form Triggered Processes) check box. The E-form Template Name field is automatically populated when you select an e-form sourced IS document as the step's Receive Document. You must select the E-form Content Repository location.

Configuring E-forms in a Process

About this task

To manually configure an e-form

Procedure

  1. On the Implementation page in the Properties view of a receive task, message / signal start event, or message / signal intermediate event (including boundary events): click Browse to select an e-form sourced IS document as the step's Receive Document or New to create a new e-form sourced IS document and select it as the step's Receive Document.
    Important: You must use Browse or New to select the e-form sourced IS document as the step's Receive Document. If you type the Receive Document name, the e-form fields are not enabled.
    Important: Incoming e-form instances must have the correct file name extension (for example, .xml for InfoPath forms, .xdp for LiveCycle forms). Otherwise, they will not trigger the receive task or start / catching message or signal event.
  2. Select the E-form (For E-form Triggered Processes) check box to enable e-form support in the step.
  3. Select the E-form Content Repository location. See Selecting an E-form Content Repository.

Selecting an E-form Content Repository

About this task

To select an E-form Content Repository

  • On the Implementation page in the Properties view of a receive task or message start event, click Browse... to select a configured content repository as the e-form's E-form Content Repository.

Software AG Designer's e-form solution works with My webMethods Server as the e-form content repository, through the JSR-170 interface.

For more information about e-form content repositories, see the PDF publication Implementing E-form Support for BPM.