JINI

3,365 views

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,365
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
197
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

JINI

  1. 1. JINIª NETWORK TECHNOLOGY <ul><li>Anchaliya Prafful </li></ul><ul><li>School of Information Technology </li></ul><ul><li>Jodhpur Engg. College & Research Centre </li></ul><ul><li>Rajasthan University </li></ul><ul><li>[email_address] </li></ul>
  2. 2. What is JINI ? An open software architecture that enables the creation of network-centric solutions which are highly adaptive to change.
  3. 3. What is JINI ? <ul><li>Jini network technology, includes </li></ul><ul><li> Java Spaces Technology. </li></ul><ul><li> Jini extensible remote invocation (Jini ERI). </li></ul><ul><li> Jini technology can be used to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments. </li></ul>
  4. 4. What is a JINI system ? <ul><li> A set of components that provides an infrastructure for federating services in a distributed system. </li></ul><ul><li> A programming model that supports and encouraging the production of reliable services. </li></ul><ul><li> Services that can be made part of a federated Jini system and that offer functionality to any other member of the federation. </li></ul>
  5. 5. Purpose of JINI <ul><li>Enabling users to share services or resources over a network. </li></ul><ul><li>Providing users easy access to the resources anywhere on the network. </li></ul><ul><li>Simplifying the task of building, maintaining, and altering a network of devices, software, and users </li></ul>
  6. 6. A Jini Scenario <ul><li>Service discovers a Jini Lookup </li></ul>Multicast request Lookup proxy
  7. 7. A Jini Scenario <ul><li>Service publishes a proxy at the lookup </li></ul>Join Protocol
  8. 8. A Jini Scenario <ul><li>Client discovers a Jini Lookup </li></ul>Multicast request Lookup proxy
  9. 9. A Jini Scenario <ul><li>Client looks up the printer </li></ul>Lookup Printer proxy
  10. 10. A Jini Scenario <ul><li>Client uses the print service of the printer </li></ul>print()
  11. 11. The Lego Example!
  12. 12. A Hypothetical Situation <ul><li>“ You enter a room which contains appliances like printers, cameras, music systems, microwave ovens… is it possible to control, compute or manipulate these gadgets without any prior knowledge of their existence?” </li></ul>
  13. 13. Issues: A Hypothetical Situation <ul><li>To programmatically talk to a Jini service the client must have the service interface. </li></ul><ul><li>Does the client carry ALL the interfaces it needs to talk to ? [impractical]. </li></ul><ul><li>How to handle gizmos ? </li></ul><ul><li>Something the Martians left behind! (assuming it participates in a Jini federation) </li></ul>
  14. 14. Issues: A Hypothetical Situation <ul><li>Can a common Jini interface allow </li></ul><ul><li>service specific behavior ? </li></ul><ul><li>Does the client have a JVM ? </li></ul>
  15. 15. Solution: User Interfaces <ul><li>All interactive services export UIs. </li></ul><ul><li>Programmatically such services are known by a well known interface. </li></ul><ul><li>{ </li></ul><ul><li>public interface JUnknown </li></ul><ul><li>{ </li></ul><ul><li>public void getBuilder(String id); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  16. 16. the getBuilder(String id) method of JUnknown dynamically loads the appropriate builder for the specified client factory type! this uses underlying RMI class loading mechanisms. JUnknown ties it all customized UI construction for different client devices
  17. 17. Interactions and code
  18. 18. Central Concepts of JINI <ul><li>A Service is a piece of independent functionality that is made available to other users and can be accessed remotely across the network. </li></ul><ul><li>A client is a device or software component that would like to make use of a service. </li></ul><ul><li>A lookup service helps clients find and connect to services. </li></ul>
  19. 19. JINI Service-Oriented Architecture Jini Service Lookup Service Client Publish Bind/Invoke Find Attribute Proxy Proxy
  20. 20. JINI Process <ul><li>Discover: find a Lookup service. </li></ul><ul><li>Join: send a copy of the service proxy to the Lookup service. </li></ul><ul><li>Discover: find a Lookup service. </li></ul><ul><li>Lookup: request a service. </li></ul><ul><li>Receive a copy of the service proxy. </li></ul><ul><li>Access service. </li></ul>Jini Service Lookup Service Client Proxy Proxy Proxy 1 2 3 4 5 6
  21. 21. Discovery Protocols <ul><li>The process of finding the available lookup services. </li></ul><ul><li>Discovery protocols </li></ul><ul><ul><li>The Unicast Discovery Protocol — For applications and services that know about particular lookup services. </li></ul></ul><ul><ul><li>The Multicast Request Protocol – For applications and services that do not know about any particular lookup services. </li></ul></ul><ul><ul><li>The Multicast Announcement Protocol — is used by a lookup service to announce its presence. </li></ul></ul>
  22. 22. Leasing <ul><li>Services, when registering, receive a &quot;lease&quot; on their entry in a lookup service for a small period of time, and the &quot;lease&quot; must be renewed at regular intervals if the service is to continue to be available. </li></ul><ul><li>This makes Jini systems self-healing and provides a consistent means to free unused or unneeded resources throughout Jini. </li></ul>
  23. 23. Transactions <ul><li>By grouping a set of operations together we can ensure that all of the operations complete successfully, or that none of them complete at all. </li></ul><ul><li>Defines an atomic series of operations that can occur either in a single service or across multiple services. </li></ul><ul><li>Is based on a Two-Phase Commit protocol: Prepare and Commit. </li></ul><ul><li>Is used to prevent a distributed application from partially failing. </li></ul>
  24. 24. Remote Events <ul><li>Allow an object (service or application) to register its interest in events and receive a notification of the occurrence of such events. </li></ul><ul><li>Jini provides a simple but powerful remote event programming model. </li></ul>
  25. 25. Why use JINI Technology? <ul><li>Provides an environment for creating dynamically networked components, applications, and services that scale from the device to the enterprise. </li></ul><ul><li>Offers an open development environment for creative collaboration through the Jini Community. </li></ul>
  26. 26. Unique Excellencies <ul><li>Code mobility: Both code and data can move from machine to machine. </li></ul><ul><li>Protocol agnostic: Service protocol is a set of interfaces written in Java. This provides a high degree of design flexibility. </li></ul><ul><li>Leasing: Enables network robustness and self-healing. </li></ul>
  27. 27. JINI ~ in today’s date <ul><li>Jini technology is being employed in a wide range of applications that require the ability to respond automatically to changes in their operating environments. Several common scenarios exemplify typical Jini technology use cases today, including: </li></ul>
  28. 28. JINI ~ in today’s date <ul><li>Edge Networking: </li></ul><ul><ul><li>The systems must be able to automatically recover from failure at the network edge, and must be easy to update and manage without manual administration. Jini technology has proven itself up to the task; it is being used today to enable the creation of self-healing edge-networking systems, and to allow new or updated services to be introduced into these systems without the need for an administrator to restart the system. </li></ul></ul>
  29. 29. JINI ~ in today’s date <ul><li>Computer Grids: </li></ul><ul><li>Jini technology is being used today as the underlying infrastructure supporting compute grid applications in financial services, defense, logistics planning, life sciences, image processing, scientific research, manufacturing, and other domains. Jini technology-based grids automatically accommodate the runtime tasks. </li></ul>
  30. 30. JINI ~ in today’s date <ul><li>Dynamic Systems Integration: </li></ul><ul><li>Jini technology is today supporting many companies' needs to keep their systems up and running while dynamically integrating in house or third-party services whenever they are available. The technology is helping these users deal with service failures, updates, and implementation details that are beyond their control, often stemming from their need to integrate services from external sources. Jini technology is simplifying these users' approach to integrating services that use a variety of communication protocols. </li></ul>
  31. 31. JINI ~ in today’s date <ul><li>Dynamic Clustering: </li></ul><ul><li>Whether they are used to increase availability or scalability, clusters created with Jini technology are successfully accommodating the run time addition, loss, or removal of clustered services for many users today. The location, name, or provider or any service to be clustered can be changed without the need to bring these clusters down . </li></ul>
  32. 32. JINI ~ in today’s date <ul><li>Workflow/Message Switching: </li></ul><ul><li>Jini technology, and especially the JavaSpaces service, provides a simple way to share Java objects across a dynamic network. Telecommunications, financial services, and other applications are exploiting the technology's support for loosely coupled interactions and its ability to transfer data (and/or code) through the system. </li></ul>
  33. 33. JINI ~ in today’s date <ul><li>Ad-hoc networking </li></ul><ul><li>Jini technology is today being used to enable the spontaneous bootstrapping of a network of services that come together in an ad-hoc fashion. Current deployments are using this capability to power solutions in a range of new ad-hoc networking markets, including home networking, telematics systems, and sensor networks, to name a few. </li></ul>
  34. 34. JINI ~ in today’s date <ul><li>Dynamic Service Provisioning: </li></ul><ul><li> Developers have leveraged Jini technology's support for dynamic service discovery and delivery, as well as its straightforward service substitution capabilities, to create such dynamic service provisioning infrastructures. </li></ul>
  35. 35. JINI Community <ul><li>The Jini Community is a dynamic, diverse, and globally distributed group of individuals, companies, and organizations that are bound together by their shared interest in Jini technology. </li></ul><ul><li>The Jini Community aims to foster broad adoption, technical advancement, and standardization around Jini technology. </li></ul>
  36. 36. Goals of the Community <ul><li>The Jini Community Web site is a focal point for information exchange, sharing, and collaboration. </li></ul><ul><li>Events like committee meetings are also scheduled. </li></ul><ul><li>The Community also approves Jini Community Standards, following an opened decision making process in which all Community members may participate. Governance is defined in a constitution and guided by a technical oversight committee, and decisions are made through an open process in which all Community members may participate. </li></ul>
  37. 37. Merits <ul><li>Dynamically builders can be loaded with </li></ul><ul><li>various kind of factory settings. </li></ul><ul><li>Support for different display technologies. </li></ul><ul><li>Stub is lightweight and does not carry any </li></ul><ul><li>extra UI classes. </li></ul><ul><li>Adding support for new UI tech by simply </li></ul><ul><li>adding new builders at service end. </li></ul>
  38. 38. Unique Benefits <ul><li>Resiliency - Networks readily adapt to </li></ul><ul><li>changes in the computing environment. </li></ul><ul><li>Integration - Allows fast, easy incorporation of </li></ul><ul><li>legacy, current, and future network </li></ul><ul><li>components . </li></ul><ul><li>Licensing - Jini network technology is available </li></ul><ul><li>free of charge with an evergreen license. </li></ul>
  39. 39. Future Work <ul><li>Identifying and refining the UI patterns. </li></ul><ul><li>Security in Jini: </li></ul><ul><ul><li>Who can access services? Authentication. </li></ul></ul><ul><ul><li>Who can invoke what service? Authorization. </li></ul></ul>
  40. 40. BIBLIOGRAPHY <ul><li>Networking Components </li></ul><ul><li>- By: Laura Bridget </li></ul><ul><li>Tele-Business </li></ul><ul><li>- By: Chin-hu-xiang </li></ul><ul><li>http://www.sun.org/jini/ </li></ul><ul><li>http://www.google.com/ </li></ul>
  41. 41. THANK YOU

×