1 / 17

UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000

UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000. Lecture 2 Introduction/Overview Fri. 9/8/00. Web Page. Web Page. http://www.cs.uml.edu/~kdaniels/courses/java2000.html. Textbooks. Required:

Télécharger la présentation

UMass Lowell Computer Science 91.460 Java and Distributed Computing Prof. Karen Daniels Fall, 2000

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UMass Lowell Computer Science 91.460Java and Distributed ComputingProf. Karen DanielsFall, 2000 Lecture 2 Introduction/Overview Fri. 9/8/00

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

  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 HW# Assigned DueContent 1 Wed, 9/6 Fri, 9/8 Read Ch 1 (Deitel)

  5. Syllabus for Part 1 of the Course Part 1 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. Disk Program is created in editor and stored on disk. Phase 1 Editor Compiler creates bytecodes and stores them on disk. Compiler Disk Phase 2 Class Loader Phase 3 Class loader puts bytecodes in memory. ... ... ... Disk Primary Memory Primary Memory Primary Memory Bytecode verifier confirms all bytecodes are valid & abide by security constraints. Phase 4 Bytecode Verifier Interpreter (JVM) executes bytecodes by reading & translating into machine language. Phase 5 Interpreter A Typical Java Environment [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 “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 • The network is reliable • Latency is zero • Bandwidth is infinite • The network is secure • 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. Lookup Service Service Item Service Item Service Item Proxy Proxy Proxy Client Service Provider Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Attribute Background on Jini Technology Assumes Java and network Consists of Java classes Works at application level proxy manages service interaction

  15. Homework HW# Assigned DueContent 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 Assignment #1, Part 1 short-answer questions Mon, 9/18 Assignment #1, Part 2 “Hello World” programming (application and applet) 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

More Related