Monday, July 20, 2015

Web application framework (WAF)



A web application framework (WAF) is a software framework that is designed to support the development of dynamic websites, web applications, web services and web resources. The framework is intended to alleviate the overhead associated with common activities carried out in web development. For example, many libraries provide frameworks to access the database, templating frameworks and session management, and they often promote code reuse.

Types of framework architectures

Model–view–controller (MVC)

Many frames will follow the MVC architectural pattern to separate the data model with business rules from the user interface. This is generally considered good practice modularizes code promotes code reuse and multiple interfaces can be used. In Web applications, this makes presented different views, such as web pages for humans, and web service interfaces for external applications.

Push-based vs. pull-based

Most MVC frameworks follows a push -based architecture also called " action -based " . These frameworks use actions do the required processing , and then "push" the data to the display layer to the results. Django Ruby on Rails, Symfony , Spring MVC, Stripes , CodeIgniter are good examples of this architecture An alternative is pull - based architecture , sometimes called " component-based " these cadres layers begin with vision, who can then " pull "the results of multiple controllers as needed In this architecture , multiple controllers can be involved in one view Elevator , Tapestry , JBoss Seam, Java Server Faces ( μ ) Micro and Wicket are examples of pull - . based architectures Play . Struts, RIFE and ZK have support for both push and pull -based application controller calls.

Three-tier organization

In three -tier organization, applications are structured around three physical layers. Client application and database The database is normally a RDBMS. The application contains the business logic that runs on a server and communicates with the client using HTTP. [11] The client web applications is a Web browser that supports HTML is generated by the application layer. The term should not be confused with MVC , which , unlike the three - tier architecture , it is regarded as a good practice to keep business logic of the controller , the " middle layer " .

Books

By Michael Nash