GB2356470A - Using WebDAV for distributed development of a complex software application - Google Patents
Using WebDAV for distributed development of a complex software application Download PDFInfo
- Publication number
- GB2356470A GB2356470A GB9927059A GB9927059A GB2356470A GB 2356470 A GB2356470 A GB 2356470A GB 9927059 A GB9927059 A GB 9927059A GB 9927059 A GB9927059 A GB 9927059A GB 2356470 A GB2356470 A GB 2356470A
- Authority
- GB
- United Kingdom
- Prior art keywords
- webdav
- server
- client
- software application
- computer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Abstract
A method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, includes steps carried out at the WebDAV client of: creating a WebDAV document containing a software development operation command to be carried out with respect to a computer software application which is currently being developed; and making a WebDAV PUT call to the WebDAV server, the PUT call including the created WebDAV document and a WebDAV identifier identifying the WebDAV server.
Description
1 2356470
USING WEBDAV FOR DISTRIBUTED DEVELOPMENT OF A COMPLEX SOFTWARE APPLICATION 5 Field of the Invention
The present invention relates to the field of data processing and more particularly to the distributed development of a software application which, once fully developed, is run in a data processing environment.
Background of the Invention
Software applications are becoming more and more complex in their internal structure. It has thus proven useful for the development of such applications to be carried out in a distributed fashion, meaning that multiple application developers can work on developing an application each from their own local workstation.
In such environments, it is necessary to store at least one repository of configuration data so that the distributed application developers can share this configuration data (also known as tool metadata) during the coordinated development of the complex application.
For example, a message broker is a well known complex application which benefits from being developed according to the distributed development idea discussed above. In a message broker, the configuration data stored in a repository includes data for defining a sequence of message processing nodes which process input messages as they pass through the message broker.
In the current state of the art, such distributed development of software applications has been carried out using proprietary repositories for storing configuration data and proprietary protocols for allowing remote clients to access the proprietary repositories. This has worked well when all of the application developer clients are located within the same organization (e.g., the developers all work for the same company, even though they may be spread around the world). However, this technique does not provide the flexibility of allowing application developer clients from outside of the organization (e.g., temporary contractors, customers, employees working from home) to work transparently on developing the application alongside clients from within the organization. The proprietary nature of the repositories and/or protocols prevent this transparent cooperation.
2 It is highly desirable that open standards be employed in the use of repositories and communication protocols for the distributed development of complex applications so that the development can be performed via a plurality of different clients running on different data processing platforms (e.g., different operating systems, protocols and data formats) both inside and outside of a single organization open standards-based software application configuration has been described in "Collaborative Authoring on the Web: introducing webDAVII, 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 (Web Distributed Authoring and Versioning) and the clients are called WebDAV clients and the server is called a WebDAV server. The WebDAV server stores configuration data in the form of documents for a particular software application and WebDAV clients (tools) use the WebDAV protocol to access the WebDAV server over the Internet to make changes to the configuration data documents in order to carry out the configuration of a software application prior to deployment of the software application in a running data processing environment.
Because the Web is used, the client configuration tools can be located far away (geographically) from the site where the software product to be configured is located. Further, the clients can be situated on data processing platforms which are very different from (heterogeneous) the platform of the software application to be configured. However, there is a great need in the art for not only the configuration of a software application to be carried out via the Web but also for the actual development of the software application to be carried out over the Web. Thus, according to the current state of the art, distributed development of a software application must be done via proprietary tools and not based on open standards, thus greatly limiting the use of such tools and, correspondingly, limiting their commercial value in the marketplace.
Summary of the Invention
According to a first aspect, the present invention provides d-:'.
method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, comprising steps carried out at the WebDAV client of: creating a WebDAV document containing a software 3 development operation command to be carried out with respect to a computer software application which is currently being developed; and making a WebDAV PUT call to the WebDAV server, the PUT Call including the created webDAV document and a WebDAV identifier identifying the webDAv server.
According to a second aspect, the invention provides a method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV serv er, comprising steps carried out at the WebDAV server of: receiving a WebDAV PUT call from the WebDAV client, the WebDAV PUT call including a WebDAV document containing a software development operation command and the WebDAV PUT call also including a WebDAV identifier identifying the WebDAV server; interpreting the contents of the document as a command to carry out a software development operation with respect to a computer software application which is currently being developed; and facilitating the carrying out of the command to trigger a corresponding change in the computer software application which is currently being developed.
According to third and fourth aspects, the present invention provides data processing apparatuses for carrying out the respective methods of the first and second aspects.
According to fifth and sixth aspects, the invention provides computer program products for, when run on a computer, carrying out the method steps of the first and second aspects, respectively.
Thus, with the present invention, a standard Web-based mechanism, the WebDAV protocol, is used for accessing tool metadata from a repository. Thus, neither the repository nor the protocols are proprietary and instead open standards are used. Accordingly, any WebDAV server can be used as a metadata repository, and thus the application development tools are not tied in to a proprietary solution. Further, the invention not only provides distributed application development over an Intranet but also over the Internet transparently so that multiple organizations can cooperate on distributed application development.
Still further, since the WebDAV protocol is non-proprietary, many different tools can be used to manipulate the content of the tool metadata (even Web browsers support the WebDAV protocol).
Brief Description of the Drawings
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:
4 Figure 1 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 flowchart showing the steps taking place in a WebDAV client, according to a preferred embodiment of the present invention; and Figure 3 is a flowchart showing the steps taking place in a WebDAV server, according to a preferred embodiment of the present invention.
Detailed Description of the Preferred Embodiments
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 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 Enable 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 199), E. James Whitehead, Jr. & Yaron Y. Goland.
According to the WebDAV protocol, a WebDAV client (e.g., 11) can issue a PUT command in order to place some accompanying data into a file at the WebDAV server 14. The WebDAV client 11 provides the PUT command together with the data in the form of a document which is to be added to the WebDAV server 14 and a uniform Resource Identifier (URI) to identify a location within the namespace of the WebDAV server 14 where the document is to be added. The preferred embodiment of the present invention extends the notion of what a document is by defining tool metadata as documents. Once tool metadata is defined as documents, all of the facilities of WebDAV can be used for distributed development of applications based on the metadata in a WebDAV server.
First, the steps in the WebDAV client application (e.g., 11) will be described with reference to Fig. 2.
1) Create a WebDAV document using, for example, an editor (step 21 of Fig. 2). This is where the WebDAV client (e.g., 11) creates the particular application development command(s) that the WebDAV client 11 wants to be carried out on the WebDAV server in order to further develop an application.
2) Build a URI (step 22) <WebDAN__server>/<hostname>:<port>/, where <webDAV-server> gives the name of the WebDAV server implementation <hostname>:<port> specifies the machine and port that the WebDAV server resides on.
3) Make a WebDAV PUT call (step 23) over the Internet to the WebDAV server 14 specifying the URI built at step 22 and passing the document created at step 21 as data.
Second, the steps taking place within the WebDAV server 14 on host <hostname> listening on port <port> will be described with reference to the flowchart of Fig. 3.
1) WebDAV server 14 receives (step 31) the WebDAV PUT call from WebDAV client 11 along with the WebDAV document.
2) Interpret the contents of the PUT call's WebDAV document as an application development command (or as plural commands if the document contains plural commands) (step 32).
3) Facilitating (step 33) the carrying out of the command so that the application under development is further developed in accordance with the contents of the PUT call's document. In this step, the WebDAV server updates the tool metadata in the repository to reflect the change made by the WebDAV client and uses the overall tool metadata in the repository to trigger a corresponding change in the application under development.
6
Claims (14)
1. A method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, comprising steps carried out at the WebDAV client of:
creating a WebDAV document containing a software development operation command to be carried out with respect to a computer software application which is currently being developed; and making a WebDAV PUT call to the WebDAV server, the PUT call including the created WebDAV document and a WebDAV identifier identifying the WebDAV server.
2. The method of claim 1 wherein the WebDAV client accesses the WebDAV server over the Internet.
3. The method of claim 1 wherein the WebDAV identifier is a Uniform Resource Identifier (URI).
4. A method of performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, comprising steps carried out at the WebDAV server of:
receiving a WebDAV PUT call from the WebDAV client, the WebDAV PUT call including a WebDAV document containing a software development operation command and the WebDAV PUT call also including a WebDAV identifier identifying the WebDAV server; interpreting the contents of the document as a command to carry out a software development operation with respect to a computer software application which is currently being developed; and facilitating the carrying out of the command to trigger a corresponding change in the computer software application which is currently being developed.
5. The method of claim 4 wherein the WebDAV client accesses the WebDAV server over the Internet.
6. The method of claim 4 wherein the WebDAV identifier is a Uniform Resource Identifier (URI).
7 7. A data processing apparatus for performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, comprising at the WebDAV client: 5 means for creating a WebDAV document containing a software development operation command to be carried out with respect to a computer software application which is currently being developed; and means for making a WebDAV PUT call to the WebDAV server, the PUT call including the created WebDAV document and a WebDAV identifier identifying the WebDAV server.
8. The apparatus of claim 7 wherein the WebDAV client accesses the WebDAV server over the Internet.
9. The apparatus of claim 7 wherein the WebDAV identifier is a Uniform Resource Identifier (URI).
10. A data processing apparatus for performing distributed development of a computer software application by using a WebDAV (Web Distributed Authoring and Versioning) client to access a WebDAV server, comprising at the WebDAV server:
means for receiving a WebDAV PUT call from the WebDAV client, the WebDAV PUT call including a WebDAV document containing a software development operation command and the WebDAV PUT call also including a WebDAV identifier identifying the WebDAV server; means for interpreting the contents of the document as a command to carry out a software development operation with respect to a computer software application which is currently being developed; and means for facilitating the carrying out of the command to trigger a corresponding change in the computer software application which is currently being developed.
11. The apparatus of claim 10 wherein the WebDAV client accesses the WebDAV server over the Internet.
12. The apparatus of claim 10 wherein the WebDAV identifier is a Uniform Resource Identifier (URI).
13. A computer program product stored on a computer readable storage medium for, when run on a computer, instructing the computer to carry out the method of claim 1.
8
14. A computer program product stored on a computer readable storage medium for, when run on a computer, instructing the computer to carry out the method of claim 4.
- I
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9927059A GB2356470B (en) | 1999-11-17 | 1999-11-17 | Using webdav for distributed development of a complex software application |
GB0007574A GB0007574D0 (en) | 1999-11-17 | 2000-03-30 | Ensuring referential integrity when using webdav for distributed developement of a complex software application |
US09/680,836 US6760886B1 (en) | 1999-11-17 | 2000-10-06 | Ensuring referential integrity when using WebDAV for distributed development of a complex software application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9927059A GB2356470B (en) | 1999-11-17 | 1999-11-17 | Using webdav for distributed development of a complex software application |
Publications (3)
Publication Number | Publication Date |
---|---|
GB9927059D0 GB9927059D0 (en) | 2000-01-12 |
GB2356470A true GB2356470A (en) | 2001-05-23 |
GB2356470B GB2356470B (en) | 2001-10-17 |
Family
ID=10864593
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9927059A Expired - Fee Related GB2356470B (en) | 1999-11-17 | 1999-11-17 | Using webdav for distributed development of a complex software application |
GB0007574A Ceased GB0007574D0 (en) | 1999-11-17 | 2000-03-30 | Ensuring referential integrity when using webdav for distributed developement of a complex software application |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0007574A Ceased GB0007574D0 (en) | 1999-11-17 | 2000-03-30 | Ensuring referential integrity when using webdav for distributed developement of a complex software application |
Country Status (1)
Country | Link |
---|---|
GB (2) | GB2356470B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1308841A2 (en) * | 2001-11-05 | 2003-05-07 | Sun Microsystems, Inc. | Service portal with application framework for facilitating application and feature development |
-
1999
- 1999-11-17 GB GB9927059A patent/GB2356470B/en not_active Expired - Fee Related
-
2000
- 2000-03-30 GB GB0007574A patent/GB0007574D0/en not_active Ceased
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1308841A2 (en) * | 2001-11-05 | 2003-05-07 | Sun Microsystems, Inc. | Service portal with application framework for facilitating application and feature development |
EP1308841A3 (en) * | 2001-11-05 | 2006-05-24 | Sun Microsystems, Inc. | Service portal with application framework for facilitating application and feature development |
Also Published As
Publication number | Publication date |
---|---|
GB2356470B (en) | 2001-10-17 |
GB0007574D0 (en) | 2000-05-17 |
GB9927059D0 (en) | 2000-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6031977A (en) | Object-oriented distributed communications directory service | |
US8443035B2 (en) | System and method for collaboration using web browsers | |
EP0726004B1 (en) | Object-oriented rule-based protocol system | |
US5594921A (en) | Authentication of users with dynamically configurable protocol stack | |
Davis et al. | Towards an integrated information environment with open hypermedia systems | |
US5974443A (en) | Combined internet and data access system | |
AU2001293254B2 (en) | Accessing data stored at an intermediary from a service | |
EP1308841A2 (en) | Service portal with application framework for facilitating application and feature development | |
US20040024843A1 (en) | Method for provisioning distributed web applications | |
US20120331044A1 (en) | Information Messaging and Collaboration System | |
US6948163B2 (en) | Remote electronic file builder | |
WO2002019131A1 (en) | System and method for collaboration using web browsers | |
JPH09185538A (en) | Method and device for front end navigator and network architecture | |
WO2001027833A2 (en) | Method and system for operating a content management system | |
JPH0954782A (en) | Subagent service agent for execution of request of web browser | |
JP2003288143A (en) | Method for automatically generating user interface | |
JP2002183116A (en) | Method and device for composing document | |
US6199111B1 (en) | Client-led network computing system and its method | |
EP0815518A1 (en) | Computer system and computer-implemented process for creation and maintenance of on-line services | |
US6760886B1 (en) | Ensuring referential integrity when using WebDAV for distributed development of a complex software application | |
US20040163037A1 (en) | System and method for invoking WebDAV methods via non-WebDAV protocols | |
JPH11167584A (en) | Page shift method and its execution device and medium recording page shift processing program and data | |
EP1506478B1 (en) | Exchange infrastructure system and method | |
Davis et al. | Microcosm: An open hypermedia environment for information integration | |
JPH1127285A (en) | Network management system and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20041117 |