System and method for building component applications using metadata defined mapping between message and data domains
Abstract
It is desirable to drive down the complexity involved in developing the wireless application by reducing the need to do any explicit coding, as well as reducing device resources utilized by the application when provisioned. Having an intelligent wireless device runtime environment (Device Runtime) that provides a set of basic services to manage the wireless application as a series if application components, and their interactions, can simplify the development effort and reduce resource allocation. The wireless application is described as a set of components. The data domain for this category of applications is defined using atomic data components. The communication between the device and a server is defined using atomic message components. Both message and data components are described in metadata using a structured definition language such as XML. The relationships between the message and data components are embedded in the XML definitions in the form of message/data mappings. Typically, outgoing messages are derived from some underlying data component and incoming messages affect the current state (or data representation) of the application. It is therefore apparent that the metadata defined mapping relationship is preferable between the expression of data and message components.
Claims
exact text as granted — not AI-modified1 . A method for configuring a communication device to communicate a message instance in accordance with a component application executing in a runtime environment on a device, the component application including at least one data component having at least one data field definition and at least one message component having at least one message field definition, the component definitions expressed in a structured definition language, and the message instance generated from a corresponding message component, the method comprising the steps of:
defining at least one data component each having at least one data field definition; defining the corresponding message component including defining a unique mapping to a particular one or more of the at least one data field definitions, said unique mapping linking the definition of a particular message instance to the definition of a particular one or more data field instances and said unique mapping defined by a unique identifier representing the mapping in accordance with a mapping resolution contract resolved at runtime by the runtime environment operating on the message and data component definitions; wherein, at runtime, said device obtains at least one data instance field value corresponding to the at least one data field of the mapped particular data component to populate the at least one message field of the message instance and communicates the message instance.
2 . The method according to claim 1 , wherein a plurality of the data field definitions of the data component is shared between the at least one message component and the at least one data component as represented by the mapping.
3 . The method according to claim 1 further comprising defining additional processing code coupled to the at least one message component for assisting in processing of the message instance at runtime.
4 . The method according to claim 3 , wherein the processing code specifies an address of a provisioning unit for handling the processing code.
5 . The method according to claim 1 comprising defining said mapping as a field level mapping linking a first one of the message field definitions to a first one of the data field definitions and a second one of the message field definitions to a second one of the data field definitions.
6 . The method according to claim 5 , wherein the number of message field definitions of the message component is less that the number of data field definitions of the mapped data component.
7 . The method according to claim 5 , wherein the first message field definition is mapped by a first one of the unique identifiers to a first one of the data components and the second message field definition is mapped by a second one of the unique identifiers to a second one of the data components different from the first data component.
8 . The method according to claim 5 , wherein the first message field definition and the second message field definition are mapped to the same data component using the unique identifier.
9 . The method according to claim 1 , wherein the structured definition language is XML based.
10 . The method according to claim 9 , wherein the application is a wireless application and the device is a wireless device.
11 . The method according to claim 1 , wherein the unique identifier is a simple primary key.
12 . The method according to claim 1 , wherein the unique identifier is a composite key defined from more than one field.
13 . The method according to claim 1 , wherein the message component defines a parent one of the message components coupled to a dependent one of the message components.
14 . The method according to claim 13 wherein at runtime, said runtime environment overrides one of the mappings of the parent message component by respective one of the mappings of the dependent message component.
15 . A method for configuring a communication device to populate a data instance in accordance with a component application executing in a runtime environment on a device, the component application including at least one data component having at least one data field definition and at least one message component having at least one message field definition, the component definitions expressed in a structured definition language, and the data instance generated from a corresponding data component, the method comprising the steps of:
defining at least one message component each having at least one message field definition; defining the corresponding data component including defining a unique mapping to a particular one or more of the at least one message field definitions, said unique mapping linking the definition of a particular data instance to the definition of a particular one or more message field instances and said unique mapping defined by a unique identifier representing the mapping in accordance with a mapping resolution contract resolved at runtime by the runtime environment operating on the message and data component definitions: wherein, at runtime, said device receives a message instance and identifies a corresponding message component thereby to obtain at least one message instance field value corresponding to the at least one data field of the mapped particular data component to populate the at least one data field of the data instance.
16 . The method according to claim 15 , wherein a plurality of the message field definitions of the message component is shared between the at least one data component and the at least one message component as represented by the mapping.
17 . The method according to claim 15 further comprising the defining additional processing code coupled to the at least one data component for assisting in processing of the data instance.
18 . The method according to claim 17 , wherein the processing code specifies an address of a provisioning unit for handling the processing code.
19 . The method according to claim 15 , comprising defining said mapping as a field level mapping linking a first one of the data field definitions to a first one of the message field definitions and a second one of the data field definitions to a second one of the message field definitions.
20 . The method according to claim 19 , wherein the number of data field definitions of the data component is less that the number of message field definitions of the mapped message component.
21 . The method according to claim 15 , wherein the first data field definition is mapped by a first one of the unique identifiers to a first one of the message components and the second data field definition is mapped by a second one of the unique identifiers to a second one of the message components different from the first message component.
22 . The method according to claim 15 , wherein the first data field definition and the second data field definition are mapped to the same message component using the unique identifier.
23 . The method according to claim 15 , wherein the structured definition language is XML based.
24 . The method according to claim 23 , wherein the application is a wireless application and the device is a wireless device.
25 . The method according to claim 15 , wherein the unique identifier is a simple primary key.
26 . The method according to claim 15 , wherein the unique identifier is a composite key defined from more than one field.
27 . The method according to claim 15 , wherein the data component defines a parent one of the data components coupled to a dependent one of the data components.
28 . The method according to claim 27 further comprising the step of overriding one of the mappings of the parent data component by respective one of the mappings of the dependent data component.
29 . A system for configuring a communication device to communicate a message instance in accordance with a component application executing in a runtime environment on a device, the component application including at least one data component having at least one data field definition and at least one message component having at least one message field definition, the component definitions expressed in a structured definition language, and the message instance generated from a corresponding message component, the system comprising:
a processor and memory coupled thereto, said memory storing instructions and data for configuring said to system to:
define at least one data component each having at least one data field definition;
define the corresponding message component including defining a unique mapping to a particular one or more of the at least one data field definitions, said unique mapping linking the definition of a particular message instance to the definition of a particular one or more data field instances and said unique mapping defined by a unique identifier representing the mapping in accordance with a mapping resolution contract resolved at runtime by the runtime environment operating on the message and data component definitions;
wherein, at runtime, said device obtains at least one data instance field value corresponding to the at least one data field of the mapped particular data component to populate the at least one message field of the message instance and communicates the message instance.
30 . A system for configuring a communication device to populate a data instance in accordance with a component application executing in a runtime environment on a device, the component application including at least one data component having at least one data field definition and at least one message component having at least one message field definition, the component definitions expressed in a structured definition language, and the data instance generated from a corresponding data component, the system comprising:
a processor and memory coupled thereto, said memory storing instructions and data for configuring said to system to:
define at least one message component each having at least one message field definition;
define the corresponding data component including defining a unique mapping to a particular one or more of the at least one message field definitions, said unique mapping linking the definition of a particular data instance to the definition of a particular one or more message field instances and said unique mapping defined by a unique identifier representing the mapping in accordance with a mapping resolution contract resolved at runtime by the runtime environment operating on the message and data component definitions;
wherein, at runtime, said device receives a message instance and identifies a corresponding message component thereby to obtain at least one message instance field value corresponding to the at least one data field of the mapped particular data component to populate the at least one data field of the data instance.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.