Message Contract Attributes for Flexible SOAP Data Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in mapping typed objects to SOAP messages and vice versa, limiting the flexibility and efficiency of transferring typed application data in distributed application environments, particularly with the open-ended nature of SOAP protocols.
Innovation Solution
The implementation of a message contract model that annotates typed objects with attributes to define mappings between typed object parameters and SOAP elements, allowing for the configuration of SOAP messages to transmit typed data and the retrieval of typed data from SOAP messages, using type converters to serialize and deserialize data accordingly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If SOAP protocol is used for exchanging messages between distributed applications, then flexibility and interoperability are improved, but the ability to meaningfully map typed objects to SOAP messages deteriorates
Solution Approach 1:
The patent introduces message contract attributes as an intermediary layer between typed objects and SOAP messages. These attributes serve as a mapping mechanism that bridges the gap between the rigid typed object structure and the flexible SOAP protocol, enabling meaningful translation while preserving type information.
Solution Approach 2:
The patent segments the mapping process into distinct components: typed objects, message contract attributes (with action, headers, and body portions), and SOAP messages. This segmentation allows each component to be independently defined and mapped, improving both flexibility and mapping capability.
2Productivity
If typed data formats are used in distributed applications, then data exchange efficiency and type appropriateness are improved, but the difficulty of mapping to open-ended SOAP messages increases
Solution Approach 1:
The patent applies preliminary action by pre-defining message contract attributes on typed objects before serialization. These attributes contain all necessary mapping information (action, headers, body) that will be used during the SOAP message creation process, eliminating the need for complex runtime mapping decisions.
Solution Approach 2:
The patent changes the parameters of typed objects by adding message contract attributes that define how the object should be mapped to SOAP messages. This allows the same typed object to be flexibly mapped to different SOAP message structures based on the attribute definitions.
3Measurement precision
If message contract attributes are added to typed objects to define mappings, then mapping precision is improved, but object complexity increases
Solution Approach 1:
The patent merges the mapping definition directly into the typed object by adding attributes to the object itself. This integration ensures that mapping information is always available with the object and eliminates the need for separate mapping configuration files or external mapping tables.
Solution Approach 2:
The message contract attributes serve multiple functions: they define the SOAP action, specify header elements, define body elements, and control the overall message structure. This multi-functionality reduces the need for separate mechanisms for each aspect of message definition.
Data Source
AI summary
The present invention extends to using Simple Object Access Protocol (“SOAP”) to exchange typed objects, such as, for example, parameters for invoking methods. A computer system accesses typed object parameters corresponding to a typed object. The typed object is annotated with one or more message contract attributes of a message contract model defining a mapping between typed object parameters and corresponding SOAP elements. The computer system utilizes the message contract attributes to map the typed object parameters into a SOAP element and inserts the SOAP element into a SOAP envelope. A receiving computer system accessing the SOAP element and utilizes the message contract attributes to map the SOAP element back into the typed object parameters.


