I adore new programming technology. Aspects? Bring ’em on. Third-gen mobile? I have not one, but three hot IDEs for it.
How did I actually spend my day? Hammering on a pack of Perl scripts written in the last century.
With that painful experience in mind, I give you Perl Medic: Transforming Legacy Code (Addison-Wesley, 2004) by long-time developer and consultant Peter J. Scott. Its gentle looniness charmed me immediately—and New & Noteworthy habitués realize these pieces are written by a guy who knows loony—but I soon realized that this book is full of solid advice, the kind you get only from pros who’ve been there and done that. It’s not about your airy-fairy greenfield development; no, this is for hackers dumped unceremoniously into a Perl morass not of their own making, who hope merely to survive. Perl Medic starts with guidelines for approaching legacy applications that every programmer should read, no matter what language they use. From there, Scott shows how to diagnose difficulties, refactor for maintainability (beware of “Cargo Cult Perl”!), test, debug, robustify and generally clean up the mess, winding up with a case study that puts it all together.
Then again, Scott’s looniness isn’t always so gentle: For script authors who neglect the Perl pragmas “warnings” and “strict,” he recommends the rack.
Perl Medic is $31.49 direct from www.awprofessional.com.
[click for larger image]
Source Integrity’s open API lets end users hook it into their own software.
Most developers have heard of MKS’s enterprise-level, gold-standard process and configuration-management tools—certainly the ones who gave MKS a Reader’s Choice Award last year did! Integrity Solution 4.6 has enough new goodies to be worth a look. Source Integrity, the config-management portion, now offers an open API so that third parties (including the end user) can hook it into their own software, shared sandboxes for easier collaboration, better migration tools from other SCM platforms, better change packages and a batch of new integrations with other tools. Integrity Manager, the process-support half of the equation, boasts new process templates that speed adoption of the tool, streamlined permission-and-group tools, a data mapper to integrate with help-desk software and improved performance.
An average 25-seat installation of Integrity Solution goes for $45,000.
MKS, 410 Albert St., Waterloo, ON, Canada N2L 3V3, Tel: (800) 265-279, Fax: (519) 884 8861, www.mks.com.
Programming Considered Harmful
Sometimes it’s good to know when not to develop software. The folks at Bowstreet have crafted some protean new tools to generate J2EE applications that others can adapt, modify and embed with little to no programming.
Consider their Syndication Factory, designed to allow partners, franchisees or branch offices to assemble packages of applications constructed by central IT shops and embed them into their own websites. Bowstreet’s emphasis on configuration over programming allows the author to build in a wide variety of options for look, feel, back-end support and even application flow. The satellite sites can then customize “their” application to suit without having to house and feed a stable of J2EE engineers.
If you build websites for a variety of clients but keep encountering the same challenges, have a look at Framework Factory, which parameterizes applications so they can be dynamically generated based on a profile rather than created from scratch each time; further customization can be done by nonprogrammers through a browser interface. Bowstreet ships a variety of “builders” that interoperate with existing applications and databases, and you can build your own if necessary.
Finally, if you’re building Java-based portals compliant with the JSR 168 Portlet Specification, Bowstreet offers Portlet Factory for quick generation of portlets that can easily be adapted to changing requirements.
Framework Factory and Syndication Factory are $5,000 per developer seat; Portlet Factory costs $6,000. Deployment licensing for each product is $20,000 per CPU.
Bowstreet, 200 Ames Pond Dr., Tewksbury, MA 01876, Tel: (877) 663-2978, Fax: (949) 330-7601, www.bowstreet.com.
Meet in the Middleware
It’s hardly a surprise that software permeates the enterprise, given that thousands of us have been madly cranking it out for years. But as the industry matures, the issue is less “How do we create what we need?” than “How do we hook up what we have?” You can go the heavyweight route with enterprise application integration, or invest in enterprise service bus technology. (Or, if you’re particularly masochistic, you could hand-code and maintain all the connections.)
A company called Creative Science Systems has another way. Their middleware product, Netzyme, runs in a small footprint and claims “any-to-any” connectivity. (Cheekily, the company’s website advertises support for “all popular protocols, proprietary and open, old, new and yet to be introduced.”) By supporting Java, .NET and C-based languages on a variety of hardware, they encompass the lion’s share of application platforms, including J2ME, PocketPC and PalmOS in the handheld space.
CSS (Creative Science Systems), 1901 S. Bascom Ave., Pruneyard Tower, Ste. 800-840, Campbell, CA 95008, Tel: (408) 369-1555, Fax: (408) 369-1558, www.creativescience.com.
Resolved: That geekdom’s groaning bookshelves need yet another Java book.
Admittedly, it’s a tough room. Even Esther, my martinet high-school debate coach, would cringe. Introductory texts to the world’s most popular server-side programming language are a dime—er, $534.95—a dozen. But Hardcore Java (O’Reilly, 2004) by Robert Simmons Jr. is neither a primer nor a rehash of javadoc. Instead, it’s aimed at the experienced Java programmer, someone who knows what final means when she encounters it, but perhaps could use expert advice about where and why to use it. Simmons points out that the keyword can turn elusive logic errors into trivial compiler errors. OK, you knew that. But a few paragraphs later, Simmons intones, “Because primitive finals are substituted at compile time with their values, if you change a final that is used by other classes, you must remember to recompile those other classes or your change will not take effect.”
Gulp! (See what I mean?) Simmons includes “Collection Gotchas,” “Double Nested Classes” and “Reflection and Greater Reflection” among a panoply of Java arcana that can help the Java-savvy become Java sages.
Hardcore Java retails for $39.95 direct from www.oreilly.com.