Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1.

Similar presentations


Presentation on theme: "1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1."— Presentation transcript:

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


Download ppt "1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1."

Similar presentations


Ads by Google