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 1 Introduction/Overview Wed. 9/6/00.

Similar presentations


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

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

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

3 Nature of the Course ä Leading-edge technology ä Advanced undergraduate level ä CS elective ä Highly interactive lectures ä Lots of Java programming

4 Prerequisites ä Computing I (91.101) ä Computing II (91.102) ä Strong C++ skills ä preferably from Computing III (91.201) ä Helpful experience: ä Operating Systems ä Distributed Computing PROGRAMMING

5 Course Structure: 3 Parts ä Java fundamentals ä applets, applications, data types, control structures, OO programming, files ä Advanced Java concepts & Java support for distributed computing ä GUI/events, graphics, exceptions, advanced data structures, threads/ multithreading, RMI ä Distributed computing using a sample Java- based environment ä Jini

6 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: The Complete Reference, Third Edition, by Naughton and Schildt, McGraw-Hill, 1999. Available in UML bookstore

7 Syllabus

8 Syllabus (continued)

9

10 Important Dates ä Exam 1:Friday, 10/6 ä Exam 2:Friday, 11/10 ä Exam 3:TBA

11 Grading ä ä Homework40% ä ä Exam 115% (closed book) ä ä Exam 220% (open book, notes ) ä ä Exam 325% (open book, notes)

12 Computing Environment ä Java 2 platform: Java 2 SDK v. 1.2.2 ä 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) ä Experiment with jdk1.3 if you like ä Java integrated development environment ä 2 are on disk with Deitel textbook (NetBeans caveat)

13 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

14 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]

15 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]

16 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

17 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

18 Our Distributed Computing Goal: Managing A Complex Enterprise Telecommunications

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

20 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

21 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

22 Homework 1 Wed, 9/6 Fri, 9/8 Read Ch 1 (Deitel) HW# Assigned Due Content First written & programming assignment will be handed out this Friday.


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

Similar presentations


Ads by Google