UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 3 HW#1 Jini Overview C++ Diagnostic Results.

Slides:



Advertisements
Similar presentations
JINI Shashwat Shriparv InfinitySoft.
Advertisements

THE JINI TECHNOLOGY Alessio Zumbo
CPSC150 Fall 2008 Dr. L. Lambert. CPSC150 Overview Syllabus Use Textbook, ask questions, extra thorough, I will post sections covered All information.
Client Side Programming Using Java Applet Outcomes: You will be expected to know: – Java Applets and HTML file; –bytecode and platform independent programs;
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.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Introduction to Java Kiyeol Ryu Java Programming Language.
Introduction to Java Programming, 4E
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 1 Introduction/Overview Wed. 9/6/00.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 4 HW#1: Electronic Submission of Part 2 Jini.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
Programming Software Applications Week 1 Dr. Xiaohong Gao Trent Park – B107, ext. 2252
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 5 Java Fundamentals Fri. 9/15/00.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
CSC 111 Java Programming I. Java Programming: From Problem Analysis to Program Design, Second Edition  Instructor – Salwa Hamad Al-Jasser  Office.
Introduction to Java Programming CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
Introduction to Java Programming with JBuilder 4
Introduction to Java Programming CS 21a: Introduction to Computing I First Semester,
S.W. Ma/CIM/LWL41211/2 Prog. IIA Page 1 HKIVE (Lee Wai Lee Campus) Department of CIM Course : Year 2 Module : Programming IIA Textbook : Introduction.
Java Workshop for Teachers May 6, 2005 A Brief Look at the Java Programming Language.
Advanced Java New York University School of Continuing and Professional Studies.
Introduction - What is Jini Technology?
Java Lecture 16: Dolores Zage. WWW n Was a method for distributing passive information n added forms and image maps n interaction was only a new way to.
January 26, Jim Waldo Copyright 1999 Sun Microsystems, Inc., all rights reserved.
Lecture 15 Introduction to Web Services Web Service Applications.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Introduction to Java and Object-Oriented Programming AJSS Computer Camp Department of Information Systems and Computer Science Ateneo de Manila University.
1 Part I : Chapter 01 Introduction to Java Programming.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Chapter 18 Networking F Client/Server Communications F Simple Client/Server Applications F Serve Multiple Clients F Create Applet Clients F Send and Retrieve.
Java Applets. 2 Introduction to Java Applet Programs  Applications are stand alone programs executed with Java interpreter executed with Java interpreter.
OOP (Java): Simple/ OOP (Java) Objectives – –give some simple examples of Java applications and one applet 2. Simple Java Programs Semester.
Introduction to Java Programming with Forte Y. Daniel Liang.
The Joy of Programming (also known as) Introduction to Object-Oriented Programming.
1 Welcome to CSC 301 Web Programming Charles Frank.
Introduction to Java Programming. Introduction Course Objectives Organization of the Book.
Java Applets. 2 Introduction to Java Applet Programs Applications are ___________________ programs –executed with Java interpreter Applet is a small program.
Java Programming Lecture 1 Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University
Object Oriented Programming Examples: C++, Java Advantages: 1. reusibility of code 2. ability to adapt (extend) previously written code.
J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition Second Edition D.S. Malik D.S. Malik.
Lecture 1. Introduction to Programming and Java MIT- AITI 2003.
Jini Architecture Introduction System Overview An Example.
Lesson 2: The World Wide Web Objectives After completing this lesson, you will be able to:  Define WWW and its relation to the Internet.  Explain how.
Jini Architectural Overview Li Ping
Introduction to Programming. The Programming Process Create/Edit Program Compile Program Execute Program Compile Errors?Run-Time Errors? Source Program.
Application Architecture Using Java Hong Li. Introduction Developed by a team led by James Gosling at Sun Microsystem. Originally called Oak, designed.
Today… “Hello World” ritual. Brief History of Java & How Java Works. Introduction to Java class structure. But first, next slide shows Java is No. 1 programming.
Introduction to Java Programming. 2 Chapter 1 Introduction to Java and Forte F What Is Java? F Getting Started With Java Programming –Create, Compile.
Computer Science, FSU1 CNT5505 DATA/COMUTER COMMUNICATIONS Fall 2010.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 21 Java Servlets Wed. 11/22/00 based on material.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
ITP 109 Week 2 Trina Gregory Introduction to Java.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 20 A little more on RMI Getting started with.
Introduction to 1. What is Java ? Sun Microsystems Java is a programming language and computing platform first released by Sun Microsystems in The.
Introduction to Java Programming, 4E Y. Daniel Liang.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
CX Introduction to Web Programming
Introduction to.
Network Services 9/18/2018.
The Jini Technology: An overview
Java Applets.
Lecture 2 Introduction/Overview Fri. 9/8/00
Jini B.Ramamurthy 5/15/2019 B.Ramamurthy.
G6DICP - Lecture 27 Java Applets.
Presentation transcript:

UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 3 HW#1 Jini Overview C++ Diagnostic Results Mon. 9/11/00

Web Page Web Page new

Question from Last Lecture... ä What is socket-based communication? ä In a Java context, Deitel answers this on p. 936 in introduction to Servlets. Java has networking support for: ä “socket-based communications that enable applications to view networking as streams of data - a program can read from a socket or write to a socket as simply as reading or writing to a file.” ä “packet-based communications that enable individual packets of information to be transmitted - commonly used to transmit audio and video over the Internet.” ä Chapter 21 of Deitel treats Java networking

Homework #1

Wed, 9/6 Fri, 9/8 Read Ch 1 (Deitel) Fri, 9/8 Mon, 9/11 Read Ch 1, 2 (Edwards) Fri, 9/8 Mon, 9/11 Read Ch 1, 2 (Edwards) Fri, 9/15 Read Ch 2, 3 (Deitel) Fri, 9/15 Read Ch 2, 3 (Deitel) Fri, 9/15 Assignment #1, Part 1 Fri, 9/15 Assignment #1, Part 1 short-answer questions short-answer questions Mon, 9/18 Assignment #1, Part 2 “Hello World” programming Mon, 9/18 Assignment #1, Part 2 “Hello World” programming (application and applet) (application and applet) Assigned Due Content Assigned Due Content Homework is due at the start of lecture on the due date.

Introduction to Java Applications ä Java application is executed using the Java interpreter (but not inside browser like an applet) ä Application begins execution in main() ä main() is static method inside class // Save this in file Welcome1.java public class Welcome1{ public static void main( String args[] ) public static void main( String args[] ) { System.out.println( "Java is fun!" ); System.out.println( "Java is fun!" ); }} javac Welcome1.java java Welcome1 Welcome1.class Welcome1.java Similar application code is on p.36 of Deitel, Chapter 2

HW#1 HelloWorld Application ä Refer to p. 36 of Deitel, Chapter 2 for their Welcome1.java application ä Modify: ä System.out.println( ) statement ä Change name of class and file

Compiling and Running on a PC

javac Welcome1Applet.java appletviewer Welcome1Applet.html Introduction to Java Applets ä Java applet is executed inside a WWW browser (or appletviewer) using a Java interpreter that is inside the browser. Welcome1Applet.class Welcome1Applet.java Welcome1Applet.html // Save this file in Welcome1Applet.java import java.applet.*; import java.awt.*; public class Welcome1Applet extends Applet{ public void paint(Graphics g) public void paint(Graphics g) { g.drawString( "Java is fun!”, 25, 50 ); g.drawString( "Java is fun!”, 25, 50 ); }} </APPLET> Save this file in Welcome1Applet.html

HW#1 HelloWorld Applet ä Refer to p. 86 and p. 90 of Deitel, Chapter 3 for their WelcomeApplet.java applet ä Modify: ä.java file: ä g.drawString( ) statement ä Change name of class and file ä Extend Applet instead of JApplet unless you want to use Swing here. If extending Applet, import java.applet.*; ä.html file: ä Change name of class and file

Compiling and Running on a PC

Appletviewer on a PC

Browser on a PC

Computing Environment ä Java 2 platform: Java 2 SDK v ä ä Jini v. 1.1 ä ä UML CS UNIX environment ä Optional: ä PC environment (code must also run on UNIX) ä Java integrated development environment ä 2 are on disk with Deitel textbook (NetBeans caveat) Make sure you have a UML CS UNIX account

