Workflow Manager Modeling Tutorials

General Modelling Concepts

The Application Workflow Manager (AWM) is a framework based on the Eclipse Modeling Framework (EMF). AWM enables you to seamlessly integrate application development workflow within an Eclipse IDE. Typical applications of AWM might integrate third-party applications with your Eclipse project development platform, such as:

  • Integration of an agile project management system.
  • Integration of an issue tracking system.
  • Integration of a distributed version control system.
  • Integration of a Continuous Integration (CI) system.
  • Integration of mainframe development.

You can integrate any combination to create a customized system that best fulfils your organization's requirements.

Before starting the tutorials you should review and understand the following AWM concepts:

Function Packages
The functionality within an AWM model can be provided by one or more function packages. A function package provides the features of your application system.

Features in function packages can be expressed as the following concepts:

  1. Linked properties.
  2. Linked element types.
  3. Tools with associated input and output parameters.
Every attribute of an application is represented within a model by a property. A property might be an AWM property which is managed by AWM or a property provided as a linked property by a function package.
Tools provide functionality within an AWM model. A tool is the fundamental execution unit within AWM. A tool must be modelled as part of an action, it is the action that enables the tool to be executed.

Tools typically have both input and output parameters which are references to AWM properties. Output parameter values of tools are stored in the tool parameter context and can be passed between tools.

Using the AWM resource operation concept, a tool can update the element context so that data can be exchanged between actions.

An action consists of one or more tools. Depending on where an action should be displayed in the IDE an action has to be attached to the corresponding component in the AWM model.

For example, an action could be attached to an element type so that it can be displayed in the context menu of elements of its element type. An action could be declared as a global editor action so that it is displayed in the context menu of an editor.

Element Types
Every object type of an application is represented within AWM by an element type. An element type might be an AWM element type or an element type provided as a linked element type by a function package.

Every element type within AWM needs a relation to an ID definition and a match name.

The ID definition uniquely identifies elements of the same element type. The match name is required when an element is created. A tool which is intended to create an AWM element has to return the property values for the new element plus a match name so that AWM can identify which element type the new element should be mapped to. The match names used in an AWM model to identify the element types must be unique.

An element type references properties which represent the attributes of an element within the corresponding application system. An element type references actions. The referenced actions are displayed in the context menu of elements of this element type.

ID Definitions
The ID definition uniquely identifies elements of the same element type. The ID definition references properties which represent the key attributes of an element type.

The properties of an ID definition have to be chosen so that they uniquely identify elements of the corresponding element type. If the properties of the ID definition do not uniquely identify elements then unpredictable behavior may occur when the AWM model is executed.

File Descriptors
File descriptors represent files used in the application. File descriptors can be used as input or output parameters of tools. Files can be unstructured or structured. Structured files must reference properties to describe the format of the file.
Elementlist Structures
An elementlist structure describes the representation of an element list in the Table Results view. An elementlist structure has to reference properties to specify the table format.
Filter Types
Filter types have filter criteria that produce filtered element lists displayed in the Table Results view. Filter types are listed in the Filter Definitions view. A filter type has properties that specify the filter dialog displayed when the filter is executed. A filter type reference an action which is executed when you confirm the filter dialog. The values from the filter dialog are passed as input parameters to the tool(s) of the filter action.

The following tutorials are intended to build on your understanding of these concepts and develop techniques which you can apply when creating your own applications: