Review: OpenMake 6.3
starting at $299 per client and $3900 per KB server
Catalyst Systems Corporation
A few months ago I looked at OpenMake 6.2. Now they've pushed out a 6.3
version, and they're worth revisiting if you're in the market for a
high-end build tool. As you may recall, 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
one of the changes in 6.3 is much improved integration with
popular IDEs. With either Eclipse or Visual Studio .NET, OpenMake now
plugs into the IDE to monitor the project and file dependencies in the
work you're doing. It takes over build chores directly in the IDE, and
generates the necessary backend files to move your work into the
automated build process as well.
Other 6.3 improvements include tighter integration with Ant for Java
build tasks (you can think of OpenMake as an IDE for Ant in this case),
a refactoring of build types into individual build tasks for easier
customization, and the ability to use WebSphere as the Knowledge Base
server (as a replacement for the OpenMake-supplied version of Tomcat.
You'll also find enhanced reporting and an SDK that lets you write C or
Java code to interact directly with the Knowledge Base.
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.
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.