Product Reviews

TierDeveloper

Upper-crust code generator.

This is the high-end .NET flavor of a code-generation tool that's also available for VB6, C++, and a variety of Java flavors. It's designed to start with a database and generate a bunch of the routine code you need to create .NET applications that use true middle-tier serviced components (ie, that use COM+ services to handle things like transactions). On the backend, TierDeveloper supports SQL Server, Oracle, and DB2.

With the Enterprise Edition, you can choose whether to generate VB .NET or C# code (less-expensive Professional Edition packages limit you to one of the two languages, and only support SQL Server databases). The first step in using TierDeveloper is to connect to a database. From there, you select the tables you're interested in and generate business objects. If you'd like, you can also generate a Web application that uses these objects, and HTML design documentation. The objects themselves provide a layer on top of the database with methods such as "Insert" available. Here's a tiny snippet from some of the generated Web code:

Int32 result = 0;
NWTest.Orders ObjOrders = new NWTest.Orders();
NWTest.OrdersInfo ObjOrdersInfo = new NWTest.OrdersInfo();

ObjOrdersInfo.OrderID = vOrderID;
result = ObjOrders.Load(ObjOrdersInfo);

ObjOrdersInfo.CustomerID = vCustomerID ;
ObjOrdersInfo.EmployeeID = vEmployeeID ;
ObjOrdersInfo.OrderDate = vOrderDate ;
ObjOrdersInfo.RequiredDate = vRequiredDate ;
ObjOrdersInfo.ShippedDate = vShippedDate ;
ObjOrdersInfo.ShipVia = vShipVia ;
ObjOrdersInfo.Freight = vFreight ;
ObjOrdersInfo.ShipName = vShipName ;
ObjOrdersInfo.ShipAddress = vShipAddress ;
ObjOrdersInfo.ShipCity = vShipCity ;
ObjOrdersInfo.ShipRegion = vShipRegion ;
ObjOrdersInfo.ShipPostalCode = vShipPostalCode ;
ObjOrdersInfo.ShipCountry = vShipCountry ;
if (result == 0 )
{
   result = ObjOrders.Insert(ObjOrdersInfo);
   vMessage = "Record added successfully.";

}
else
{
   result = ObjOrders.Update(ObjOrdersInfo);
   vMessage = "Record updated successfully.";
}

Of course, in real life you'd layer your own application on top of these objectrs, but as you can see, the entire database layer is abstracted away to somewhere that it won't bother you. The TierDeveloper design environment also lets you do fancier things than just map columns to properties. For example, you can add a stored procedure as a method of an object, or create custom methods that take only some of the fields in the object. You can also generate some ancillary objects such as a "hooks" class that gives you some additional events for your data objects, or Web Services interfaces to particular classes.

The generated code seems solid, and the samples I played around with turned out fine. You can download a 30-day testdrive from the company's Web site; the only limitation is that it can only generate code from some specific sample databases (like SQL Server's Northwind sample). That's plenty to give you a good idea of the potential that the product might hold for your business.

About the Author

Mike Gunderloy, MCSE, MCSD, MCDBA, is a former MCP columnist and the author of numerous development books.

Featured

  • Hyper-V Architecture: Some Clarifications

    Brien answers two thought-provoking reader questions. First, do Hyper-V VMs have direct hardware access? And second, how is it possible to monitor VM resource consumption from the host operating system?

  • Old Stone Wall Graphic

    Microsoft Addressing 36 Vulnerabilities in December Security Patch Release

    Microsoft on Tuesday delivered its December bundle of security patches, which affect Windows, Internet Explorer, Office, Skype for Business, SQL Server and Visual Studio.

  • Microsoft Nudging Out Classic SharePoint Blogs

    So-called "classic" blogs used by SharePoint Online subscribers are on their way toward "retirement," according to Dec. 4 Microsoft Message Center post.

  • Datacenters in Space: OrbitsEdge Partners with HPE

    A Florida-based startup is partnering with Hewlett Packard Enterprise in a deal that gives new meaning to the "edge" in edge computing.

comments powered by Disqus

Office 365 Watch

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.