Zenflow User's Guide

Table of Contents

 

Chapter 1.             Introduction 1

1.1   Working With BPEL Files 1

1.1.1      Creating a New BPEL File. 1

1.1.2      Importing an Existing BPEL File Into a Project 1

1.2   Linking WSDL Files and WSDL Cache. 2

Chapter 2.             Menus 3

2.1   Main Menu. 3

2.2   Context Menu. 5

Chapter 3.             Toolbars 7

Chapter 4.             Windows 9

4.1   Graphic Window.. 9

4.2   Tree Window.. 11

4.3   Source Code Window.. 13

4.4   Problems Window.. 14

4.5   Properties Window.. 15

4.6   Outline Window.. 16

Chapter 5.             Dialogs 17

5.1   New BPEL File Wizard Dialog. 17

5.2   WSDL Dialog. 19

5.3   Correlations Dialog. 22

5.4   Partner Links Dialog. 23

5.5   Variables Dialog. 24

5.6   Preferences Dialog. 26

Chapter 6.             Common Operations 27

6.1   Expand/Collapse Activities 27

6.2   Delete Activities 28

6.3   Inserting Activities 28

6.4   Moving Activities 29

6.5   Adding A Parent Activity. 30


Chapter 7.             BPEL Activities 31

7.1   BPEL/XML Comments 31

7.2   Invoke Activity. 33

7.3   Links   34

7.4   Java Snippet Activity. 36

Chapter 8.             Interoperation with NovaStudio 39

 

List of Figures

 

Figure 2‑1.    Zenflow Main Menu. 3

Figure 2‑2.    Example Context Menu. 5

Figure 3‑1.    Zenflow Toolbar 7

Figure 4‑1.    Zenflow Graphic Window.. 9

Figure 4‑2.    Zenflow Tree Window.. 11

Figure 4‑3.    Zenflow Source Code Window.. 13

Figure 4‑4.    Zenflow Problems Window.. 14

Figure 4‑5.    Eclipse Properties Window for Displaying Zenflow Activity Information. 15

Figure 4‑6.    Zenflow Outline Window.. 16

Figure 5‑1.    New BPEL File Wizard Dialog. 17

Figure 5‑2.    Zenflow WSDL File Information Dialog. 19

Figure 5‑3.    WSDL Import Complete Dialog. 20

Figure 5‑4.    Zenflow Correlation Sets Dialog. 22

Figure 5‑5.    Zenflow Partner Links Definition Dialog. 23

Figure 5‑6.    Zenflow Variables Definition Dialog. 24

Figure 5‑7.    Zenflow Preferences Dialog. 26

Figure 6‑1.    Graphic Display of an Expanded Complex Activity. 27

Figure 6‑2.    Graphic Display of Collapsed Complex Activity. 27

Figure 6‑3.    Example of Node “Breaking Away” During a Moving Activity. 29

Figure 7‑1.    Properties Window with a ”Description” Property for the Activity Type. 31

Figure 7‑2.    Code View of “Description” Property. 32

Figure 7‑3.    Invoke Activity Redrawn as a Complex Activity. 33

Figure 7‑4.    Link Showing Interdependency between Parallel Paths of Execution. 34

Figure 7‑5.    Confirmation Box for Linking Activities 35

Figure 7‑6.    Display of Code within a “JavaSnippet”. 36

Figure 7‑7.    Save BPELJ Snippet Confirmation Dialog. 37

Figure 8‑1.    NovaStudio Services View With Zenflow.. 39

 

 


Preface

This guide describes the overall features of Zenflow. The information in this document applies to the Eclipse plug-in version of Zenflow.



Chapter 1.      Introduction

 

Zenflow is a tool that assists designers in the creation of BPEL files. It offers several ways to create and edit BPEL files, while enforcing correct BPEL syntax. Additionally, it provides some assistance in filling in various elements and attributes based on the current context and definitions.

Zenflow currently does not support the generation of WSDL files. These files must be provided as input to the program.

 

1.1                       Working With BPEL Files

Zenflow uses the Eclipse project model. An Eclipse project must exist before a new BPEL file can be created or imported.

1.1.1                         Creating a New BPEL File

1.        Right click on the desired project and select "New Other Zenflow BPEL file".

2.        Select the "next" button, which will display the BPEL wizard.

3.        Fill in the properties of the BPEL file as described in BPEL New File Wizard.

1.1.2                         Importing an Existing BPEL File Into a Project

