Reviews

Review: RapTier

RapTier Enterprise 1.4.1
$199
SharpPower
www.sharppower.com

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 any database.

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.

About the Author

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.