RapTier Enterprise 1.4.1
RapTier is a template-based code generator focused on .NET applications
(though there's no reason it couldn't produce any other text files,
given the appropriate templates) with some interesting and useful
features. I spent some time working with the latest version, and it
offers a way to quickly build Windows or Web forms on top of just about
Using RapTier is pretty simple. First, you create a standard OLEDB
connection to your database (Access, SQL Server, MySQL, Sybase, FoxPro,
and others are supported). Then you can use a treeview to drill into
tables, columns, views, and stored procedures to make code customization
decisions. For example, you might choose to take a table named tblCust
and represent it as an object named Customers in the generated code
(there's a bulk-renaming facility to help eliminate prefixes quickly).
Finally, make a few other decisions (like which type of front end to
build, and whether to target VS .NET 2002, VS .NET 2003, or C#Builder)
and tell it to go forth and generate. In addition to the Windows and Web
form templates, there's also one to generate hyperlinked HTML
documentation of a database.
RapTier is certainly fast. Indeed, the first time that I generated
database documentation for a fairly large database I was sure I'd done
something wrong, because the response was so fast that I didn't believe
anything had happened. But sure enough, there were pages for each
database object I'd chosen, all wrapped with navigation links and
looking like MSDN documentation. The same speed applied in all the tests
that I ran.
Architecturally, RapTier's code appears quite sound. There's a section
in the help file explaining its use of the Table Data Gateway and Data
Transfer Object patterns, which you can find in Martin Fowler's book.
You can decide for yourself whether you'd prefer dynamic SQL or stored
procedures in each application, as well as pick other options like
autogenerated IDs for particular tables. Each generated class is also
subclassed by another class, giving you a place to make your own changes
that won't be overwritten if you run the generation process again. The
documentation, both in the help file for the product and as comments in
the generated code, is excellent and easy to follow. There's also
documentation of how to write your own templates (you can download a few
from the company's Web site, including one that uses the Data Access
Application Block as its data access layer).
RapTier comes in three different editions. The free Lite edition is
limited to 15 tables and 15 views. The $299 Professional Edition removes
that limit and contains all the core features of the product. Moving up
to the Enterprise Edition gets you the database documentor, the mass
renaming facility, the ability to create Command wrappers for existing
database views, and support for updateable views. The download itself is
very small (just over 1 MB), and you only need to add a license file if
you decide to buy the application after testing the Lite version.
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.