1 / 30

Internet and Intranet Fundamentals

Internet and Intranet Fundamentals. Class 2 Session A. Topics. Client / Server Computing Definitions Examples Communications Protocols. Definitions. Preliminaries http://www.whatis.com/ Distributed Computing

mauli
Download Presentation

Internet and Intranet Fundamentals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. 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

  6. 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

  7. 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”

  8. 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

  9. 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)

  10. 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

  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. DefinitionsRPC LocalCalling Program Called Remote Program Client -Side Runtime Program Server -Side Runtime Program Stub I/F Stub I/F

  13. 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)

  14. 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

  15. 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

  16. 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>

  17. ExamplesExercises Results: www.ora.com 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: <mailto:webmaster@ora.com>; rev="Made" Connection closed by foreign host.

  18. Examples Exercises Results: www.microsoft.com 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.

  19. Examples Exercises Results: www.sun.com 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.

  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:<mike@bob.csz.com> 250 <mike@bob.csz.com>... Sender ok RCPT To:<mcarroll@csz.com> 250 <mcarroll@csz.com>... 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. 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

  24. ExamplesDistributed Objects • Application Servers / Frameworks • Netscape Application Server (NAS) • IBM WebSphere Application Server • Bluestone’s Saphire/Web (R) Application Server Framework

  25. ExamplesDistributed Objects: NAS 2-tier Multi-tier

  26. ExamplesDistributed Objects: NAS

  27. Application ServersSome Links NAS: http://home.netscape.com/appserver/v2.1/whitepaper/index.html

  28. 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

  29. 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

  30. 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

More Related