Data Model Introduction

Working with Application Workflow Manager (AWM) requires a deep understanding of the data model it is based on.

This topic provides you with a short description and understanding of the key AWM concepts which are later developed in the Data Model Details chapter.

Function Packages

Function packages are a central feature of AWM and provide tool sets for specific application functional areas. Adding a function package to an AWM model can enable you to manipulate properties, objects, and tools for a specific functional area. For example, a function package is provided that enables you to work specifically with Eclipse resources. Another function package provides tools that enable you to work with RESTful Web applications.

Every tool used in a model must be taken from one of the function packages.

A function package can provide the following AWM modeled objects:

Tool Types
Tool types and their tool type attributes specify rules for how to model such tools and their corresponding validation rules. A tool type enables you to specify tool input and output parameters in a consistent way.
Linked Properties
Linked Properties can be modeled in AWM like other properties. Unlike non-linked properties, the values of linked properties are not managed by AWM; the values are directly provided by the function package. There is no specific tool necessary to get or set a value of a linked property and the data consistency is guaranteed.
Linked Element Types
Linked element types which are modeled in AWM as element types. Although elements of linked element types are managed by AWM, the function package can provide the real-time synchronization of the integrated application objects with the corresponding AWM elements. In addition, the function package can dynamically provide the element icons and its icon decorators. There is no need to model those icons as element type icons in AWM.
Icons
Additional icons can be modeled as AWM icons and are typically used as action icons.

Property

A property is a basic concept in AWM, it represents any relevant attribute within the application system that is to be integrated into an AWM model.

At run time, a property will be set with property values. For example:

Property Property Value
File name MyDocument.txt
Change date 2014/05/25
Write protected True

A property can be used in various contexts within an AWM model. For example, a property can be used as an attribute of an element type, as a criterion of a filter type, or as an input or output parameter of a tool descriptor. That is to say, the meaning of a property is defined by the context in which it is used.

A property is referred to as a linked property type if it is introduced by a function package.

Values of linked properties are not internally maintained by AWM during run time. When a property value of a linked property is needed during run time, AWM forwards the request to the corresponding function package. The function package can then provide or set the property value.

Element Type

A class of elements with common properties is called an element type.

The element types are derived through analysis of the application systems to be integrated into an AWM model. Every resource type of the application system to be integrated is a candidate for an element type.

An element type is called a linked element type if it is introduced by a function package. AWM does not cache property values of linked element types. Property values of linked element types are requested by AWM from the corresponding function package provider at run time.

Linked element type functions include but are not limited to:

  • Display dynamic custom element icons.
  • Extend the context menu of elements dynamically.
  • Synchronize elements with a target platform in real time.

An example of a linked element type is the Eclipse resource provided by the Eclipse function package. The Eclipse function package provides the following features for an Eclipse resource:

  • Standard Eclipse icons with decorations.
  • Synchronizes elements with workspace resources of the same type, even if changes are made outside of AWM.
  • Standard context menu commands like Compare With.

Tool Descriptor

A tool represents an executable program that can communicate with the client application via input/output parameters. Tools are provided to AWM by a function package. The Function package provider defines the tool's attributes and parameters to be used in the AWM model. The function package provider also provides the tool implementation.

A tool is defined in the AWM model by a tool descriptor. A tool descriptor describes a tool in such a way that the model interpreter can execute it and can react to its outputs.

The following are standard attributes defined in a tool descriptor:

  • Tool identifier
  • Resource operations. For example, insert an element into the view, remove an element from the view.
  • Input parameters
  • Output parameters
  • File parameters

These standard attributes can be extended by additional attributes defined by the AWM model extension for this tool.

Action Descriptor

An action is a closed function that is triggered in the user interface. An action consists of one or more tools.

An action is defined in the AWM model by an action descriptor. The processing sequence of the tools of an action are determined by the sequence of the ActionHasTool relationships. AWM enables the conditional execution of tools belonging to an action depending on property values at the point of run time.

The execution of an action is usually triggered actively by a user. In some cases, an action can also execute automatically, such as to determine an element's properties.

At run time, actions can occur:

  • As an expand function of structural elements.
  • In the context menus of filters.
  • As a standard action for filters, such as refresh, or double-click.
  • In the context menus of elements.
  • As a standard action for elements such as double-click.
  • In the context menus of tables derived from a structured file descriptor.
  • In the Eclipse menu bar.
  • In the context menus of editors.
  • In the context menu of an AWM application.
  • To update the properties of an element.
  • To refresh an element list.
  • As a button in a modeled dialog to retrieve valid property values.
  • As a validate action in a modeled dialog.

The actions that should be carried out for the listed AWM object types are defined in the AWM model through the relationships of the object types (element type, filter type, and so forth) to action descriptors. Actions which do not belong to a certain object type must be modeled as a global action. See Global Action for more information.

Filter Type

Filters with the same types of filter criteria are referred to as filter types. Filter types are used in AWM to create a list of elements based on common values in the filter criteria properties for further processing.

AWM supports the usage of wild cards in filter criteria properties.

Element List Structure

Element list structures are the concept in AWM to define the structure of tables in the Table Results view. The relationship of an element list structure to its column properties defines the structure of the corresponding table at run time.

An element list structure has to be mapped to an action descriptor so that an element list produced by a tool of the action is shown in the Table Results view.