Overview of WebSphere Business Integration Adapters, introduced business objects but only mentioned briefly the distinction between business object definitions and instances of the business objects themselves. Let's look more closely at that distinction now:
Figure 11 illustrates the relationship between a business object definition and a business object.
Figure 11. Business object definition and business object.
In simplified terms, a business object is characterized by its type, its attribute values, and its verbs.
Overall, a business object definition is identified by its name. The name indicates the business object definition type, such as Customer, VantiveCase, or Invoice. A business object can also have application-specific information (meta-data) that helps the application-specific component process it. All business objects also contain attributes and verbs, as the next sections describe.
Attributes in a business object definition describe the values connected with the entity, such as Last Name, Employee ID, Case Number, Amount, or Date Initiated. At runtime, attributes are filled in with actual data.
For example, an Employee business object definition might contain attributes for the employee's name, address, employee ID, and other relevant information. The attributes of a business object are analogous to the fields of a form or columns in a database table.
An attribute can also refer to a child business object or to an array of child business objects, such as an array of line items in a contract or part references in an invoice.
The ObjectEventId attribute is a required attribute and is the last attribute in every business object.
When a connector publishes an event, it uses the ObjectEventId attribute of the business object definition to store a unique value that identifies the specific business object instance that is being created.
The value of the ObjectEventId attribute is generated and handled by the business integration system, which uses it to identify and track the flow of the specific event through the system.
If an attribute's type is a basic data type, such as String, Boolean, Double, Float, or Integer, the attribute value is a discrete piece of data, such as the value of a field in a database. Examples include LastName, CustomerID, PartNumber, AssignedTo, and Price.
If an attribute's type is the name of another business object definition (a compound type), the attribute value is a child business object or an array of child business objects. Examples include Customer, Contract, and Oracle_Contact.
A number of properties define the value that the attribute represents. Without showing all possible properties, Figure 12 illustrates the place of attribute properties in a business object definition.
Figure 12. Attribute properties.
The set of properties for a particular attribute depends on whether the attribute type is basic or compound; that is, an attribute's properties differ depending on whether the attribute refers to a single unit of data or to a child business object.
Verbs indicate actions on the data in the business object. A business object definition contains a list of verbs; a business object contains only one verb.
The most common verbs associated with business object definitions are Create, Retrieve, Update, and Delete.
The meaning of a verb differs according to the role of the business object. The verb can describe an application event, make a call, make a request, or identify the result of a previous request.