The Jini Network Technology Vision
- Wire Protocols: Constricting and Fragile
- Objects on the Network
- The API Defines the Network Interface
- Late Binding Insulates Developers
- The Power of Write Once, Run Anywhere
- Capitalizing on the Simplifying Assumptions of Java Technology
- Objects on the Network
- Jini Technology Matters in Small Devices
- Summary
The vision for Jini technology started with a vision of the integration of network services based on various research projects such as Oberon. The Oberon system was invented by Niklaus Wirth, who was the inventor of the Pascal computing language. A lightweight system, Oberon was written in one programming language and uses knowledge-based objects that spans the gap between the operating system and an application. This was key to building a unified, integrated network of services such as that found in Jini technology.
The Oberon system relies on a single-user system that enables a single-threaded, multitasking operating system to run in a single window. The system enables the extension of persistent objects that build a graphical user interface (GUI), which is a tree of many objects that export abstract data types.
In the Oberon system, applications are modules that reuse the abstract data types of the GUI objects and are not exposed to their implementation. The Oberon system embodies the strength that Jini network technology developers wanted to emulate: extensibility that isn't tied to an underlying implementation. (More information about the Oberon system, which spurred the initial concepts of Jini technology, can be found at www.oberon.ethz.ch/white.html.)
3.1 Wire Protocols: Constricting and Fragile
The concept of abstracting the underlying implementation is important because of how constricting and fragile an underlying protocol can be. A wire protocol, such as that found in the communications layer of a computer network, has many restrictions, including the following:
All participants must implement all protocol versions for full compatibility. For example, when features are added to sendmail and a new sending protocol is established, it is difficult to upgrade all servers at once.
Improved functionality implies increased complexity. For example, when a new compression scheme is added to the File Transfer Protocol (FTP), existing clients cannot understand the new scheme.
These types of restrictions only make it harder to evolve a network. The Jini network technology hides the protocol to provide more flexibility.