Download presentation
Presentation is loading. Please wait.
Published byHector Gordon Modified over 9 years ago
1
Internet and Intranet Fundamentals Class 2 Session A
2
Topics Client / Server Computing –Definitions –Examples –Communications Protocols
3
Definitions Preliminaries –http://www.whatis.com/ Distributed Computing –spreading computational capability and data over physically separated computers –usually connected via a network
4
Definitions Distributed Computing –Client / Server Distributed Computing Environment (DCE) –Open Software Foundation (OSF) Remote Procedure Calls TCP / IP Berkeley Sockets –Distributed Objects Object Management Group CORBA –Common Object Request Broker Architecture Java Remote Method Invocation (RMI)
5
Definitions Client / Server Client –makes request –initiates communication –may have a GUI and human but not always Server –fulfills request –passively waits for requests –usually multitasking machine
6
Definitions Client / Server Sometimes “Client” refers to the –host –platform –machine (often a desktop machine) but often refers to the –client-side software examples: Netscape Communicator, Eudora
7
Definitions Client / Server The Server quite often controls access to shared resources such as –file systems (disks, tapes, etc.) –printers –shared communications facilities email server Same ambiguity applies to term “Server” as to “Client”
8
Definitions Client / Server Fat Clients –full-featured, large applications –use servers as data servers –not much computational power on the server side Thin Clients –small applications –downloaded from the network –relies on computational power of server
9
Definitions Client / Server Fat Client Example –Web Browser –Eudora –Visio Thin Client –Java Applets –JavaScript Applications inside of HTML Pages –Note dependence on Fat Client (i.e., the browser)
10
Definitions Client / Server Browser Developments “Gecko” –really NGLayout smaller, faster, layout engine replacement for Mozilla developed under mozilla.org –trying to put Mozilla on a diet http://www.mozilla.org
11
Definitions DCE’s Remote Procedure Calls –uses subroutine call paradigm –directories required to register available procedures –stub compiled into local executable forwards call to local runtime program that knows how to communicate with remote program –server side also has stub and its own local runtime program
12
Definitions RPC Called Remote Program Stub I/F Server -Side Runtime Program Local Calling Program Stub I/F Client -Side Runtime Program
13
Definitions TCP / IP Berkeley Sockets Defined in late 70’s early 80’s Shipped with versions of Berkeley Unix in early 80’s (1982) –endpoints in connections –Transport Layer –like Unix file descriptors and pipes (but 2-way)
14
Definitions TCP / IP Berkeley Sockets Five Basic Attributes of a Socket Connection –Local Port (chosen by OS on client side) –Local IP Address –Remote Port –Remote IP Address –Protocol (“tcp”, “udp”, etc.) Each Connection Has Own 5-tuple
15
Definitions TCP / IP Berkeley Sockets Server Listens on (Well-Known) Port Clients Attempts Make a Connection Server Accepts the Connection Server Receives Request from Client Server Interprets Request –performs some action Sends Response to Client Shuts Down the Connection
16
Examples Exercises HTTP: HyperText Transfer Protocol Port 80 –Exercise 1: telnet www.ora.com 80 HEAD / HTTP/1.0 –Exercise 2: telnet www.microsoft.com 80 HEAD / HTTP/1.0
17
Examples Exercises HTTP/1.0 200 OK Server: WN/1.15.1 Date: Tue, 19 Jan 1999 06:34:57 GMT Last-modified: Mon, 18 Jan 1999 22:39:54 GMT Content-type: text/html Title: www.oreilly.com -- Welcome to O'Reilly & Associates! Link: ; rev="Made" Connection closed by foreign host. Results: www.ora.com
18
Examples Exercises HTTP/1.0 200 OK Server: Microsoft-IIS/4.0 Content-Location: http://207.46.131.137/Default.htm Date: Tue, 19 Jan 1999 06:37:41 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 18 Jan 1999 20:09:06 GMT ETag: "05d75661e43be1:5753c" Content-Length: 19075 Connection closed by foreign host. Results: www.microsoft.com
19
Examples Exercises HTTP/1.0 200 OK Server: Netscape-Enterprise/2.01 Date: Tue, 19 Jan 1999 06:36:18 GMT Set-cookie: sessionid=ONQBNUAAABOEFAMUVFZE4GUBSSUXEUDO; domain=.sun.com;path=/ Content-type: text/html Connection closed by foreign host. Results: www.sun.com
20
Examples Exercises SMTP: Simple Mail Transport Protocol Port 25 –Exercise 1: telnet cyber55.csz.com 25 –Exercise 2: telnet mail.ucr.edu 25
21
Examples Exercises $ telnet cyber55.csz.com 25 Trying 38.253.188.55... Connected to cyber55.csz.com. Escape character is '^]'. 220 cyber16.csz.com ESMTP Sendmail 8.8.5/8.6.9 ready at Mon, 18 Jan 1999 23:00:1 0 -0800 HELO bob.csz.com 250 cyber16.csz.com Hello mcarroll@bob.csz.com [38.253.188.29], pleased to meet you MAIL From: 250... Sender ok RCPT To: 250... Recipient ok
22
Examples Exercises DATA 354 Enter mail, end with "." on a line by itself This is my data. It can go over several lines.. 250 XAA20311 Message accepted for delivery QUIT 221 cyber16.csz.com closing connection Connection closed by foreign host.
23
Definitions Distributed Objects Object Management Group (OMG) CORBA –Common Object Request Broker Architecture –ORB = Object Request Broker brokers components between clients and servers client does not need to know the where the server is or how its interface works like a registry
24
Examples Distributed Objects Application Servers / Frameworks –Netscape Application Server (NAS) –IBM WebSphere Application Server –Bluestone’s Saphire/Web (R) Application Server Framework
25
Examples Distributed Objects: NAS 2-tier Multi-tier
26
Examples Distributed Objects: NAS
27
Application Servers Some Links NAS: http://home.netscape.com/appserver/v2.1/whitepaper/index.html
28
Definitions Java Remote Method Invocation Like CORBA –but both sides have to be written in Java Each RMI Server Has Registry –for looking up object Client Can Invoke Methods Remotely –as if on local machine
29
Definitions Java Remote Method Invocation RMI Like Traditional RPC –but RPC is language-neutral hence least common denominator approach –RMI is platform-neutral hence full featured use of Java’s and the platform’s capabilities –RMI Object-Oriented http://java.sun.com:80/marketing/collateral/javarmi.html
30
Summary Client / Server A Type of Distributed Computing –most common type Client Initiates Request Server Passively Waits, then Responds to Client Request Berkeley Sockets –most widely used mechanism facilitating client / server computing on the Internet
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.