Product Reviews


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.";

   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.


  • Microsoft Nabs IoT Platform Provider Express Logic

    As part of its plan to invest $5 billion in IoT technologies, Microsoft this week acquired Express Logic, which provides real-time operating systems for industrial embedded and IoT devices.

  • Dealing with Broken Dependencies in SCVMM

    Brien shows you how to resolve some broken, template-related dependencies in Microsoft's System Center Virtual Machine Manager.

  • AzCopy Preview Adds AWS S3 Data Transfer Improvements

    Microsoft announced this week that it has improved the preview version of its AzCopy tool to better handle Amazon Web Services (AWS) S3 data.

  • Microsoft Adding Google G Suite Migration in Exchange Admin Center

    Microsoft's Exchange Admin Center will be getting the ability to move Google G Suite calendar, contacts and e-mail data over to the Office 365 service "in the coming weeks."

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.