1 / 35

Jini Technology

Jini Technology. Jini Technology. Introduction Architecture Overview Lookup Service Programming Model Application. Jini Technology. Introduction and Architecture Overview. What is Jini. A breakthrough initiative based on Java™ technology

duy
Download Presentation

Jini Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 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 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 Sun’s 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. 6. PDA displays GUI for selection from proxy service 3. PDA locate s lookup services at office through Internet Jini Network at the Office User with PDA 9. PDA user config printer through proxy service Lookup Service 7, 8. PDA finds proxy from Storage service 4. Finds printing service Data Storage Service 1. PDA uses discovery and join to find lookup service 2. Obtains RMI Interface to service 5. Lookup returns proxy to printing service 10. Document is drag and dropped from the storage to printer, transferred by the proxies without going through the PDA Jini Network at Business Center Laser Printing Service Lookup Service 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.html • 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 announcementby 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

More Related