Technologies

We propose using MVC as a technology for your projects. Reasons for selecting this technology are given below:

  • Integration opportunities – All open source products, like Frameworks(cakephp,codeignitor etc..) and Opensources(WordPress, Drupal etc..), are created using this structure.  Adding new modules to the program as well as integrating with other open source projects becomes seamless.
  • Scalability – Large sites like Facebook.com and mySpace.com are created using PHP.
  • Cost savings – Being open source, you don’t pay any license fee. Hosting for PHP is cheaper than that for Microsoft technology.
  • Abstraction – Internet technology evolves too fast. Every year one has to update the look and feel of the site because it gets outdated. Separating the presentation layer in SMARTY makes this job very easy because you are not touching the heart of the application.
Tier Role Technology
Presentation Tier This tier will contain the user interface, which will be available to the end users. All the Ajax effects will be created using yahoo UI framework CSS 3.0, HTML5, Ajax
Business Tier This tier will manage business processes, rules and logic. This will contain the components and the business logic. PHP code
Database Tier This tier contains database having all the data MYSQL

Architecture

In order to provide accessibility, scalability, flexibility and robustness, the application should be built using the MVC (Model, View, and Controller) architecture.

This architecture facilitates the separation of the application code from presentation. Typically, the application code contains the business logic of your application, written and maintained in PHP code. This is the heart of your application. It is a bad practice to keep business logic and presentation at the same place. Presentation controls the view of the end user. This is the face of your application.

This architecture allows you to change the presentation without touching the business logic and changing the business logic without changing the view.

Database
We will use MYSQL 5.0 Database. All the queries and tables can be migrated to Oracle in future if you want to scale the site.

Web Server
Apache web server that runs on Linux will be used for the web server.

Operating System
Linux 10.2 and Microsoft Windows will be used as the development environment.