Jini Overview

What is Jini? Jini Is Not Initials But seriously... portions of this slide contributed by Ayal Spitz

Sun’s Jini Vision ä Initial Sun marketing focused on hardware ä Appliances in a home or office connecting to a network ä Jini’s goal is to make it possible for all of these appliances to seamlessly detect and communicate with one another ä Technology can also support software services Video Display jTV Video Tuner jCable box Digital Storage jVCR jStereojComputer portions of this slide contributed by Ayal Spitz

What is Jini? ä Java-based connection framework developed by Sun Microsystems ä Philosophy: ä plug ‘n play network ä blur distinction between hardware and software ä “self-healing” ä Elements: discovery, lookup, leasing, remote events, transactions, JavaSpaces

Background on Jini Technology proxy manages service interaction ClientLookup Service Service Item Proxy Attribute Service Provider Service Item Proxy Attribute Service Item Proxy Attribute Assumes Java and network Consists of Java classes Works at application level

5 Key Concepts ä Discovery: find communities on a network and join them ä Lookup: use Lookup Service(s) to find services and use them ä Leasing: resource is “loaned” to some consumer for fixed time period ä Remote Events: allow services to notify others of their state changes ä Transactions: protocol to support multiple services moving to “safe” state

Some Jini Definitions ä Service: an entity on the network (e.g. hardware device or software module) that can be used by other Jini participants ä Community: a group of Jini services that are “aware” of each other (typically workgroup size) ä Group: used by Jini APIs to specify and represent a community ä But, due to network separation, different communities may have same group name ä Federation: a collection of communities that are “aware” of each other

Client D Client C Client B Discovery Example: Multiple Community Service Provider 1 Service 1 Item Service Provider 2 Service 2 Item Service Provider 3 Service 3 Item Service Provider 4 Service 4 Item Client A Client E Lookup Service Service 1 Item Service 4 Item Service 3 Item Service 2 Item Service 1 ItemService 4 Item Service 1 Item Service 2 ItemService 3 Item Service 4 Item Service 3 Item

Requirements for Service, Client ä Either you or a delegate must be able to: ä Connect to a TCP/IP network ( ) ä Participate in discovery to find a Lookup Service ä Register with a Lookup Service to provide proxy ä Keep leases current ä Participate in discovery to find a Lookup Service ä Communicate with a Lookup Service to receive service proxy To be a Jini Service: To be a Jini Client: Extra “machinery” needed: - http server(s) for each machine to offer up downloadable code - RMI activation daemon

Hello World in a Jini Setting... c: policy.all policy corejinichapter5 HelloWorldServiceInterface.javaHelloWorldService.javaHelloWorldClient.java client HelloWorldServiceInterface.classHelloWorldClient$Listener.classHelloWorldClient.class corejinichapter5 HelloWorldServiceInterface.classHelloWorldServiceProxy.classHelloWorldService$Listener.classHelloWorldService.class corejinichapter5service service-dl HelloWorldServiceProxy.class corejinichapter5

Who Else is in the Game? (other providers of coordination frameworks/connection technologies/service architectures for distributed computing) ä HAVi ä Sony, Sharp, Toshiba, Philips, RCA, Matsushita, Hitachi, Grundig ä Microsoft & HP ä ChaiAppliance Plug and Play ä eSpeak ä Universal Plug and Play ä Network protocol level ä XML device description ä Salutation Framework

Further Information – Jini ä Sun web sites ä ä ä Development – Books ä “Core Jini” by W. Keith Edwards ä “The Jini Specification” by Arnold, O’Sullivan, Scheifler, Waldo, and Wollrath ä Gartner Advisory: ä Java Jini: A ‘Killer-App Enabler’ for Network Computing? portions of this slide contributed by Ayal Spitz

C++ Diagnostic

ä ä Assess C++ background ä ä Will not contribute to the course grade ä ä Answers on the way out of class ä ä Name is optional ä ä Provide code snippets, not entire programs ä ä Leave unknowns blank We’ll summarize results of the diagnostic in lecture.