Web Programming Framework or commonly known as Web Application Framework is nothing but a Software Framework which has been developed to support the designing and development of web resources, web services, web applications and dynamic websites. This framework is targeted to support the general activities which are performed in the web development. For example, there are frameworks which provides templates for certain activities, some frameworks do session management, some includes libraries which are very much important for accessing the databases etc.
Earlier, with the advent of World Wide Web, static web pages were developed with the use of HTML (Hyper Text Mark-up Language). However, to promote two way interaction and include dynamic activities, CGI (Common Gateway Interface) was introduced (Balat 2009). For this purpose, at the same time, many web based languages started to be developed. A few which were started initially are WebBase, PHP, Cold Fusion, Active Server Pages etc.
At present, the developers have a large number of languages available to them to create dynamic web pages. The web applications however, require a lot of libraries to be compiled so as to generate certain activities. Today, a lot of platforms and languages are there which provide a completely compiled version of web development framework which allow the developers to perform all the activities at a single standalone platform. Example of these are WebObjects, ASP.NET, JavaEE, Django etc.
Architecture of Web Programming Framework
Three Tier Organization
In case of Three Tier Organization, the applications are generally developed around 3 tiers of development namely, application, database and client (Cooper 2007). The client is generally web browser which have the functionality to run the HTML pages which are in turn created by the application layer. The application layer contains the main logic and is present at the server side. The database is generally Relational Database Management System (RDBMS).
A lot of frameworks follows the Model View Controller pattern to differentiate the user interface with the data model. It is a best practice to perform code modularization, perform reuse of the codes etc. This is most used model (Fensel, 2002).
Types of Web Programming Frameworks
Static Web pages are the ones in which there is only one way communication and transfer of information i.e., from the server side to the user side. However, in case of dynamic web pages, the interaction is two way. The queries from the user or client is processed by the server and appropriate response is sent back to the user. These promotes highly interactive sessions during web surfing. The web applications received a big boost with the evolution of web programming frameworks mentioned above as they helped in the creation of web colony by promoting web based chats and forums (Prosise 2002).
The most used among the above mentioned frameworks are ASP.NET and Java in association with HTML, C# etc. These frameworks collectively is used for more than 90% of web applications development. The use of the web programming framework is much more in today’s world where the advancement in technology is going on at an exponential pace. There may be many more improvements in the existing web programming frameworks in recent times so as to cater to the increasing demand of the users.
Advantages of Web Programming Framework
There are obviously more advantages then disadvantages of using the Web Programming Framework. Some of the notable advantages are as follows:
- It provides the developers with great opportunity to generate complex codes due to the presence of function call which comprises of 100 of lines of codes within. The developers get the functions from the framework directly without having to rewrite the entire code for the function (Fensel 2002).
- The frameworks help the developers to develop the websites and other web applications in a small period of time if required. It contains a lot of pre – defined tools which helps in easy development of the web applications (Cooper 2007).
- Before the advent of these frameworks, the cost of any website or web application development was too high but now the cost has gone considerably down. This results in passing down the margins in form of discounts to the customers which in turn is bringing more customers in the web space.
Disadvantages of Web Programming Framework
There are obviously more advantages then disadvantages of using the Web Programming Framework. Some of the notable disadvantages are as follows:
- The presence of varied pre-coded functions are leading to the loss of understanding of the basic codes behind those function in the developers. While using the pre-configured functions, the developers are now not at all bothered about the entire code which is present beneath that function (Balat 2009).
- Going further to the above point, the developers today are finding it difficult to implement the same solution outside the framework. They are losing the basic understanding which is proving to be very much disadvantageous for them.
- The frameworks are standard and any customization to the building blocks of the framework is near to impossible. This restricts some developers to carry out certain activities.
The introduction of the web development framework has come as a boon to the developers. On a larger view point, the entire web society has been reaping the benefits of these frameworks in the last decade. With these frameworks and a few modifications, the world is looking at some more advancement in the web applications and services domain.
Balat, Vincent, J?r?me Vouillon, and Boris Yakobowski. "Experience report: ocsigen, a web programming framework." ACM Sigplan Notices 44.9 (2009): 311-316.
Barbaroso&gcaron, G. "A two-stage stochastic programming framework for transportation planning in disaster response." Journal of the Operational Research Society 55.1 (2004): 43-53.
Battr?, Dominic, et al. "Nephele/PACTs: a programming model and execution framework for web-scale analytical processing." Proceedings of the 1st ACM symposium on Cloud computing. ACM, 2010.
Cooper, Ezra, et al. "Links: Web programming without tiers." Formal Methods for Components and Objects. Springer Berlin Heidelberg, 2007.
Fensel, Dieter, and Christoph Bussler. "The web service modeling framework WSMF." Electronic Commerce Research and Applications 1.2 (2002): 113-137.
Liu, Hua, and Manish Parashar. "Accord: a programming framework for autonomic applications." Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on 36.3 (2006): 341-352.
Miller, Robert C., and Krishna Bharat. "SPHINX: a framework for creating personal, site-specific Web crawlers." Computer Networks and ISDN systems 30.1 (1998): 119-130.
Prosise, Jeff. Programming Microsoft. NET. Microsoft Press, 2002.