1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop.

Slides:



Advertisements
Similar presentations
802.1AF - directions define requirements to find and create connections in terms of Discovery - Authentication - Enable 1.Discover of what can be done.
Advertisements

Web Services In M-Commerce
1 Jini Tutorial, Part 3 Jini Programming. 2 Tutorial outline Part 1 Introduction Distributed systems Java basics Remote Method Invocation (RMI) Part 2.
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
Mini project /2 Jini - a new computing paradigm.
A Pervasive Reminder System for Smart Homes Sylvain GIROUX and Simon GUERTIN Département d’informatique, Université de Sherbrooke 2500 boul. Université,
JINI Shashwat Shriparv InfinitySoft.
THE JINI TECHNOLOGY Alessio Zumbo
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
What iS RMI? Remote Method Invocation. It is an approach where a method on a remote machine invokes another method on another machine to perform some computation.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
The road to reliable, autonomous distributed systems
Introduction to Jini & JavaSpaces
Jini™ Technology Registry Working Group International Virtual Observatory Alliance March, 2003 London, e-Science Center Registry Working Group International.
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
I Dream of Jini An Independent Research Project By Noah J Ternullo & Dmitriy Gurlyand.
CS 603 Jini April 10, What is Jini? Java Middleware Tools to construct federation –Multiple devices, each with Java Virtual Machine –Multiple services.
Distributed Service Architectures Yitao Duan 03/19/2002.
Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p Framework Supporting Mobile Sensors and Typed Data Exchange Through the JXTA p2p.
Copyright W. Howden1 Lecture 19: Intro to O/O Components.
Mobile Agent Systems. Mobility Mobile Agents A Mobile Agent is a software agent that exists in a software Environment and can migrate from machine to.
October 2003 Iosif Legrand Iosif Legrand California Institute of Technology.
© DSRG 2001www.cs.agh.edu.pl Cross Grid Workshop - Kraków Krzysztof Zieliński, Sławomir Zieliński University of Mining and Metallurgy {kz,
Middleware for P2P architecture Jikai Yin, Shuai Zhang, Ziwen Zhang.
Web-based Portal for Discovery, Retrieval and Visualization of Earth Science Datasets in Grid Environment Zhenping (Jane) Liu.
Java Pet Store Application. Outline Introduction Introduction Information Layer Information Layer Application Layer Application Layer Infrastructure Layer.
Client/Server Software Architectures Yonglei Tao.
Presented by Mark Miyashita
Introduction - What is Jini Technology?
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
Robot Autonomous Perception Model For Internet-Based Intelligent Robotic System By Sriram Sunnam.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
J2EE Structure & Definitions Catie Welsh CSE 432
Ramiro Voicu December Design Considerations  Act as a true dynamic service and provide the necessary functionally to be used by any other services.
11/13/00 1 Design of a Home Network Rajesh Rajamani
Jini tm NetworkingTechnology Directions Jim Waldo Jini Architect Sun Microsystems, Inc.
Client Call Back Client Call Back is useful for multiple clients to keep up to date about changes on the server Example: One auction server and several.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
Integrated Systems Division Service-Oriented Programming Guy Bieber, Lead Architect Motorola ISD C4I 2000 OOPSLA Jini Pattern Language Workshop Guy Bieber,
Jini Architecture Alessandro Brawerman. Contents Jini definition Advantages Architecture How it works Websites to check.
Service Discovery Protocols Mobile Computing - CNT Dr. Sumi Helal Professor Computer & Information Science & Engineering Department University.
Jini Technology Basics Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University
Jini Architecture Introduction System Overview An Example.
Jini Architectural Overview Li Ping
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
April 2003 Iosif Legrand MONitoring Agents using a Large Integrated Services Architecture Iosif Legrand California Institute of Technology.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev.
1 A Service-based Approach to Developing Android Mobile Internet Device (MID) Applications Hyun Jung La and Soo Dong Kim Department of Computer Science.
System Software for Ubiquitous Computing Pervasive Computing 2002 Tim Kindberg, Armando Fox 2003 년 11 월 26 일 박준호.
A service Oriented Architecture & Web Service Technology.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Design Review.
Case Study -- Weather system
Ieva Juodelytė IT 3 kursas 4 grupė
Distribution and components
Knowledge Byte In this section, you will learn about:
The Jini Technology: An overview
Tiers vs. Layers.
Bina Ramamurthy Chapter 9
Bina Ramamurthy Chapter 9
A Component-based Architecture for Mobile Information Access
Bina Ramamurthy Chapter 9
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Could Jiro™ Extend the Jini™ Pattern Lanuguage?
Presentation transcript:

1 Vrijendra Gokhale, Bernard Menezes K. R. School of Information Technology IIT Bombay User Interfaces for Jini Services The Jini Pattern Language Workshop OOPSLA – 2000

2 15 October 2000User Interfaces for Jini Services Pervasive Computing Computing as a technology that hides, like paper Devices around us have increasing computational power Future wireless networks are going to be increasingly dynamic

3 15 October 2000User Interfaces for Jini Services Context Aware Computing Control: ability to control things around me Data manipulation: ability to gather data from gadgets around me and process it Customization: does the environment adapt to my needs?

4 15 October 2000User Interfaces for Jini Services The Jini Technology A federating technology for services Enables impromptu communities Supports service discovery based on attributes Based on the Java Remote Method Invocation (RMI)

5 15 October 2000User Interfaces for Jini Services Key Jini Features Discovery Lookup Leasing Remote Events Transactions Proxy publishing and lookup Soft State and automatic cleanup

6 15 October 2000User Interfaces for Jini Services A Jini Scenario Service discovers a Jini Lookup Multicast request Lookup proxy

7 15 October 2000User Interfaces for Jini Services A Jini Scenario Service publishes a proxy at the lookup Join Protocol

8 15 October 2000User Interfaces for Jini Services A Jini Scenario Client discovers a Jini Lookup Multicast request Lookup proxy

9 15 October 2000User Interfaces for Jini Services A Jini Scenario Client looks up the printer Lookup Printer proxy

10 15 October 2000User Interfaces for Jini Services A Jini Scenario Client uses the print service of the printer print()

11 15 October 2000User Interfaces for Jini Services The Lego Example!

12 15 October 2000User Interfaces for Jini Services 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?”

13 15 October 2000User Interfaces for Jini Services 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)

