Download presentation
Presentation is loading. Please wait.
Published byClifford Gallagher Modified over 9 years ago
1
1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1
2
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
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
4 CS423 Client/Server Programming and Applications Course Prerequisites –C Programming (C++ even better) –Basic Computer Systems Background –Java ??
5
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
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
7 CS423 Client/Server Programming and Applications Underpinnings Remote Procedure Calls
8
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
9 Client /Server Underpinnings Evolution of C/S Architecture Objectives of C/S Architecture C/S Transport (TCP/IP) Socket Concepts
10
10 Client/Server in Windows SCE Windows Support Environment Windows Operating Environment Windows Programming Environment
11
11 Client/Server in Windows SCE Windows Support Environment Windows Operating Environment Windows Programming Environment Sockets Project (s)
12
12 Client/Server in Linux SCE Linux Support Environment Linux Operating Environment Linux Programming Environment Sockets Project (s)
13
13 Client/Server in Java SCE Java Support Environment Java Operating Environment Java Programming Environment Java Sockets Project (s)
14
14 Remote Procedure Calls Foundations for RPC External Data Representation RPC Concepts
15
15 Remote Procedure Calls Foundations for RPC External Data Representation RPC Concepts RPC Examples
16
16 Other Stuff (As time permits) Threads
17
17 Other Stuff (As time permits) Threads Other C/S environments Raw Sockets IPv6 UNIX Domain Sockets CORBA COM / DCOM NFS
18
18 Motivation for Distributed Processing Computing costs Computing Power Computer networking Capabilities Application Availability Requirements Multi-vendor Environment Proliferating
19
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
20 Host Based Processing
21
21 Master - Slave Processing
22
22 Client Server Processing
23
23 Peer to Peer Processing
24
24 Client / Server Advantages Leverage Desktop Computing Power Move Processing Closer to Data Source
25
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
26 Distributed Computing Environment Developed under Open Software Foundation (OSF)
27
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
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
29 Distributed Processing Models
30
30 Communication Systems Functions Naming and Addressing Segmentation Blocking Flow Control Prioritizing Error Control
31
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
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
33 Summary Course Background –Course structure –SCE support facilities Client / Server Introduction –Environment Evolution –Distributed Computing –Multi-threading / multi-processing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.