Started July 2008 – Launched June 2009
Commerce Network is a product I created for a small Wilmington, NC – based company by the name of PrimeVendor Inc. It was designed to electronically handle all invoices, purchase orders and receiving reports passed between the private sector and the United States government in addition to all state governments governed by the US. At the time of creation it was typical of most government agencies (and many contractors) to handle all of this manually on paper through snail mail and faxes with humans processing the documents. Needless to say, the cost savings of replacing all of these humans and paper with a software, paperless solution are dramatic and compelling.
In order to meet these lofty goals the product had to bedesigned in such a way as to support any and all delivery mechanisms, protocols and data formats and,similarly, be able to then transform this data of ‘any’ format to an output destination of ‘any’ protocol in whatever format the receiver required. It also had to be able to scale to the levels of potentially handling billions to trillions of such interactions in a day. Additionally, we needed a web portal accessible by both our clients and the agencies they dealt with where the users could create, send and receive these documents in addition to being able to view the logs of all documents that passed through our system (and bring up each archived document for display).
I managed to successfully meet all of these requirements with a back-end distributed multi-processing system where there were workers and managers (load balancers, basically) all talking to a SQL database as a coherency mechanism. As more customers were added and workload increased, these worker roles and balancers could span any number of machines and processors on the server racks we had there.
2 ASP.NET sites were also created – one for the public marketing site and another for the web portal our customers could use to send and receive documents. In order to handle the transformation of file formats, I created a newinterpretedscripting language very similar in syntax to C (except most of these transformation scripts were only a handful of instructions long). Our internal formats that were used on the portal became the standard set and all other formats were written to transform from/to that set. The formula then became, if A were the incoming format and D the outgoing, D = g(f(A)) where ‘f’ was the transformation function that translated the inbound format to our internal formal and ‘g’ was the function for transforming this internal format to the destination format.
An internal tool was developed that allowed you to write these transformation functions and check them at run-time to ensure correct output. This allowed new formats, complete with all the required transformations, to be created very efficiently.
I was the sole developer on this project that was successfully launched in June of 2009. Shortly afterwards I left to start on PrecisionLender at which point the companyinevitably built a development shop of around a dozen developers in India to work on the next version of the product.