Check out the new USENIX Web site. next up previous
Next: Conclusions Up: Metis: A Thin-Client Application Previous: ViewGlass Implementation Notes

Related Work

  During the last year, many players in the computer industry have focused attention on alternatives to the traditional client. One of the design points for most of the efforts is to ensure that the users continue to have access to all resources that they are accustomed to. One well-investigated system is to provide access to applications using a browser. In this system, the application runs mostly on well-known servers. HTML pages, some enhanced with small Java applets, are sent back to the client. The browser relies on an underlying operating system to get access to files and printers. The browser metaphor works well if there are only a few applications that do not interact much and if each application has a restricted amount of user interaction.

The browser system is one possible choice for enabling the use of Network Computers as the hardware client for thin-client applications. However, for environments where an application is composed of many sub-applications that may interchange data frequently, the browser metaphor is not sufficient. The browser metaphor also lacks the integration of network-based access to system resources. Other alternatives like defining Network Computer desktops or webtops (i.e., the Lotus DeskTop and HotJava Views) have been investigated as extensions to the browser metaphor. Also, many vendors are vying to provide environments for Network Computers to access system resources commonly found on traditional desktops, like printing and file access [10].

During the Metis effort, we emphasized enabling commercial applications for Network Computers. Many of these business applications are currently single-system based. Moving to a network (1) introduces unreliability not often found with standalone systems, (2) raises security concerns, and (3) distributes resources like printers and files. While the browsers and Network Computer desktops could handle the latter two issues in future implementations, they are not meant to address the first. Both the Lotus DeskTop and HotJava Views could be integrated with Metis by replacing the workspace used in the reference implementation, to address all three issues today. Metis would then also provide a framework for developers to implement robust applications for browsers and Network Computer desktops.

The previous paragraphs focused on browsers and desktops that provide access to complex applications for Network Computers. However, Metis provides a distributed application technology as well as a user system. There are several distributed application technologies for traditional clients and servers that some developers could use for Network Computers. These technologies include CORBA and design patterns.

CORBA [11, 12, 13], is a distributed application technology specified by OMG that emphasizes reusable services and facilities. These specifications allow applications to interact with other application modules independent of the machine architecture and language the modules have been written in. OMG's Trading service specification allows an application to query and identify service names that match a particular criteria. These service names are then bound to a particular object as per the Naming service specification. The combination of the two services can be used by applications under CORBA to achieve late binding of a name to an object. Metis provides similar late binding of service providers to an AFE using an LDAP directory server. AFEs can specify service properties through the Filter class. Results of the match are available to the AFEs for binding and use.

Design patterns [14, 15] have been proposed as a technique for application development that also emphasize reuse of software architectures, including those for distributed systems. Design patterns allow software developers to write their applications using high-level models that are independent of language and machine architecture. The patterns focus on key components and their interaction to facilitate reuse of software. Design patterns have been used for writing large scale commercial applications. The Metis workspace has been written as a design pattern for desktops on thin clients. The workspace provides components for locating and binding to services, access to system services, and security components. The intent is to allow application developers to use the workspace pattern in developing application suites for thin clients.


next up previous
Next: Conclusions Up: Metis: A Thin-Client Application Previous: ViewGlass Implementation Notes

A. Purakayastha
Mon May 5 15:03:42 EDT 1997