New instances of business objects are created based on templates called business object definitions. Business object definitions are the templates from which the adapter or integration server creates a particular instance of a business object. This definition specifies the structure and organization of the business object's attributes, values, and metadata.
A business object definition is identified by its name. The name indicates the business object definition type, such as Customer, Order, or Invoice.
Because application-specific information and other metadata in the business object definition guide the actions of the application-specific component, such behavior can be described as metadata-driven.
An application-specific component that is metadata-driven is flexible because it has no hard-coded instructions for each type of business object that it supports. Without recoding or recompiling, the application-specific component automatically supports new business object definitions, as long as the corresponding application data can be accurately described by the adapter's metadata syntax.
A business object reflects a data entity, a collection of data treated as a unit. For example, a data entity can be equivalent to an employee record, containing all the basic information about the employee, such as the name, address, telephone number, employee number, position code, and so forth. A business object may also have application-specific information (metadata) that helps the application-specific component process it. All business objects also contain attributes and verbs.
Each business object has a type name that identifies it within the business integration system. For example, the type might be Customer, Employee, Item, or Contract.
Verbs indicate actions on the data in the business object. While 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; it can describe an application event, make a call, make a request, or identify the result of a previous request.
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.
The following figure is an example of a simple business object, showing its type, verb, and attribute values.
Figure 2. Business object components
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. A business object that contains child business objects or arrays of child business objects is a hierarchical business object. A business object whose attributes contain only data is a flat business object.
Within the adapter environment, it is important to draw a distinction between business object definitions and instances of the business objects themselves. To summarize:
Figure 5 illustrates the relationship between a business object definition and a business object.
Figure 3. Business object definition and business object
Business object definitions are developed with a graphical tool called the Business Object Designer. The Business Object Designer allows a developer to directly edit the structure and properties of a business object's elements, including its attributes, verbs, associated metadata, and child business objects.
To enable rapid development of new business transactions for an adapter, the Business Object Designer leverages wizard-driven Object Discovery Agents (ODAs), which are available for many of the adapters. Each ODA is designed for its corresponding adapter and EIS. The ODA introspects the target EIS to expose available functions. Then it generates business objects with the structure and metadata syntax required by the adapter to execute the selected functions. Once generated, the business objects can be extended within the Business Object Designer.