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

  • Surface and ARM: Why Microsoft Shouldn't Follow Apple's Lead and Dump Intel

    Microsoft's current Surface flagship, the Surface Pro X, already runs on ARM. But as the ill-fated Surface RT showed, going all-in on ARM never did Microsoft many favors.

  • IT Security Isn't Supposed To Be Easy

    Joey explains why it's worth it to endure a little inconvenience for the long-term benefits of a password manager and multifactor authentication.

  • Microsoft Makes It Easier To Self-Provision PCs via Windows Autopilot When VPNs Are Used

    Microsoft announced this week that the Windows Autopilot service used with Microsoft Intune now supports enrolling devices, even in cases where virtual private networks (VPNs) might get in the way.

  • Most Microsoft Retail Locations To Shut Down

    Microsoft is pivoting its retail operations to focus more on online sales, a plan that would mean the closing of most physical Microsoft Store locations.

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.