1 / 33

Course Introduction CS423 Client/Server Programming and Apps

Course Introduction CS423 Client/Server Programming and Apps. References: Comer/Stevens, Ch1. CS423 Client/Server Programming and Applications. Who am I? Bob Cotter Flarsheim Hall room 450J (816) 235-???? cotterr@.umkc.edu http:// --- TBA Office Hours:

evania
Download Presentation

Course Introduction CS423 Client/Server Programming and Apps

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. Course IntroductionCS423 Client/ServerProgramming and Apps References: Comer/Stevens, Ch1

  2. CS423 Client/Server Programming and Applications • Who am I? • Bob Cotter • Flarsheim Hall room 450J • (816) 235-???? • cotterr@.umkc.edu • http:// --- TBA • Office Hours: • 10:00 am to 11:00 am Tuesday and Thursday • or by appointment

  3. CS423 Client/Server Programming and Applications • Course Objectives • Understand and apply the principles of client / server programming • Grading • Projects (4 or 5): 40% of grade • Three exams, Final ( closed book): 20% each (best 3 of 4) • Other (see “General Rules” on my web page) • Class attendance • Lecture Notes • Due dates - end of day on due dates • Incompletes • Academic Integrity

  4. CS423 Client/Server Programming and Applications • Course Prerequisites • C Programming (C++ even better) • Basic Computer Systems Background • Java ??

  5. CS423 Client/Server Programming and Applications • Course Prerequisites • C Programming (C++ even better) • Basic Computer Systems Background • Java ?? • Text • Internetworking with TCP/IP Vol. III Client-Server Programming and Applications - Windows Sockets Version, 1/e Comer & Stevens • Miscellaneous other readings, RFCs, internet

  6. CS423 Client/Server Programming and Applications • Things you need to get: • An exchange account • Access to the Web - my home page is: • http:// TBA

  7. CS423 Client/Server Programming and Applications • Underpinnings • Remote Procedure Calls

  8. CS423 Client/Server Programming and Applications • Underpinnings • Remote Procedure Calls • Client/Server in Windows • Client/Server in Linux • Client/Server in Java • Other Stuff

  9. Client /Server Underpinnings • Evolution of C/S Architecture • Objectives of C/S Architecture • C/S Transport (TCP/IP) • Socket Concepts

  10. Client/Server in Windows • SCE Windows Support Environment • Windows Operating Environment • Windows Programming Environment

  11. Client/Server in Windows • SCE Windows Support Environment • Windows Operating Environment • Windows Programming Environment • Sockets • Project (s)

  12. Client/Server in Linux • SCE Linux Support Environment • Linux Operating Environment • Linux Programming Environment • Sockets • Project (s)

  13. Client/Server in Java • SCE Java Support Environment • Java Operating Environment • Java Programming Environment • Java Sockets • Project (s)

  14. Remote Procedure Calls • Foundations for RPC • External Data Representation • RPC Concepts

  15. Remote Procedure Calls • Foundations for RPC • External Data Representation • RPC Concepts • RPC Examples

  16. Other Stuff (As time permits) • Threads

  17. Other Stuff (As time permits) • Threads • Other C/S environments Raw Sockets IPv6 UNIX Domain Sockets CORBA COM / DCOM NFS

  18. Motivation for Distributed Processing • Computing costs • Computing Power • Computer networking Capabilities • Application Availability Requirements • Multi-vendor Environment Proliferating

  19. Client Server Evolution • Host Based Processing • Dumb Terminals • Master - Slave Processing • “Intelligent” Terminals (field validation, etc) • Cluster Controllers • Client - Server Processing • Peer-to-Peer Processing

  20. Host Based Processing

  21. Master - Slave Processing

  22. Client Server Processing

  23. Peer to Peer Processing

  24. Client / Server Advantages • Leverage Desktop Computing Power • Move Processing Closer to Data Source

  25. Client / Server Advantages • Leverage Desktop Computing Power • Move Processing Closer to Data Source • Facilitates Leveraging GUI Experience • Common Interface can be used for Multiple Services • Encourages Open Systems

  26. Distributed Computing Environment • Developed under Open Software Foundation (OSF)

  27. Distributed Computing Environment • Developed under Open Software Foundation (OSF) • Major Components: • Distributed File System • Directory Service • Remote Procedure Calls • Threads Services • Time Services

  28. Client Server Database Apps • Layered Model • Application • Presentation (GUI, etc.) • Business Logic (if, then, else...) • Database Logic (SQL) • Database Management System (Oracle, etc.) • Database

  29. Distributed Processing Models

  30. Communication SystemsFunctions • Naming and Addressing • Segmentation • Blocking • Flow Control • Prioritizing • Error Control

  31. Concurrency in C/S • Multiple actions (processes) executing in parallel • Primarily a Server side issue • Linkage to multiple clients • Also used on Client side • separate blocking events from non-blocking events

  32. Threads and Processes • Process: • A program in execution • Includes context • Includes at least 1 thread • Thread • Lightweight process • A flow of execution • Operates within the context of a single process

  33. Summary • Course Background • Course structure • SCE support facilities • Client / Server Introduction • Environment Evolution • Distributed Computing • Multi-threading / multi-processing

More Related