1 / 21

Client/Server Distributed Systems

Client/Server Distributed Systems. 240-322, Semester 1, 2005-2006. Lecturer: Dr. Andrew Davison ad@fivedots.coe.psu.ac.th Info. Eng. Research Lab (rm 101) Objective to give some background on this course. Please ask questions. 0. Preliminaries. Overview. 1. Outline of the Course

nida
Download Presentation

Client/Server Distributed Systems

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. Client/Server Distributed Systems 240-322, Semester 1, 2005-2006 • Lecturer: Dr. Andrew Davison ad@fivedots.coe.psu.ac.th Info. Eng. Research Lab (rm 101) • Objective • to give some background on this course Please ask questions 0. Preliminaries

  2. Overview 1. Outline of the Course 2. Meeting Times / Locations 3. Workload 4. Course Materials 5. Reading Materials

  3. 1. Outline of the Course • An overview of client/server and distribution models. • An emphasis on programming. • Examples will use C+UNIX and Java.

  4. Details (subject to change) • The course is divided into three parts. 1. Client/Server & Distribution Models • client/server models • distributed programming concepts • peer-to-peer continued

  5. 2. C+UNIX Network Programming • low-level file I/O • processes • networking overview • e.g. ISO, TCP, UDP • sockets programming • TCP iterative/concurrent servers, TCP clients • processor farms • UDP clients and servers • RPCs continued

  6. I assume you know basic Java. 3. Java Network Programming • basic network programming • e.g. sockets, Web page retrieval • different styles of client/server programming based around a network chat example • overviews of RMI, CORBA, J2EE, Web Services, JXTA

  7. Prerequisites • Be able to program in C under UNIX • many network functions use pointers to structs • you will not have to create pointer-based data structures like linked lists or trees; but you might have to be able to read code that uses such things • required UNIX skill level: create directories, files, compilation • passing 240-204 CPT is enough continued

  8. Be able to program in Java • I assume you know about classes, objects, Swing, threads, etc. • the material covered in 240-321 "Advanced CPT (Java)"

  9. 2. Meeting Times / Locations • Tuesday 15 -- 15.50 R200 • Wednesday 10 -- 10.50 R201 • Friday 10 -- 10.50 R200 • These times can change, if you ask me.

  10. 3. Workload (% of total score) • Mid-term exam: 35% • during week 9, 2 hours • Final exam: 45% • during weeks 18-19; 3 hours • Project: 20% • C, UNIX, sockets • 2 weeks, weeks 15-16

  11. Non-Attendence Penalty • I may take registration at the start of a class. • If someone is not there, they lose 1%(unless they have a good excuse). • A maximum of 10% can be lost • deducted from final mark

  12. 4. Course Materials • I will hand out one copy of my slides • you should make copies of them • Online materials: http://fivedots.coe.psu.ac.th/ Software.coe/Cliserv/ • includes these slides, code examples (C and Java) • Do not use the VCR, the material is not yet finished.

  13. 5. Reading Materials • The main texts used in my notes are: • Client/Server ArchitectureAlex BersonMcGraw Hill, 1996, 2nd ed. • Copies of the relevant chapters will be handed out, and you'll be expected to read them!

  14. UNIX Distributed ProgrammingChris BrownPrentice Hall, 1994 • I have a copy, and there's a copy in the PSU library • Practical UNIX ProgrammingRobbins and RobbinsPrentice Hall 1996 • there's a copy in our library (and I have one)

  15. Very advanced, but the best sources. There are copies in our library. • Two UNIX programming ‘bibles’: • UNIX Network Programming: Networking APIs: Sockets and XTI, Vol 1W. Richard StevensPrentice Hall, 1998 (2nd ed.) • UNIX Network Programming: Interprocess Communication, Vol 2W. Richard StevensPrentice Hall, 1999 (2nd ed.)

  16. Good Java Books (in our library) • Thinking in JavaBruce Eckel, Prentice Hall, 2003, 3rd ed. • can be downloaded from http://java.coe.psu.ac.th/ FreeOnline.html(it is misnamed as "Think in Java") • Beginning Java 2Ivor Horton, Wrox Press, 1999

  17. The standard (hard) introduction: • Core Java 1.2., Vol. 1 -- FundamentalsCay S. Horstmann and Gary CornellSun Microsystems PressPrentice Hall, 1999

  18. A good beginner's Java book: Java: How to ProgramH.M. Deitel & P.J. Deitel (called D&D)Prentice Hall, 2003 (5th ed.) Web page: http://www.deitel.com • There are a lot of editions of this book • the 4th, 5th, or 6th editions are fine • later is better continued

  19. An electronic version is at Aj. Somchai's CoE Java site: http://java.coe.psu.ac.th/ ForMember/Books.html#J2SE • The CoE Java site has many Java books available for download in the "members" area.

  20. Killer Game Programming in Javahttp://fivedots.coe.psu.ac.th/~ad/jg/ • I'll be using the online chapters 29 and 30 for most of the Java network code examples

  21. Reading Assignments • I will be asking you to read chapters from Berson • I will not go through all the material in class • reading assignments are examinable, so do them

More Related