14 15 October 2000User Interfaces for Jini Services Issues: A Hypothetical Situation Can a common Jini interface allow service specific behaviour? Does the client have a JVM?

15 15 October 2000User Interfaces for Jini Services 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); }

16 15 October 2000User Interfaces for Jini Services Using Patterns to Accommodate Varied Client Display Technologies A Factory encapsulates client side UI capabilities public interface Factory{ public Object getObject(Object which); }

17 15 October 2000User Interfaces for Jini Services Using Patterns to Accommodate Varied UI Construction Logic A Builder encapsulates client UI technology specific UI construction logic public interface Builder { public void buildUI (Factory factory); }

18 15 October 2000User Interfaces for Jini Services 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

19 15 October 2000User Interfaces for Jini Services Interactions and code

20 15 October 2000User Interfaces for Jini Services Interactions and code

21 15 October 2000User Interfaces for Jini Services Advantages Dynamically builders can be loaded for various factory types Support for different display technologies Stub is lightweight and does not carry any extra UI classes Dynamically builders can be loaded for various factory types Support for different display technologies Stub is lightweight and does not carry any extra UI classes

22 15 October 2000User Interfaces for Jini Services More Advantages Adding support for new UI tech by simply adding new builders at service end Support for Non JVM clients viz web clients –Using an intermediate tier viz Servlets –Involves an HTMLFactory and HTMLBuilder

23 15 October 2000User Interfaces for Jini Services Future Work Identifying and refining the UI patterns Security in Jini –Who can access services? Authentication –Who can invoke what service? Authorization

24 15 October 2000User Interfaces for Jini Services Thank You!