Overview of Distribution of Tasks in a Web Application
In olden days, when application development was based on lengthy codes, there were not much technical buzzing words like web servers, layers or tiers. The size of the software application was determined by KLOC, i.e. Thousands of Lines of Code, in the era of COBOL, Pascal etc. Now, due to the revolution of information sharing, web is now considered as a global sharing media. Web-application development is reinforced by the concept of multi-layers in the architecture level. Multi-Layered web application architecture is well supported by Microsoft Internet Information Server with Microsoft.NET Framework.
Introduction to Multi-Layered Architecture
A big complex work can be split into multiple set of tasks, so that each set of tasks can be allocated to different groups. Consider a simple food restaurant which prepares and serves food. The whole work can be summarized as the supply of prepared food to the customers and collection of the amount. The entire process is divided into different sets of tasks and assigned to different sections. For simplicity, Food restaurant categorize people in three different sections. The first section is Front-End section having Reception cum Waiter receives, greets, and gets order from customers. Second, the Preparation Section is the Kitchen to prepare the food. Third, Storage Section is the stores keeping stock of the raw materials, items purchased from market.
In the similar way, the modern techniques divide the application architecture into some logical sections called as "layers". In simple popular trend, there are three major layers called as User Interface Presentation Layer UIPL, Business Logic Layer BLL and Data Access Layer DAL.
User Interface Layer or Presentation Layer
User Interface Layer or Presentation layer is the layer which is nearest to end-user. Presentation Layer is like Front End of a food restaurant having a receptionist, waiters with menus. The reception greets the customers and the waiter set tables with clean cover, greet, welcome, seat customers and hand menus to them. Once the client orders, the waiter takes customer's orders and pass them to food attendants towards kitchen. Without a waiter and menu, the customer will not know what options are there for ordering the food or to purchase. Similarly, User Interface Layer or Presentation layer is responsible to interact with end-user. It shows some information, prompts user to do certain actions. Like enter some data. It may convey certain messages to end user also. Presentation Layer displays the information and validates the user's input data. The waiters need to be familiar with the menu with dishes and the languages of customers. Similarly presentation layer need to be good in communicating with end users.
IIS combined with Microsoft.NET, provides very powerful platform for developing web applications. Microsoft.NET provides many techniques such as Windows Forms, ASP.NET Web Forms, MVC, and WCF for Presentation Layer.
Business Logic Layer - BLL
Business Logic Layer - BLL is something like the kitchen in the food restaurant . The kitchen section is responsible for making food-ready. Similarly Business Logic Layer makes the data ready as per the Business Rules.
We can find professional chefs, assistant cooks and other kitchen staff. Similarly we find many application logics, calculations, and validations in BLL. The kitchen staffs do not have to be dressed very attractively, but need to do the cooking efficiently. Similarly the business logic layer does not need to be attractive and user friendly, but it should have efficient algorithms and effective logic to handle business requirements. It need to be the effective mediator between Presentation Layer and Data Access Layer.
Data Access Layer - DAL
Data Access Layer - DAL is something like Store Section which manages the storage and supply of materials and items. Data Access Layer performs actions on the data. DAL acts as store keeper and stores-staff, which provide raw materials to the kitchen. A good store section purchases required items and material in stores them in safe places. The stores Section need to have good clean storage space, good stores-manager and good stores-staff. In the similar way, DAL is responsible for accessing, updating, and storing and managing data properly. A typical DAL must be a good mediator between Database and other layers, so that no other layers other than DAL access database. A good application needs a robust RDBMS as database at back-end.
Consider a scenario when the dish-washer, floor cleaner supply the prepared food items with dirty and uncovered hands and vegetable-cutter with big knife comes to collect the bill amount. Then the customer will be disappointed and unsatisfied. So there should be logical separation between them. This type of logical separation is called as Isolation of Architecture Layers in Software Solutions. Whatever mess happens in kitchen should not affect Customers sitting in Front-End.. If some problems happened in storage and some baggage got damaged, it should not affect customers sitting in front end. If any drinking and dancing produces heavy music in front end, then it should not distract the cool Chef heading the cooking section. Similarly in application architecture also, changes in one layer must not affect the other. So application layers need to be isolated and logically independent for better quality and stability.
IIS Web Server is the Manager cum Coordinator
IIS or any web server act as Restaurant Manager who facilitates opening, closing restaurant, purchasing raw materials and items from market etc. IIS is short name of Microsoft Internet Information Server. It supports several protocols such as HTTP and FTP. It also supports mail related protocols such as SMTP and NNTP etc. Microsoft IIS has got its robust history started from its initial versions known as Microsoft Personal Web Server supported even on Windows 95, Windows 98 also. Recently it is popularly emerging as Internet Information Services 8.0 with release of Windows Server 2012 and Windows 8. In this it supports web socket protocols.
One can go for the feature of server farm, by using IP address of IIS web server. The implementation of web farm with IIS servers will be a good idea. To achieve high availability, Application Request Routing Method can be used with IIS. Network Load Balancing, shortly known as NLB technique is also provides scalability. IIS Administrators with network system people can create Network Load Balancing Cluster for ARR.
In this way multiple layers share the entire work load among them as per their specification, so that any single layer will not be overloaded. So a good architecture approach will split the entire work into various layers and delegate tasks to different layers.
Read SEO advantages and disadvantages for Responsive Web Design