07-01-2014, 12:56 PM
JINI Technology
JINI Technology.docx (Size: 888.49 KB / Downloads: 19)
Abstract
The growth of networks and the Internet has resulted in a new set of requirements for architecting software applications. The evolution of distributed and network-based architectures such as OSFDCE, CORBA, DCOM, RMI, and HTTP/SOAP-based Web services demonstrates the continual change in distributed architecture requirements. With processors and memory becoming cheaper, a redefinition of the "computing device" is on the horizon. Computation is set to become more pervasive, ubiquitous, and mobile. Computer networks are becoming much faster and more reliable. Future networks are going to be dynamic, self-forming, and self-managed.
Jini, a true service-based architecture, provides a solution for the evolving ubiquitous, pervasive, and dynamic distributed computing requirements. It abstracts both the devices and software under a service notion and supports dynamic community formation and dissolution.
In short, Jini is a true dynamic, distributed service-based architecture. But more specifically, Jini software gives network devices self-configuration and self-management capabilities; it lets devices communicate immediately on a network without human intervention. These networks are also self-healing in that devices that leave the network for any reason (machine crashes or power surges, for example) do not affect the remaining devices' operation. A Jini client that loses contact with a server can recover and continue processing. Although it is precisely these advantages that make Jini technology attractive for embedded systems. We contend that Jini technology's true promise lies in enterprise computing because it has unique abilities that extend beyond plug-and-play network connectivity.
Jini Technology: An Overview
Jini is a network architecture concept that Sun Microsystems calls "spontaneous networking." Using Jini, users will be able to plug printers, storage devices, speakers, and any kind of device directly into a network and every other computer, device, and user on the network will know that the new device has been added and is available. Each pluggable device will define itself immediately to a network device registry. When someone wants to use or access the resource, their computer will be able to download the necessary programming from it to communicate with it. No longer will the special device support software known as a device driver need to be present in an operating system. The operating system will know about all accessible devices through the network registry.
Jini can be viewed as the next step after the Java programming language toward making a network look like one large computer. Jini promises to enable manufacturers to make devices that can attach to a network independently of an operating system like Windows 95. Equipped with its own small, special-purpose and possibly microchip-embedded operating system, a printer could be plugged into a network and immediately shared by users at a mix of computers: Windows, Macintosh, UNIX. Mobile devices could be transported and easily plugged into a network so that others could use the device.
Jini technology is a service oriented architecture that defines a programming model which both exploits and extends Java technology to enable the construction of secure, distributed systems consisting of federations of well-behaved network services and clients. Jini technology can be used to build adaptive network systems that are scalable, evolvable and flexible as typically required in dynamic computing environments. Jini offers a number of powerful capabilities such as service discovery and mobile code.
History of Jini Technology
The idea of the Jini system sprang from Sun cofounder Bill Joy at Sun Aspen Small works R&D lab in 1994.
Under the leadership of Bill Joy and Jim Waldo –Ann Wollrath, the inventor and designer for Java Remote Method Invocation (Java RMI) – Ken Arnold, the designer of Java Spaces technology. – Bob Scheifler, a principal of the X Consortium and designer of Lookup/Discovery.
Based on the potential to create a ubiquitous network by leveraging the unique distributed computing characteristics of Java technology .
On January 25, 1999, Jini was officially launched and the technology is available for download.
Sun currently has agreement with a wide range of technology companies to develop Jinitechnology services, both hardware and software. Company includes Axis, Canon,Datek, Epson, FedEx, Mitsubishi, Norwest Mortgage, Novell, ODI, Quantum, Seagate, Toshiba, Computer Associates, Oki, and Salomon Brothers.
It is expected that by using Jini technology, we can enable infinitely connected network of services into which anyone will be able to plug-and-participate anytime, fromanywhere, using the simplest possible technology.
Goals
The main goal of Jini architecture is to provide a type-safe and reliable way of providing services in the network. It is a framework for designing and implementing OO distributed systems. The aim is to allow services to be easily available and removable on a network to anyone who can reach them. Service deployment means plugging the service to the network, and it becomes visible and available, as easily as possible, to those who want to use it. The service can be pure software, hardware, or a combination of them. The idea of a flexible network is expanded, because all the services available are reachable to other services and clients, and removing the service is not any harder. The network can reorganize itself to be able to continue working after changes. Jini technology changes the idea of network applications to the idea of a service-based network. Everything is a service. The goal is that this architecture allows any device with a processor, some memory and a network connection to offer and use services available. Jini contributes in implementing the services and making them available on the network. It is also possible to automate some implementation issues with Jini. Because of the Jini’s new programming models, the developer is forced to acknowledge the difficulties of the distributed computing. Thus, this framework offers better capabilities to deal with the issues, which are cannot be handled by the traditional distributed systems.
Goals
The main goal of Jini architecture is to provide a type-safe and reliable way of providing services in the network. It is a framework for designing and implementing OO distributed systems. The aim is to allow services to be easily available and removable on a network to anyone who can reach them. Service deployment means plugging the service to the network, and it becomes visible and available, as easily as possible, to those who want to use it. The service can be pure software, hardware, or a combination of them. The idea of a flexible network is expanded, because all the services available are reachable to other services and clients, and removing the service is not any harder. The network can reorganize itself to be able to continue working after changes. Jini technology changes the idea of network applications to the idea of a service-based network. Everything is a service. The goal is that this architecture allows any device with a processor, some memory and a network connection to offer and use services available. Jini contributes in implementing the services and making them available on the network. It is also possible to automate some implementation issues with Jini. Because of the Jini’s new programming models, the developer is forced to acknowledge the difficulties of the distributed computing. Thus, this framework offers better capabilities to deal with the issues, which are cannot be handled by the traditional distributed systems.
Java Virtual Machine (Java Virtual Machine)
A Java Virtual Machine (JVM) enables a set of computer software programs and data structures to use a virtual machine model for the execution of other computer programs and scripts. The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java byte code. This language conceptually represents the instruction set of a stack-oriented, capability. Sun Microsystems states there are over 4.5 billion JVM-enabled devices.
Jini Infrastructure:
The Jini technology infrastructure is built around the model of clients looking for services. The notion of a service encompasses access to information, computation,software that performs particular tasks, and in general any component that helps a user accomplish some goal. Services can themselves be clients of other services, and can be grouped together to provide higher-level functionality. The Jini architecture requires a service to be defined in terms of a data type for the Java programming language that can then be implemented in different ways by different instances of the service. A service can be a member of many different types, allowing a single service instance to provide a variety of functionality to clients. This is a standard practice in object-oriented software. However, the distributed nature of asystem of Jini technology-enabled services and/or devices allows data types for the Java programming language to be implemented in a combination of software and hardware in a way that is unique. The core of the idea that enables this implementation flexibility is quite simple. Services are defined via an interface, and the implementation of a proxy supporting the interface that will be seen by the service client will be uploaded into the lookup service by the service provider. This implementation is then downloaded into the client as part of that client finding the service. This service-specific implementation needs to be code written in the Java programming language (to ensure portability). However, since this code comes from the actual instance of the service being used, it can know in great detail the specifics of the particular service implementation for which it is the proxy. Not only can the code that is downloaded know about the software used to implement the service, the code can know specifics about the hardware on which the service resides.