Introduction

January 6, 2018 | Author: Anonymous | Category: Engineering & Technology, Computer Science, Operating Systems
Share Embed Donate


Short Description

Download Introduction...

Description

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

1

CS423 Client/Server Programming and Applications • Who am I? • Bob Cotter – – – –

Flarsheim Hall room 450J (816) 235-???? [email protected] http:// --- TBA

• Office Hours: – 10:00 am to 11:00 am Tuesday and Thursday – or by appointment 2

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 3

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

4

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 5

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

6

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

7

CS423 Client/Server Programming and Applications • • • • • •

Underpinnings Remote Procedure Calls Client/Server in Windows Client/Server in Linux Client/Server in Java Other Stuff

8

Client /Server Underpinnings • • • •

Evolution of C/S Architecture Objectives of C/S Architecture C/S Transport (TCP/IP) Socket Concepts

9

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

10

Client/Server in Windows • • • • •

SCE Windows Support Environment Windows Operating Environment Windows Programming Environment Sockets Project (s)

11

Client/Server in Linux • • • • •

SCE Linux Support Environment Linux Operating Environment Linux Programming Environment Sockets Project (s)

12

Client/Server in Java • • • • •

SCE Java Support Environment Java Operating Environment Java Programming Environment Java Sockets Project (s)

13

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

14

Remote Procedure Calls • • • •

Foundations for RPC External Data Representation RPC Concepts RPC Examples

15

Other Stuff (As time permits) • Threads

16

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

Motivation for Distributed Processing • • • • •

Computing costs Computing Power Computer networking Capabilities Application Availability Requirements Multi-vendor Environment Proliferating

18

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 19

Host Based Processing

20

Master - Slave Processing

21

Client Server Processing

22

Peer to Peer Processing

23

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

24

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

25

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

26

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

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

28

Distributed Processing Models

29

Communication Systems Functions • • • • • •

Naming and Addressing Segmentation Blocking Flow Control Prioritizing Error Control

30

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

31

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 32

Summary • Course Background – Course structure – SCE support facilities

• Client / Server Introduction – Environment Evolution – Distributed Computing – Multi-threading / multi-processing

33

View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF