Skip to main content
Skip table of contents

Concepts of Data Modeling

Processes are based on data that is going in, is processed, and coming out. This data is specified by data types.
Data types can be structured into packages or interfaces. They are defined by classes and their properties, and have related operations and their parameters.

Icon

Element

Description

package_icon.png

package

A package is like a directory for the file system. It is used to group executable data model elements. Packages can have any depth of nesting: To structure your work, you can create packages within packages. Also, packages define a sort of namespace to the contained elements. The name of the package is part of the element path, e.g. Package1.Class is different from Package2.Class.

interface_icon.png

interface

In contrast to a class, an interface has no properties nor implementations. Interfaces are used to define common operations of multiple classes, and then derive from that interface. Operations of interfaces do not have an implementation but only define the signature (parameters and types).

class_icon.png

class

A class is an aggregation of properties and operations that describes a complex data type from which objects can be created.

property_icon.png

property

Properties are data fields that describe the structure of the class.

add_operation.png

operation

An operation adds behavior to a class or interface. The behavior describes how to process the data given by the parameters. In the context of the Designer, you can implement operations as Modeling Data Mapping, Using Action Script or Modeling Activities.

parameter_icon.png

parameter

Operations can have parameters that define the input and output objects. Operation parameters can be of simple type (Available Base Types) or of complex type (class or interface).

Defining Data Types

To describe the data that is used during a process, you can

  • use the built-in Base Types

  • import one or more libraries that contain the necessary data types

  • create your own data model (implementation) with the Designer

Base Types

The Designer provides six base types: Blob, Boolean, DateTime, Float, Integer, String in a standard library that is imported as per default into all service models.
All these types derive from the seventh, general type Any.

All built-in base types are located in a dedicated package Base Types that is provided with the Designer:

These base types are only able to hold one single piece of information, like text in a String, true or false in a Boolean, or binary data in a Blob.

You can find more details on the base types and simple examples on Available Base Types.

Libraries

Libraries are code repositories that are useful to organize your development project into re-usable pieces that can be used in multiple services. They contain predefined classes, interfaces, operations and parameters you can use during modeling by simple drag & drop.
You can develop libraries as described on Developing and Using Libraries.

The data types provided by a library are listed in the Service panel:

library_example.png

You can find more details on developing libraries on Sharing Designer Content.

Implementation

Besides the Base Types and types from libraries, you can define your own data types in folder Implementation:

data_structure_example.png

User defined classes can be structured the same way imported classes are. How to do this is described in detail on Modeling Data Structures.

The Implementation folder also contains a locked package Message. This package has been generated by the Designer, and holds all classes related to the forms you have created in your service model. You cannot change these generated classes.

Using Data Types

You can use all data types, regardless of where they reside - Bridge Base, imported library, or Implementation, in your service model in the following places:

  • execution diagram

  • mapping diagram

  • action script

Execution Diagram

Execution diagrams describe what is actually done in a BPMN task. Execution diagrams contain an UML activity flow that can be adorned with incoming and outgoing data items.
Concerning data items, you can

  • create and use local variables to store data during this very task

  • create persisted variables to store data that should be available in other tasks of the current process

  • use variables that have been persisted in a task prior to the present one.

Handling of local and persisted variables is described on Adding Variables and Persisting Data.

Also, data types from imported libraries and from the user-defined Implementation may have operations associated that can be used with variables of that type. Data items can go into an operation via parameters, or as a self object.
Refer to

You can also create your own class operations in the Implementation and implement action script on them. See Concepts of Data Modeling > Action Script below for more details.

Mapping Diagram

Mapping diagrams describe how to transform source data to a target. The types of the source and the target are defined via the input resp. output parameters of the mapping operation.
Refer to

Action Script

You can create your own class operations in the Implementation and implement action script on them. In a script like fashion, you can use the Action Script Language to implement purposes that are not covered by plain modeling.
You can

Some basic information on the xUML Action Language regarding the syntax scheme, object references, local variables, NULL values, and constructors are listed on Basics of the Action Script Language.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.