1.        Right click on the desired project folder in the package explorer view and select the "Import" menu item.

2.        Select to import from the "File System", and browse to the folder containing the BPEL file.

3.        Expand this directory in the "File System Import" dialog and select the check box next to the desired BPEL file.

Note:

DO NOT import the WSDL file using this dialog.

 

 

1.2                       Linking WSDL Files and WSDL Cache

The Zenflow editor requires access to two types of WSDL files. The first is the WSDL file that represents the BPEL process itself. The second is the WSDL files for any web service that the BPEL process will invoke. Collectively, these WSDL files define the message types, data types, partners, etc. that can be references in the BPEL process. These WSDL files must be linked into Zenflow using the "Link WSDL Files" menu described below.

As WSDL files are linked into Zenflow, a cache associating namespaces and the WSDL files that contribute to that namespace is maintained. This cache is used any time a BPEL file is opened. If the BPEL file references any namespace contained in the cache, then the corresponding WSDL files are automatically linked for that Process. This prevents having to relink the WSDL files each time Zenflow is started.

The WSDL cache is maintained in a directory named ".workdirectory" immediately under the Eclipse workspace location. Thus the cache is shared between all projects in the workspace, and if the workspace is cleared or changed, then a new cache is created.


Chapter 2.      Menus

 

There are two types of menus used in Zenflow: the main menu and context menus. These menus are described below.

2.1                       Main Menu

When a BPEL file is opened, the Zenflow menu is added to the main Eclipse toolbar. The following figure is an example of the main menu.

 

Figure 21.    Zenflow Main Menu

 

This menu has the following elements:

Link WSDL Files

This menu displays the WSDL Dialog. This is used to make the information defined in external WSDL files available inside the Zenflow editor.

Variables

This menu displays the Variables dialog. When the dialog is opened with this menu, then the global variables for the process are displayed.

Partner links

This menu displays the Partner Links dialog. This is used to define partner links that will be available to the BPEL process.


Correlations Sets

This menu displays the Correlations Sets dialog. This is used to define the correlations sets available to the BPEL process.

Insert

This brings up a popup menu that allows for the insertion of a new activity. See Inserting Activities for more information.

Move backward/Move forward

These menus allows for the movement of the selected activity within the process. See Moving Activities for more information.

Restore positions

The menu causes the graph view to be redrawn with default locations for all elements.

 


2.2                       Context Menu

Right clicking on a selected activity in the graphic or scheme window will display a context menu. The following figure is an example context menu.

 

Figure 22.    Example Context Menu

 

This popup menu is primarily used for inserting new activities into existing complex activities. The contents of the "Insert" menu is customized based on the selected activity. See Inserting Activities for more information about inserting activities.

If a right click occurs on the "background" of the graphic or scheme window, then the context menu is customized to allow inserting process-level event, fault, and compensation handlers.

 

 


Chapter 3.      Toolbars

The Zenflow toolbar shown below will appear just below the main Eclipse toolbar.

 

Figure 31.    Zenflow Toolbar

 

Each toolbar icon has an associated tooltip that will provide a brief description of its function.

The first three toolbar icons correspond to the last three menu items described in
Section 2.1. The remainder of the toolbar icons allow for inserting a specific type of activity into the BPEL process. These icons are enabled and disabled based on the activities that are valid to insert based on the currently selected activity.

See the Inserting Activities for more information.

 

 


Chapter 4.      Windows

 

4.1                       Graphic Window

The graphic window is the main work area of Zenflow. This window is initially opened by double clicking on a BPEL file in the package explorer window. The graphic window uses the "Process" tab at the bottom of the main edit area. The following figure is an example of the graphic window.

Figure 41.    Zenflow Graphic Window

The graphic window displays the process as an ordered left-to-right sequence of graphic elements that correspond to the BPEL activities. The graph depicts the logical flow of the process moving from left to right. Multiple paths are displayed to represent parallel paths of execution or decision points in the process.


Scroll Bars

Scroll bars are displayed if the graph is too large for the display area. These can be used to bring the desired part of the graph into view.

Expand/Collapse of Complex Activities

The graphic image of each complex activity is followed by a "+" or "-" icon. This icon allows complex activities to be expanded or collapsed. An expanded complex activity displays all of its immediate child activities. A collapsed complex activity does not display any of its internal child elements. The activity can be expanded or collapsed by clicking on the "+" or "-" icon. This feature can assist in navigation of large graphs, and is also useful when moving activities.

