+ All Categories

JINI

Date post: 28-Nov-2014
Category:
Upload: praful-anchaliya
View: 3,114 times
Download: 0 times
Share this document with a friend
Description:
 
41
JINIª NETWORK TECHNOLOGY Anchaliya Prafful School of Information Technology Jodhpur Engg. College & Research Centre Rajasthan University [email protected]
Transcript
Page 1: JINI

JINIª NETWORK TECHNOLOGY

Anchaliya PraffulSchool of Information Technology

Jodhpur Engg. College & Research CentreRajasthan University

[email protected]

Page 2: JINI

[email protected]

What is JINI ?An open software architecture that enables

the creation of network-centric solutions which are highly adaptive to change.

Page 3: JINI

[email protected]

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.

Page 4: JINI

[email protected]

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.

Page 5: JINI

[email protected]

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

Page 6: JINI

[email protected]

A Jini Scenario

Service discovers a Jini Lookup

Multicast request

Lookup proxy

Page 7: JINI

[email protected]

A Jini Scenario

Service publishes a proxy at the lookup

Join Protocol

Page 8: JINI

[email protected]

A Jini Scenario

Client discovers a Jini Lookup

Multicast request

Lookup proxy

Page 9: JINI

[email protected]

A Jini Scenario

Client looks up the printer

Lookup

Printer proxy

Page 10: JINI

[email protected]

A Jini Scenario

Client uses the print service of the printer

print()

Page 11: JINI

[email protected]

The Lego Example!

Page 12: JINI

[email protected]

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?”

Page 13: JINI

[email protected]

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)

Page 14: JINI

[email protected]

Issues: A Hypothetical Situation

Can a common Jini interface allow service specific behavior ?

Does the client have a JVM ?

Page 15: JINI

[email protected]

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);

}

}

Page 16: JINI

[email protected]

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

Page 17: JINI

[email protected]

Interactions and code

Page 18: JINI

[email protected]

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.

Page 19: JINI

[email protected]

JINI Service-Oriented Architecture

Jini ServiceJini Service

LookupServiceLookupService

ClientClient

Publish

Bind/Invoke

Find

AttributeProxyProxy

Page 20: JINI

[email protected]

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

Page 21: JINI

[email protected]

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.

Page 22: JINI

[email protected]

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.

Page 23: JINI

[email protected]

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.

Page 24: JINI

[email protected]

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.

Page 25: JINI

[email protected]

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.

Page 26: JINI

[email protected]

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.

Page 27: JINI

[email protected]

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:

Page 28: JINI

[email protected]

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.

Page 29: JINI

[email protected]

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.

Page 30: JINI

[email protected]

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.

Page 31: JINI

[email protected]

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.

Page 32: JINI

[email protected]

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.

Page 33: JINI

[email protected]

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.

Page 34: JINI

[email protected]

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.

Page 35: JINI

[email protected]

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.

Page 36: JINI

[email protected]

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.

Page 37: JINI

[email protected]

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.

Page 38: JINI

[email protected]

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.

Page 39: JINI

[email protected]

Future Work

Identifying and refining the UI patterns.

Security in Jini:

Who can access services? Authentication.Who can invoke what service? Authorization.

Page 40: JINI

[email protected]

BIBLIOGRAPHYo Networking

Components- By: Laura Bridget

o Tele-Business- By: Chin-hu-xiang

o http://www.sun.org/jini/

o http://www.google.com/

Page 41: JINI

[email protected]

THANK YOU


Recommended