internet and intranet fundamentals class 2 session a

30
Internet and Intranet Fundamentals Class 2 Session A

Upload: hector-gordon

Post on 27-Dec-2015

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Internet and Intranet Fundamentals Class 2 Session A

Internet and Intranet Fundamentals

Class 2

Session A

Page 2: Internet and Intranet Fundamentals Class 2 Session A

Topics

• Client / Server Computing– Definitions– Examples– Communications Protocols

Page 3: Internet and Intranet Fundamentals Class 2 Session A

Definitions

• Preliminaries– http://www.whatis.com/

• Distributed Computing– spreading computational capability and data

over physically separated computers– usually connected via a network

Page 4: Internet and Intranet Fundamentals Class 2 Session A

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)

Page 5: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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

Page 6: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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

Page 7: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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”

Page 8: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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

Page 9: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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)

Page 10: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsClient / 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

Page 11: Internet and Intranet Fundamentals Class 2 Session A

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

Page 12: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsRPC

Called RemoteProgram

Stub I/F

Server-Side

RuntimeProgram

LocalCallingProgram

Stub I/F

Client-Side

RuntimeProgram

Page 13: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsTCP / 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)

Page 14: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsTCP / 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

Page 15: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsTCP / 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

Page 16: Internet and Intranet Fundamentals Class 2 Session A

ExamplesExercises

• HTTP: HyperText Transfer Protocol

• Port 80– Exercise 1:

•telnet www.ora.com 80•HEAD / HTTP/1.0<CR><CR>

– Exercise 2:•telnet www.microsoft.com 80•HEAD / HTTP/1.0<CR><CR>

Page 17: Internet and Intranet Fundamentals Class 2 Session A

ExamplesExercises

HTTP/1.0 200 OKServer: WN/1.15.1Date: Tue, 19 Jan 1999 06:34:57 GMTLast-modified: Mon, 18 Jan 1999 22:39:54 GMTContent-type: text/htmlTitle: www.oreilly.com -- Welcome to O'Reilly & Associates!Link: <mailto:[email protected]>; rev="Made"

Connection closed by foreign host.

Results: www.ora.com

Page 18: Internet and Intranet Fundamentals Class 2 Session A

Examples Exercises

HTTP/1.0 200 OKServer: Microsoft-IIS/4.0Content-Location: http://207.46.131.137/Default.htmDate: Tue, 19 Jan 1999 06:37:41 GMTContent-Type: text/htmlAccept-Ranges: bytesLast-Modified: Mon, 18 Jan 1999 20:09:06 GMTETag: "05d75661e43be1:5753c"Content-Length: 19075

Connection closed by foreign host.

Results: www.microsoft.com

Page 19: Internet and Intranet Fundamentals Class 2 Session A

Examples Exercises

HTTP/1.0 200 OKServer: Netscape-Enterprise/2.01Date: Tue, 19 Jan 1999 06:36:18 GMTSet-cookie: sessionid=ONQBNUAAABOEFAMUVFZE4GUBSSUXEUDO; domain=.sun.com;path=/Content-type: text/html

Connection closed by foreign host.

Results: www.sun.com

Page 20: Internet and Intranet Fundamentals Class 2 Session A

Examples Exercises

• SMTP: Simple Mail Transport Protocol

• Port 25– Exercise 1:

•telnet cyber55.csz.com 25

– Exercise 2:•telnet mail.ucr.edu 25

Page 21: Internet and Intranet Fundamentals Class 2 Session A

Examples Exercises

$ telnet cyber55.csz.com 25Trying 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 -0800HELO bob.csz.com250 cyber16.csz.com Hello [email protected] [38.253.188.29], pleased to meet youMAIL From:<[email protected]>250 <[email protected]>... Sender okRCPT To:<[email protected]>250 <[email protected]>... Recipient ok

Page 22: Internet and Intranet Fundamentals Class 2 Session A

Examples Exercises

DATA354 Enter mail, end with "." on a line by itselfThis is my data.It can go over several lines..250 XAA20311 Message accepted for deliveryQUIT221 cyber16.csz.com closing connectionConnection closed by foreign host.

Page 23: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsDistributed 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

Page 24: Internet and Intranet Fundamentals Class 2 Session A

ExamplesDistributed Objects

• Application Servers / Frameworks

– Netscape Application Server (NAS)– IBM WebSphere Application Server– Bluestone’s Saphire/Web (R) Application

Server Framework

Page 25: Internet and Intranet Fundamentals Class 2 Session A

ExamplesDistributed Objects: NAS

2-tier

Multi-tier

Page 26: Internet and Intranet Fundamentals Class 2 Session A

ExamplesDistributed Objects: NAS

Page 27: Internet and Intranet Fundamentals Class 2 Session A

Application ServersSome Links

NAS:http://home.netscape.com/appserver/v2.1/whitepaper/index.html

Page 28: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsJava 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

Page 29: Internet and Intranet Fundamentals Class 2 Session A

DefinitionsJava 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

Page 30: Internet and Intranet Fundamentals Class 2 Session A

SummaryClient / 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