Selecting Activities

Clicking on the graphic image for an activity "selects" it. A selected activity will have a thin border displayed around its graphic image. When an activity is selected, the properties for that activity are displayed in the properties window. Additionally, if a complex activity is selected, then the toolbar icons for activities’ types that can be inserted into the selected activity are enabled.

Context Menu

Right clicking on a selected activity will display a popup context menu. See Context menu and Inserting Activities for more details.

Context Menu for Process

Right clicking on the background of the graphic window will display the process level context menu. See Context menu and Inserting Activities for more details.

 


4.2                       Tree Window

To open the tree window, select the "Scheme" tab at the bottom of the main work area. The following figure is an example of the tree window.

 

Figure 42.    Zenflow Tree Window

 

The tree window displays the process as a top-down tree that corresponds to the BPEL activities. The tree depicts the parent/child relationships of the activities of the BPEL process.

Scroll Bars

Scroll bars are displayed if the tree is too large for the display area. These can be used to bring the desired part of the tree into view.


Expand/Collapse of complex activities

The tree image of each complex activity is preceded by a "+" or "-" icon. This icon allows complex activities to be expanded or collapsed. An expanded complex activity displays all of its immediate child activities. A collapsed complex activity does not display any of its internal child elements. The activity can be expanded or collapsed by clicking on the "+" or "-" icon. This feature can assist in navigation of large trees.

Selecting activities

Clicking on the tree image for an activity "selects" it. A selected activity is highlighted. Note that Zenflow treats some types of complex activities, such as "Assign" activities, as single entities. In this case, selecting any activity within the logical group will highlight the entire group.  When an activity is selected, the properties for that activity are displayed in the properties window. Additionally, if a complex activity is selected, then the toolbar icons for activities’ types that can be inserted into the selected activity are enabled.

Context Menu

Right clicking on a selected activity will display a popup context menu. See Context menu and Inserting Activities for more details.

Context Menu for Process

Right clicking on the background of the tree window will display the process-level context menu. See Context menu and Inserting Activities for more details.


4.3                       Source Code Window

To open the source code window, select the "Sourcecode" tab at the bottom of the main work area. The following figure is an example of source code window.

 

Figure 43.    Zenflow Source Code Window

 

The source code window displays that actual BPEL source code for the process.

Scroll Bars

Scroll bars are displayed if the tree is too large for the display area. These can be used to bring the desired part of the tree into view.

Direct edit

This window allows for direct editing of the BPEL xml file. Care should be used to ensure that only valid syntax is entered. If new activities are added or attributes are changed in this window, then the changes are reflected in the graphic and tree views.

Copy/Paste

This window allows direct cut/copy/paste of statements between BPEL processes, or within the same BPEL process. This is sometimes the easiest way to "clone" an existing process or a sequence of statements into another process.

 

4.4                       Problems Window

Zenflow uses the standard Eclipse "Problems" window to inform the user of inconsistencies as the BPEL process is being edited. The following figure is an example of the Problems window.

 

Figure 44.    Zenflow Problems Window

 

Selecting a row in the problem window will select the associated activity in the graphic and scheme views.

 


4.5                       Properties Window

Zenflow uses the standard Eclipse properties window to display information about the currently selected activity. The following is an example of the Properties window.

Figure 45.    Eclipse Properties Window for Displaying Zenflow Activity Information

 

The "Properties" window displays the properties and is also used to modify properties. To edit a property, click it in the property window. This will cause the row to be highlighted. For editing purposes, a property falls into one of the following categories:

·           Read Only - This type of property cannot be modified. The "Type" and "Complexity" properties are examples of read only properties.

·           Text Input - This type of property allows direct text input for the field. After the property row is selected, the "value" field is changed to a text box allowing direct user input. The "Name" property is an example of this.

·           Combo Box Selection - This type of property provides a selection of possible values based on context. After the property row is selected, the "value" field is changed to a combo box that is populated with potential values based on the current context. "Partner", "PortType", and "Operation" are examples of this type of property.

·           Custom Editor - This type of property provides a separate editor dialog for the property. ``After the property row is selected, the  icon appears at the end of the row. Pressing this icon will display the custom editor dialog for the property. The "Assign Definition" property is an example of this.

There are some properties that are common to all activity types, and some that are specific to a specific activity type.

 


4.6                       Outline Window

