Platforms: Linux, Microsoft Windows, Sun Solaris, Hewlett-Packard, HP-UX, IBM AIX, SGI IRIX, Compaq Tru64 Unix, IBM 390
Price: SourcePro Core $1,220; SourcePro Net $1,030; SourcePro Analysis $1,810; SourcePro DB $2,260
(Net, Analysis, DB require SourcePro Core)
- Powerful C++ packages and classes are a supported toolkit that simplifies the development of high-level applications.
- Complete source code provided
- Cross-platform support simplifies creating portable applcations
- Accurate, complete API documentation
- Graphical Rogue Wave Component Builder (RCB) Wizard is yet another tool to learn, but no RCB tutorial
- Hard-to-remember build tag mechanism during application development
- Much of the documentation is online-only
- Some external requirements for XML, XSLT, and Secure Networking
If you’re developing C++ applications on Linux, you should consider Rogue Wave’s SourcePro C++ product line. While a little more expensive than “free,” the four products in the line, Core, DB, Net, and Analysis, provide a lot of features that can greatly simplify and expedite development. Used individually or in combination (depending on your needs), the SourcePro C++ products provide a robust and well-supported foundation for building high-level applications.
The core of Rogue Wave’s SourcePro C++ products is a set of C++ packages, aptly named SourcePro C++ Core. Core provides basic data, collection, and virtual stream manipulation, and Rogue Wave’s implementation of the standard ANSI/ISO C++ library. Core also supports multi-threaded application development, serialization, and XML data manipulation. To use any of the other SourcePro C++ products, you must have Core.
The SourcePro C++ DB product provides classes that implement the SQL data manipulation and data definition languages, and is cleverly organized to isolate your application code from the details of any single database. The DB product also provides database-specific access modules that you can swap in and out to interface existing code with different databases.
The SourcePro C++ Net product provides C++ packages and classes that facilitate networked application development at any level, from low-level sockets and protocols through high-level secure communications and Web access.
Finally, the SourcePro C++ Analysis product provides sets of packages for mathematical, financial, and business analysis through linear and logistic regression.
While SourcePro C++ is divided nicely and purposefully, getting started with the product is somewhat complex, and took a while to understand. After installation, you must use the Rogue Wave Component Builder (RCB, shown in the sidebar) to build the portions of SourcePro that you actually want to use in your applications.
The RCB process consists of creating build specifications (called buildspecs) that define the components, classes, and packages that you want to build and the way in which you want to build them (link options, compiler information, optimization levels, and so on). You then use those buildspecs and your system’s C++ compiler to build and install all, or selected portions of, the SourcePro products. Once built and installed, you can use SourcePro instantly with your favorite IDE or application development process.
Though the process eventually did build and install the classes and packages needed for our sample application, an RCB tutorial with actual, platform-specific examples would be a nice thing for Rogue Wave to add in future releases.
Once you’ve built and tested your application, deploying your application involves some additional costs. Like most component vendors, Rogue Wave’s deployment costs vary depending on the target platform, the number of deployed CPUs and seats, and so on. Therefore, before building SourcePro dependencies into your application, you must carefully analyze how and where you deploy your application to get an accurate idea of what using SourcePro will actually cost you.
Ultimately, SourcePro is well-organized and well-supported, and provides an instant foundation for enterprise applications. Just because Linux is the antithesis of “Not Invented Here,” you shouldn’t avoid using commercial development components if they save you time, money, and headaches. Rogue Wave’s SourcePro C++ products certainly can.