Utiliziing the world wide web opens many new doors for end users and application developers alike. It also presents some unique problems as well. The web is inherently statelss since it uses HTTP as its main transfer protocol. Every refresh or action a user makes via web browser results in a one time communication between the browser and the webserver. The server sends the requested document and the communcation ends. No state information is retained by HTTP. As a result, web applications have to build statefulness into their environment if data is to persist over several requests. [write more]
The inception of the web and web application development also brought back sevreal design challenges that were largely solved in the past
by non-web application developers. Any non-trival application has the potential to, if not designed well, degrade over time as it is being
developed/maintained. In such an application business logic (model), presentation logic (view) and how the two are coupled and operate (controller)
can be mixed together and result in a very hard to maintian application. In order to prevent this from happening web application developers
found a useful pattern previously discoverd by smalltalk developer in 1979. The adoption of the model-view-controller (MVC) pattern
by web application developers has resulted in many very usable web frameworks.
Example MVC Frameworks:
The above frameworks differ in what features and services they offer, but they are common in that they all utilize the MVC architectural pattern in
one form or another. If you need a better, more detailed description of the MVC pattern, you can read an
article I wrote on the subject.
To create a well-designed and maintainable web application, it is often desireable to have a good framework with which to build upon. The aforementioned MVC design pattern is probably the most common architectural pattern used in web applications today.
SimpleFramework is a basic proof of concept portal system that attempts to flex the framework in all its key areas. It should prove to be an interesting learning tool that is both well designed and developed.
The primary purpose of this project it to fulfill a reqirement for my [Eric.Fiori] undergraduate computer science degree. More importantly, however, it is ment to be a learning tool for myself and anyone else interested in the Model View Controller pattern as it applies to web devleopment.
Visit the project page at sourceforge or read a brief description of the project.