Web Application Development



Similar documents
Web Pages. Static Web Pages SHTML

Detailed Table of Contents

Web application development landscape: technologies and models

Basic Internet programming Formalities. Hands-on tools for internet programming

Lecture 2. Internet: who talks with whom?

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Client/server is a network architecture that divides functions into client and server

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture # Apache.

MULTICULTURAL CONTENT MANAGEMENT SYSTEM

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

Understanding Application Servers

Fachgebiet Technische Informatik, Joachim Zumbrägel

ACM Crossroads Student Magazine The ACM's First Electronic Publication

Chapter 27 Hypertext Transfer Protocol

If your organization is not already

Connecting with Computer Science, 2e. Chapter 5 The Internet

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

-8*6-DYD6HPLQDU 6HUYOHW$UFKLWHFWXUHV 5DLQHU+LVV$QGUHDV.DSS 6<6725$*

10. Java Servelet. Introduction

Lecture 11 Web Application Security (part 1)

Cloudbuz at Glance. How to take control of your File Transfers!

MCTS Self-Paced Training Kit (Exam ): Configuring Windows Server 2008 Application Platform

Efficiency of Web Based SAX XML Distributed Processing

Network Technologies

CCM 4350 Week 11. Security Architecture and Engineering. Guest Lecturer: Mr Louis Slabbert School of Science and Technology.

LAMP [Linux. Apache. MySQL. PHP] Industrial Implementations Module Description

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

What Is the Java TM 2 Platform, Enterprise Edition?

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

T320 E-business technologies: foundations and practice

Fig (1) (a) Server-side scripting with PHP. (b) Client-side scripting with JavaScript.

Web Server for Embedded Systems

The World Wide Web: History

SWE 444 Internet and Web Application Development. Introduction to Web Technology. Dr. Ahmed Youssef. Internet

Middleware and the Internet. Example: Shopping Service. What could be possible? Service Oriented Architecture

CONTENT of this CHAPTER

Architectural Overview

Portals, Portlets & Liferay Platform

Table of Contents. 1 Overview 1-1 Introduction 1-1 Product Design 1-1 Appearance 1-2

Application Layer -1- Network Tools

Working With Virtual Hosts on Pramati Server

<Insert Picture Here> Oracle Web Cache 11g Overview

Chapter 6 Virtual Private Networking Using SSL Connections

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

IMPLEMENTATION OF INTELLIGENT FIREWALL TO CHECK INTERNET HACKERS THREAT

Module 13 Implementing Java EE Web Services with JAX-WS

Web Hosting & Maintenance

Glassfish, JAVA EE, Servlets, JSP, EJB

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

ICANWK414A Create a common gateway interface script

Web Hosting Features. Small Office Premium. Small Office. Basic Premium. Enterprise. Basic. General

1 Introduction: Network Applications

Customer Bank Account Management System Technical Specification Document

QUESTIONS AND ANSWERS

MCTS Self-Paced Training Kit (Exam ): Configuring Windows Server 2008 Application Platform

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Web Development Frameworks

FAQs for Oracle iplanet Proxy Server 4.0

Accessing Data with ADOBE FLEX 4.6

Security Testing For RESTful Applications

WEB DATABASE PUBLISHING

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

Introduction to Computer Security

Xtreeme Search Engine Studio Help Xtreeme

S y s t e m A r c h i t e c t u r e

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

NetGroups.com. (scheduled release date 7/01 never released)

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

DEPLOYMENT GUIDE Version 1.0. Deploying the BIG-IP LTM with Apache Tomcat and Apache HTTP Server

A Comparison of Software Architectures for E-Business Applications

DEPLOYMENT GUIDE Version 2.1. Deploying F5 with Microsoft SharePoint 2010

E-commerce. Web Servers Hardware and Software

Trollhättan, Sweden

Heterogeneous Tools for Heterogeneous Network Management with WBEM

HTTP Protocol. Bartosz Walter

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

ICT 6012: Web Programming

Chapter 4. Learning Objectives. Learning Objectives. Building an E-commerce Web Site. Building an E-commerce Web Site: A Systematic Approach

Web Services and Service Oriented Architectures. Thomas Soddemann, RZG

Content Management Implementation Guide 5.3 SP1

A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Techniques for Scaling Components of Web Application

A Tool for Evaluation and Optimization of Web Application Performance

Guide to Analyzing Feedback from Web Trends

Web Cloud Architecture

NETWORK DESIGN BY USING OPNET IT GURU ACADEMIC EDITION SOFTWARE

DEPLOYMENT GUIDE Version 1.1. Deploying the BIG-IP LTM v10 with Citrix Presentation Server 4.5

Middleware and the Internet

Policy Guide Access Manager 3.1 SP5 January 2013

Transcription:

