Distributed systems: an architectural view. Once upon a time… The Mainframe Dumb Terminal Dumb Terminal Dumb Terminal Dumb Terminal Dumb Terminal Dumb.

Slides:



Advertisements
Similar presentations
J0 1 Marco Ronchetti - Basi di Dati Web e Distribuite – Laurea Specialitica in Informatica – Università di Trento.
Advertisements

The Web: an architectural view. Browser Render HTML Get URL Send HTML Get HTML file HTTPD File System The primitive Web model.
J0 1 Marco Ronchetti - The Web: an architectural view.
Overview Environment for Internet database connectivity
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
Internet Security Protocols
DT228/3 Web Development WWW and Client server model.
Hypertext Transfer Protocol Kyle Roth Mark Hoover.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
B.Sc. Multimedia ComputingMedia Technologies Database Technologies.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Introduction to Web Database Processing
HTTP Hypertext Transfer Protocol. HTTP messages HTTP is the language that web clients and web servers use to talk to each other –HTTP is largely “under.
How the web works: HTTP and CGI explained
INTERNET DATABASE. Internet and E-commerce Internet – a worldwide collection of interconnected computer network Internet – a worldwide collection of interconnected.
Introduction to Web Interface Technology (CSE2030)
Apache Tomcat Server Typical html Request/Response cycle
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
Definitions, Definitions, Definitions Lead to Understanding.
Hypertext Transport Protocol CS Dick Steflik.
 What is it ? What is it ?  URI,URN,URL URI,URN,URL  HTTP – methods HTTP – methods  HTTP Request Packets HTTP Request Packets  HTTP Request Headers.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Application Layer. Applications A program or group of programs designed for end users. A program or group of programs designed for end users. Software.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
Chapter 4: Core Web Technologies
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Web application architecture
Copyright (c) 2010, Dr. Kuanchin Chen1 The Client-Server Architecture of the WWW Dr. Kuanchin Chen.
HTTP HTTP stands for Hypertext Transfer Protocol. It is an TCP/IP based communication protocol which is used to deliver virtually all files and other.
Introduction to Internet Programming (Web Based Application)
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 Welcome to CSC 301 Web Programming Charles Frank.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Web Client-Server Server Client Hypertext link TCP port 80.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
Web Technologies Interactive Responsiveness Function Hypertext Web E-Publishing Simple Response Web Fill-in Forms Object Web « Full-Blown » Client/Server.
Java Servlet API CGI / HTTP Concepts Java Servlet API.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
IS-907 Java EE World Wide Web - Overview. World Wide Web - History Tim Berners-Lee, CERN, 1990 Enable researchers to share information: Remote Access.
CITA 310 Section 2 HTTP (Selected Topics from Textbook Chapter 6)
Fall 2000C.Watters1 World Wide Web and E-Commerce Clients & Client Side Processing.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
CS 6401 The World Wide Web Outline Background Structure Protocols.
WWW Programming Model. WWW Model The Internet WWW architecture provides a flexible and powerful programming model. Applications and content are presented.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 The World Wide Web Architectural Overview Static Web Documents Dynamic Web Documents HTTP – The HyperText Transfer Protocol Performance Enhancements.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 22 World Wide Web and HTTP.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Lecture # 1 By: Aftab Alam Department Of Computer Science University Of Peshawar Internet Programming.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Section 6.3 Server-side Scripting
WWW and HTTP King Fahd University of Petroleum & Minerals
Hypertext Transport Protocol
WEB API.
Chapter 27 WWW and HTTP.
Architecture of the web
Information Retrieval and Web Design
Presentation transcript:

Distributed systems: an architectural view

Once upon a time… The Mainframe Dumb Terminal Dumb Terminal Dumb Terminal Dumb Terminal Dumb Terminal Dumb Terminal All of the work is done at the center Fixed local connections Or modems

Mainframe Terminal logic/data presentation User input/output

Once upon a time… The Mainframe Intelligent Terminal Intelligent Terminal Intelligent Terminal Intelligent Terminal Intelligent Terminal Intelligent Terminal Some work os done on the periphery: the client-server paradigm

Client server ServerClient Most logic/data Some logic/data + presentation Enabled by: the Personal Computer / Workstation the Internet (TCP/IP)

Client server - evolution Three tier architecture Data Storage Business Logic Presentation Logic The Model The Controller The View

Client server - problems Part of the BUSINESS LOGIC is performed on the periphery: The new version nightmare…

The Web – Back to the old model! Web Server 2 Thin client General purpose Web Server 3 Web Server 1

The Web: an architectural view

Needed Conceps: TCP-IP protocol suite Port

HTTP Overview HTTP Requests An HTTP request consists of a request method, (“subprotocol” specification) a request URL, (location) header fields, (metadata) a body. (data) HTTP 1.1 defines the following request methods: GET: Retrieves the resource identified by the request URL HEAD: Returns the headers identified by the request URL POST: Sends data of unlimited length to the Web server PUT: Stores a resource under the request URL DELETE: Removes the resource identified by the request URL OPTIONS: Returns the HTTP methods the server supports TRACE: Returns the header fields sent with the TRACE request HTTP 1.0 includes only the GET, HEAD, and POST methods. Although J2EE servers are required to support only HTTP 1.0, in practice many servers support HTTP 1.1.

