A Link Server For Integrating the Web with Third Party Applications


Tim Cawley, Department of Computer Science, Flinders University of South Australia, G.P.O. Box 2100, Adelaide, SA 5001, Australia. Phone +61 8 201 3138 Email: tim@cs.flinders.edu.au Home Page: Tim Cawley [HREF 1]

Helen Ashman, Information Technology Division, Defence Science Technology Organisation, P.O. Box 1500, Salisbury, SA 5108, Australia. Phone +61 8 259 7007 Email: hla@itd.dsto.gov.au

Greg Chase, Information Technology Division, Defence Science Technology Organisation, P.O. Box 1500, Salisbury, SA 5108, Australia. Phone +61 8 259 5383 Email: grc@itd.dsto.gov.au

Michael Dalwood, Information Technology Division, Defence Science Technology Organisation, P.O. Box 1500, Salisbury, SA 5108, Australia

Scott Davis, Information Technology Division, Defence Science Technology Organisation, P.O. Box 1500, Salisbury, SA 5108, Australia. Phone +61 8 259 6306 Email: sbd@itd.dsto.gov.au

Janet Verbyla, Department of Computer Science, Flinders University of South Australia, G.P.O. Box 2100, Adelaide, SA 5001, Australia. Phone +61 8 201 3638 Email: janet@cs.flinders.edu.au Home Page: Janet Verbyla [HREF 2]


Keywords: World Wide Web, hypertext, hypermedia, dynamic link, interoperable

Introduction

Hypermedia is growing in popularity as a form of information delivery. Systems such as the World Wide Web and Microsoft Windows Help are popularising and bringing the concepts of hypermedia to the wider population. For hypermedia to capitalise on the present Web-driven popularity it will have to evolve for the reasons outlined later. A model for hypermedia which is open is seen as a desirable way for hypermedia to evolve [KONSTANZ94].

Definitions of what constitutes an open hypermedia management system have been made by many people. The following have been selected as they capture the key ideas [KONSTANZ94].

Rationale

