Case Study Donation Toolbar
Client required a toolbar to serve multiple purposes for which this toolbar was developed. This application offers 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. They are 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.
Technologies Operating System & Server Management
Development Tools & Environments Database
Used Red Hat Linux OS, Multi-Server Architecture with Staging & Production Environment through Version Controlling releases, Server Optimization, Security & SSL Implementation, Scheduler for Back-ups, Alert Monitoring System Integration, Server Performance Tuning at regular intervals, Software Firewall Configuration & Maintenance PHP5+, Apache Web Server, Installshield 7.0, AJAX, Java Script, HTML5, CSS3, JSON etc. MYSQL Database Server, DB Clustering, DB Optimization, Master Slave Replication, Query Optimization, Scheduler for Backups
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 build around PHP architecture to maintain security and scalability of the application. Using MYSQL 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.
Architecture 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 Layer and the Database Layer. This will contain all the business logics 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: MYSQL with the tables, view, stored procedures etc.
Development Highlights While ensuring privacy and security, version control mechanism was also applied to the application. This mechanism ensured automatic downloading and switching to the new version of 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. Web usability guidelines were strictly adhered to during the development and the interface was easily made navigable through the judicious use of CSS and HTML controls. The application was developed and fully functional within a span of 4 months.