Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.

Slides:



Advertisements
Similar presentations
DT228/3 Web Development WWW and Client server model.
Advertisements

An architecture for webb applications, J2EE
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
Technical Architectures
MSc IT UFIE8K-10-M Data Management Prakash Chatterjee Room 3P16
ISYS 546 Client/Server Database Application Development.
BICS546 Client/Server Database Application Development.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
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
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 1.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Introduction to Web Interface Technology (CSE2030)
Multiple Tiers in Action
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
Copyright © 2002 Pearson Education, Inc. Slide 4-1 Choosing the Hardware for an E-commerce Site  Hardware platform  Refers to all the underlying computing.
Apache Tomcat Server Typical html Request/Response cycle
Scripting Languages and PHP. Origins Rasmus Lerdorf ‘Personal Home Pages’. Zeev Surashi and Andi Gutmans Open Source PHP version 4 Full information on.
1 CS6320 – Why Servlets? L. Grewe 2 What is a Servlet? Servlets are Java programs that can be run dynamically from a Web Server Servlets are Java programs.
Introduction to Web Interface Technology (CSE2030)
Java Server Team 8. Overview What is a Java Server? History Architecture Advantages Disadvantages Current Technologies Conclusion.
Advanced Distributed Software Architectures and Technology group ADSaT 1 Application Architectures Ian Gorton, Paul Greenfield.
Information Systems Development 3 Lecture 2 3-tier application architecture A technical view.
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
INTRODUCTION TO WEB DATABASE PROGRAMMING
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Web Application Architecture and Communication. Displaying a Web page in a Browser
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
Meir Botner David Ben-David. Project Goal Build a messenger that allows a customer to communicate with a service provider for a fee.
Introduction to Internet Programming (Web Based Application)
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Chapter 17 - Deploying Java Applications on the Web1 Chapter 17 Deploying Java Applications on the Web.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
3-tier application architecture A technical view
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
1 Welcome to CSC 301 Web Programming Charles Frank.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
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 Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
14 1 Chapter 14 Web Database Development Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
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.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Introduction and Principles Web Server Scripting.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
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.
Introduction to Dynamic Web Programming
Web Development Web Servers.
PHP / MySQL Introduction
Web Technology and DBMSs
Database Driven Websites
Lecture 1: Multi-tier Architecture Overview
Introduction to Servlets
ASP.NET Module Subtitle.
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Web Application Development Using PHP
Presentation transcript:

Lecture 2 Web application architecture

Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need to select the most appropriate software from the available range.

Web pages Static Web pages Lecture 2 URL is decoded and page requested Page is returned

Dynamic Web page consistent look and feel on each page of a large site data is derived from a database depends on real time pages depend on user choice business transactions e.g. e-commerce…

3-tier architecture A Presentation layer using Browser technology A Middleware layer using a web application server platform + application programs A Data layer using a relational database or other data store technology

Presentation layer the retrieval of a file from a remote server accept the returned MIME file render (i.e. create a 2-d image ) the HTML plug-ins client-side scripts interaction between client-side scripts and the web page user input via a variety of controls

Data layer maintain data persistently, with backup and recovery insert, update and delete data define and modify the data structures (e.g. tables) themselves ( the Database Schema) interaction with the database using standard languages e.g SQL handle transactions to support concurrent access to the database via locking et optimise access by compilation of queries, indexing, replication of tables etc.

Middleware Layer accepting requests from the Presentation layer interpreting the requests – session support requesting the appropriate data from the data layer computing derived data creating the HTML for the page providing run-time support for: – thousands of concurrent users –compilation to machine code –multi-threading [ allow multiple processes to run concurrently] –caching [holding results in a temporary store to reduce re- calculation

Web Application Platforms Server side includes - files with a.shtml extensionServer side includes Cgi using Perl or other scripting language PHP like SSI, a scripting language which is embedded in an HTML page.PHP Microsoft’s ASP (Active Server Pages ) J2EE –JSP for page scripting –Java + class library –Multiple runtime vendors Tomcat, BEA.NET is the latest technology from MS..NET –range languages (VB.NET, C#,, C++, Cobol... ) –compiled to a common intermediate code (MSIL) –Extensive class library –ASP.NET scripting page scripting

Platform Comparision Enterprise solutions J2EE versus.NET –Simple words such as “better” or “faster” are best used by simpletons. Life, especially when it involves critical enterprise applications, is more complicated. PHP versus.NET –Language wars

Comparison criteria Other considerations, such as the perception of the vendor as an “enterprise company”, conformance to standards, strength of the ecosystem around the product, the degree to which the product is a de facto standard amongst its class, stability of the product or technology, ease of use, IDE integration and other tool support, total cost of ownership (TCO), portability and lock-in (or lack thereof), scalability and many other such factors often outweigh Performance among our customers.

Other layered architectures ANSI/SPARC Database model –The external or user level, characterised by Views –The Conceptual level, comprising the full corporate data model at a logical level –The Physical level, where data is stored in files

Channels between Layers ISO 7-layer communications model File standards (MIME) HTTP ….. Electrical signals Presentation <> Middleware –HTTP (The protocol which supports GET and POST messages) carrying a limited number of types of content (MIME types) Middleware <> Data stores –SQL

Review Questions Place the following terms in the 3-tier architecture: –JavaScript, SSI, J2EE, MySQL, Oracle, CSS, PHP, ASP.NET, Flash, Java Applets, JSP, Dreamweaver, Visual.NET Consider the PHP busdisplay.php script – what problems when 10,000 users?

Bus departures from Frenchay Frenchay Buses busdisplay.php 1

\n"); } $query= "select * from bustime where dtime > current_time() order by dtime limit 10"; if(!($dbresult = mysql_db_query($db,$query,$dblink))) { print(" query failed \n"); print(mysql_error(). " \n"); } 2

print(" "); print(" Route Time "); while($departure=mysql_fetch_object($dbresult)) { print(" "); print(" $departure->route "); print(" $departure->dtime "); print(" \n"); } print(" "); // close the database mysql_close($dblink); ?> 3