jini

Post on 28-Nov-2014

3.115 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

JINIª NETWORK TECHNOLOGY

Anchaliya PraffulSchool of Information Technology

Jodhpur Engg. College & Research CentreRajasthan University

Prafful_feb@hotmail.com

Prafful_feb@hotmail.com

What is JINI ?An open software architecture that enables

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

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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

Prafful_feb@hotmail.com

A Jini Scenario

Service discovers a Jini Lookup

Multicast request

Lookup proxy

Prafful_feb@hotmail.com

A Jini Scenario

Service publishes a proxy at the lookup

Join Protocol

Prafful_feb@hotmail.com

A Jini Scenario

Client discovers a Jini Lookup

Multicast request

Lookup proxy

Prafful_feb@hotmail.com

A Jini Scenario

Client looks up the printer

Lookup

Printer proxy

Prafful_feb@hotmail.com

A Jini Scenario

Client uses the print service of the printer

print()

Prafful_feb@hotmail.com

The Lego Example!

Prafful_feb@hotmail.com

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

Prafful_feb@hotmail.com

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)

Prafful_feb@hotmail.com

Issues: A Hypothetical Situation

Can a common Jini interface allow service specific behavior ?

Does the client have a JVM ?

Prafful_feb@hotmail.com

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

}

}

Prafful_feb@hotmail.com

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

Prafful_feb@hotmail.com

Interactions and code

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

JINI Service-Oriented Architecture

Jini ServiceJini Service

LookupServiceLookupService

ClientClient

Publish

Bind/Invoke

Find

AttributeProxyProxy

Prafful_feb@hotmail.com

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

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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:

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

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.

Prafful_feb@hotmail.com

Future Work

Identifying and refining the UI patterns.

Security in Jini:

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

Prafful_feb@hotmail.com

BIBLIOGRAPHYo Networking

Components- By: Laura Bridget

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

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

o http://www.google.com/

Prafful_feb@hotmail.com

THANK YOU

top related