In Aspen 2.5, we were faced with the challenge of increasing performance by using stored procedures while needing to maintain compatibility with both SQL Server and Oracle. The process of developing stored procedures for both SQL Server and Oracle would have been not only time-consuming, but would have resulted in twice as many chances for error. The team referred to this as the “dual database tax”.

A fellow architect and I brainstormed the possibility of writing our own stored procedure language and a translator that would convert our language into highly-performant SQL Server and Oracle stored procedure notations. SQL Server and Oracle stored procedures are substantially different, but if we could achieve this goal, we would greatly reduce development effort and decrease the occurrences of platform-specific bugs.

In Aspen 2.5, we developed the Aspen Meta-Language (AML) and a compiler named Spanner.

AML and Spanner provided the following:

Within the first year of use, developers had written more than 250,000 lines of AML code that resulted in more than 1 million lines of SQL Server and Oracle specific output.

SumTotal Systems
Lead Software Architect, Development Lead
Desktop app, Database-driven
Focus Areas
Language Processing, Code Generation
C#/.NET 1.0/1.1, XSLT (Extensible Stylesheet Language), SQL Server 2000, Oracle 9i
Screenshot of Spanner Screenshot of Spanner Screenshot of Spanner Screenshot of Spanner