The outline window shows a tree representation of the current BPEL process. The following figure is an example of the Outline window.

 

Figure 46.    Zenflow Outline Window

 

The outline provides a quick navigational aide for the process. Complex activity nodes can be expanded or contracted as desired to simplify the view. This is done by clicking on the "+" or "-" icon at the left of each complex node. If an activity is selected in the outline view by left clicking on it, then the corresponding activity in the graphic and tree views is also selected, scrolling it into the view if necessary.


Chapter 5.      Dialogs

 

This section describes the various dialogs that are used by Zenflow.

 

5.1                       New BPEL File Wizard Dialog

The BPEL new file wizard dialog is displayed when a new BPEL file is created. To access this dialog, right click on the project in the project explorer and select "New Other Zenflow BPEL file". The following figure is an example of the BPEL File wizard dialog.

 

Figure 51.    New BPEL File Wizard Dialog

 


This dialog contains the following fields:

Location

This identifies the project in which the new BPEL file will be created.

File Name

This is the name that will be given to the new BPEL file.

 

BPEL Version

This allows a BPEL 1.1 or 2.0 syntax BPEL file to be defined.

Process Name

This is the name of the BPEL process. This is used as the value of the "name" attribute of the process element of the BPEL process.

Target Namespace

This is the target namespace for the BPEL process. This is used as the value for the "targetNamespace" attribute of the process element of the BPEL process.

 

Enable BPELJ

This option must be checked if BPELJ is to be used in the process.  See Section 0 for information about BPELJ java code snippet activities.

 

BPELJ Package

This field is only enabled if the “Enable BPELJ” option is selected. This is the package name that should be given to the java snippets. If no name is specified, then a default will be used.

 


5.2                       WSDL Dialog

The WSDL dialog allows linking of WSDL files to BPEL processes. Use the main menu "Zenflow Link WSDL files..." to access this dialog.

The following figure is an example of the WDL File information dialog.

 

Figure 52.    Zenflow WSDL File Information Dialog

 

When a WSDL file is linked using this dialog, that WSDL and all WSDL files it imports are read and parsed for type information that is then made available to the BPEL editor. The following buttons are used in this dialog:

Add Local WSDL file

Press this button to add a WSDL file that is accessible in the file system of the local computer. The standard file browser is opened, allowing the user to navigate and select the desired WSDL file.

Remove WSDL file

This button is enabled when a WSDL file in the list is selected. Pressing this button will remove the definitions contained in that WSDL file from the Zenflow editor.


Add Remote WSDL file

This button can be used to add a WSDL file that is accessible by a HTTP URL. Enter the URL in the text box and press the "Add Remote WSDL file" button.

OK

This button closes the dialog and makes all changes available to Zenflow.

Cancel

This button closes the dialog and ignores any changes that have been made. Thus, if new WSDL files were added or deleted and the dialog is closed with the cancel button, then those additions and deletions have no effect.

This dialog is resizable by click/dragging any corner or side.

WSDL Import Complete Dialog

The following dialog is used to display information following the import of a WSDL file:

Figure 53.    WSDL Import Complete Dialog

 

This dialog is displayed in the following cases:

·           After either “Add Local” or “Add Remote” WSDL file buttons in the WSDL dialog are pressed.

·           After dragging a WSDL file from the NovaStudio Service view and dropping onto the Zenflow editor (See section 8.1).


The WSDL Import Complete dialog displays three types of information:

·           WSDL file imported

The URL for the WSDL file that was just imported is displayed.

·           Unreferenced PortTypes

Any PortType that is not referenced by an existing PartnerLinkType is displayed. This list is not specific to the file just imported. The services accessed by the PortTypes listed here will NOT be available in any Zenflow dialog.

In order to make the services accessed by these PortTypes to be available to Zenflow, a corresponding PartnerLinkType definition must be created in a WSDL file that is imported into Zenflow.

·           Unreferenced PartnerLinkTypes

Any PartnerLinkType that is not referenced by an existing PartnerLink is displayed. This list is not specific to the file just imported. In order to access services identified by these PartnerLinkTypes, the main menu item Zenflow -> Partner Links… must be used, as described in Section 5.4.

 


5.3                       Correlations Dialog

The correlations dialog is used to manage the correlations that can be used by the process. This dialog is accessed using the main menu "Zenflow Correlations Sets". The following figure is an example of the Correlation Sets dialog.

 

