You are on page 1of 15

Abdessattar Ettaieb

2018-2019
At the end of this chapter you will be able to:
 Define the Framework
 Make the difference between a Framework and a Library
 Identify the advantages and the disadvantages of the Frameworks
use.
 A framework is software designed to support the development of dynamic
websites, web-applications and web-services.

 It is a set of prewritten code or libraries which provide functionality common


to a whole class of applications. The framework can be seen as a base or a
skeleton to build upon.
A framework is about reusing A library is a collection of classes
behaviors by how abstract classes which provide reusable functionalities
and components interact with each
other.

The Framework calls the application. The application calls the library
 "Passive" Framework:
"Passive" framework - are frameworks that are just a bunch of files to start working
from. Unpack and one is ready to create a project from it. Some frameworks support
to be located apart from the project files, so the framework files can be reused by
several other projects
"Semi-active" Framework:
"Semi-active" framework are frameworks that can generate code from one's
existing code by a command from the developer. Some of these frameworks can also
create whole new projects from the developers command, with or without options.
"Active" Framework:
Active" framework are frameworks which got what semi-active frameworks got and
also are working in the background by writing/creating/generating code
automatically without any command from the developer.
Virtually all web applications have a common set of basic requirements, such as
user management e.g., secure user login, password recovery), group
management, and access authorization. A Web Application Framework usually
includes all these functionalities, refined through hundreds of production
deployments, freeing developers to focus on the needs of their specific application.

In high traffic web application like social sites , registration sites etc., web
frameworks provide excellent support for developing application having good
traffic handling capacity by applying pooling techniques.

Web Application Framework store important data in a relational database and they
interact with users via a web-based user interface.
It is an object-relational mapping (ORM) solution for Java developed by Red-hat
corporation
It makes the data persistent by storing it in a database
Makes an application portable to all SQL databases.
Example: www.linked.in
Struts uses and extends the Java Servlet API to adopt the approach, a
variation of the classic Model-View-Controller (MVC) design pattern.
Sites using sturts framworks: http://www.boston.com
The Spring Framework provides a comprehensive programming and configuration
model for modern Java-based enterprise applications.
Dependency Injection
Aspect-Oriented Programming including Spring's declarative transaction
management
Spring MVC web application Comprehensive and extensible support for both
Authentication and Authorization Protection against attacks like session fixation,
click jacking, cross site request forgery, etc
Sites: http://linked.in security
CakePHP follows MVC pattern
CakePHP is a rapid development framework for PHP that provides an
extensible architecture for developing, maintaining, and deploying applications

Comprehensive and extensible support for both Authentication and Authorization


Protection against attacks like session fixation, Click jacking, cross site request
forgery, etc.

http://www.educationunlimited.com/
Zend Framework is focused on building more secure, reliable, and modern
Web 2.0 applications & web services.
Consumes widely available APIs from leading vendors like Google, Amazon,
Yahoo!, Flickr, Facebook to login them.
http://thorpesystems.com
The ASP.NET MVC is an open source web
application framework that implements the
model–view–controller (MVC) pattern.
Open source License (Apache License 2.0).
Sites:www.microsoft.com
Reuse of working code that has already been built, tested, and used by other
developers increases reliability and reduces developing time.
Frameworks provide solutions for common issues, like security, internalization,
localization, etc. If a developer starts from scratch with a project the developer will
have to think of everything like risk of bugs and security leaks.
Framework can support "high level" of programming, by code modularity. Basic tasks,
like login and database handling, can be in the framework and separated in another
layers is business logic.
By upgrading one's framework it might give extra features without extra
implementation. Take an example if an e-commerce is using a framework and the team
behind the framework releases a new version it might give new ways of payment
methods.
To be able to use the framework at its best, it often requires significant knowladge
and experience.
Performance might be suffering from common code that is built to handle as much
as possible, and is not optimized for a specific task.
If a bug or a security risk in the framework is found it will be in all applications using
the framework some Framework are very stiff and do not give the developer enough
flexibility needed for some applications.
Building from scratch often gives a feeling of more productive which can make the
developer more peaceful and less feeling of being stuck and thereby more creative and
less bored.

You might also like