Message Contract Attributes for Flexible SOAP Data Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveflexibilityVSAvoidmapping capability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedata exchange efficiencyVSAvoidmapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If message contract attributes are added to typed objects to define mappings, then mapping precision is improved, but object complexity increases

Engineering Contradiction:
Improvemapping precisionVSAvoidobject complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8296354B2Flexibly transferring typed application data
Publication Date: 2012.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8296354B2 patent drawing
  • US8296354B2 patent drawing
  • US8296354B2 patent drawing

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.