GB2351573A - Using webdav with an asynchronous transport - Google Patents

Using webdav with an asynchronous transport Download PDF

Info

Publication number
GB2351573A
GB2351573A GB9914883A GB9914883A GB2351573A GB 2351573 A GB2351573 A GB 2351573A GB 9914883 A GB9914883 A GB 9914883A GB 9914883 A GB9914883 A GB 9914883A GB 2351573 A GB2351573 A GB 2351573A
Authority
GB
United Kingdom
Prior art keywords
webdav
client
uri
asynchronous transport
server
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
GB9914883A
Other versions
GB9914883D0 (en
Inventor
Angus J Cooke
Steve Hanson
James Morgan
Marc-Thomas Schmidt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to GB9914883A priority Critical patent/GB2351573A/en
Publication of GB9914883D0 publication Critical patent/GB9914883D0/en
Publication of GB2351573A publication Critical patent/GB2351573A/en
Application status is Withdrawn legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting

Abstract

A method of allowing a WebDAV (Web Distributed Authoring and Versioning) client (212) to access a WebDAV server (242) over an asynchronous transport protocol, includes the steps of, at the WebDAV client: receiving a WebDAV request, including a Uniform Resource Identifier (URI), from a client application; creating an asynchronous transport message from the WebDAV request; and sending the asynchronous transport message over an asynchronous transport protocol network (25), such as an MQSeries network, to a WebDAV server targeted in the URI. A field of the URI may identify a queue manager used by the client in creating and sending the asynchronous transport message. The server receives an asynchronous transport message from the client, including a URI, consults a field of The URI to determine which WebDAV classes should be invoked, and invokes these classes.

Description

2351573 :999065 1 USING WEEDAV WITH AN ASYNCHRONOUS TRANSPORT

Field of the Invention

The present invention relates to the field of data processing and more particularly to the field of remote collaborative authoring of documents where a plurality of users can work together at authoring documents held at a server.

Backqround of the Invention In a distributed computing environment where a plurality of data processing units are interconnected via a network, it is very useful to provide a mechanism for these data processing units to collaborate with each other in the authoring of a particular document or set of documents.

For example, a piece of software stored as a document can be authored simultaneously by a plurality of computer programmers located in different countries.

It is highly desirable that open standards be employed so that the collaborative authoring process can be performed via a plurality of different software products running on different data processing platforms (e.g., different operating systems, protocols and data formats).

In answer to these needs, an open standards-based (Internet-World Wide Web-based) distributed authoring and versioning standard called WebDAV (Web Distributed Authoring and Versioning) has been described in "Collaborative Authoring on the Web: Introducing WebDAV", ASIS (American; Society for Information Science) Bulletin, October /November 1998, E.

James Whitehead, Jr, pp 1-6. Whitehead describes an extension to the standard HTTP (hypertext transfer protocol) protocol which allows a plurality of client computers, each running a World Wide Web (WWW) browser application (e.g., Netscape Navigator), to perform collaborative authoring over the Internet of a set of common documents being held at a Web server. The extension is called WebDAV and the clients are called WebDAV clients and the server is called a WebDAV server. The WebDAV server stores documents and WebDav clients (tools) use the WebDAV protocol to access the WebDAV server over the Internet using the HTTP protocol to make changes to the documents in order to carry out the collaborative authoring process.

As was described above, the WebDAV protocol is a recent extension to the HTTP protocol which allows Web clients to perform distributed and collaborative authoring of Web documents stored at a Web server. For example, as shown in Fig. 1, WebDAV clients 11, 12 and 13 can access a 2 WebDAV server 14 over the Internet using the WebDAV protocol in order to add to, delete from or generally change WebDAV documents being held in the WebDAV server 14. The WebDAV protocol provides the appropriate locking mechanisms to make sure that only one WebDAV client at a time can access the same document in the WebDAV server 14. The WebDAV protocol also provides the appropriate namespace functionality so that each WebDAV client knows the appropriate names for the documents stored at the WebDAV server 14.

In addition to the document cited above, the WebDAV protocol is also described in "Distributed Authoring and Versioning Extensions for HTTP Enabled Team Authoring" Microsoft Systems Journal, June 1999, Leonid Braginski and Matthew Powell, p. 53-67; and "WebDAV A Network Protocol for Remote Collaborative Authoring on the Web", European Computer Supported Cooperative Work Conference 1999 (ECSCW '99), E. James Whitehead, Jr. & Yaron Y. Goland.

Because WebDAV is a protocol that extends the HTTP protocol, a typical request made by a client application to a WebDAV client 11 causes a code stream of XML (eXtensible Markup Language) to be created and flowed from the WebDAV client 11 via HTTP to the WebDAV server 14 via the Internet (with the target server location being provided by a WebDAV properties file). However, because HTTP is a synchronous protocol, if the communication is two-way, the WebDAV client 11 must wait for a reply from the WebDAV server 14 before the WebDAV client 11 can accept other requests from other client applications. The WebDAV client 11 is left in a suspended state where it cannot do any further work until the WebDAV server 14 provides a reply. This can lead to many inefficiencies.

Summary of the Invention

According to a first aspect, the present invention provides a method of allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising the steps of, at the WebDAV client: receiving a WebDAV request, including a Uniform Resource Identifier (URI), from a client application; creating an asynchronous transport message from the WebDAV request; and sending the asynchronous transport message over an asynchronous transport protocol network to a WebDAV server targeted in the URI.

Preferably, a field of the URI identifies a queue manager to be used by the TATebDAV client in creating and sending the asynchronous transport message.

3 According to a second aspect, the present invention provides a method of allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising the steps of, at the WebDAV server:

receiving an asynchronous transport message received over an asynchronous transport protocol network from a WebDAV client, the message including a WebDAV Uniform Resource Identifier (URI); consulting a field of the URI to determine which WebDAV server classes should be invoked; and invoking the WebDAV server classes determined at the consulting step.

According to third and fourth aspects, the present invention provides systems corresponding to the methods of the first and second aspects.

According to fifth and sixth aspects, the present invention provides computer program products stored on computer readable storage media, for, when run on respective computers, carrying out the method steps of the first and second aspects, respectively.

Thus, with the present invention, WebDAV request a/repl ies can be sent over an asynchronous transport mechanism, thus freeing up a WebDAV client from having to wait for a reply from a WebDAV server. The WebDAV client can collect the reply from a message queue at a later time.

2S Brief Description of the Drawinas

The present invention will be better understood by the below described detailed description of the preferred embodiments thereof which will be presented in conjunction with the following drawing figures: 30

Figure I is a block diagram showing a basic architecture of a conventional WebDAV system to which the present invention can be advantageously applied; Figure 2 is a block diagram showing a basic architecture of a WebDAV system modified to operate over an asynchronous transportr according to a preferred embodiment of the present invention; Figure 3 shows the structure of a WebDAV URI according to a preferred embodiment of the present invention; Figure 4 is a flowchart showing the steps taken by a client according to a preferred embodiment of the present invention; and Figure 5 is a flowchart showing the steps taken by a server according to a preferred embodiment of the present invention.

4 Detailed Description of the Preferred Embodiments

Message queuing and commercially available message queuing products are described in "Messaging and Queuing Using the MQI", B.Blakeley, H.Harris & R.Lewis, McGraw-Hill, 1994, and in the following publications which are available from IBM Corporation: "An Introduction to Messaging and Queuing" (IBM Document number GC33-0805-00) and "MQSeries - Message Queue Interface Technical Reference" (IBM Document number SC33-0850-01).

IBM and MQSeries are trademarks of IBM Corporation. IBM's MQSeries messaging software products provide transactional messaging support, synchronising messages within logical units of work in accordance with a messaging protocol which gives assured once and once-only message delivery even in the event of system or communications failures. MQSeries products provide assured delivery by not finally deleting a message from storage on a sender system until it is confirmed as safely stored by a receiver system, and by use of sophisticated recovery facilities. Prior to commitment of transfer of the message upon confirmation of successful storage, both the deletion of the message from storage at the sender system and insertion into storage at the receiver syslEem are kept 'in doubt' and can be backed out atomically in the event of a failure. This message transmission protocol and the associated transactional concepts and recovery facilities are described in international patent application WO 95/10805 and US patent 5465328, which are incorporated herein by reference.

Asynchronous messaging and queuing software middleware products, such as MQSeries, as described above, are very well known in the art and are heavily used around the world to interconnect software products running on heterogeneous platforms. Two software products exchange data by placing messages in queues and later retrieving messages from queues.

This is asynchronous because once a sending application has placed a message destined for a destination application in a queue, the sending application can proceed with doing some other work or can shut down entirely. At a later time, the sending application can check a queue to determine whether the destination application has provided a reply. This is to be sharply contrasted with a synchronous scheme (such as HTTP) where a sending application sends data to a destination application and then must wait until the destination replies before the sending application can proceed with further work.

In the preferred embodiment of the present invention shown in Fig.

2, the WebDAV protocol, which was originally written to work in conjunction with HTTP (a synchronous protocol) is made to work over an asynchronous protocol such as that of MQSeries.

A Uniform Resource Identifier (URI) is commonly used by WebDAV to provide information in a WebDAV request concerning what work the request is presently requesting- The preferred embodiment of the present invention places additional information in the URI over and above the information provided in an HTTP-based WebDAV URI in order that the WebDAV client receiving a request (including the URI) from a client application (e.g. 211) can create an asynchronous message from the request.

Specifically, as shown in Fig. 3, a WebDAV URI has a field 31 for storing an identifier of the target WebDAV server host name and port number, a field 32 for storing an identifier of the specific MQSeries queue manager which should receive the request on the target WebDAV server, a field 33 for storing an identifier of the WebDAV server classes to be invoked by the target WebDAV server, and a field 34 for storing an identifier of the WebDAV server target document which should be acted upon by the server classes. The f ield 32 has been added by the URI according to the preferred embodiment of the present invention over and above the usual WebDAV URI fields required for HTTP synchronous transmission.

A WebDAV client (e.g., 11) typically looks at the URI and creates an XML HTTP request targeted at the WebDAV server (e.g., 14) specified in the first field 31 of the URI. The target WebDAV server 14 is usually an ordinary Web server but provided with WebDAV extensions. The WebDAV server 14 receives the HTTP request, identifies it as being a WebDAV request and passes it to the WebDAV extension portion of the web server.

The field 33 of the URI is checked to determine which server classes within the WlebDAV extension should be invoked. Specifically, field 33 stores a keyword used to index into a WebDAV properties file). The entry in this file that matches the keyword identifies the particular implementation of WebDAV server classes to use. These classes are then instantiated and invoked as required to process the request.

In the preferred embodiment of the present invention, however, the WebDAV client is structured so that it sends data to the WebDAV server over an asynchronous MQSeries network instead of over the synchronous HTTP network. As shown in Fig. 2, a client 21 includes a client application 211 (which is the application that wishes to contribute, along with other such applications on other platforms, in a collaborative authoring operation) and a WebDAV client 212 (which is called upon by application 211 for performing WebDAV calls to WebDAV servers). The WebDAV client 212 receives a WebDAV request from client application 211, transforms the request into an MQSeries message and sends the MQSeries message over an asynchronous MQSeries network 25 to the target MQSeries queue manager (not shown) which has been identified in the field 32 of the URI of the WebDAV request. The actions taking place will now be 6 explained by reference to the flowcharts of Figs. 4 and 5, which show the steps taken in the client and server, respectively.

Specifically, a client application 211 makes a WebDAV request to a WebDAV client 212 (step 41) placing the host name and port number of the target WebDAV server in field 31 of the URI of the request, the target

MQSeries queue manager in field 32, the WebDAV server classes to be invoked on the target WebDAV server in field 33 and the target WebDAV document in field 34. WebDAV client 212 receives the request and notices (step 42) that there is an identifier identifying a specific NIQSeries queue manager in field 32 of the URI of the WebDAV request. As a result, the WebDAV client 212 transforms the request into an MQSeries message and sends the message over the MQSeries network 25 (step 43) to the specific MQSeries queue manager identified in the field 32 of the URI of the request on the specific target WebDAV server identified by host name and port number in the field 31.

As also shown in Fig. 2, the target WebDAV server 24 is provided for receiving the MQSeries WebDAV request described abbve that has come over the MQSeries network 25. WebDAV server 24 includes an MQSeries WebDAV Listener 241 which performs the usual MQSeries function of checking (listening) for any messages appearing on a message queue from over the MQSeries network 25. Upon receiving an MQSeries WebDAV request from over the network 25, the MQSeries WebDAV Listener 241 instantiates and invokes the correct set of WebDAV server classes (as specified in field 33 of the URI which accompanies the MQSeries WebDAV request over the network 25) and uses the server classes to operate on the WebDAV server target document identified in field 34.

Taking a particular example, the client application 211 provides a WebDAV GET request (step 41), this is a request to retrieve the contents of a particular document from a repository maintained by a Repository Manager 243 at the WebDAV server 24. The WebDAV GET request includes a WebDAV URI. The client application 211 wants to use an asynchronous transport for sending the request to the server 24 as opposed to using the usual HTTP synchronous transport as is common in WebDAV. Thus, the client application 211 has set the value of field 12 to an identifier of the target MQ:eries queue manager on the target WebDAV server 24. The WebDAV client 212 receives the request and notices (step 42) that the WebDAV URI field 32 has the identifier of a queue manager. WebDAV client

212 then creates an MQSeries message from the request and sends (step 43) the message over the MQSeries network 25 in an asynchronous manner.

The MQSeries WebDAV Listener 241 then receives (step 51) the message and consults (step 52) the field 33 in the WebDAV URI to determine which

WebDAV server classes to invoke on WebDAV server 242. The Listener 241 also consults (step 53) the field 34 to determine the WebDAV server

7 target document to be retrieved from the repository via the Repository Manager 243. The Listener 241 then invokes (step 54) the server classes on the WebDAV server 242 which results in the document being retrieved from the repository (from where it can now be sent back to the client 21).

In the preferred embodiment, the WebDAV client 212 receives the queue manager identifier via the WebDAV URI in a specially added field.

However, in another embodiment, the WebDAV URI could omit the field 32 and thus use an ordinary WebDAV URI and the queue manager could be ascertained from, for example, the host name and port number of the target server (from field 31) where there is only one queue manager per

WebDAV server (and a workload balancing scheme could be used to select one of a plurality of queue managers where there is a plurality of queue managers per WebDAV server).

The above technique as described in the example is very advantageous because the client 21 does not need to wait in a blocked state for the WebDAV server 24 to provide the request6d. document (as was required in the prior art when the HTTP protocol was u.9ed). This is because an asynchronous transport protocol is now used between the client 21 and the server 24.

!,Ihile MQSeries has been used in the preferred embodiment as the specific asynchronous mes sag ing /queueing transport, any other known asynchronous messaging/queuing transport (e.g., BEA Corp.'s BEA MessageQueue product which was originally designed by Digital Equipment Corp. could also be used, as could Microsoft's MSMQ message queuing product, each product is a trademark of the respective company).

8

Claims (8)

1 A method of allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising the steps of, at the WebDAV client:
receiving a WebDAV request, including a Uniform Resource Identifier (URI), from a client application; creating an asynchronous transport message from the WebDAV request.7 and sending the asynchronous transport message over an asynchronous transport protocol network to a WebDAV server targeted in the URI.
2- The method of claim 1 wherein a field of the URI identifies a queue manager to be used by the WebDAV client in creating and sending the asynchronous transport message.
3. A method of allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising the steps of, at the WebDAV server:
receiving an asynchronous transport message received over an asynchronous transport protocol network from a WebDAV client, the message including a WebDAV Uniform Resource Identifier (URI); consulting a field of the URI to determine which WebDAV server classes should be invoked; and invoking the WebDAV server classes determined at the consulting step.
4. A system for allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising, at the WebDAV client:
means for receiving a WebDAV request, including a Uniform Resource Identifier (URI), from a client application; means for creating an asynchronous transport message from the WebDAV request; and 9 means for sending the asynchronous transport message over an asynchronous transport protocol network to a WebDAV server targeted in the URI.
5. The system of claim 4 wherein a field of the URI identifies a queue manager to be used by the WebDAV client in creating and sending the asynchronous transport message.
6. A system for allowing a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server over an asynchronous transport protocol, comprising, at the WebDAV server:
means for receiving an asynchronous transport message received over an asynchronous transport protocol network from a WebDAV client, the message including a WebDAV Uniform Resource Identifier (URI); means for consulting a field of the URI to determine which WebDAV server classes should be invoked; and means for invoking the WebDAV server classes determined at the consulting step.
7. A computer program product stored on a computer readable storage medium for, when run on a computer, instructing the computer to carry out the steps of claim 1.
8. A computer program product stored on a computer readable storage medium for, when run on a computer, instructing the computer to carry out the steps of claim 3.
GB9914883A 1999-06-26 1999-06-26 Using webdav with an asynchronous transport Withdrawn GB2351573A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9914883A GB2351573A (en) 1999-06-26 1999-06-26 Using webdav with an asynchronous transport

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9914883A GB2351573A (en) 1999-06-26 1999-06-26 Using webdav with an asynchronous transport

Publications (2)

Publication Number Publication Date
GB9914883D0 GB9914883D0 (en) 1999-08-25
GB2351573A true GB2351573A (en) 2001-01-03

Family

ID=10856063

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9914883A Withdrawn GB2351573A (en) 1999-06-26 1999-06-26 Using webdav with an asynchronous transport

Country Status (1)

Country Link
GB (1) GB2351573A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691119B1 (en) * 1999-07-26 2004-02-10 Microsoft Corporation Translating property names and name space names according to different naming schemes
EP1708087A2 (en) * 2005-03-28 2006-10-04 Microsoft Corporation Using subqueues to enhance local message processing
WO2007043992A1 (en) * 2005-09-29 2007-04-19 Teamon Systems, Inc. Method and system providing asynchronous communications over the internet
US7600030B2 (en) 2005-08-31 2009-10-06 Microsoft Corporation Compounding of HTTP authoring protocol
US8010850B2 (en) 2005-08-31 2011-08-30 Microsoft Corporation Client extended error handling
US8468204B2 (en) 2005-09-29 2013-06-18 Research In Motion Limited Communications system providing asynchronous communications over the internet and related methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2330502A (en) * 1997-08-28 1999-04-21 Ibm Client-side asynchronous form management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2330502A (en) * 1997-08-28 1999-04-21 Ibm Client-side asynchronous form management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"WEBDAV Working Group Meeting" & http://www.ics.uci.edu/ïejw/authoring/la98/minutes.html(02.04.1998) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691119B1 (en) * 1999-07-26 2004-02-10 Microsoft Corporation Translating property names and name space names according to different naming schemes
EP1708087A2 (en) * 2005-03-28 2006-10-04 Microsoft Corporation Using subqueues to enhance local message processing
EP1708087A3 (en) * 2005-03-28 2007-08-08 Microsoft Corporation Using subqueues to enhance local message processing
US7631315B2 (en) 2005-03-28 2009-12-08 Microsoft Corporation Using subqueues to enhance local message processing
US7600030B2 (en) 2005-08-31 2009-10-06 Microsoft Corporation Compounding of HTTP authoring protocol
US8010850B2 (en) 2005-08-31 2011-08-30 Microsoft Corporation Client extended error handling
WO2007043992A1 (en) * 2005-09-29 2007-04-19 Teamon Systems, Inc. Method and system providing asynchronous communications over the internet
US8468204B2 (en) 2005-09-29 2013-06-18 Research In Motion Limited Communications system providing asynchronous communications over the internet and related methods

Also Published As

Publication number Publication date
GB9914883D0 (en) 1999-08-25

Similar Documents

Publication Publication Date Title
Leggett et al. Viewing Dexter with open eyes
US8205213B2 (en) Method and apparatus for dynamically brokering object messages among object models
US7899931B2 (en) System and method for message processing and routing
US8122457B2 (en) System and method for facilitating the exchange of information among applications
US7310684B2 (en) Message processing in a service oriented architecture
US8166110B2 (en) Resource list management system
CN1119000C (en) Method for transmitting message on network
US7099926B1 (en) Object caching and update queuing technique to improve performance and resource utilization
US5790789A (en) Method and architecture for the creation, control and deployment of services within a distributed computer environment
US7529823B2 (en) Notifications for shared resources
US5721825A (en) System and method for global event notification and delivery in a distributed computing environment
US5857188A (en) Management of client requests in a client-server environment
US6202085B1 (en) System and method for incremental change synchronization between multiple copies of data
US8688972B2 (en) Secure service oriented architecture
JP4528742B2 (en) Stand-by method invocation method in a distributed component applications
US6823391B1 (en) Routing client requests to back-end servers
EP1483671B1 (en) Provisioning aggregated services in a distributed computing environment
US7523463B2 (en) Technique to generically manage extensible correlation data
EP0950969B1 (en) Method and system for out-tasking conversions of message attachments
US6230156B1 (en) Electronic mail interface for a network server
AU636152B2 (en) Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
CA2457511C (en) Method, apparatus, and user interface for managing electronic mail and alert messages
US5727145A (en) Mechanism for locating objects in a secure fashion
US7516176B2 (en) Distributed request and response queues for service processor
US8615601B2 (en) Liquid computing

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)