HTTP Overview HTTP Responses An HTTP response contains a result code, header fields, and a body. The HTTP protocol expects the result code and all header fields to be returned before any body content. Some commonly used status codes include: 100: Continue 200: OK 404: the requested resource is not available 401: the request requires HTTP authentication 500: an error occurred inside the HTTP server that prevented it from fulfilling the request 503: the HTTP server is temporarily overloaded and unable to handle the request For detailed information on this protocol, see the Internet RFCs: HTTP/1.0 (RFC 1945), HTTP/1.1 (RFC 2616). ( See also

HTTPS Overview https is a URI scheme which is syntactically identical to the http: scheme normally used for accessing resources using HTTP. Using an https: URL indicates that HTTP is to be used, but with a different default port (443) and an additional encryption/authentication layer between HTTP and TCP. This system was developed by Netscape Communications Corporation to provide authentication and encrypted communication and is widely used on the World Wide Web for security-sensitive communication, such as payment transactions.

S-HTTP Overview Secure hypertext transfer protocol' (S-HTTP) is an alternative mechanism to the https URI scheme for encrypting web communications carried over HTTP. S-HTTP is defined in RFC Web browsers typically use HTTP to communicate with web servers, sending and receiving information without encrypting it. For sensitive transactions, such as Internet e-commerce or online access to financial accounts, the browser and server must encrypt this information. The https: URI scheme and S-HTTP were both defined in the mid 1990s to address this need. Netscape and Microsoft supported HTTPS rather than S-HTTP, leading to HTTPS becoming the de facto standard mechanism for securing web communications. S- HTTP is an alternative mechanism that is not widely used.

Browser Render HTML Get URL Send HTML Get HTML file HTTPD File System The primitive Web model

httpd The primitive Web model Internet HTTP Get Client Browser Server File System

Browser Render HTML Get URL with Params Send HTML Execute CGI(params) Build HTML on the fly HTTPD CGI Process A simple interactive Web model

httpd A simple interactive Web model Internet HTTP Get Cgi-bin process Client Browser Server File System

Browser Render HTML Get URL with Params Send HTML Execute CGI(params) Build HTML on the fly HTTPD CGI Process DB Run Sql query Send query results An evolved interactive Web model

httpd An evolved interactive Web model Internet HTTP Get Cgi-binQuery SQL process DB Data Client Browser Server File System

httpd The Bottlenecks Internet HTTP Get Cgi-binQuery SQL process DB Data Client Browser SLOW! Server File System

httpd The Bottleneck – part I Internet HTTP Get Cgi-binQuery SQL process DB Data Client Browser SLOW! Server File System

httpd The solution: Internet HTTP Get Cgi-binQuery SQL process DB Data Client Smart browser How? Including code in HTML Server File System reduce net traffic by having a smarter client!

Programming languages Java Java Enabling technologies Client Smart browser Scripting languages Javascript Javascript Vbscript Vbscript Perlscript Perlscript Python Python … … Interpreted: Source code travels Compiled: Executable travels (must be HW-OS-Browser independent!)

httpd The Bottleneck – part II Internet HTTP Get Cgi-binQuery SQL process DB Data Client Browser SLOW! Server File System

httpd The solution: Internet HTTP Get Query SQL Function DB Data Client Browser Server File System integrate the service into the httpd process

Enabling technologies Multithreading Multithreading DLL DLL Servlets Servlets Using… Scripting languagesScripting languages Programming languagesProgramming languages Function httpd Server How? Including code in HTML File System (depending on server implementation)

mixed client- and server-side scripting<HTML>… …VBScript Commands… </SCRIPT>… … …JavaScript Commands… </SCRIPT>…</HTML> Code executed by the Server BEFORE the page is transferred over the Net Code transferred to the client and interpreted by the Browser ASP Syntax

The state problem Internet Client 1 Server +CGI httpd Data User 1 Data User 2 Data User 3 Client 3 Client 2 ?

A typical solution Internet Client 1 Server +CGI httpd Data User 1 Data User 2 Data User 3 Client 3 Client 2 Cookie Cookie Cookie Supported by Java & JavaScript

httpd A more radical solution Internet HTTP Get Cgi-bin process Client Browser Server Java applet process Startup Socket connection Supported by Java

httpd An even more radical solution Internet HTTP Get Cgi-bin process Client Browser Server Java applet process Startup CORBA Middle Tier Supported by Java

WAP - CenniClient (cellular phone) MicroBrowser Gateway WAP Request WDP + WTSL (Wireless Datagram Protocol) Wireless Transport Security Layer Server HTTP Page description: Wml (Wireless Markup Language, in XML) Hdml (HandhelD Markup Language, variante di HTML 9600 baud (*) (*) GPRS up to 56 Kbit/sec, UMTS up to 2 Mbit/sec (Universal Mobile Telecommunication System) More info:

XML Enabled HTTP ServerClient DocumentServerHTTPServer XSLTProcessor HTTP request StylesheetServer Get document XML document Get SS XSL stylesheet XML + XSL HTML document HTML document

httpd The Proxy Internet Client Browser Server Proxy