WEB ENGINEERING

Web Application Architechture – Client / Server Architecture

Posted on: July 24, 2010

What is Architecture?

Architecture is the structure of software systems which is divided into different perspectives, allowing us to manage the complexity of software systems in a better and easier way.

Frameworks

A framework is a reusable software system with general functionality already implemented. It can be specialized into a ready-to-use application.

  1. Examples Zend Framework for PHP
  2. NET Framework for ASP etc

Benefits:           The simple reuse of architecture and functionality

Drawbacks:     A high degree of training effort, a lack of standards for the integration of different frameworks, and the resulting dependence on manufacturers.

Components of a Generic Web Application Architecture

Web browser sends a request to Web server and the response to this request is sent back.

Client = User agent. It is controlled by a user to operate the Web application. The client’s functionality can be expanded by installing plug-ins, add-ons and applets.

Firewall: A software or hardware regulating the communication between insecure networks (e.g., the Internet) and secure networks (e.g., corporate LANs). This communication is filtered by access rules.

Proxy: A proxy is typically used to temporarily store Web pages in a cache. However, proxies can also assume other functionalities, e.g., adapting the contents for users (customization), or user tracking.

Web server: A Web server is a software that supports various Web protocols like HTTP, and HTTPS, etc., to process client requests.

Example:

  1. Open source Apache Web Server
  2. IIS Web Server
  3. Tomcat Server

Database server: This server normally supplies an organization’s production data in structured form.

Example:

  1. Open source MySQL
  2. MS SQL Server
  3. Oracle database server

Media server: This component is primarily used for content streaming of non-structured bulk data like audio and video.

Content management server: Similar to a database server, a content management server holds contents to serve an application. These contents are normally available in the form of semi-structured data, e.g., XML documents.

Application server: An application server holds the functionality required by several applications, e.g., workflow or customization.

Legacy application: A legacy application is an older system that should be integrated as an internal or external component.

2-Layer Architectures = Client / Server Architechture

It uses a Web server to provide services to a client.

A client request can point directly to static HTML pages, without requiring any processing logic on the server layer, or it can access a database via the application logic on the Web server (e.g., in the form of CGI scripts).

Dynamic HTML pages include script instructions directly in the HTML code, e.g., when SSI (Server-Side Include) is used, and they are interpreted either by databases with HTML functionality or by a Web server. The application logic, or dynamic HTML pages, can use services (e.g., user identification or data encryption) when the HTML response is generated.

This architecture is suitable particularly for simple Web applications. In contrast, a multilayer architectural approach is required for more demanding applications which are accessed by a large number of concurrent clients or which provide complex business processes requiring the access to legacy systems, amongst others.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 49 other followers

What I am Upto Now

Error: Twitter did not respond. Please wait a few minutes and refresh this page.

Follow Me On Twitter

Blog Stats

  • 73,286 hits

Live Traffic

My Paintings

%d bloggers like this: