Ads 468x60px

Saturday, November 19, 2011

Developing Web Applications Guide


Before you design your web site, get clear about the basics of client sever architecture, web hosting and three-tier architecture.

You have designed a web site as to provide some information to your clients through a web page. Your client requests for this information when he/she types/clicks the web address http://www.mysite.com/spl-folder/give-me-info.html on the browser’s address bar. The information specified in the address – the document give-me-info.html is retrieved from the folder spl-folder in the root directory of the server at www.mysite.com.
The communication between the client and the server using the request-response paradigm uses Hypertext Transfer Protocol (HTTP) and appears first in the web address. The response of the server need not be restricted to HTML documents alone: they could be images, media files, etc., and the protocol need not be only HTTP: it could be File Transfer Protocol (FTP), wais, https, etc. The www.triond.com is the domain name, a user friendly name for an Internet Protocol or IP address formed by 3-digited four-number strings separated by dots. For example, the range of numbers between 64.233.160.0 – 64.233.191.255 represent www.google.com. The browser that the client uses to view – be it Firefox, Safari or Internet Explorer – interprets the tags in the web pages to decide how to display the information in them.

Two Tier Client-Server Architecture

The design used in the above scenario is referred to as Client Server architecture.
Client/Server is a logical 2-tier model that divides workload into a ‘client’ tier and a ’server’ tier: the two tiers may exist on the same machine or be separated over a great distance on different machines. Often this model refers to powerful centralized ‘host’ servers waiting for incoming requests from a network of clients. The clients have the user interface to invoke the requests through function calls, and the database servers send the results after running the functions and stored procedures that implement the business logic of the application, and the information is displayed on the client machines.
The advantage of Client-Server model is that it is independent of hardware or operating system platforms. You can deploy clients and servers running on different hardware using different operating systems. The model also provides scalability, though limited. You can add more or faster server machines to share resources such as content, CPU cycles, storage and bandwidth and enhance performance.

Three Tier Client-Server Applications

The Two-tier model required the clients not only to carry the user interface but also bear the burden of processing too in order to reduce network traffic. The more complex the application, the fatter the client became and the more powerful the client hardware required to support it.
In the Three-tier model, the business logic is removed from the client layer as well as the back-end, and managed independently as a Business Layer on what is logically called an Application Server  containing the business logic (functions and procedures – the reusable code). This allows you to use thin clients such as a cell phone.
Thus, in addition to the User Interface layer, we now have a Business layer and Data layer. The 3-tier architecture comprises of a database tier at the bottom, the application tier in the middle and the client tier on top. To understand layers, remember that every layer sends requests and uses the services of underlying layers.
The middle tier brings together the other layers of the 3 tier. It processes the inputs it receives from the clients and interacts with the database.
The Bottom layer or the database layer consists of the Database Management System or the DBMS and the database itself. This database management layer manages the storage, retrieval of data as well as allows simultaneous access, provides security, data integrity and support applications.
Why 3-tier? The scalability of the back end in a two-tier Client-Server is limited. Further separation of data from the procedures that operate on the data enhances the scalability of the model further. When this is done, the servers or the back-end can reuse the same code – functions and procedures; thus, processes can be managed and deployed separately from the user interface and the database, and data from multiple sources can be integrated
Together, these various tiers of a 3 tier architecture are the framework of most web applications deployed on the Internet.


Source: Computer Sight

No comments:

Post a Comment