Reviews

Review: OpenMake

Openmake 6.2
starting at $299 per client and $3900 per KB server
Catalyst Systems Corporation
Glencoe, Illinois
(847) 835-6106
www.openmake.com

Recently I ran down a list of build tools for .NET applications. Openmake is one that should have been on the list that I missed. Since then I've had a chance to talk to the folks at Catalyst and get to know a bit of this high-end entry in the market.

Openmake uses a distributed build architecture, tied together by SOAP messages. At the heart of the build process is the KB Server, which maintains its own knowledge base of how to build various types of software. Client workstations use the Openmake Browser to talk to the KB server, set things up, and kick off builds. Finally, one or more build servers handle the actual build tasks, receiving commands from the clients and using the Openmake KB to know how to build various types of software.

The KB server is one of the key strengths of Openmake. Rather than needing to script everything youself, you can depend on the KB Server to know how to compile dozens and dozens of types of software: .NET applications, Java Jar files, MSVC apps, VIsual Basic OCXs, InstallShiled and Wise installers, Delphi DLLs, and much else. The KB Server also manages build logs and impact analysis, making it easy to determine the effects of apparently-small changes on the system.

Openmake builds are normally handled by command-line tools, but there's also a minimal amount of integration with Visual Studio .NET; you can set up external tools in the VS .NET menus to create and execute Openmake builds. There's also integration with Eclipse for people on the Java side of the great divide.

Setting up Openmake is a non-trivial undertaking, and using it may take some getting used to. But then, so does any other process change. The real benefits of this approach should be most apparent in large enterprises building complex software that encompasses multiple vendors and technologies. In such a case, you can think of Openmake as a sort of referee, ensuring that builds are done repeatably regardless of which tools any individual developer prefers. Other features like online build logs let you use Openmake as a tracking tool as well, cluing everyone into how the build process is going. You'd likely find this overkill on a simple project, but as the complexity of your software increases you'll need to investigate this level of tool. You can sign up on the Web site to give Openmake a try if you're already outgrowing your current build system.

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.