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