Database Replication Software

In 2008, EmpireCLS started the migration of their legacy Linux data to Microsoft SQL Server. A custom real-time data replication service was created to facilitate this first step in porting the legacy Linux C code to C# / .NET on windows.

A code generator was created that would parse C header files and create an XML model representing all of the data structures that were used by the existing ISAM database. This XML model was then used by Code Smith templates to generate SQL Server tables, procs, and triggers that would handle both the storage and access. We also generated a complete C# data access layer with Code Smith that would be used by the various services to interact with the database. The C# data access layer was to be the marshaling layer between the ISAM and SQL Server databases.

Technologies… C#, XML, Code Smith.

Chauffeur App

In 2008 EmpireCLS needed to revamp their current pager strategy for communicating reservation information and statuses to and from their chauffeurs. We created a Windows Mobile 6 app to be deployed on Moto Q devices.

Once released the chauffeurs had constant real-time updates of reservations data and had the ability, via 1 or 2 taps, to notify dispatch of various statuses that occur when picking up and driving a customer to their destination.

This project required a backend web service implementation to communicate with the mobile device app. The backend web service in turn communicated with several Linux services via windows sockets.

Technologies… Windows Mobile 6, .net framework, WCF, asp.net, IIS

EmpireCLS Customer Website

In 2007, EmpireCLS needed to revamp their customer booking website. This website allowed private customers, corporate customer, and travel administrators to manage reservations. This website also acted as the portal for EmpireCLS’ vast network of affiliates, allowing them to both receive assigned trips and notify EmpireCLS of statuses and closeout information.

One of the biggest challenges of this site was that it had to integrate with the existing Linux system. We designed and implemented a socket communication framework to facilitate this. We use Code Smith to generate the communication layer based upon XML models that we created to specify methods and messages.

Technologies… asp.net web forms, C#, Code Smith, IIS, and Linux

Information Management Software

In 2004 Deloitte faced many issues with their existing fat client audit software and decided it was time to implement a more enterprise wide solution to meet the geographically distributed needs of their business. The firm was not able to get information and guidelines to their auditors in a timely manner because it was a manual process. An enterprise system was designed to allow for real-time data exchange to and from the 40K+ auditors throughout the world. The new system would synchronize information between individual auditors with the global servers, as opposed to using CDs for information transfer. The system would now allow managers to view aggregate audit data from several auditors at once via dashboards.

The new system alleviated ongoing application maintenance issues that the firm was facing. Rather than having to distribute thousands of CDs, the auditors in the field were able to connect to the central servers and download the latest application software.

Internationalization requirements were easily met with the new system since all information that required localization were stored in centralized repositories and not hard coded within the client application. The information was able to be exported, translated by 3rd party consultants and the like, and then re-imported back into the system for synchronization with the auditor client applications.

This system required a distributed deployment environment across the globe. Each country, or region within a country, had their own centralized deployment. Each deployment was required to be available 24/7 so Microsoft clustering technologies were utilized to allow for active / active node clusters for the SQL server deployments. Clients connected to their regional application servers via a VPN connection, which then directed them, via a NLB (Network Load Balancer), to the application server farm.

We were also tasked with help bridge the gap between multiple teams both on premises and in Europe. This was one of the more exciting aspects of the project as we were able to build a true camaraderie with the European team where there were some issue previously.

The result of this product was a tool that allowed subject matter experts to author content that would streamline and simplify the audit process, increasing data capture validity, and decrease overall time spent on client engagements.

The application was built using win forms and accessed used a local SQL Server database. Background synchronization was used to bring down the latest content from a centralized SQL Server to the local client. Versioning needed to be taken into consideration so as to not break existing data relationships locally with new data from the server. The application was built using C#, XML, and ado.net for the data access.

Each regional / country deployment supported synchronization of 100K+ rows of data to 1K – 10K client users on a daily basis. Each regional / country deployment supported synchronization to central firm repositories for 1000K+ rows per week.

Auditing Software

In 2003 Deloitte asked us to help revamp the current client auditing software that was used by thousands of auditors in the field to facilitate auditing processes at client facilities in the field. The application was used a mix of document gathering, canned forms, wizards, and contextual guidance to help auditors gather the most relative information.

We were tasked with revamping the existing application, bringing up to date, and making it more of an online / offline experience that that the auditors could both receive the latest procedures and guidelines faster and to allow consolidation of data across multiple team members.

We were able to help guide the development teams technically and to build out some frameworks to be used in building the client application. We were then tasked with splitting off into a separate group to build the information management system.

The client was using the .NET framework (C#), local SQL Server, and .NET office integration.

Book Layout Software

In 1998 Barnes & Noble asked us to design and implement an application that would help them visually layout their store shelves in the bargain book section.

Book and shelf dimensions were scaled to the computer display to allow the user to easily see how the books would fit on the shelves, color coordinate book covers, visually see the pricing, etc. Once completed the user would print out the visual layout and textual list to be given out to the stores to facilitate the physical layout of the shelves.

B&N was able to save labor costs and optimize their planning process for in store holiday campaigns.

This was a fun project as it involved a lot of graphical programming. Both Visual C++ and MFC were used entirely to build the MDI application. All layouts were saved in binary format to the local disk. In order to provide the maximum graphical fidelity 2 21 inch CRTs were used side by side with an extended desktop.