Web Application Development Introduction Because of wide spread use of internet, web based applications are becoming vital part of IT infrastructure of large organizations. For example web based employee performance management systems are used by organizations for weekly or monthly review of employees. On the other hand online course registration and examination systems can allow students to study while staying at their homes. Web Applications In general a web application is a piece of code running at the server which facilitates a remote user connected to web server through HTTP protocol. HTTP protocol follows stateless Request-Response communication model. Client (usually a web-browser) sends a request to Server, which sends back appropriate response or error message. A web server is software which provides access to services to users connected to internet. These servers can provide support for many protocols used over internet or intranet like HTTP, FTP, telnet etc Figure 1: A typical web application HTTP Basics A protocol defines the method of communication between two parties. For example when we talk to our teacher the subject of discussion is studies but with our parents we normally talk about family matters. Similarly there are many different protocols used by computers to communicate with each other depending on applications. For example an Echo Server only listens to incoming name messages and sends back hello message, while HTTP protocol uses various types of request-response messages. Umair 2005, All Rights Reserved - 1 - TA: Munawar Nadeem

Figure 2: HTTP communication model - HTTP is as request-response oriented protocol. - It is a stateless protocol since there is no built-in state management between successive requests. - Parts of an HTTP request o Request Method: It tells server what type of action client wants to be performed. o URI: Uniform Resource Indictor specifies the address of required document. o Header Fields: Option headers can be used by client to tell server extra information about request e.g. client software and content type that it understands. o Body: Contains data sent by client to server - Other request headers like FROM (email of the person responsible for request) and VIA (used by gateways and proxies to show intermediate sites the request passes) can also be used. Figure 3: HTTP request example - Request can also contain addition information in form of request parameters o In URL as query string e.g. http://www.gmail.com/register?name=ali&state=punjab o As part of request body (see Figure 1) Umair 2005, All Rights Reserved - 2 - TA: Munawar Nadeem

- Parts of HTTP response o Result Code: A numeric status code and its description. o Header Fields: Servers use these fields to tell client about server information like configurations and software etc. o Body: Data sent by server as part of response. Figure 4: HTTP response example - HTTP codes fall into five general categories o 100-199 Codes in the 100s are informational, indicating that the client should respond with some other action. 100: Continue with partial request. o 200-299 Values in the 200s signify that the request was successful. 200: Means every thing is fine. o 300-399 Values in the 300s are used for files that have moved and usually include a Location header indicating the new address. 300: Document requested can be found several places; they'll be listed in the returned document. o 400-499 Values in the 400s indicate an error by the client. 404: Indicates that the requested resource is not available. 401: Indicates that the request requires HTTP authentication. 403: Indicates that access to the requested resource has been denied. o 500-599 Codes in the 500s signify an error by the server. 503: Indicates that the HTTP server is temporarily overloaded and unable to handle the request. Umair 2005, All Rights Reserved - 3 - TA: Munawar Nadeem

Server Side Programming Web server pages can be either static pages or dynamic pages. A static web page is simple HTML (Hyper Text Transfer Language) file. When a client requests an HTML page the server simple sends back response with the required page. Figure 5: Static web page request and response While in case of dynamic web pages server consists of a running application which generates HTML web pages according to specific requests coming from client. These dynamically generated web pages are sent back to client with the response. Figure 6: Dynamic web page request and response We need to create dynamic web pages when the content of site changes frequently and client specific response is required. Some of the scenarios are listed below - The web page is based on data submitted by the user. e.g. results page from search engines and order confirmation pages at on line stores. - The Web page is derived from data that changes frequently. e.g. a weather report or news headlines page. Umair 2005, All Rights Reserved - 4 - TA: Munawar Nadeem

- The Web page uses information from databases or other server-side resources. e.g. an e-commerce site could use a servlet to build a Web page that lists the current price and availability of each item that is for sale. Server side programming involves - Using technologies for developing web pages that include dynamic content. - Developing web based applications which can produce web pages that contain information that is connection-dependent or time-dependent. Dynamic web content development technologies have evolved through time in speed, security, ease of use and complexity. Initially C based CGI was used to write server side programs which were to provide limited but fast services to users. Then template based technologies like ASP and PHP were introduced which allowed easy of use for designing complex web pages. Sun Java introduced Servlets and JSP that provided more speed and security as well as better tools for web page creation. Figure 7: Dynamic web content technologies evolution Normally web applications are partitioned into three layers. Each layer performs a specific functionality which should not be mixed with other layers. Layers are isolated from each other to reduce coupling between them but they provide interfaces to communicate with each other. - Presentation Layer: Provides user interface for client to interact with the application. This is the only part of application visible to client. - Business Layer: The business or service layer implements the actual business logic or functionality of the application. For example in case of online shopping systems this layer handles transaction management. - Data Layer: This layer consists of objects that represent real-world business objects such as an Order, OrderLineItem, Product, and so on. Umair 2005, All Rights Reserved - 5 - TA: Munawar Nadeem

Figure 8: Simplified view of a web application and its layers Java technologies for web application development include Java Servlets, Java Server Pages, EJB, Java Server Faces and etc. Figure 9: Java web application technologies (presentation/web tier) Umair 2005, All Rights Reserved - 6 - TA: Munawar Nadeem