Figure 54.    Zenflow Correlation Sets Dialog

 

The dialog allows for adding, removing, and modifying the correlation sets using the following buttons:

Add

Enter a new name and property in the text boxes and press the add button to define a new correlation set. If one already exists with the name specified, a message box is displayed asking if the existing entry is to be replaced.

Remove Selected

Correlations in the list can be selected by clicking on them or a group selected by ctrl-clicking on each desired row. Then clicking on the "Remove Selected" button will delete the selected correlations.

OK

Closing the dialog by clicking on the OK button cause all additions/deletions to be accepted.

Cancel

Closing the dialog by clicking on the Close button cause all additions/deletions to be ignored.

To easily edit a property value of an existing correlation set, select it in the list. This populates the text controls with the name and property. These values can then be modified. Then clicking on the "Add" button will ask if the existing entry is to be replaced.

This dialog can be resized by click/dragging any corner or side.

 

5.4                       Partner Links Dialog

The Partner Links dialog is used to manage the partner links that can be used by the process. This dialog is accessed using the main menu "Zenflow Partner Links". The following figure is an example of the Partner links dialog.

 

Figure 55.    Zenflow Partner Links Definition Dialog

 

The following buttons are used in the Partner Links dialog:

Add

Enter a name for the new Partner link. Then select a type from the Partner link type combo box. This combo box is filled with all the partner link types defined in all WSDL files that have been linked to the process. Then select the appropriate role from one of the two role combo boxes, and press the "Add" button to add the new partner link to the list.

Remove Selected

Partner links in the list can be selected by clicking on one or a group can be selected by ctrl-clicking on each desired row. Then pressing the "Remove Selected" button will delete the selected partner links.

OK

Closing the dialog by pressing the OK button cause all additions/deletions to be accepted.

Cancel

Closing the dialog by pressing the Close button cause all additions/deletions to be ignored.

This dialog is resizable by click/dragging any corner or side.

 

5.5                       Variables Dialog

The variables dialog is used to manage global and local variables of the BPEL process. This dialog is accessed in two ways.

·           To manage global variables, use the main menu "Zenflow Variables".

·           To manage local variables within a scope, select a Scope activity.

This causes the properties of the scope to be displayed in the properties window. In the properties window, select the "Local Variables" property, and select the custom editor icon to open the variables dialog.

The following figure is an example of the Variables definition dialog.

 

Figure 56.    Zenflow Variables Definition Dialog

 


The following buttons are used in the variables definition dialog:

Add

Enter a name for the new variable and select the variable class in the combo box. For variable class "WSDL Message", the variable type combo box is filled with all variable types defined in the linked WSDL files. For variable classes "Schema Type" and "Schema Element", it is necessary to manually enter the variable type.

Remove Selected

Variables in the list can be selected by clicking on one or a group can be selected by ctrl-clicking on each desired row. Then pressing the "Remove Selected" button will delete the selected partner links.

OK

Closing the dialog by pressing the OK button cause all additions/deletions to be accepted.

Cancel

Closing the dialog by pressing the Close button cause all additions/deletions to be ignored.

This dialog can be resized by click/dragging any corner or side.

 


5.6                       Preferences Dialog

The standard Eclipse preferences dialog is used for Zenflow preferences. This can be seen using the main menu "Window preferences Zenflow". The following figure is an example of the Zenflow Preferences dialog.

 

Figure 57.    Zenflow Preferences Dialog

 

Note:

This dialog WILL change in future versions.

 


Chapter 6.      Common Operations

 

This section describes how to accomplish several common operations and scenarios using Zenflow.

6.1                       Expand/Collapse Activities

In both the graphic and scheme windows, complex activities can be expanded or collapsed. This is achieved by pressing on the "+" or "-" icon at the right hand side of the complex activity graphic image.

Note that expanded complex activities have two graphic images: one represents the opening BPEL element, and the second represents the closing BPEL element. This is shown in the following image.

Figure 61.    Graphic Display of an Expanded Complex Activity

 

As the above image illustrates, the "-" icon is on the right side of the opening graphic for the "Flow" activity. Clicking on this icon collapses the complex activity so that its internal child activities are not shown, as can be seen in the following image.

 

Figure 62.    Graphic Display of Collapsed Complex Activity

Collapsing activities is useful when working with large processes to assist in understanding the overall structure of the process. In addition, moving activities is affected by the expanded state of activities. See below on Moving Activities for more information.

 

