Submitted To
Mrs. Bhumika Gupta
Mr. V.M. Thakkar
SEMINAR
TOPIC
Submitted By-:
Name - Pankaj Chand
Branch – computer science and
engineering
3rd year(6th Semester)
Roll No.- 38
CONTENTS
1. History ………………………………………………3-4
2. What is a web framework? ………………..5
3. Framework vs. libraries………………………6
4. Degrees of activeness ………………………7-8
5. Why should use a framework? ………….9
6. Framework Pattern(MVC)……………………10
7. Few popular framework
1. JAVA Based ……………………11-13
2. PHP Based ……………………14-16
3. ASP.NET Based……………………17
8. Advantages of using a framework……..18-19
9. Disadvantage of using a framework…..20
10. Reference …………………………………………….21
1. History
The World Wide Web (often known as the web) was created in 1990
In the beginning the web was very static. The user could not interact much
with the content, and to update a piece of text (or something else as well)
in a published material on the web, the author had to edit the page locally
and upload it to the server.
To get rid of this manual work the Common Gateway Interface (CGI)
standard was created for interfacing external applications with web servers.
(2) CGI created a new process for each request to the server resulting in
heavy load on server side when dealing with a great amount of requests,
thereby the demand for something more efficient grew.
In 1995-1996 the growth of web pages increased dramatically and at the
same time e-commerce got about. ColdFusion, PHP and ASP (Active Server
Pages) was created during the same period.
History continue…
The term "web application" was first introduced in 1999 in the Servlet
Specification version 2.2 for the Java language. Today most web sites are
interactive in some way which has made them more complex to develop and
the term web application has become generic.
2. What is a web framework?
A framework is software development that is
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.
3.Framework vs. libraries
vs
a framework is about reusing
behaviors by how abstract classes
and components interact with each
other
a framework calls one's
application.
framework
A library is a collection of classes which
provide reusable functionalities
one's application calls the library
Library
4.Degrees of activeness web
frameworks
1. "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
Continue..
2."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.
3. "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.
Why do we need framework?
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.
WAFs store important data in a relational database and they interact
with users via a web-based user interface.
MVC Design Pattern-:
Presentation:
View is the user interface (e.g. button)
Controller is the code (e.g. callback for button)
Data:
Model is the database
Framework Pattern
Few popular framework-:
JAVA based framworks-:
Hibernate sits between your
code and the database
Maps persistent objects to
tables in the database
It is an object-relational mapping (ORM) solution
for Java developed by Red-hat corporation
We make our data persistent by storing it in a database
Makes an application portable to all SQL databases.
Eg : 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;
Sites: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, clickjacking, cross site request forgery, etc
Sites: http://linked.in security
PHP based frameworks-:
cakePHP-:
Follow clean 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,
clickjacking, 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
Drupal is a free and open-source content management
framework written in PHP
It is used as a back-end framework for at least 2.1% of all
websites worldwide[8][9] ranging from personal blogs to
corporate, political, and government sites
Eg. whitehouse.gov and data.gov.uk.
ASP.NET based Framework-:
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
Advantages of using a framework
Reuse of working code that has already been built, tested, and used
by other developers increases reliability and reduces developing
time.
Get (free) help from others. By letting others (the framework) take
care of common issues, like security, internalization, localization,
etc., one will get (free) "outsourcing" from skilled developers. If a
developer starts from scratch with a project the developer will have
to think of everything. And, if the developer knows how to solve
everything; why do it once more? There is just risk of bugs and
security leaks.
Advantages Continued..
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.
Disadvantage of using a framework
To be able to use the framework at its best, it often requires
significant education 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.