Jini is a technology that allows devices to connect and work together in a distributed network. It uses a lookup service to register and discover services, which can be hardware, software, or a combination. Clients can find services by their interface and then invoke methods on the service proxy without knowing details of the underlying protocol. This enables flexibility and evolution of the network. Key parts of Jini include the lookup service, Java Remote Method Invocation (RMI) for communication, and support for transactions, leasing, security and JavaSpaces for communication using shared objects.
Jini is a technology that allows devices to connect and work together in a distributed network. It uses a lookup service to register and discover services, which can be hardware, software, or a combination. Clients can find services by their interface and then invoke methods on the service proxy without knowing details of the underlying protocol. This enables flexibility and evolution of the network. Key parts of Jini include the lookup service, Java Remote Method Invocation (RMI) for communication, and support for transactions, leasing, security and JavaSpaces for communication using shared objects.
Jini is a technology that allows devices to connect and work together in a distributed network. It uses a lookup service to register and discover services, which can be hardware, software, or a combination. Clients can find services by their interface and then invoke methods on the service proxy without knowing details of the underlying protocol. This enables flexibility and evolution of the network. Key parts of Jini include the lookup service, Java Remote Method Invocation (RMI) for communication, and support for transactions, leasing, security and JavaSpaces for communication using shared objects.
Jini is a technology that allows devices to connect and work together in a distributed network. It uses a lookup service to register and discover services, which can be hardware, software, or a combination. Clients can find services by their interface and then invoke methods on the service proxy without knowing details of the underlying protocol. This enables flexibility and evolution of the network. Key parts of Jini include the lookup service, Java Remote Method Invocation (RMI) for communication, and support for transactions, leasing, security and JavaSpaces for communication using shared objects.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 30
Introduction to jini
What is jini It is technology which helps devices to work together and connect simply.
The focus of the system is to make the network
a more dynamic entity that better reflects the dynamic nature of the workgroup by enabling the ability to add and delete services flexibly. What is jini
A Jini system is a distributed system based on
the idea of federating groups of users and the resources required by those users. The overall goal is to turn the network into a flexible, easily administered tool on which resources can be found by human and computational clients What is jini Resources can be implemented as either hardware devices, software programs, or a combination of the two. The jini architecture is designed to allow a service on a network be available to anyone who can reach it, and to do so in a type-safe and robust way. Is jini portable Jini technology will run on any network with at least one java virtual Machine. Parts of jini
A Jini system consists of the following parts:
Components Programming model services Parts of jini • Components A set of components that provides an infrastructure for federating services in a distributed system. • Programming model A programming model that supports and encourages the production of reliable distributed services • Services Services that can be made part of a federated Jini system and which offer functionality to any other member of the federation Key concept • Services • Lookup services • JRMI • Transactions • Leasing • Java spaces • security Services A service is an entity that can be used by a person, a program, or another service. A service may be a computation, storage, a communication channel to another user, a software filter, a hardware device, or another user. A service can be any thing that sits on the network and is ready to perform a useful function A service may be add or withdrawn at any time from jini. Example of services Example Jini services include the following: • A printing service, which can print from Java applications and legacy applications • A JavaSpaces service, which can be used for simple communication and for storage of related groups of objects written in the Java programming language • A transaction manager, which enables groups of objects to participate in the Jini Transaction protocol defined by the programming model Federation • Jini systems organized as federations of services • No central controlling authority • Read: No single pillar propping everything else up • Federation yields robustness • Lookup service is like a singles bar Registering a Service • Service provider discovers a lookup service • Lookup service sends its ServiceRegistrar proxy to the service provider ServiceRegistrar • The service provider sends its own proxy to the lookup service • (Interchangeable: proxy, proxy object, service object, service proxy) Finding a Service • Client discovers a lookup service • Lookup service sends its ServiceRegistrar proxy to the client ServiceRegistrar • The client sends lookup query (usually by type) to the lookup service • The lookup service replies with requested service proxy Using a Service • Through the service proxy. client interacts with the service • Client invokes methods of the service proxy's interface • Proxy talks across the network to any remote aspects of the service Protocol Independence • Any network communication is between: – service proxy (injected into client) – any remote portions of the service • Both ends of network communication controlled by service provider • Thus, wire protocol is a private matter: standard, custom, changing... • RMI semantics (RemoteException) in interface Hardware and Software • Services can be hardware (devices) or software (servers) • Everything is a service, represented by an object, used via an interface • Dynamic lookup enables new services to be disovered, old services to be updated • Services are network-available components, searched for by interface type Enabling Change • Traditional, protocol-based distributed systems difficult to change • In Jini, protocols can evolve • In Jini, base interfaces can be extended • Old clients can use base interfaces • New clients can use new interfaces via lookup or instanceof and downcasting • Evolution is easy Lookup services
It is core of jini functionality.
It holds registration of all services. Hierarchical lookup is a lookup service which may include entry for any other lookup service. When new services became available on the network they register themselves with a lookup service. JRMI Communication among services uses Java RMI. RMI provide • Distributed garbage collection • multicast Transactions A series of operations, either within a single service or spanning multiple services, can be wrapped in a transaction. The Jini transaction interfaces supply a service protocol needed to coordinate a two-phase commit. How transactions are implemented is left up to the service using the interfaces. Leasing A lease is a grant of guaranteed access over a time period. Each lease is negotiated between the user of the service and the provider of the service as part of the service protocol: A service is requested for some period; access is granted for some period, presumably taking the request period into account. Leases are either exclusive or non-exclusive. Security The design of the security model for Jini technology is built on the twin notions. • Principal • Access control list Security plays an important role in distributed systems. The security model is based on JDK 1.2 security systems. Javaspaces Javaspaces is a jini service that builds and maintains database of java objects. Javaspace provide communication through sharing java objects. Jini infrastructure The infrastructure includes the following: • A distributed security system, integrated into RMI, which extends the Java platform’s security model to the world of distributed systems • The discovery/join protocol, a service protocol that allows services (both hardware and software) to discover, become part of, and advertise supplied services to the other members of the federation infrastructure • The lookup service, which serves as a repository of services. Entries in the lookup service are objects in the Java programming language; these objects can be downloaded as part of a lookup operation and act as local proxies to the service that placed the code into the lookup service How it works To use the service a person or program locate the service using the lookup service. The service’s interface is copied from the lookup service to the requesting device where it will be used. The lookup service act as a switchboard to connect a client looking for a service with that service. Once connection is made the look up service is not involved in any of the resulting interactions between client and that service.