6.2                       Delete Activities

To delete an activity, first select it by left clicking on the activity graphic, then press the delete key.

To select a "link", left click on the square selection point in the middle of the link line.

When a complex activity is deleted, all of its child activities are also deleted.

 

6.3                       Inserting Activities

Activities are inserted as children of complex nodes.

To Insert an Activity:

1.        Select the complex node that the new activity is to be added to by clicking on it.

2.        To add the first activity to a new process, or to add global fault, compensation, or event handlers, right click on the background to obtain a process level context menu.

3.        Right click to open the context menu, select "Insert", and then select the desired activity type. The “Insert” context menu will only display items for BPEL activities that are valid to insert in the selected parent. This is dependent on the type of parent activity selected: if that activity can contain more than one child, and if there is a current child. In some cases, the “Insert” context menu will be empty.

The new activity is added at the end of the child activities of the selected complex node.

4.        If desired, move the activity using the procedure for Moving activities.

To avoid complex movement operations, it is recommended that activities be added to the complex node in which they should be contained.


6.4                       Moving Activities

 

Zenflow supports drag-and-drop operations to move activities in the graph.

Activity nodes can be dragged to new positions by left clicking the node and dragging. When dragged, the node "breaks away" from its current sequence and the lines to it are not drawn.

The following figure is a picture of an "Invoke" node that has been dragged up and "breaks away" from its parent "case" statement.

 

Figure 63.    Example of Node “Breaking Away” During a Moving Activity

 

 

While dragging the node, the graphic for the node is moved with the mouse, and at the same time the cursor changes to either the “iBeam”  or the standard "cross/sizeall"  cursor, depending on whether or not the mouse is over a valid area for dropping the node.  Zenflow still enforces BPEL syntax in all cases.

If the node is dropped to an "invalid" target area, then the node is graphically moved, but it remains logically connected in the same sequence stream as before.  In other words, the node is just moved on the display without affecting the BPEL model.

If the node is dropped on a target area where it is valid to insert that type of node, then the node is removed from its original sequence and added to the new sequence.

It is important to understand where the “drop zones” are located.  This is different for “sequential” parent containers, such as a “Sequence” activity, and a parallel parent container such as a “Flow” activity.

For a "sequence", the drop zones are in the horizontal space between each consecutive child node.  This should be very intuitive.  To move an activity to be in a sequence, drag the activity between and in line with any two activities of the sequence.  It may also be dropped just after the opening node of the sequence, or just prior to the closing node of the sequence.


For "parallel" activities (such as flow, switch, etc.) the drop zones are the vertical space above and below each immediate child, as well as the area just below the last child in the flow.  To move an activity to make it the last child in a parallel activity, drop the node just below the current last child. To make a node the first in a flow, drop it in the area between the opening of the flow and its first child.  If the child activities are expanded complex activities, then the drop zone is always above and below the opening node of the complex activity.

Any complex node can be dragged as well, whether or not the complex node is expanded.  When moving complex activities, all the associated child nodes move with it if it is dropped in a valid area, as would be expected.

Moving nodes that are the source or target of a "link" causes the link to be disconnected. The link can subsequently be reconnected.

The easiest way to become familiar with the drop zones is to create a simple graph with a sequence activity and a flow activity, and insert a few simple activities in each. Then drag the simple activities around the graph between the various nodes and note whether the cursor becomes an ibeam, which means that a drop results in the node being moved in the BPEL, or if the cursor just stays as the "move" cursor, in which case a drop just changes the display.

 

6.5                       Adding A Parent Activity

In some cases it is desirable to surround an activity or a group of activities with a complex activity.  A typical scenario would be to select a group of activities and surround them with either a "Scope" or "Sequence". This is done using the following procedure:

1.        Select one or more consecutive activities with a ctrl-left click on their graphic image.

2.        Right click and select "Insert".

3.        Then select the desired parent activity type.

 


Chapter 7.      BPEL Activities

 

This section describes several BPEL activity types and elements that require special attention.

7.1                       BPEL/XML Comments

BPEL itself does not define a “comment” activity. However, a BPEL process is represented as a XML file. This allows XML comments to be present in the BPEL source code file. These comments are preserved by Zenflow.

When Zenflow parses a BPEL file, it may encounter XML comments.  If an XML comment is encountered, it is saved and associated with the next activity that is defined.  The XML comment can be seen as the “Description” property of each activity type.  This is illustrated in the property window shown in the following figure.

 

