Consumer Websites

Case Study – San Mateo County

, , , , ,

Project Overview
During the real estate crash of 2007, the county of San Mateo (and many other counties around the country) were experiencing a fast drop in the value of properties.  Since county revenues were driven mainly by property taxes, this drop in values was affecting the budgets of many of the cities and townships in the county.  The treasurers of the various governments would call the county tax collector every few days to see what the latest budget numbers were for the county.  This quickly became difficult to manage so the county decided to build a website that would calculate the net property values and publish them each day.
Solution
We designed and built a system that would take a data feed each night and process the numbers to produce budget numbers for all of the different entities in the county.  The calculations were quite complex because each entity could get their funds from a different part of the county, and sometimes these parts would overlap.

This page was available to the county treasurers, as well as the general public.
Technical Details
Due to the large amount of calculations that needed to be done, and the fact that the data was only updated nightly, not continuously during the day, we designed a system that would process and calculate the numbers each night in a batch job that was scheduled to run on the SQL server.  This job would look in a specific place on the network where an AS400 would dump some data for pickup.

Each night the data for the application would be wiped clean and recreated from scratch to ensure that all the data was correct and up to date.
Benefits

Provided Fast Access to Data for Outside Departments
The different […]

Case Study – Prosper.com

, , , ,

Project Overview
Our company was asked to assist the internal team at a company called Prosper.com.  Prosper is a peer-to-peer lending site, and is governed by many local and federal regulations.  As a result, the systems necessary to support this business are complicated and intricate.  Since the site is also very popular, this complication must be able to support a large number of transactions as well.
Solution
We assisted the in-house development team by working with them to develop a modular approach to development that would allow the different components to be updated and replaced more easily.  This allowed the different development teams to focus on different parts of the business without interfering with each other.
Technical Details
The services were implemented as stand-alone systems using WCF and ASP MVC.  Each system was planned and implemented using Microsoft Message Queue so it could be taken down and upgraded at any time without affecting the rest of the system.  This provided the network management team excellent flexibility in the way they managed the version rollout process.

By building each module as a stand-alone component, they were also all easily testable, which improved the quality control for the company.
Benefits

Improved Quality and Uptime
The system design allowed testing of each individual piece apart from the others, so the QA team could more easily focus on what pieces were working and which were broken.  It also allowed each piece to be changed without affecting the rest of the application.

Improved Developer Productivity
By using a modular approach for such a complicated site, the developers on the team were able to be much more productive.  Each small team could focus on the one piece they were working on, and not get distracted by all the other moving pieces that […]

Case Study – ProBusiness (Now ADP)

, , , , ,

Project Overview
ProBusiness is a large processor of payroll, deductions, and other payroll processing services, and maintained a website for their customers to use which allowed individuals to log in and view their payroll information online.  The functionality included the ability to view an accurately represented image of their paychecks and deductions, change their deduction elections, and make other changes in their individual payroll processing.

All access to the system needed to be very secure, yet very responsive.  On payroll day, the site would receive thousands of requests per minute.  We were brought in on this project to help improve the performance of this mission critical website, and to help in re-architecting the site to handle projected growth.

Solution
The existing system was analyzed for trouble spots, including analysis of the database, network activity, and code.  The most critical changes were targeted and improvements were implemented each weekend for several months, ensuring continued availability of the system but also incrementally improving the user experience and stability.  Code was updated to improve the security and performance.

To ensure the sites’ ability to handle the predicted growth, the structure of the site and the design of the infrastructure were reviewed and a new plan was put in place that would accommodate the predicted growth, as well as unforeseen growth.
Technical Details
The site was built in ASP.NET and used a MS SQL Server back end for data storage.  The databases were mirrored using Windows Cluster Server and MS SQL Enterprise which supports failover clustering.  In the event any piece of hardware were to fail, a hot spare would immediately take over the duties of that server thus exposing only about 1 minute of downtime to the users.

Benefits

Improved Customer Retention
The functioning of the site was causing […]