Information & Decision Management Dept West Texas A&M University

Slides:



Advertisements
Similar presentations
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Advertisements

UFCE8V-20-3 Information Systems Development 3 (SHAPE HK)
PHP syntax basics. Personal Home Page This is a Hypertext processor It works on the server side It demands a Web-server to be installed.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
What is it? –Large Web sites that support commercial use cannot be written by hand What you’re going to learn –How a Web server and a database can be used.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Multiple Tiers in Action
Introduction to Web Based Application. Web-based application TCP/IP (HTTP) protocol Using WWW technology & software Distributed environment.
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.
E-Commerce The technical side. LAMP Linux Linux Apache Apache MySQL MySQL PHP PHP All Open Source and free packages. Can be installed and run on most.
SIP Routing Proxy Integrated Routing solution. General functionality  The Routing Proxy is based on Session Initial Protocol(SIP) and is acting as a.
PHP Web Development, PHP Programming
TOPIC 1 – SERVER SIDE APPLICATIONS IFS 234 – SERVER SIDE APPLICATION DEVELOPMENT.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 24 – Web Servers (PWS, IIS, Apache, Jigsaw) Outline 24.1Introduction 24.2Microsoft Personal.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
INFM 603: Information Technology and Organizational Context Jimmy Lin The iSchool University of Maryland Thursday, October 18, 2012 Session 7: PHP.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
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 Application Architecture and Communication. Displaying a Web page in a Browser
1 HTML and CGI Scripting CSC8304 – Computing Environments for Bioinformatics - Lecture 10.
Chapter 1: Introduction to Web
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
True or False? Programming languages can be used to update databases and communicate with other systems. True.
Nic Shulver, Intro: Developing Server Applications What is a server? Many types of server – File server – file: networked file.
Student Learning Environment on the World Wide Web l CGI-programming in Perl for the connection of databases over the Internet. l Web authoring using Frontpage.
Introduction to Internet Programming (Web Based Application)
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
1 Welcome to CSC 301 Web Programming Charles Frank.
CGI Common Gateway Interface. CGI is the scheme to interface other programs to the Web Server.
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
© 2004 OPNET Technologies, Inc. All rights reserved. OPNET and OPNET product names are trademarks of OPNET Technologies, Inc. ARMing Apache David Carter.
Case Study Dynamic Website - Three Tier Architecture
Web Server Administration Chapter 7 Installing and Testing a Programming Environment.
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 Architecture Introduction
Enterprise PHP - Introduction Enterprise Client-Server Development with PHP Nic Shulver, FCES, Staffordshire University A fifteen credit module based on.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
Web Application Development Architecture, Process, Technologies Advanced Web-based Systems | Misbhauddin.
Martin Kruliš by Martin Kruliš (v1.1)1.
14 1 Chapter 14 Web Database Development Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
CITA 310 Section 7 Installing and Testing a Programming Environment (Textbook Chapter 7)
Introduction and Principles Web Server Scripting.
The basics of knowing the difference CLIENT VS. SERVER.
How Web Database Architectures Work CPS181s April 8, 2003.
(ITI310) By Eng. BASSEM ALSAID SESSIONS 10: Internet Information Services (IIS)
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.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
Outline  XAMPP  XAMPP Install  Put php and HTML documents  Windows and Mac Version  Security.
Class02 Introduction to web development concepts MIS 3501, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 1/14/2016.
Chapter 13 Web Application Infrastructure
Top 8 Best Programming Languages To Learn
Section 6.3 Server-side Scripting
WWW and HTTP King Fahd University of Petroleum & Minerals
Introduction to web development concepts
Relational database and SQL MySQL LAMP SQL queries
PHP / MySQL Introduction
Lecture 1: Multi-tier Architecture Overview
Web Servers (IIS and Apache)
Web Application Development Using PHP
Presentation transcript:

Information & Decision Management Dept West Texas A&M University Comparison of Dynamic Web Content Processing Language Performance Under a LAMP Architecture Musa Jafar Russell Anderson Amjad Abdullat Information & Decision Management Dept West Texas A&M University mjafar@mail.wtamu.edu randerson@mail.wtamu.edu aabdullat@mail.wtamu.edu

Presentation Outline LAMP Appliance Framework Test Scenarios Test Results Summary and observations

Web Interaction Scenario Scenario

What is LAMP LAMP is an open source, web-based application solution stack. It is comprised of (1) an operating system platform running Linux, (2) an Apache web server, (3) a MySQL database management system, and (4) a Dynamic Web Content Processor language such as Perl, Python or PHP scripting languages paired with its corresponding MySQL Database Interface Module.

Concurrent Users Test Configurations scenario One (Pure CGI, No database Connectivity) scenario Two (a Simple Database query) Scenario Three (a Database Insert-Update-Delete Transaction)

Test Configuration For each platform (SE Linux, Redhat) For each language (Perl, Python, PHP), For each number of concurrent users (1,5,10,25,50,75,100,125,50) configure a test, perform and monitor a test gather test results End For Tabulate, analyze and plot the average-page-response time for Perl, Python and PHP under a platform

Pure CGI Scenario

Figure 4: SE Linux, Dynamic Web Page Request Figure 5: Redhat Dynamic Web Page Request

DBI Scenario

Figure 6: SE Linux, Simple Query Request Figure 7: Redhat Simple Query Request

DBI Scenario

Figure 8: SE Linux, Insert, Update, Delete Transaction Figure 9: Redhat Insert, Update, Delete Transaction

Summary and Observations Multi-tiered, HTTP based applications suffer from the inability of the HTTP protocol to propagate meaningful error and status information from a back-end tier, such as the data tier, to the presentation tier – the web client. Web clients communicate with a web server only. Standards for communicating server status information to the client were defined as static status-codes ranging from 1XX to 5XX by W3C protocol including the classic “404 Not Found” status-code (RFC-2616, 1999, HTTP 1.1). These values are numeric and hard coded. Status Codes are not extensible to allow for the encoding of status information from a back-end tier such as a database server.

Summary and Observations An appliance framework allows performance engineers to focus on the task at hand. Tests can be replicated, reconfigured and reproduced in a matter of minutes through the graphical user interface of the appliance. The appliance framework transforms the job of the performance engineer from a programmer to that of a test designer and analyzer. Automatic testing exposed the limitations of the HTTP protocol in propagating third-tier status codes such as database connection timeouts, deadlocks and violations as HTTP header information to the web-client for interpretation

Summary and Observations Our Kludgy Propagating remote tier errors to the client, reported as a special category of HTTP error code that is not within the range of our experiment codes. #!/usr/bin/perl use strict; use DBI(); ……… if(my $x = DBI::err) { my $y = DBI::errstr; responseBack(501, "$x $y DBI Error"); } sub responseBack { my $err = 501; my $message = "Connection to Database Failed"; my $results = "$err $message"; if(@_){ ($err, $message, $results) = @_; print("status: $err $message\n"); print("content-type: text/html\n\n"); print("<html>\n"); ………………………. print("</html>\n"); exit;

Questions? Thank You