Jini Technology - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Jini Technology

Description:

A breakthrough initiative based on ... Enables all types of digital devices to work together in a community put ... Professional Java Server Programming, WROX ... – PowerPoint PPT presentation

Number of Views:2606
Avg rating:3.0/5.0
Slides: 36
Provided by: Shan1152
Category:
Tags: caters | jini | technology | wrox

less

Transcript and Presenter's Notes

Title: Jini Technology


1
Jini Technology
2
Jini Technology
  • Introduction
  • Architecture Overview
  • Lookup Service
  • Programming Model
  • Application

3
Jini Technology
  • Introduction and Architecture Overview

4
What is Jini
  • A breakthrough initiative based on Java
    technology
  • Enables all types of devices to simply connect
    into impromptu networks, making access to and
    delivery of new network services as simple as
    plugging in a telephone.
  • Enables all types of digital devices to work
    together in a community put together without
    extensive planning, installation, or human
    intervention.
  • Each device provides services that other devices
    in the community may use.

5
What is Jini
  • 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
  • The focus of the system is to make the network a
    more dynamic entity

6
Where Jini Technology be Used
  • Almost anything that passes digital information
    in and out
  • Traditional computer hardware and software
  • Consumer appliances such as personal digital
    assistants (PDAs), digital cameras, VCRs, TVs,
    DVD players, cell phones, and CD players.

7
An Example Scenario
Three professionals Bob, Sue, and Dave, at
three different sites use JiniTM technology to
pull together a complex project, deploying a host
of different networked devices.
8
History of Jini Technology
  • The idea of the Jini system sprang from Sun
    cofounder Bill Joy at Sun Aspen Smallworks RD
    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 JavaSpaces
    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

9
History of Jini Technology
  • On January 25, 1999, Jini was officially launched
    and the technology is available for download
  • By September 1999, 18,000 click-thru agreement
    /downloads of Jini release from Suns web site
  • Sun currently has agreement with a wide range of
    technology companies to develop Jini technology
    services, both hardware and software.
  • includes Axis, Canon, Datek, Epson, FedEx,
    Mitsubishi, Norwest Mortgage, Novell, ODI,
    Quantum, Seagate, Toshiba, Computer Associates,
    Oki, Salomon Brothers

10
History of Jini Technology
  • 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, from anywhere,
    using the simplest possible technology.

As easy to connect to as a telephone dial tone
As persistent and reliable as a radio
As easy to operate as a TV
As powerful as all of the devices connected to it
11
Why Jini Technology
  • Network plug and work
  • Enables a services based architecture
  • Spontaneous networking
  • Erase the distinction between hardware and
    software
  • A distributed computing infrastructure to make
    writing distributed programs easier

12
Jini Technology Builds on Java Technology
13
Nomenclature
  • Key terms used in talking about Jini
  • Federation -- A federation consists of a group of
    devices (like printers, hard disks and so on) and
    software programs (any program that is compiled
    down to Java bytecode) that form a single,
    dynamic, distributed system.
  • Resource -- The devices and programs within a
    federation are called resources
  • Service -- A resource offers a service. A service
    can be storage, communication, computation or
    anything that a resource can do.

14
Structure of Jini Technology
15
Jini Infrastructure
  • Infrastructure is the set of components that
    enables building a federated Jini system
  • The lookup service, which serves as a repository
    of services. It reflects the current members of
    the federation and acts as the central
    marketplace for offering and finding services by
    members of the federation
  • 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
  • A distributed security system, integrated into
    RMI, defines how entities are identified and how
    they get the rights to perform actions on their
    own behalf and on the behalf of others

16
Jini Infrastructure - Lookup Service
  • The central organizing mechanism for Jini-based
    systems
  • The lookup service reflects the current members
    of the federation
  • When new services become available on the
    network, they register themselves with a lookup
    service
  • When clients wish to locate a service to assist
    with some task, they consult a lookup service

17
Jini Infrastructure - Discovery / Join / Lookup
protocol
  • Discovery enables clients and services to locate
    lookup services.
  • Join enables a service to register itself in a
    lookup service.
  • Lookup enables a client to query a lookup service
    for services that can help the client accomplish
    its goals.

18
Jini Infrastructure - Registering a Service
1. Service provider broadcasts a discovery packet
onto a well-known port 2. Lookup service monitor
the well-known port for the presence of the
discovery packets 3. Using RMI, the lookup
service replies to the originator of the packet,
finishes the discovery 4. The service provider
joins the lookup service
19
Jini Infrastructure - Finding a Service
1. A resource first queries the lookup service
for a particular interface 2. If the interface is
present in the lookup service, the client proxy
of the interface is returned to the resource
20
Jini Infrastructure - Using a Service
The resource invokes method of the client proxy
interface.
21
Programming Model
  • A set of interfaces that enables the construction
    of reliable services, including those that are
    part of the infrastructure and those that join
    into the federation
  • Leasing interface defines a way of allocating
    and freeing resources using a renewable,
    duration-based model
  • Event and notification interface a notification
    mechanism between services and resources that
    stretches beyond machine boundaries
  • Transaction interface wrapping of multiple
    operations on multiple services into a single
    unit of work that either completely succeeds or
    is rolled back

