WO2002001356A1 - Type conversion technique facilitating remote service invocation - Google Patents

Type conversion technique facilitating remote service invocation Download PDF

Info

Publication number
WO2002001356A1
WO2002001356A1 PCT/US2001/019007 US0119007W WO0201356A1 WO 2002001356 A1 WO2002001356 A1 WO 2002001356A1 US 0119007 W US0119007 W US 0119007W WO 0201356 A1 WO0201356 A1 WO 0201356A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
tag
type
conversion
xml
Prior art date
Application number
PCT/US2001/019007
Other languages
French (fr)
Other versions
WO2002001356A9 (en
Inventor
Christopher S. Taylor
Timothy Gordon Kimmet
Original Assignee
Aladdin Knowledge Systems, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aladdin Knowledge Systems, Ltd. filed Critical Aladdin Knowledge Systems, Ltd.
Priority to EP01946318A priority Critical patent/EP1305710A4/en
Publication of WO2002001356A1 publication Critical patent/WO2002001356A1/en
Publication of WO2002001356A9 publication Critical patent/WO2002001356A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Definitions

  • the present invention relates to distributed computing, in particular client/server communication and server/server communication.
  • the SOAP (Simple Object Access Protocol) protocol is XML-based and enables a client's request to be communicated over HTTP, across the Internet and through firewalls.
  • XML documents are used for encoding of the invocation requests and responses.
  • a method request is represented as an XML element with additional elements for parameters.
  • the SOAP protocol considerably simplifies remote method invocation. Nevertheless, SOAP makes no provision for type conversion, i.e., mapping between XML and data types usable by the method being invoked and, in the reverse direction, between data types and XML.
  • Two techniques are known.
  • One technique encodes data types through "introspection,” i.e., programmatically inspecting an object, walking through its member variables, and turning each into XML.
  • the present invention provides a messaging framework including a flexible type conversion facility for use in remote method invocation via the Internet.
  • the framework receives a message, it decodes the message, converts any parameters into objects, locates the appropriate message handler, invokes the requested method on that handler, and communicates a return value (or exception) via a response message.
  • the return value or exception
  • Dynamic type conversion of parameters into objects is performed using a tag library system. In the tag library system, special user-defined modules (called "type factories”) are handed XML elements for conversion into objects.
  • the factory is not required to extract all of the content during a conversion, but can pass the raw XML content to the constructed object for later use.
  • Figure 1 is a block diagram of one computing environment using the present messaging framework
  • Figure 2 is a diagram showing the organization of a tag library used to perform conversion between XML and code objects
  • Figure 3 is a conceptual diagram illustrating conversion from XML
  • Figure 4 is a block diagram of another computing environment using the present messaging framework.
  • FIG. 5 is a block diagram showing in greater detail various components of the present messaging framework.
  • FIG. 1 a block diagram is shown of one computing environment using the present messaging framework, referred to as the "Ivory” messaging framework.
  • the messaging framework (configuration 101) is shown as residing within a container 103.
  • An example of one such container is a "servlet,” i.e. , an extension similar to a Java applet except that it runs on the server instead of the client.
  • Servlets are described in greater detail in Taylor and Kimmet, Core Java Web Server, Prentice Hall, 1999, incorporated herein by reference.
  • the messaging framework consists of a collection of components which, when initialized to an operational state, form a configuration of the messaging framework. These components include, as shown in Figure 1, a request message decoder 105, tag conversion routines 107, an invoker module 109, type conversion routines 111, and a response message encoder 113.
  • the messaging framework interacts with various user-define modules 115 that perform the desired services.
  • the message request decoder 105 receives an XML request message, e.g., a SOAP message, decodes the message, and for different tags of the XML message, passes the XML for the tag to a tag conversion routine 107.
  • Tag conversion routines 107 receive as input the XML for a tag and produce as output corresponding code objects (e.g., Java objects).
  • the message request decoder 105 makes these objects available to the invoker module 109 along with a corresponding command.
  • the invoker module 109 receives the command and invokes a corresponding user defined module 115 to perform the actual requested work.
  • the invoker modules 109 receives command results, in the form of objects, from the user defined module 115 and returns these results to the response message encoder 105.
  • the response message encoder 113 receives the result objects and for different ones of the objects, passes the object to a corresponding type conversion routine 111.
  • Type conversion routmes 111 perform the opposite function of tag conversion routines, i.e., receive as input an object and produce as output corresponding XML.
  • the response message encoder 113 uses the XML to create an
  • XML message e.g, a SOAP message.
  • the framework when a SOAP message is handed to the messaging framework, the framework performs the following steps: 1. Decode the message. 2. Convert any parameters to objects.
  • the present messaging framework provides for the separation and distinction of different aspects of remote method invocation, potentially allowing for these different aspects to be addressed by different programmers or developers. For example, an invoker developer would be concerned with what gets done in a request, a tag conversion developer would be concerned with what kinds of data can be passed in a request, and a protocol handler developer would be concerned with how messages get into and out of the messaging framework.
  • An important feature of the messaging framework is a "Tag Library" system in which special user defined modules (referred to sometimes hereafter as "type factories") are handed XML elements for conversion into objects.
  • a configuration is first built.
  • the configuration process begins by reading an ivory. config file, the content of which is specified in XML format.
  • the name of an XML top-level tag and its associated tag (toXML) converter are specified, as well as the name of a Java object and its type (fromXML) converter.
  • string which is a primitive type converter for a Java string
  • Product which is a user-defined type for a more complex object.
  • the messaging framework loads the ivory. config file and creates a tag library (converter library) having two types of converters: toXML converters, which map an object type to its corresponding converter, or "type factory," and fromXML converters, which map an XML tag and associated elements to its corresponding converter.
  • toXML converters which map an object type to its corresponding converter
  • type factory or "type factory”
  • fromXML converters which map an XML tag and associated elements to its corresponding converter.
  • the messaging framework converts objects from XML by matching the top-level XML tag with its associated converter.
  • Figure 3 an example of shown of how, using the tag library of Figure 2, a top-level Product element is converted from XML into a PreviewProduct using the PreviewProductType converter.
  • the messaging framework performs the following tasks in order to convert the XML representation of the Product into a PreviewProduct Java obj ect :
  • a complex type might contain simple types.
  • a converter for the complex type might use a converter for the simple type to help perform the conversion.
  • converter need not have knowledge of every element to perform a conversion; unknown elements may simply be passed along unconverted to a user defined module for the user defined module to handle. Considerable flexibility therefore results.
  • Appendix A shows a type converter that extracts text content and returns a String object.
  • the Ivory framework is not container dependent. Hence, although the
  • HTTP represents a convenient container with which the messaging framework may be used, any other desired system may be used.
  • Figure 4 shows the messaging framework used with email, in accordance with any of various email protocols.
  • the encoder/decoder 501 performs the functions of the encoder and decoder in the representation of Figure 1.
  • the encoder /decoder may represent the SOAP protocol encoding/decoding layer.
  • SOAP messages as remote method invocations, contain typed data. These data types are converted into objects before leaving the encoding/decoding layer 501. The responsibility for converting data types into objects falls on the type library 503.
  • the type library 503 performs the functions of tag conversion and type conversion in Figure 1.
  • the type library maps incoming XML data elements to type factories 505. When an XML element arrives that has an associated type factory, that factory builds a Java object from the XML.
  • the type factories are the converter routines of Figure 2.
  • the purpose of the messaging framework is to make remote method invocation easy to accomplish.
  • remote method invocation is used to invoke the services of request handlers.
  • a handler request is a remote object that exposes specific methods to the messaging framework. Maintaining these objects and routing incoming method calls is the responsibility of the handler registry 509.
  • the handler registry performs the invoker functions of Figure 1.
  • the handler objects correspond to the user defined modules of Figure 1.
  • the messaging framework does not require its handler objects to implement a fixed interface. Rather, all a handler object needs to expose a method to the messaging framework is to prefix the word "soap" to the front of any public method.
  • handler objects are loaded and bound into an invoker object.
  • the handler object undergoes introspection, in which all of the public methods of the handler object are inspected by name. Any methods starting with the keyword "soap" are exported for remote invocation purposes as illustrated in the code example of Appendix B.
  • the configuration services block 511 receives input from a configuration file as described in connection with Figure 2. Rather than using a simple text file for configuring the messaging framework, however, all framework objects are extracted from a configurator. In an exemplary embodiment, the configurator parses a DOM tree for configuration information.
  • FIG. 5 there is shown in Figure 5 an optional logging services block 515 that produces a log file 517, and an optional database connection manager 519.
  • the database connection manager allows handler objects to make database connections.
  • the database connection manager connects to a Ziplock database 521 associated with a ZiplockTM electronic software distribution server of the present assignee.
  • a code example illustrating invocation of the desired method is provided as

Abstract

The present invention, generally speaking, provides a messaging framework (101) including a flexible type conversion facility (107, 111) for use in remote method invocation via the Internet. When the framework (101) receives a message, a request message decoder (105) decodes the message; a tag conversion routine (107) converts any parameters into objects, locates the appropriate message handler; and an invoker module (107) invokes the requested method on that handler, and communicates a return value (or exception) via a response message. In the case of the SOAP protocol, for example, the return value (or exception) is encoded into XML and wrapped in a SOAP protocol response message. Dynamic type conversion (111) of parameters into objects is performed using a tag library system (107). In the tag library system (107), special user-defined modules (115) (called 'type factories') are handed XML elements for conversion into objects. Unlike a strictly type-conversion architecture such as classic object serialization, there are no dependencies between the XML input and the objects produced by the type factory. Furthermore, the factory is not required to extract all of the content during a conversion, but can pass the raw XML content to the constructed object for later use.

Description

TYPE CONVERSION TECHNIQUE FACILITATING REMOTE SERVICE INVOCATION
BACKGROUND OF THE INVENTION
1. Field of the Invention The present invention relates to distributed computing, in particular client/server communication and server/server communication.
2. State of the Art
Various techniques enabling software in one location to invoke the services of software at another location are known, including, for example, RPCs (Remote Procedure Calls), Java RMI (Remote Method Invocation), CORBA (Common Object Request Broker Architecture), and Microsoft COM (Common Object Model). Many of these techniques entail substantial complexity. Furthermore, in the case of COM, for example, COM components can only run on Microsoft Operating Systems, and COM requests cannot pass through a firewall. In contrast to the complexity of the foregoing solutions, XML (extensible Markup Language) has surged in popularity, due at least in part to its simplicity and flexibility.
The SOAP (Simple Object Access Protocol) protocol is XML-based and enables a client's request to be communicated over HTTP, across the Internet and through firewalls. XML documents are used for encoding of the invocation requests and responses. In the SOAP protocol, a method request is represented as an XML element with additional elements for parameters. The SOAP protocol considerably simplifies remote method invocation. Nevertheless, SOAP makes no provision for type conversion, i.e., mapping between XML and data types usable by the method being invoked and, in the reverse direction, between data types and XML. Two techniques are known. One technique encodes data types through "introspection," i.e., programmatically inspecting an object, walking through its member variables, and turning each into XML. In another technique, no mapping between data types and XML is performed at all. Rather, raw XML is simply passed to the method. Doing so makes for messy code within the method and has a tendency to defeat the discipline of good object-oriented coding practices. Hence, these techniques are fairly cumbersome.
Also, in these prior art mechanisms, versioning issues arise in which, if changes in services are made on the server side, corresponding changes must be made to each individual client to maintain operability. Programmers making changes to services must therefore concern themselves with client/server business logic, potentially a substantial burden.
Therefore, there remains a need for a flexible type conversion facility for use in remote method invocation, e.g., in conjunction with the SOAP protocol.
SUMMARY OF THE INVENTION The present invention, generally speaking, provides a messaging framework including a flexible type conversion facility for use in remote method invocation via the Internet. When the framework receives a message, it decodes the message, converts any parameters into objects, locates the appropriate message handler, invokes the requested method on that handler, and communicates a return value (or exception) via a response message. In the case of the SOAP protocol, for example, the return value (or exception) is encoded into XML and wrapped in a SOAP protocol response message. Dynamic type conversion of parameters into objects is performed using a tag library system. In the tag library system, special user-defined modules (called "type factories") are handed XML elements for conversion into objects. Unlike a strict type-conversion architecture such as classic object serialization, there are no dependencies between the XML input and the objects produced by the type factory. Furthermore, the factory is not required to extract all of the content during a conversion, but can pass the raw XML content to the constructed object for later use.
BRIEF DESCRIPTION OF THE DRAWING
The present invention may be further understood from the following description in conjunction with the appended drawing. In the drawing:
Figure 1 is a block diagram of one computing environment using the present messaging framework;
Figure 2 is a diagram showing the organization of a tag library used to perform conversion between XML and code objects;
Figure 3 is a conceptual diagram illustrating conversion from XML;
Figure 4 is a block diagram of another computing environment using the present messaging framework; and
Figure 5 is a block diagram showing in greater detail various components of the present messaging framework.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to Figure 1, a block diagram is shown of one computing environment using the present messaging framework, referred to as the "Ivory" messaging framework. In Figure 1, the messaging framework (configuration 101) is shown as residing within a container 103. An example of one such container is a "servlet," i.e. , an extension similar to a Java applet except that it runs on the server instead of the client. Servlets are described in greater detail in Taylor and Kimmet, Core Java Web Server, Prentice Hall, 1999, incorporated herein by reference.
The messaging framework consists of a collection of components which, when initialized to an operational state, form a configuration of the messaging framework. These components include, as shown in Figure 1, a request message decoder 105, tag conversion routines 107, an invoker module 109, type conversion routines 111, and a response message encoder 113. The messaging framework interacts with various user-define modules 115 that perform the desired services. The message request decoder 105 receives an XML request message, e.g., a SOAP message, decodes the message, and for different tags of the XML message, passes the XML for the tag to a tag conversion routine 107. Tag conversion routines 107 receive as input the XML for a tag and produce as output corresponding code objects (e.g., Java objects). The message request decoder 105 makes these objects available to the invoker module 109 along with a corresponding command. The invoker module 109 receives the command and invokes a corresponding user defined module 115 to perform the actual requested work. The invoker modules 109 receives command results, in the form of objects, from the user defined module 115 and returns these results to the response message encoder 105. The response message encoder 113 receives the result objects and for different ones of the objects, passes the object to a corresponding type conversion routine 111. Type conversion routmes 111 perform the opposite function of tag conversion routines, i.e., receive as input an object and produce as output corresponding XML. Finally, the response message encoder 113 uses the XML to create an
XML message, e.g, a SOAP message.
In general, when a SOAP message is handed to the messaging framework, the framework performs the following steps: 1. Decode the message. 2. Convert any parameters to objects.
3. Locate the appropriate handler.
4. Invoke the method on that handler.
5. Encode the return value (or exception) into XML. 6. Wrap the return value in a SOAP response message.
Whereas SOAP is only a protocol-layer construction, the present messaging framework provides for the separation and distinction of different aspects of remote method invocation, potentially allowing for these different aspects to be addressed by different programmers or developers. For example, an invoker developer would be concerned with what gets done in a request, a tag conversion developer would be concerned with what kinds of data can be passed in a request, and a protocol handler developer would be concerned with how messages get into and out of the messaging framework. An important feature of the messaging framework is a "Tag Library" system in which special user defined modules (referred to sometimes hereafter as "type factories") are handed XML elements for conversion into objects. Unlike a strict type-conversion architecture like classical object serialization, there are no dependencies between what XML enters the framework and the objects produced by each user defined module. Furthermore, the user defined modules are not required to extract all of the content during a conversion, but can pass raw XML content to the constructed object for later use.
To use the messaging framework, a configuration is first built. In an exemplary embodiment, the configuration process begins by reading an ivory. config file, the content of which is specified in XML format. The name of an XML top-level tag and its associated tag (toXML) converter are specified, as well as the name of a Java object and its type (fromXML) converter. In the example of Figure 2, two converters are specified: string, which is a primitive type converter for a Java string, and Product, which is a user-defined type for a more complex object.
The messaging framework loads the ivory. config file and creates a tag library (converter library) having two types of converters: toXML converters, which map an object type to its corresponding converter, or "type factory," and fromXML converters, which map an XML tag and associated elements to its corresponding converter.
In operation, the messaging framework converts objects from XML by matching the top-level XML tag with its associated converter. Referring to Figure 3, an example of shown of how, using the tag library of Figure 2, a top-level Product element is converted from XML into a PreviewProduct using the PreviewProductType converter. The messaging framework performs the following tasks in order to convert the XML representation of the Product into a PreviewProduct Java obj ect :
1. Get the name of the top-level tag, which is "Product. "
2. Use the fromXML portion of the tag library to look up the converter for the XML tag with the name "Product. " This step renders an instance of the PreviewProductType converter. 3. Invoke fromXML on the converter, which returns a Java object that is an instance of PreviewProduct.
Note that a complex type might contain simple types. In this instance, a converter for the complex type might use a converter for the simple type to help perform the conversion. Note also that converter need not have knowledge of every element to perform a conversion; unknown elements may simply be passed along unconverted to a user defined module for the user defined module to handle. Considerable flexibility therefore results.
Appendix A shows a type converter that extracts text content and returns a String object. The Ivory framework is not container dependent. Hence, although the
HTTP represents a convenient container with which the messaging framework may be used, any other desired system may be used. For example, Figure 4 shows the messaging framework used with email, in accordance with any of various email protocols.
Referring to Figure 5, a block diagram shows in greater detail various components of the present messagmg framework. The encoder/decoder 501 performs the functions of the encoder and decoder in the representation of Figure 1. Where the messaging framework is used with the SOAP protocol, for example, the encoder /decoder may represent the SOAP protocol encoding/decoding layer. SOAP messages, as remote method invocations, contain typed data. These data types are converted into objects before leaving the encoding/decoding layer 501. The responsibility for converting data types into objects falls on the type library 503. The type library 503 performs the functions of tag conversion and type conversion in Figure 1. The type library maps incoming XML data elements to type factories 505. When an XML element arrives that has an associated type factory, that factory builds a Java object from the XML. The type factories are the converter routines of Figure 2.
The purpose of the messaging framework is to make remote method invocation easy to accomplish. In the case of the present messaging framework, remote method invocation is used to invoke the services of request handlers. A handler request is a remote object that exposes specific methods to the messaging framework. Maintaining these objects and routing incoming method calls is the responsibility of the handler registry 509. The handler registry performs the invoker functions of Figure 1. The handler objects correspond to the user defined modules of Figure 1. In an exemplary embodiment, the messaging framework does not require its handler objects to implement a fixed interface. Rather, all a handler object needs to expose a method to the messaging framework is to prefix the word "soap" to the front of any public method. During initialization of the messaging framework, handler objects are loaded and bound into an invoker object. During the binding process, the handler object undergoes introspection, in which all of the public methods of the handler object are inspected by name. Any methods starting with the keyword "soap" are exported for remote invocation purposes as illustrated in the code example of Appendix B.
The configuration services block 511 receives input from a configuration file as described in connection with Figure 2. Rather than using a simple text file for configuring the messaging framework, however, all framework objects are extracted from a configurator. In an exemplary embodiment, the configurator parses a DOM tree for configuration information.
In addition, there is shown in Figure 5 an optional logging services block 515 that produces a log file 517, and an optional database connection manager 519. The database connection manager allows handler objects to make database connections. In the example of Figure 5, the database connection manager connects to a Ziplock database 521 associated with a ZiplockTM electronic software distribution server of the present assignee. A code example illustrating invocation of the desired method is provided as
Appendix C.
It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character thereof. The presently disclosed embodiments are therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalents thereof are intended to be embraced therein.

Claims

What is claimed is:
1. A method whereby one computer remotely invokes a service by another computer, wherein a message is used to construct an object to be used by the other computer in providing the service, the method comprising the steps of: providing, accessible to the other computer, a tag library comprising, for each of multiple tag values, a named routine for constructing respective corresponding objects; the one computer producing a message including tags denoting types, including at least one tag denoting one type to be used to construct an object, and, corresponding to each tag, text representing one or more element values, the message including an identifier of a requested service; decoding the message; for said one tag, calling a corresponding routine from the tag library, the routine constructing an object using one or more elements values of said one type; and making the object available to a handler for performing the requested service, and calling the handler.
2. The method of Claim 1, wherein the tag library comprises, for each of multiple data types, a named routine for producing a tag/elements representation of the data type, the method further comprising: the handler performing the requested service and returning result or status information including at least one data type; for said one data type, call a corresponding routine from the tag library, the routine producing a representation of the data type as a tag and, corresponding to the tag, text representing one or more element values; and sending a response message including the tag and element values.
3. The method of Claim 1, wherein the message is a SOAP message.
4. The method of Claim 2, wherein the response message is a SOAP message.
5. The method of Claim 1, wherein the message is an email message.
6. The method of Claim 2, wherein the response message is an email message.
7. The method of Claim 1, wherein, in addition to making the object available to a handler, other tag and element values not used to create the object are made available to the handler.
PCT/US2001/019007 2000-06-23 2001-06-12 Type conversion technique facilitating remote service invocation WO2002001356A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP01946318A EP1305710A4 (en) 2000-06-23 2001-06-12 Type conversion technique facilitating remote service invocation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59951000A 2000-06-23 2000-06-23
US09/599,510 2000-06-23

Publications (2)

Publication Number Publication Date
WO2002001356A1 true WO2002001356A1 (en) 2002-01-03
WO2002001356A9 WO2002001356A9 (en) 2002-12-27

Family

ID=24399919

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/019007 WO2002001356A1 (en) 2000-06-23 2001-06-12 Type conversion technique facilitating remote service invocation

Country Status (2)

Country Link
EP (1) EP1305710A4 (en)
WO (1) WO2002001356A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842623A1 (en) * 2002-07-19 2004-01-23 Canon Kk METHOD FOR TRANSLATING A MESSAGE FROM A FIRST LANGUAGE LANGUAGE INTO A SECOND LANGUAGE LANGUAGE
US7814211B2 (en) 2006-01-31 2010-10-12 Microsoft Corporation Varying of message encoding
US10698791B2 (en) 2018-07-28 2020-06-30 International Business Machines Corporation Handling request data with type safety in a remote service
CN114938387A (en) * 2022-07-22 2022-08-23 浙江中控技术股份有限公司 Data transmission method, device, system and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647316B (en) * 2019-09-23 2022-10-28 苏州达家迎信息技术有限公司 Method and device for generating universal business object, computer equipment and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
US5606493A (en) * 1992-06-18 1997-02-25 International Business Machines Corporation Distributed applications processing network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69903711T2 (en) * 1998-02-26 2003-06-26 Sun Microsystems Inc EXTENDED OBJECT RESTORATION AND REMOTE LOAD FOR NOTIFICATION OF EVENTS IN A DISTRIBUTED SYSTEM

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606493A (en) * 1992-06-18 1997-02-25 International Business Machines Corporation Distributed applications processing network
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1305710A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2842623A1 (en) * 2002-07-19 2004-01-23 Canon Kk METHOD FOR TRANSLATING A MESSAGE FROM A FIRST LANGUAGE LANGUAGE INTO A SECOND LANGUAGE LANGUAGE
US7555565B2 (en) 2002-07-19 2009-06-30 Canon Kabushiki Kaisha Method of translating a message from a first markup language into a second markup language
US7814211B2 (en) 2006-01-31 2010-10-12 Microsoft Corporation Varying of message encoding
US7925710B2 (en) 2006-01-31 2011-04-12 Microsoft Corporation Simultaneous API exposure for messages
US7949720B2 (en) 2006-01-31 2011-05-24 Microsoft Corporation Message object model
US10698791B2 (en) 2018-07-28 2020-06-30 International Business Machines Corporation Handling request data with type safety in a remote service
CN114938387A (en) * 2022-07-22 2022-08-23 浙江中控技术股份有限公司 Data transmission method, device, system and storage medium
CN114938387B (en) * 2022-07-22 2022-11-11 浙江中控技术股份有限公司 Data transmission method, device, system and storage medium

Also Published As

Publication number Publication date
EP1305710A4 (en) 2006-11-15
EP1305710A1 (en) 2003-05-02
WO2002001356A9 (en) 2002-12-27

Similar Documents

Publication Publication Date Title
US6757899B2 (en) Dynamic CORBA gateway for CORBA and non-CORBA clients and services
US7127700B2 (en) Method and apparatus for developing web services using standard logical interfaces to support multiple markup languages
Duftler et al. Web services invocation framework (wsif)
US6792605B1 (en) Method and apparatus for providing web based services using an XML Runtime model to store state session data
US7028312B1 (en) XML remote procedure call (XML-RPC)
US7725906B2 (en) Method and device for executing a function with selection and sending of multiple results in a client-server environment
US20030233477A1 (en) Extensible infrastructure for manipulating messages communicated over a distributed network
Jepsen SOAP cleans up interoperability problems on the Web
US20040045004A1 (en) System for runtime web service to java translation
US20030182364A1 (en) Method and apparatus for requesting and performing batched operations for web services
US20040226027A1 (en) Application interface wrapper
US20040177335A1 (en) Enterprise services application program development model
US20080141139A1 (en) Architecture and Process for Presenting Application Content to Clients
CN111988171B (en) Method, proxy server and system for calling SOAP Web service based on RESTful style request
US20080312898A1 (en) Method and a System for Network Management Information Representation
WO2002001356A1 (en) Type conversion technique facilitating remote service invocation
Varga et al. Engineering web service invocations from agent systems
Zou et al. Towards a Webcentric Legacy System Migration Framework
JP4233775B2 (en) Data communication method, data communication system, and program
Zhao et al. Automated glue/wrapper code generation in integration of distributed and heterogeneous software components
Koftikian et al. Simple object access protocol (SOAP)
Valikov et al. A model-transformers architecture for Web applications
Dabhi et al. Developing Enterprise Solution with Web Services Integration
Gao A Java Implementation of the Simple Object Access Protocol
Hsiao et al. A new development environment for an event-based distributed system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C2

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

COP Corrected version of pamphlet

Free format text: PAGES 1/5-5/5, DRAWINGS, REPLACED BY NEW PAGES 1/4-4/4; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

WWE Wipo information: entry into national phase

Ref document number: 2001946318

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001946318

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: 2001946318

Country of ref document: EP