Date post: | 28-Nov-2014 |
Category: |
Documents |
Upload: | praful-anchaliya |
View: | 3,114 times |
Download: | 0 times |
JINIª NETWORK TECHNOLOGY
Anchaliya PraffulSchool of Information Technology
Jodhpur Engg. College & Research CentreRajasthan University
What is JINI ?An open software architecture that enables
the creation of network-centric solutions which are highly adaptive to change.
What is JINI ?
o Jini network technology, includes
Java Spaces Technology.
Jini extensible remote invocation (Jini ERI).
Jini technology can be used to build adaptive networks that are scalable, evolvable and
flexible as typically required in dynamic computing environments.
What is a JINI system ?
A set of components that provides an infrastructure for federating services in a distributed system.
A programming model that supports and encouraging the production of reliable services.
Services that can be made part of a federated Jini system and that offer functionality to any other member of the federation.
Purpose of JINI
Enabling users to share services or resources over a network.
Providing users easy access to the resources anywhere on the network.
Simplifying the task of building, maintaining, and altering a network of devices, software, and users
A Hypothetical Situation
“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?”
Issues: A Hypothetical Situation
To programmatically talk to a Jini service the client must have the service interface.
Does the client carry ALL the interfaces it needs to talk to ? [impractical].
How to handle gizmos ?Something the Martians left behind!(assuming it participates in a Jini federation)
Issues: A Hypothetical Situation
Can a common Jini interface allow service specific behavior ?
Does the client have a JVM ?
Solution: User Interfaces
All interactive services export UIs.
Programmatically such services are known by a well known interface.
{
public interface JUnknown
{
public void getBuilder(String id);
}
}
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
Central Concepts of JINI
A Service is a piece of independent functionality that is made available to other users and can be accessed remotely across the network.
A client is a device or software component that would like to make use of a service.
A lookup service helps clients find and connect to services.
JINI Service-Oriented Architecture
Jini ServiceJini Service
LookupServiceLookupService
ClientClient
Publish
Bind/Invoke
Find
AttributeProxyProxy
Jini ServiceJini Service
LookupServiceLookupService
JINI Process
1. Discover: find a Lookup service.
2. Join: send a copy of the service proxy to the Lookup service.
3. Discover: find a Lookup service.
4. Lookup: request a service.
5. Receive a copy of the service proxy.
6. Access service.
ClientClient
Proxy
Proxy
Proxy
12
3 4
5
6
Discovery Protocols
The process of finding the available lookup services.
Discovery protocolsThe Unicast Discovery Protocol — For applications and services that know
about particular lookup services.The Multicast Request Protocol – For
applications and services that do not know about any particular lookup
services.The Multicast Announcement Protocol — is used by a lookup service to announce its presence.
Leasing
Services, when registering, receive a "lease" on their entry in a lookup service for a small period of time, and the "lease" must be renewed at regular intervals if the service is to continue to be available.
This makes Jini systems self-healing and provides a consistent means to free unused or unneeded resources throughout Jini.
Transactions
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.
Defines an atomic series of operations that can occur either in a single service or across multiple services.
Is based on a Two-Phase Commit protocol: Prepare and Commit.
Is used to prevent a distributed application from partially failing.
Remote Events
Allow an object (service or application) to register its interest in events and receive a notification of the occurrence of such events.
Jini provides a simple but powerful remote event programming model.
Why use JINI Technology?
Provides an environment for creating dynamically networked components, applications, and services that scale from the device to the enterprise.
Offers an open development environment for creative collaboration through the Jini Community.
Unique Excellencies
Code mobility: Both code and data can move from machine to machine.
Protocol agnostic: Service protocol is a set of interfaces written in Java. This provides a high degree of design flexibility.
Leasing: Enables network robustness and self-healing.
JINI ~ in today’s dateJini 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:
JINI ~ in today’s dateEdge Networking:
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.
JINI ~ in today’s dateComputer Grids:
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.
JINI ~ in today’s dateDynamic Systems Integration:
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.
JINI ~ in today’s date
Dynamic Clustering:
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.
JINI ~ in today’s date
Workflow/Message Switching:
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.
JINI ~ in today’s date
Ad-hoc networking
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.
JINI ~ in today’s date
Dynamic Service Provisioning:
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.
JINI Community
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.
The Jini Community aims to foster broad adoption, technical advancement, and standardization around Jini technology.
Goals of the CommunityThe Jini Community Web site is a focal point for information exchange, sharing, and collaboration.
Events like committee meetings are also scheduled.
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.
Merits
Dynamically builders can be loaded withvarious kind of factory settings.
Support for different display technologies.
Stub is lightweight and does not carry anyextra UI classes.
Adding support for new UI tech by simplyadding new builders at service end.
Unique Benefits
Resiliency - Networks readily adapt tochanges in the computing environment. Integration - Allows fast, easy incorporation
oflegacy, current, and future networkcomponents .
Licensing - Jini network technology is available
free of charge with an evergreen license.
Future Work
Identifying and refining the UI patterns.
Security in Jini:
Who can access services? Authentication.Who can invoke what service? Authorization.
BIBLIOGRAPHYo Networking
Components- By: Laura Bridget
o Tele-Business- By: Chin-hu-xiang
o http://www.sun.org/jini/
o http://www.google.com/