Patent ID: 8799115

Claim:
A non-transitory computer readable medium including program code for providing a message-based interface for exchanging information regarding lists including elements used to define and describe components used to assemble an individual material, the medium comprising: program code for receiving, via a message-based interface derived from a common business object model, where the common business object model includes business objects having relationships that enable derivation of message-based interfaces and message packages, the message-based interface exposing at least one service as defined in a service registry and from a heterogeneous application executing in an environment of computer systems providing message-based services, a first message for querying, from product data maintenance, information regarding variant data of components associated with an individual material bill, the first message including a first message package derived from the common business object model, the first message package hierarchically organized in memory as including: at a first hierarchical level within the first message package, an individual material bill of material enterprise resource planning (ERP) variant by variant identifying elements query message entity; and at the first hierarchical level within the first message package, a selection package including, at a second hierarchical level within the first message package, an individual material bill of material variant by variant identifying elements entity, where the individual material bill of material variant by variant identifying elements entity includes, at a third hierarchical level within the first message package, a variant individual material identifier (ID) and a usage code; program code for processing the first message based on the hierarchical organization of the first message package, where processing the first message includes unpacking the first message package based on the first message package's structure and the first message package's derivation from the common business object model, wherein the particular structure of the first message package is used at least in part to identify the purpose of the first message package; and program code for sending a second message to the heterogeneous application responsive to the first message, where the second message includes a second message package derived from the common business object model to provide consistent semantics with the first message package.