A business object model is defined using the Business Object Model Editor. For complete information on using this editor to create business object models, see the TIBCO Business Studio Business Object Modeler User’s Guide. Information on business object models in the present guide is limited to instructions for creating classes and other objects in the business object model to define complex data types, and using these data types in forms modeling.
Class A container for a complex data object. Classes contain children, such as attributes and enum literals. A class from the BOM can later be specified as the type for a data field in the Forms Editor.
Primitive Type An object of one of the BOM Primitive Types (Integer, Boolean, Date, Time, Integer, and so on), or of the type of a previously-defined primitive type object.
In the latter case, the previously-defined primitive type might be, for instance, a zip code object that was defined as an integer with a pattern (specified in the Advanced tab of the object’s
Properties view) as a regular expression) that limits its value to 5 single-digit integers.
Figure 62 shows the
Advanced tab of the
Properties view for a primitive type called ZIP Code. The Pattern value restricts valid entries to five integers. This restriction will be enforced at runtime.
Enumeration A data type that can contain a list of values. Selecting this type enables you to specify a set of enumerated values. For example, an enumeration called Color might have the values Red, Blue, and Green.
Attribute Attributes are data members that make up a class. By default, new attributes are created with the primitive BOM type
text. A different data type can be chosen in the attribute’s
Properties view, either another primitive type, or an existing class or enumeration. Each attribute type ends up corresponding to a different control type in a generated form.
The attributes in a class can be re-ordered in the Attributes tab of the class’s
Properties view using the up and down arrows. Their order in the BOM determines the order in which they appear in the default form.
Enum Literal These are the values within an enumeration. For example, an enumeration called Color might have the enum literals with the names Red, Blue, and Green.
The enum literals in an enumeration can be re-ordered in the Enum Literals tab of the enumeration’s
Properties view using the up and down arrows. Their order in the BOM determines the order in which they appear in the default form.
Generalization This is a relationship of inheritance: a class that is related to an existing class by generalization will inherit the qualities of the existing class, and hence will contain members of the same type as the existing class.
Composition This relationship indicates that the child class is wholly contained within the parent class.
Relationships between BOM classes have a multiplicity, for instance, one-to-one (1..1), zero-to-many (0..*), or one-to-many (1..*). You can also have a finite lower or upper multiplicity bound like one-to-finite upper bound (1..m), finite lower bound-to-finite upper bound (n..m), or exactly finite bound (n). On a generated form, a particular pane type is rendered for a child class based on the multiplicity value.
As an example, a Student class might be the parent of a child class called
Course. Each student could have zero-to-many courses. The course class, in turn, might have a child class called
Course Details. The BOM diagram is shown in
Figure 63.
The business object model shown in Figure 63 would be rendered in a form with a master-detail pane for the
Course and
Course Details classes, as shown in
Figure 64.
Selecting a row in the grid pane (that is, the master pane) allows that row to be edited in the vertical or record pane (that is, the
detail pane). An alternate way of selecting rows for editing is to enable navigation for the record pane. Navigation is turned off by default, but is enabled by selecting the
Show Navigator check box in the
Properties tab of the record pane’s
Properties view. The navigator then appears for the record pane, as seen in
Figure 65.