Final Year Project – 4th Presentation

Download Report

Transcript Final Year Project – 4th Presentation

An Introduction of Jini
Technology
How can JINI Technology Boost Our
Business
Presenter: Carfield Yim, Gary Lam
Date: 31-Jul-2002
Outline








What is Jini?
What is the advantage of using Jini?
FYP Overview
How Jini help our final year project
Jini/Javaspace performance issue
Jini and WebService
Some Commercial Jini Products
Q&A
What is Jini?
 Jini is a network technology that enables
spontaneous assembly and interaction of
services and devices on a network. [Adapted from
Jini Network Technology datasheet]
 Provide reliable services in an unreliable
environment

This includes self-healing by leasing and
transaction support for partial failure
 Code mobility which is implemented by notion
of Jini proxy
Jini's Infrastructure
 Discovery, Join and Lookup Protocol



Discovery - looking for a lookup service for registration or
request of a service.
Join – A joining process of a service. Discovery should be
performed beforehand. If joining process is succeed, a Jini
proxy will be uploaded to the lookup service.
Lookup – search a service to be used. This involves
locating and invoking the service. The matching is based
on Java type concept. The service is located by
downloading the Jini proxy of that service to the client.
How Jini works?
Adapted from Jini Technology Datasheet
Jini's Programming Model
 Leasing
 Lease grantor grants a period of time to the grantee.
If there is no renewal after the lease expired,
grantor will cancel the lease.
 Remote Event
 This is a distributed event environment.
 Distributed Transaction
 Implement the concept of Two-phase commit
protocol
JavaSpace
 The Java version of tuple space, origin from
Linda project from Yale University
 Provide a generic object broker for Jini service.
 Thus, other than service distributed; data is
also distributed.
How JavaSpace Work
Advantage of using Jini
 JavaSpace provide a total decoupling protocol
 Jini leasing mechanism provide a network wide
Garbage Collection
 Lookup and Discovery base on type but not
name
 Remote event and Distributed transaction
simplify the distributed programming.
FYP Overview
Tool
Tool
Tool
Layer
Architecture
Tool
Internet-IDEF
JavaSpaces
Jini network technology
Java
API for JAR file
tools
Startup Facility
Component
Architecture
Project
Resource
Management
API for
Remote Service
Tool
Administration
Communication
Facility
Client
Application
ToolProxy
Interface
Network Resource
Management
Util
Collaborative UML Editor
GEF
IIDEF
ArgoUML
NSUML
GEF
ArgoUML
Socket
server
NSUML
How Jini help our project
 Javaspace help to prevent deadlock of server
model
 JavaSpace provide a network wide persistence
support
 Dynamic tool plug-in is facilitated by Jini's join ,
dicovery and lookup Protocol.
 JavaSpace provides a loose-coupled
communication.
Jini/Javaspace Performance
Issue
 A scientific Java-based tuplespaces
benchmark package available to test the
performance http://hea-www.harvard.edu/~mnoble/tonic/doc/
 A benchmark result of Javaspace
http://sitar.anr.mcnc.org/JavaSpace_perf.html
Jini and WebService
 Similar service base concept,
but one is base on XML and
one is base on Java
From http://jini.groupserve.com/
Some Commercial Jini
Products
 Commercial JavaSpace implementation
http://www.j-spaces.com/
 IBM implementation of tuplespaces
http://www.almaden.ibm.com/cs/people/toby
 Database Persistence of JavaSpace
http://www.kalixia.com:8080/projects/XtremeSpace/index.html
 Commercial consultation of jini
http://www.pronoic.org/indexFrameSet.html
Reference Links
 http://java.sun.com/features/2000/09/jini.html
(Successful Story)
 http://www.onjava.com/onjava/p2p_java/
(O’rielly Jini resource)
 http://www.theserverside.com/patterns/thread.jsp?thread_id=
7158 (discussion thread to compare Jini and J2EE)
 http://www.cdegroot.com/cgi-bin/jini (Jini wiki)
 http://jini.groupserve.com/ (Jini webservice)
 http://www.javaspaces.homestead.com/ (Javaspace paper)