Grid computing has the potential to change the way in which computer systems function and are perceived. Through decentralization, sharing of resources, use of commodity hardware and open protocols, and simple transparent access methods, computing grids can provide economical access to high-quality resources and services.
Sun's Jini, although not a grid framework per se, provides a Java-based platform upon which to build grid-like systems. Although Jini is a relative newcomer, Java's ubiquity, portability, and language features (such as "object-orientedness" and type safety) make it a strong candidate for the position of a grid-enabling technology.
Complementing the core Jini services and providing a simple idiom for inter-node cooperation, JavaSpaces can be used today to create systems of federated commodity hardware that can accomplish the work of expensive monolithic systems.
In the second article, we'll explore a realistic example of a Jini-JavaSpaces service in action and compare its construction, operation, and behaviors to a more "traditional" network-accessible service. Our forthcoming example will demonstrate a distributed XSL-to-PDF conversion service using Jini, JavaSpaces, and Apache's FOP library. In addition, we will explore some common idioms and design patterns that are useful in the development of distributed services; especially those found on a grid!