22
Programming Model - Leasing interface
  • A lease in Jini is a finite duration agreement
    between two Jini entities. A lease is negotiated
    between the entity requesting and the entity
    granting the lease.
  • With this design, resources claimed in a lease
    can be automatically released after a period of
    time. A long-running Jini system
  • Can effectively recover from disconnection and/or
    partial system failure
  • Has the equivalent of a garbage collection
    process for stale and unreferenced entries and
    resources

23
Programming Model - Transaction interface
  • The transaction interfaces introduce a
    light-weight, object-oriented protocol enabling
    Jini applications to coordinate state changes.
  • The transaction protocol provides two steps to
    coordinate the actions of a group of distributed
    objects.
  • voting phase each object "votes" whether it has
    completed its portion of the task and is ready to
    commit any changes it made.
  • commit phase a coordinator issues a commit
    request to each object.
  • Various levels of Atomicity, Consistency,
    Isolation, and Durability (ACID) can be
    implemented and guaranteed

24
Programming Model - Event and notification
interface
  • Distributed event notification is handled via
    registration to event generating entities and
    providing objects that implement the appropriate
    listener interface
  • These interfaces are specially designed to cater
    for the less predictable event propagation
    characteristic over a distributed system.
    Specifically, it caters for having agents or
    middlemen that will manage and handle event
    registration and notification on behalf of client
    objects.

25
Services
  • Hand-coded using the programming model. Can be
    programmed to do any task suitable of the
    resource
  • Services appear programmatically as objects
    written in the Java programming language, perhaps
    made up of other objects.
  • A service has an interface which defines the
    operations that can be requested of that service.
  • The type of the service determines the interfaces
    that make up that service and also define the set
    of methods that can be used to access the
    service.
  • A single service may be implemented by using
    other services.

26
Separation of interface and implementation
  • Service object can be
  • completely local proxy
  • RMI stub as a proxy
  • smart proxy
  • Client does not care about network protocol
  • Service implementation can evolve over time

27
A Jini System in Action - Remote PDA Printing
28
References
  • http//java.sun.com/features/1999/01/jini_scenario
    .html
  • http//www.developer.com/journal/techfocus/080598_
    jini1.html
  • http//www.sun/com/jini/whitepapers/architecture.h
    tml
  • Professional Java Server Programming, WROX
  • http//www.abcomp.be/news/events/receptions/abny99
    /history.html

29
Jini Infrastructure - Discovery / Join / Lookup
protocol
Discovery
1. Service provider broadcasts a presence
announcement by dropping a multicast packet onto
a well-known port 2. Lookup services monitor the
well-known port for presence announcement
packets. It opens and inspects the packet when
receives a presence announcement 3. Using RMI,
the lookup service sends an object, called a
service registrar, across the network to the
originator of the packet
30
Jini Infrastructure - Discovery / Join / Lookup
protocol
Join
The service provider invokes the register()
method on the service registrar object, passing
as a parameter an object called a service item, a
bundle of objects that describe the service. The
register() method sends a copy of the service
item up to the lookup service, where the service
item is stored.
31
Jini Infrastructure - Discovery / Join / Lookup
protocol
Lookup
1. A client invokes the lookup() method on a
service registrar object 2. The client passes as
an argument to lookup() a service template, an
object that serves as search criteria for the
query. The service template can include a
reference to an array of Class objects. These
Class objects indicate to the lookup service the
Java type (or types) of the service object
desired by the client 3. The lookup service
performs the query and sends back zero to many
matching service objects. The client gets a
reference to the matching service objects as the
return value of the lookup() method
32
Jini Infrastructure - Service Invocation
Invoke service
Service object can grant clients access to the
service in many ways. The object can actually
represent the entire service, which is downloaded
to the client during lookup and then executed
locally. Alternatively, the service object can
serve merely as a proxy to a remote server. When
the client invokes methods on the service object,
it sends the requests across the network to the
server, which does the real work. The local
service object and a remote server can each do
part of the work as well.
33
Jini Technology Benefits
  • No configuration hassles or device drivers.
  • Devices simply announce themselves and their
    capabilities (service).
  • Seamless access to local and remote devices.
  • Devices (i.e. printers) can be associated with
    people, places, etc.
  • Everyone has access to the same information
    resources.
  • For the duration of the meeting everyone has
    access to common resources which means that they
    have a unified and consistent view of their
    immediate network.

34
Jini Technology Benefits
  • The Resource is there when you need it.
  • If another employee needs to show a presentation,
    Mitch can simply relinquish the Projector and let
    the other employee take over transparently.
  • It's easy to share information with the team.
  • Personal Calendars can be synched up or shared
    "spontaneously" to set up a follow-up meeting for
    example

35
Jini Connection Technology Makes Things Work
Write a Comment
User Comments (0)
About PowerShow.com