The client required a toolbar to serve multiple purposes for which this toolbar was developed. This application offers a variety of services along with serving its main purpose of deducting some amount for charity from user’s account with user’s permission and choice. Some of the features that this toolbar includes are as follows:
- Allows quick search in Yahoo, shows news, sports, shortcuts to frequently used applications, and so on
- Allows tracking browser activity and saves the details on the server
- Pops up charity information
- Allows changing organizations obtaining charity from among thousands of choices
- Shows amount to be deducted, in percentage, for each site
- Enables continuous client/server communication
- Enables IP tracking
- Control of the application has been passed on to Admin section
- Version control system automatically upgrades the version of the application
- Use of JSON technology for communication
When the project includes variety of features, there are certain challenges that the team faces during development, as follows:
Keeping track of complete browser activity is a difficult task. Tracking browser activity includes everything that the user does over Internet.
Managing a complex database with continuous saving and retrieving of information.
Tracking IP address and details pertaining to a particular IP address.
|PHP (Server Side Language)||Most appropriately suited to create dynamic web pages. Enables fast extraction of data out of a database for presenting it on the web page.|
|MySQL Engine||A versatile low maintenance database management system which acts as a cross- platform compatible database component of the LAMP platform.|
|Linux||A sturdy platform with open source code for extensive customization and with powerful multitasking abilities.|
|Apache Web Server||Server Ideal for serving static as well as dynamic content on the web in a safe and secure manner.Supports a variety of features while offering extendable core functionality|
|Installshield 7.0||InstallShield makes it easy for developers to build reliable Windows Installer (MSI) and InstallScript installations for web applications.|
Cutting-edge technologies like VC++, MFC, ATLCOM, COM+, MSDEV 2005, XPI, RDF, XUL, etc. are used to develop this application for browsers like Internet Explorer and Firefox. The design approach was built around PHP architecture to maintain security and scalability of the application. Using MY SQL ensured query optimization and stored procedures were used to handle complex queries from multiple tables to enhance system performance.
- Extendibility and flexibility in development structure ensured “faster to market” transitions. In order to most effectively access the database in an object-oriented context, an interface translating the object logic to the relational logic was used to communicate with the relational databases in an object-oriented manner.
- Accessing the database required the formation of an intermediary abstraction layer which ensured hiding the implementation details of a particular set of functionality.
- JSON technology was used for frequent server communications for better performance.
Keeping in mind the peculiar structure of the application and the challenges involved, n-tier architecture was adopted with all the layers loosely coupled with each other.
- Presentation Specific Layer: This includes the page-level layer which will be accessing the other layers beneath to present the data.
- Business Specific Layer: This acts as a bridge between the presentation la
yer and database layer. This will contain all the business logic for the different components involved in the project.
- Database Specific Layer: This acts as a bridge between the physical database and the business logic accessing the data.
- Physical Database Layer: MY SQL with the tables, view and stored procedures etc.
While Ensuring Privacy and security, version control mechanism was also applied to the application. This mechanism ensured automatic downloading switching to a new version of the application. The application was highly scalable to incorporate new features and enhance the existing ones. Comprehensive search and browse options are offered within optimized query features. The Web usability guidelines were strictly adhered to during the development and the interface was easily navigable through the judicious use of CSS and HTML controls.
The application was developed and fully functional within a span of 4 months