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)