What is a BPM Object?

A BPM Object is a user-defined component that contains attributes, methods, and presentations.

A BPM Object can be used to encapsulate any type of information that the process requires. For example, It can be to input and store information that would be persisted in another type of data container, such as a database or an XML file.

A BPM Object is composed of:
BPM Object Element Description
Attributes Attributes are data elements (like variables), used to store data that define and describe the BPM Object.

Attributes can be defined as virtual, in which case they do not actually contain any data, but are instead implemented as a pair of methods for reading and writing. Virtual attributes are accessed like regular attributes.

Methods Methods are like functions or subroutines associated to the object. Youwrite methods in PBL, and can use them to access or set BPM Object data indirectly. For example, you may want to obtain the sum of several numeric attributes. In this case you can read each attribute from the BPM Object and add them, or you can add a method to the BPM Object, called for example attributeSum, which will return the summed value.

The resulting code is easier to maintain. For example, if you add a new attribute to the BPM Object which must also be summed, you can edit the attributeSum method to include the new attribute. By doing it this way, you avoid the need to track every piece of code which requires the sum of the attributes of the object.

Groups Groups are objects made up of one or more related attributes and stored in an array. Groups are designed to be used wherever you require a list of items and each item has several attributes. For example, in an invoice there can be several items, and each item has a description, a quantity, and a price.

If you are a Java programmer, you can think of a group as being analogous to an inner class.

Presentations BPM Object Presentations are essentially forms which either show or allow input of BPM Object properties. A presentation can show all or some of the properties of a BPM Object

Every BPM Object may contain one or more presentations. Each of the fields on the presentation are tied to one of the attributes. Presentations provide a simple way for end users to view or to input the attributes of the BPM Object.

When a BPM Object is created, it is only a data container or non-presentable BPM Object until a presentation is added to it; then it becomes presentable.

See User Interface Overviewfor more information about how BPM Object data is presented to end users.

Example BPM Object

The following figure shows the structure of an expense report BPM Object:


Figure 1. Expense Report BPM Object

The BPM Object above shows methods, attributes, groups, and presentations. Most of these were added by the developer, while a few of the methods were created automatically based on the properties set when creating the different attributes. An example of an automatically generated method is the costCenterValidValues method. This method is created by setting a list of valid values to the costCenter attribute when defining it. This method returns an array containing all the values allowed for that attribute, which is used by presentations to display a drop-down list with the possible values of an attribute.