Flinders University and the Defence Science and Technology Organisation (DSTO) have developed a model for an open hypermedia management system called the Functional Model of the Link [AV93]. This model can be used to implement all existing link types. Furthermore, this model of the link extends the scope of link types to those that through dynamism (`only when needed' evaluation) and externalisation (external link specification storage and possibly external link computation), improve existing link types in functionality and scaleability.

As a result of using the Functional Model, three things have been achieved. Firstly, linking can be fully dynamic so both the source determination and destination determinations can be computed at the time they are required. Secondly, the link endpoint specifications and link computation specifications can be stored external to the documents, avoiding the marking up of documents and permitting link specifications to be used globally. Finally, the interoperability of the Functional Model allows the use of third-party computation and viewing applications and their associated well established information sources. This latter feature means that the Functional Model link server can access WWW with a Mosaic browser thus making the Web part of our system.

The Functional Model can be used to address difficulties inherent in the underlying hypermedia model of existing hypermedia systems, including the WWW:

This project is developing a protocol for open hypermedia to be used to implement dynamic linking in an open and distributed fashion. In the next section an implementation is described which uses the Functional Model to avoid the problems inherent in the model of current HMSs.

Implementation Details

The overall architecture of our open system, is client-server. This decision was made for a number of reasons. The logical point for the client-server connection is between the link server and the user interface client. The connection can quite easily be an Internet connection. This client-server architecture allows the user's environment to be easily tailored to their needs. The separation between client and server allows different graphical front ends to be used depending on requirements. The tailoring does not have to be limited to just the user interface or machine but can also be done to modify available functionality (eg less navigation tools or link type preferencing). The client-server nature of the system means that all such tailoring is independent of the link server, thus the link server need not be reimplemented for different machines and operating systems. The server is being implemented on a Unix platform.

Client connection is handled by a registrar daemon (an event activated process which sleeps at other times). Upon receiving a request and agreeing to the connection, the registrar spawns off a link server for that client. This means each client is connected to its own server avoiding potential bottlenecks due to high-consumption users. Once connection has been achieved it is maintained for the session.

Central to the user end is a "Chooser" which lists choices of possible links; any subsequent requests to the server go through the Chooser. The Chooser organises for a suitable viewer to be started to display any requested documents. It is envisaged that the viewers for a document will be native to the source of the information. For instance, it will use a WWW browser for HTML document viewing and MS Excel for viewing Excel spreadsheets.

If a user asks for the links available from a anchor in a node, a request is sent to the link server via the Chooser. The Chooser acts as the gate keeper to the communications channel. Information included in such a request is passed in a tag-value list. The tags used vary according to what type of node was selecting from. For instance, a selection in a text node may generate values such as URL, selection offset and selection content, while a selection in a video node may generate the values URL and selection time. These values are used as parameters to the evaluation of link_type source predicates. The link server then organises for evaluations to be done by suitable computation agents. Any available link types are then passed back to the Chooser which offers the user the choice of link_types based on their descriptions.

A user selection from the Chooser results in a request being sent to the server, asking for computation of possible destinations. Allowable destinations using the particular link specification and selected anchor will be computed and the Chooser will display these possibilites. Following user selection of a particular destination from these possiblities the Chooser will organise the destinations display. This may mean starting a new viewer or changing what an already running viewer is displaying.

Viewers

The viewer applications represent the portion of the system that the user will see. To achieve hypermedia functionality over third-party applications varying amounts of modifications may be needed to achieve varying levels of cooperation [DAVIS94]. In addition to the levels of cooperation discussed by Davis, we have discovered another level of cooperation that can support linking, namely that it is possible for a completely unaware (non-cooperative) viewing tool to participate in linking operations, not only as the destination of a link, but as a link source also. This is done by having the hypermedia management system `eavesdrop' on the contents of the cut buffer or clipboard currently used by the viewing tool.

We have demonstrated this principle using the Mosaic 2.4 browser. Contradicting the supposition that a system that integrates third-party applications must possess a published interface [DAVIS94], it was demonstrated that a HMS could provide links to a third-party application which did not necessarily provide information about its data structures. Of course, the onus is then on the local HMS to be able to make use of the eavesdropped information. For a frequently used non-cooperative third-party application, the configurability of the link specifications allows link types to be defined expressly for the purpose of making use of information acquired from the cut buffer.

Alternatively, minor source code modifications allow Mosaic to actively participate in this process so that external links to be created from structured data such as titles or graphics. It is a trivial matter to add menu items to a Mosaic browser so that the link server can be queried to see if a selected item is the source of any links.

The viewers currently in use with the HMS in Flinders University and DSTO are a map display application, text and TIFF image viewer and Mosaic. Other viewers planned are a news feed classifier and a movie viewer.

Conclusion

Two prototype hypermedia management systems have been developed using the Functional Model; one is an experimental prototype developed at Flinders University [CAWLEY94] and the other is a revision of an existing geographical information system by DSTO [AC93]. Both of these systems have been successful and have prompted the development of the current open system for use in a distributed environment.

The use of Mosaic as a third party viewer application with this HMS has been successful. Future versions of Mosaic promise a Common Client Interface (CCI) which defines a protocol for communications between Mosaic and external applications. The use of CCI will enable the level of cooperation between Mosaic and our HMS to be raised. For instance the HMS will be able to request a new URL.

In the future other third party applications both related and unrelated to hypermedia will be added to the system.

References

[CAWLEY94]
J.W.T. Cawley , FlinkMan, hons. thesis Dicipline of Computer Science, Flinders University of South Australia, 1993,

[DAVIS94]
H.C. Davis, S. Knight and W. Hall, Light Hypermedia Link Services: A Study of Third Party Application, Proceedings of the European Conference on Hypermedia Technologies 1994 (ECHT'94), ACM (1994), pp 41-50.

[HALASZ88]
F. Halasz, Reflections on NoteCards: Seven Issues for the Next Generation of Hypermedia Systems, CACM 31(7), July 1988, pp 836-852.

[KONSTANZ94] Proceedings of Workshop on Open Hypertext Systems, Universitat Konstanz, May 1994.

[NELSON88]
T.H. Nelson, Managing Immense Storage, BYTE 13(1), January 1988, pp 225-238.

[VERBYLA93]
J.L.M. Verbyla, Hyperquerying: Taking querying into Hyperspace, Proceedings of the 4th Australian Conference on Information Systems, University of Queensland, September 1993, pp 335-344.

Hypertext References

[AC93]
H.L. Ashman and G.R. Chase, Link Management In A Geographic Hypermedia Information System, Proceedings of the 4th Australian Conference on Information Systems, University of Queensland, September 1993, pp 327-334.

[AV93]
H.L. Ashman and J.L.M. Verbyla, Externalising Hypermedia Structures with the Functional Model of the Link , Proceedings of Online Information '93, London U.K., Learned Information, 1993, pp 291-301.

HREF 1
http://www.cs.flinders.edu.au/people/Tim_Cawley.html
HREF 2
http://www.cs.flinders.edu.au/people/JLMVerbyla


Copyright

© Commonwealth of Australia and Flinders University of South Australia, 1995. Permission is hereby granted to use this document for personal use and in courses of instruction at educational institutions provided that the article is used in full and this copyright statement is reproduced. Permission is also given to mirror this document on World Wide Web servers. Any other usage is expressly prohibited without the express permission of the Commonwealth of Australia and the Flinders University of South Australia.
Return to the AusWeb95 Table of Contents

AusWeb95 The First Australian WorldWideWeb Conference