Presentation is loading. Please wait.

Presentation is loading. Please wait.

UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00.

Similar presentations


Presentation on theme: "UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00."— Presentation transcript:

1 UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00

2 Web Page http://www.cs.uml.edu/~kdaniels/courses/java2000.html Web Page

3 Textbooks Required: - - Java: How to Program, Third Edition by Deitel and Deitel, Prentice-Hall, 1999. - - Core Jini by W. Keith Edwards, Prentice-Hall PTR, 1999. Optional: - - Java 2 Certification by Jamie Jaworski, New Riders Publishing, 1999. Available in UML bookstore

4 Homework 1 Wed, 9/6 Fri, 9/8 Read Ch 1 (Deitel) HW# Assigned Due Content

5 Syllabus for Part 1 of the Course Closed book; Worth 15% of grade

6 What is Java? ä Language developed by Sun Microsystems ä Popular use: World Wide Web ä Platform-independent ä Interpreter: Java Virtual Machine ä Mobile code (Applets): transient, seamless ä Fully Object-Oriented ä Many C++ constructs ä Class library support

7 A Typical Java Environment Phase 1 Editor Disk Program is created in editor and stored on disk. Phase 2 Compiler Disk Compiler creates bytecodes and stores them on disk. Phase 3 Disk Class Loader............ PrimaryMemory Class loader puts bytecodes in memory. Phase 4 Bytecode Verifier............ PrimaryMemory Bytecode verifier confirms all bytecodes are valid & abide by security constraints. Phase 5 Interpreter............ PrimaryMemory Interpreter (JVM) executes bytecodes by reading & translating into machine language. [Deitel 99]

8 What is Distributed Computing? ä Distributed system: collection of computing devices that communicate with each other ä Challenges: ä heterogeneous hardware, software ä asynchrony ä limited local knowledge ä failures [Attiya, Welch 99]

9 Eight Fallacies of Distributed Computing ä The network is reliable ä Latency is zero ä Bandwidth is infinite ä The network is secure “Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run, and all can cause big trouble and painful learning experiences.” - Peter Deutsch ä Topology doesn’t change ä There is one administrator ä Transport cost is zero ä The network is homogeneous

10 Why Java & Distributed Computing? ä Platform independence helps with heterogeneous hardware, software challenge ä Built-in support for: ä Multithreading: concurrent multiple activities ä Client-Server computing: servlets, JDBC ä Remote Method Invocation (RMI): method calls across network ä Networking: socket-based communication views networking like file I/O

11 Our Distributed Computing Goal: Managing A Complex Enterprise Telecommunications

12 Enterprise Characteristics ä Many participants ä hardware, software ä varied communication ä Highly distributed ä Frequent changes ä mobile clients ä service availability

13 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

14 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

15 Homework 1 Wed, 9/6 Fri, 9/8 Read Ch 1 (Deitel) 2 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) HW# Assigned Due Content Homework is due at the start of lecture on the due date.

16 Computing Environment ä Java 2 platform: Java 2 SDK v. 1.2.1 ä http://www.javasoft.com/products/jdk/1.2 ä Jini v. 1.1 ä http://www.javasoft.com/products/jini ä 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

17 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


Download ppt "UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00."

Similar presentations


Ads by Google