Figure 71.    Properties Window with a ”Description” Property for the Activity Type

 


The “Description” property can be directly edited and the text will be saved in the BPEL file as a XML comment preceding the activity. This can be seen in the source code view shown in the following figure.

 

Figure 72.    Code View of “Description” Property


7.2                       Invoke Activity

In general, the “Invoke” activity type is considered to be a “simple” activity type with no children. However, the “Invoke” is allowed to have a compensation handler, and to catch faults. (It may also have correlation sets, but that is managed as a property in the property window).

When an “Invoke” is first added to a process, it is displayed as a simple activity type, meaning there is no “+/-“ icon on its right hand side. However, unlike other simple activities, right clicking on a “Invoke” will bring up a context menu that allows for the insertion of “Catch”, “CatchAll”, and “Compensation handler” child activities. If one or more of these are added to an invoke activity, then the invoke is redrawn as a complex activity as shown in the following figure.

 

Figure 73.    Invoke Activity Redrawn as a Complex Activity


7.3                       Links

Links are used within Flow activities to introduce interdependencies between parallel paths of execution.  Zenflow represents links as an arrow from the source activity to the target activity.

To insert a Link, right click on a “Flow” activity and select “Link” from the “Insert” menu. The link will be added directly below the flow activity as shown in the following figure.

 

Figure 74.    Link Showing Interdependency between Parallel Paths of Execution

 

The properties of the link can be displayed by left clicking on the square box at the midpoint of the link. Notice that the “Name” property is predefined because all links must have a name. It is recommended that a meaningful name be given to newly created links.


To connect a link, drag either endpoint to the desired source or target activity. The link should point from the source activity to the target activity; thus drag the end of the link without the arrowhead to the source activity, and drag the end with the arrowhead to the target. When either endpoint is dropped over an activity, the following confirmation box is displayed.

 

Figure 75.    Confirmation Box for Linking Activities

 

To delete a link, select it by left clicking on the square box at the midpoint of the link, and press the “delete” key.

 

If the source or target activity of a link is moved to a new location using a drag and drop operation, then the link is disconnected from that activity.

Note:

Zenflow does not currently enforce proper link semantics, and will allow link endpoints to be connected to activities outside of the flow, or otherwise invalid with respect to the BPEL specification. The user must understand link restrictions and ensure that valid source/target activities are chosen for each link.

 


7.4                       Java Snippet Activity

 

If BPELJ has been enabled for the process (see Section 5.1), then it will be possible to add java code snippet activities to the process. These appear as any other “simple” activity.  Left click on the activity to display the properties of the snippet in the properties window. The “Java Snippet” property displays the code within the snippet. Clicking on this row will open the snippet editor window as shown in the following figure.

 

Figure 76.    Display of Code within a “JavaSnippet”

 


Notice that the snippet editor window is created as a tab within file group, and, unlike the “Process”, “Scheme”, and “Sourcecode” tabs, the snippet editor tab can be closed.

The name of the tab will be the name given to the snippet activity. If a name has not been given to the activity, then a temporary name is generated for use only on the tab.  Multiple snippet editors can be open concurrently within the same BPEL file.

If the snippet is modified, when the  icon is pressed to close the snippet editor, then the following confirmation dialog is displayed.

 

Figure 77.    Save BPELJ Snippet Confirmation Dialog

 

If “Yes” is pressed, then the changes to the snippet are saved in the process model.  If “No” is pressed, then the process model is unchanged.

 

 


Chapter 8.      Interoperation with NovaStudio

 

This section describes features available only when the Zenflow plug-in is used in the context of NovaStudio.

 

Dragging WSDL Files from NovaStudio Service View to Zenflow

The NovaStudio services view can be used to display various types of services, including WSDL files.  The following figure shows this view along with Zenflow.

 

Figure 81.    NovaStudio Services View With Zenflow

 

  

Any WSDL file identified in the services view can be dragged up to the Zenflow graphic window and dropped. This will cause an import of the WSDL file into Zenflow to be done. The “WSDL Import Complete” dialog (see Section 0) will be displayed to confirm the import.

In the NovaStudio services view, it is possible to expand the WSDL file entries and display the methods available in the corresponding Web service.

Future versions of Zenflow will provide the capability of dragging the method up to the Zenflow graphic area and have an “Invoke” activity for the method automatically created. This functionality is not available at this time.