170 likes | 387 Views
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
E N D
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.
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.
API for Remote Service Client Application API for JAR file tools Tool Tool Tool Tool Internet-IDEF Startup Facility Tool Administration ToolProxy Interface JavaSpaces Communication Facility Project Resource Management Network Resource Management Util Jini network technology Java FYP Overview Layer Architecture Component Architecture
GEF GEF ArgoUML ArgoUML NSUML NSUML Collaborative UML Editor IIDEF Socket server
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 performancehttp://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
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)