An application-specific business object contains the data that a connector agent moves into and out of a particular application. Therefore, each application-specific business object definition reflects the application's data model and the connector agent's access method.
Even when two application-specific business objects refer to similar application entities, differences appear in the way that attributes are organized and in the application-specific information for them.
Applications often organize the same information in different ways. For example, Application A stores a telephone number and fax number for a contact in four fields, but Application B stores the same numbers in two fields.
Figure 27. Telephone data in two applications
The business object definitions for the Application A business object and the Application B business object have different attributes to reflect this difference.
Application-specific business objects also differ because each can optionally contain built-in processing instructions for its connector agent, called application-specific information. Application-specific information can consist of any information that the connector agent needs to process the business object.
A business object definition can have application-specific information that applies to the entire business object, to each attribute, and to each verb. At each place where application-specific information appears in a business object definition, it provides information that the connector uses in its interactions with the application.
Application-specific information for the business object provides information that the connector agent uses when processing the business object as a whole.
Often, application-specific information that applies to an attribute identifies the attribute value's location in the application. The connector agent uses this identifier when building API calls to the application to retrieve or enter the attribute value.
Application-specific information takes different forms for different applications. Sometimes the connector agent can reference the attribute location by means of the application's form and field names; other times the reference is more complex.
Table 4 illustrates two examples of application-specific information
for a Customer business object.
Table 4. Application-specific information for sample attributes
Attribute | Application-specific information for sample Application 1 | Application-specific information for sample Application 2 |
---|---|---|
Customer ID | CUST:CID | cust:site_id::3:: |
Customer name | CUST:CNAM | cust:name::3:: |
Status | CUST:CSTAT | cust:status::1:0:Status |
Industry | CUST:CIND | cust:industry_type::3::Industry |
The values have the following meanings:
table:field:relation:type:default-value
where type is 1 (int), 2 (float), or 3 (string)
In exceptional cases, application-specific information for attributes is
unnecessary. For example, some applications provide very direct and
easy to use designations for units of data. Imagine that an application
identifies sample fields as Table 5 illustrates.
Table 5. Sample application identifiers
Attribute | Application's identifier for the field
containing the value |
---|---|
Customer ID | XCustomerID |
Customer name | XCustomerName |
Status | XStatus |
Industry | XIndustry |
In the example that Table 5 illustrates, it is easy for the connector agent to associate an attribute with its identifier in the application because the rules for conversion are so regular: add the X or subtract the X. Therefore, the attributes in business objects for this application may not need application-specific information.
A business object definition can include application-specific information for each verb that it supports. The application-specific information instructs the connector agent how to process the business object when that verb is active.