Sie sind auf Seite 1von 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.

Das könnte Ihnen auch gefallen