Internet and Intranet Fundamentals Class 2 Session A.

Slides:



Advertisements
Similar presentations
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Advertisements

World Wide Web Basics Original version by Carolyn Watters (Dalhousie U. Computer Science)
HTTP HyperText Transfer Protocol. HTTP Uses TCP as its underlying transport protocol Uses port 80 Stateless protocol (i.e. HTTP Server maintains no information.
Network Programming Chapter 11 Lecture 6. Networks.
Layer 7- Application Layer
Sockets  Defined as an “endpoint for communication.”  Concatenation of IP address + port.  Used for server-client communication.  Server waits for.
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Web architecture Dr Jim Briggs Web architecture.
HTTP Exercise 01. Three Internet Protocols IP TCP HTTP Routes messages thru “Inter-network “ 2-way Connection between programs on 2 computers So they.
The World Wide Web and the Internet Dr Jim Briggs 1WUCM1.
Practical Issues of RPCCS-4513, D-Term Remote Procedure Call Practical Issues CS-4513 Distributed Computing Systems (Slides include materials from.
Definitions, Definitions, Definitions Lead to Understanding.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
The Application Layer  application and application requirements  sample network applications and protocols  SMTP, POP3  WWW: http1.1  teleconferencing.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Human-Computer Interface Course 5. ISPs and Internet connection.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
Web Server Design Week 5 Old Dominion University Department of Computer Science CS 495/595 Spring 2010 Martin Klein 2/10/10.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Mail Services.
Network Applications Outline Simple Mail Transfer Protocol
Application Protocols: ELECTRONIC MAIL (SMTP, POP) CSNB534 Semester 2, 2007/2008 Asma Shakil.
FTP (File Transfer Protocol) & Telnet
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
TCP/IP Protocol Suite 1 Chapter 22 Upon completion you will be able to: World Wide Web: HTTP Understand the components of a browser and a server Understand.
Application Layer 2 Figures from Kurose and Ross
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
An program As a simple example of socket programming we can implement a program that sends to a remote site As a simple example of socket.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Other Topics RPC & Middleware.
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Networks QUME 185 Introduction to Computer Applications.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
Krerk Piromsopa. Application Protocols & System Services. 1 Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
1 Welcome to CSC 301 Web Programming Charles Frank.
Silberschatz, Galvin, and Gagne  1999 Applied Operating System Concepts Chapter 15: Distributed Communication Sockets Remote Procedure Calls (RPCs) Remote.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
Distributed Computing A Programmer’s Perspective.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Web application architecture1 Based on Jim Conallen: Web Applications with UML.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
Jan 2001C.Watters1 World Wide Web and E-Commerce Client Side Processing.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Web Technologies Lecture 1 The Internet and HTTP.
A quick overview of Network communications A quick overview of Network communications Anthony Lomax Anthony Lomax Scientific Software Mouans-Sartoux, France.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 2, 3: Communication 1/30/20161Distributed Systems - COMP 655.
LURP Details. LURP Lab Details  1.Given a GET … call a proxy CGI script in the same way you would for a normal CGI request  2.This UDP perl.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
WEB1P webarch1 Web architecture Dr Jim Briggs. WEB1P webarch2 What is the web? Distributed system Client-server system Characteristics of clients and.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Web Server Design Week 6 Old Dominion University Department of Computer Science CS 495/595 Spring 2006 Michael L. Nelson 2/13/06.
درس مهندسی اینترنت – مهدی عمادی مهندسی اینترنت برنامه‌نویسی در اینترنت 1 SMTP, FTP.
Client-Server Communication
Computing with C# and the .NET Framework
MCA – 405 Elective –I (A) Java Programming & Technology
What is RMI? Remote Method Invocation
Client-Server Interaction
Chapter 2 Application Layer
Presentation transcript:

Internet and Intranet Fundamentals Class 2 Session A

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

Definitions Preliminaries – Distributed Computing –spreading computational capability and data over physically separated computers –usually connected via a network

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)

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

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

Definitions Client / Server The Server quite often controls access to shared resources such as –file systems (disks, tapes, etc.) –printers –shared communications facilities server Same ambiguity applies to term “Server” as to “Client”

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

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)

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

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

Definitions RPC Called Remote Program Stub I/F Server -Side Runtime Program Local Calling Program Stub I/F Client -Side Runtime Program

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)

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

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

Examples Exercises HTTP: HyperText Transfer Protocol Port 80 –Exercise 1: telnet 80 HEAD / HTTP/1.0 –Exercise 2: telnet 80 HEAD / HTTP/1.0

Examples Exercises HTTP/ OK Server: WN/ Date: Tue, 19 Jan :34:57 GMT Last-modified: Mon, 18 Jan :39:54 GMT Content-type: text/html Title: -- Welcome to O'Reilly & Associates! Link: ; rev="Made" Connection closed by foreign host. Results:

Examples Exercises HTTP/ OK Server: Microsoft-IIS/4.0 Content-Location: Date: Tue, 19 Jan :37:41 GMT Content-Type: text/html Accept-Ranges: bytes Last-Modified: Mon, 18 Jan :09:06 GMT ETag: "05d75661e43be1:5753c" Content-Length: Connection closed by foreign host. Results:

Examples Exercises HTTP/ OK Server: Netscape-Enterprise/2.01 Date: Tue, 19 Jan :36:18 GMT Set-cookie: sessionid=ONQBNUAAABOEFAMUVFZE4GUBSSUXEUDO; domain=.sun.com;path=/ Content-type: text/html Connection closed by foreign host. Results:

Examples Exercises SMTP: Simple Mail Transport Protocol Port 25 –Exercise 1: telnet cyber55.csz.com 25 –Exercise 2: telnet mail.ucr.edu 25

Examples Exercises $ telnet cyber55.csz.com 25 Trying 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 :00: HELO bob.csz.com 250 cyber16.csz.com Hello [ ], pleased to meet you MAIL From: Sender ok RCPT To: Recipient ok

Examples Exercises DATA 354 Enter mail, end with "." on a line by itself This is my data. It can go over several lines XAA20311 Message accepted for delivery QUIT 221 cyber16.csz.com closing connection Connection closed by foreign host.

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

Examples Distributed Objects Application Servers / Frameworks –Netscape Application Server (NAS) –IBM WebSphere Application Server –Bluestone’s Saphire/Web (R) Application Server Framework

Examples Distributed Objects: NAS 2-tier Multi-tier

Examples Distributed Objects: NAS

Application Servers Some Links NAS:

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

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

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