Her Majesty's Revenue and Customs (HMRC)is a non-ministerial department of the UK Government responsible for the collection of taxes, the payment of some forms of state support, and the administration of other regulatory regimes including the national minimum wage.!
HMRC adopted Schematron in 2007 as the language for writing rules for validating tax documents submitted via the internet. The conventional approach to applying these rules to documents is by translating them to an XSLT stylesheet and applying that to the documents. There are, however, serious performance issues with this approach when using off-the-shelf XSL processors.
We delivered, and continue to maintain, a very high-performance rules engine built in Java. This is a critical component in their infrastructure for receiving and checking documents, submitted via the internet, against Schematron rules. It deals with millions of documents a year, varying in size from a few kilobytes to hundreds of megabytes. Instead of attempting to speed up the traditional pipeline for processing Schematron via XSLT, we took a highly innovative approach that resulted in a very efficient engine written in pure java. This approach had significant business and technical benefits for the client over and above the accelerated processing, and cost far less than the competitors' offerings.
To win this work we competed against major players at all stages, and went up against IBM, Intel and Cisco in the last round of the selection phase. In the final evaluation, our system was the unanimous selection of the client's technical architects.