Sponsored Link •
In Jini, network-delivered services are represented by network-mobile objects. Each object has a class, which represents its type. In contrast to the desktop and hypertext Web metaphors, where file types are in general external to the files themselves, the object types are intrinsic to the objects because objects are bundles of behavior. Many objects carry data in instance variables, but most objects use that data to decide how to behave when their methods are invoked. The fundamental character of an object is its behavior.
To present a service object's behavior to a human user, you can insert a user interface (UI) object between the user and the service object. If the client has prior knowledge of the object's type, it can provide the UI object. Alternatively, the UI object can be delivered across the network with the service. Such network-delivered UIs are called service UIs because the service provides them. Here's a diagram from the Jini Service UI specification, which defines a standard way to associate UIs with Jini services.
The service UI standard shows how users can access the functionality of individual network-mobile service objects, but doesn't address how users will relate to the entire space of all network-mobile objects. The Cyberspace project at Jini.org is attempting to address this second question by enabling network-mobile objects to participate in the World Wide Web.
Currently, the World Wide Web is composed primarily of Webpages. Two main characteristics distinguish a Webpage from a traditional page, such as a page from a book or magazine. First, a Webpage is delivered across a network. Second, a Webpage contains links to other resources on the network, primarily other Webpages. Both Webpages and traditional pages offer information services, but a Webpage also offers what we might call a collection-of-links service.
The following diagram depicts the organization of the current World Wide Web. Each rectangle is a Webpage, which offers both an information service and a collection-of-links service. The links are depicted as arrows drawn from one Webpage to another.
The Cyberspace project is currently working to define a Jini service API called
Place, with which
a Jini service will be able to maintain links to other resources on the network. Like Webpages, Jini service objects
offer network-delivered services. Whereas an individual Webpage offers primarily an information service, a
collection-of-links service, and perhaps a form service, a Jini service object is more generic. A Jini service object
offers the types of services inherent in the object's class. The services themselves are available via the object's
interface. Any type of service for which an interface can be defined, therefore, could be delivered across the network
as a Jini service object.
Place is a Jini service interface that will enable service objects, in addition to other services provided
via the objects' interface, to offer a collection-of-links service.
Place aims to enable network-mobile
objects to participate in the Web, yielding the organization depicted in the following diagram. In this diagram,
the rectangles are Webpages, the circles are Jini service objects, and the arrows show links from a page or object
to another resource. The space subsumes the web, because all web pages are wrapped by objects.
Place is an interface implemented by service objects, not service UIs,
motivation is user interface.
Place is an attempt to define a simple, overarching user-interface
metaphor for the emerging new computer. Jini's view of the world is that everything on the network is a service
represented by a mobile service object.
Place provides a way in which service providers and users
can organize the user's relationship to those objects. To do something on the network, a user would go to a
place and use an object.
Herein lies the simplicity of this metaphor for users: everything is a conceptual object. Conceptual objects are implemented as network-mobile service objects, accessed by users via network-mobile service UIs. Every object has an intrinsic class, which defines the types of services it offers. Users organize objects by placing links to those objects in places. The existence of places on the network continues the "everything is an object" metaphor, because a place is just another object type -- an object used to organize user relationships to other objects.
Therefore, in this proposed user-interface metaphor, the fundamental abstraction with which human users interact with services on the network is the object. This contrasts with the fundamental abstractions of the desktop and hypertext Web. For the desktop, the fundamental abstractions are the application and the document. For the hypertext Web, the fundamental abstraction is the page, which is really a kind of document. In the remainder of this article, I'll compare the advantages and disadvantages of users interacting with network-delivered services via objects and documents.