[Revision] Advanced Web Development
PART A (UNDERSTANDING)
In his book “Patterns of Enterprise Application Architecture”, in discussing the Front Controller Fowler states that:
“In a complex Web site there are many similar things you need to do when handling a request. These things include security, internationalization, and providing particular views for certain users. If the input controller behaviour is scattered across multiple objects, much of this behaviour can end up duplicated. Also, it’s difficult to change behaviour at runtime”
Write a report that elaborates on this sentiment and evaluate the use of Page and Front Controllers in web applications. In particular, explaining how this approach integrates into the MVC framework.
Furthermore, in the same book, Fowler identifies a number of other web presentation patterns, investigate and describe the Template Pattern.
Investigate PHP MVC frameworks and argue the case for using such frameworks in the development of complex applications. Identify the main benefits and drawbacks associated with adopting the MVC approach.
PART B (IMPLEMENTATION)
You are required to build a PHP web application of your choice for displaying content stored in a database. Demonstrate an understanding of the components and concepts of an MVC application by building an application or test programs illustrating their use.
The concepts you may consider include:
• “convention over configuration” or “configuration over convention”?
• MVC architecture
• ORM tools
The concepts you may also consider include:
• The use of server side templates
• REST Web Services
• NoSQL support