Winners of the 18th Jolt Product Excellence Awards & Recipients of the Jolt Productivity Awards



May 07, 2008
URL:http://www.drdobbs.com/web-development/winners-of-the-18th-jolt-product-excelle/207600666

JOLT Winner

Beautiful Code by Andy Oram and Greg Wilson (O'Reilly Media)

Andy Oram

Reviewed by Gary Pollice
Beautiful Code edited by Andy Oram and Greg Wilson is a beautiful book. Experienced developers sometimes forget the excitement they felt when they started programming. Beautiful Code brings back the excitement. Some of the best programmers in the world today contributed chapters to the book. Experienced programmers will renew their friendship with some of their contemporaries like Brian Kernighan and Jon Bentley, while new programmers will discover the wisdom of these pioneers. All readers will find new favorites as they read the code and discover simplicity and beauty in modern applications. Each chapter teaches the reader something about the design and implementation of beautiful programs implemented in various languages. The book includes plenty of examples of functional, procedural, and dynamic languages--some of them are mainstream, some have historical significance, and some may be the languages we use tomorrow. Beautiful Code addresses all aspects of producing great code, including debugging and testing. Each chapter opens up another view into the fantastic world that we were looking for when we decided to become programmers. This is a book that you will want to keep close by for those days when things get you down and you need to get away from your current problem and look into the world of truly beautiful code.

Manage It!: Your Guide to Modern Pragmatic Project Management by Johanna Rothman (Pragmatic Bookshelf)
Reviewed by Roland Racko
"Look at me, I'm right," say all the software management books. Manage It by Johanna Rothman doesn't have to say that because its encompassing wisdom and practical detailed hints speak with a clear voice giving a head slapping, obvious solution easily recognized as a practical fix for your current software management problem. The book's range is large and includes topics such as lifecycle planning, schedules, creating great teams, managing meetings, and product integration. But it is more than just exhortation and guidelines. For example, the section "Build Trust Among the Teams" actually describes how to accomplish that rather subtle human activity. The section on requirements gives the apparently offhand but remarkably significant tip to cleanly separate the GUI design documentation from the business requirements documentation. The book also answers little niggling questions with pointed sidebars where "Joe Asks..." and a succinct, pragmatic answer is displayed. Manage It distills a fine compendium of advice. When the other management books say "look at me," ignore them; look at this one first.

Myths of Innovation by Scott Berkun (O'Reilly Media)
Reviewed by Roland Racko
At some time in your life, you looked at an object that was frustrating your attempts to use it and said to yourself "there's gotta be a better way." That object might have been a piece of code or a programming protocol, but when you tried to improve it, you may have experienced dead ends and blind alleys. So, you looked for aids on how to add to your creative wiliness. Myths of Innovation by Roland Racko counterintuitively starts the other way, from a subtly more positive idea. It asks the question "what beliefs inhibit your natural flow of good ideas." The book bounces back and forth between the obvious and the almost imperceptible. Best of all, these myths are worth examining. I particularly liked the busting of "innovation is always good," "your boss knows more," and "good ideas are hard to find." And although the book is about myth busting, it implicitly says a great deal about how to be creative and hints that this is an abundant world, rather than a world of scarcity. For newbies to the programming world, it is very encouraging. For the pros, it reminds us of what we keep forgetting about the sources of our own expressiveness.

Release It: Design and Deploy Production-Ready Software by Michael T. Nygard (Pragmatic Bookshelf)
Reviewed by Roland Racko
There are code bugs, and then there are "what the heck just happened" bugs that spring up out of the hard drives like worms after a storm. The latter is a different kind of bug--a systemic bug rather than an incorrectly written piece of code bug, something that happened because of unforeseen interaction between widely separated components in the system. Release It by Michael Nygard explores the idea that a system should be built so that a failure in one component never brings down the rest of the components. Although this concept seems obvious, it is a relatively unsung idea in formal literature. This book makes the point that you don't find these kinds bugs by code reviews of modules in isolation. Instead, you have to be aware of their possibility at design time. It then proposes patterns to watch for when doing initial system design. I particularly liked the stability/anti-stability patterns that were presented. The concepts and patterns are sufficiently detailed as to be immediately useful in contemporary architectures. This is a front-of-the-shelf book for any system architect or designer.

JOLT Winner

Continuous Integration: Improving Software Quality and Reducing Risk by Paul Duvall, Steve Matyas, and Andrew Glover (Addison-Wesley)

(left) Paul Duvall and Steve Matyas

Reviewed by Roland Racko
The 72 hours before the system goes live are all about integration, making sure everything really works. Every company does some kind of integration, whether it is "very disciplined" or "shake and bake." But, sadly, many shops still consider frequent integration to mean "not more often than we feel like we have to". Continuous Integration by Paul Duval, Steve Matyas, and Andrew Glover builds a case for moving a team development process towards integrating "more frequently than whatever has been the norm" and shows how to automate a lot of it. The book takes the position that people avoid more frequent integration runs because they don't know about the automation assists that are available. It focuses on setting up "integration servers" and describes a process for shepherding newly created code into a kind of automated build and integrate factory. Besides examining the hardware assists, however, Continuous Integration also explores the team process details that can make a difference. For example, it examines the pros and cons of the various ways of providing feedback about system integration progress: email, jumbo monitors, SMS text message, etc. If your 72 pre-live hours need help, this is your book.

Head First SQL Your Brain on SQL--A Learner's Guide by Lynn Beighley (O'Reilly Media)
Reviewed by Mike Riley
O'Reilly's "Head First" series provides a cornucopia of fundamental knowledge about a particular technology wrapped in a creative package with occasional levity to enliven otherwise dry learning material. Applying this approach in Head First SQL works not only because of the orientation of the subject matter but also because author Lynn Beighley delivers the material in a sincere, infectious way. Of all the technical books that have arrived on my doorstep, this was the first that my teenage kids asked to read after I was finished reviewing it.

The Rails Way by Obie Fernandez (Addison-Wesley Professional)
Reviewed by Hugh Bawtree
The Rails Way by Obie Fernandez is one of the first Ruby books for advanced Ruby developers. It dives right into the deep topics: the internals of the Controller, in-depth explanation of ActiveRecord, AR Associations and AR Validations, and how Rails supports the REST paradigm. It is a very full 850 pages. This is a great book for intermediate to advanced Rails developers. The writing has a relaxed style that aids the understanding of complex subjects. The Rails Way is perfect for developers who want to understand the Rails internals and the reasons behind the Rails design decisions.

xUnit Test Patterns: Refactoring Test Code by Gerard Meszaros (Addison-Wesley Professional)
Reviewed by Rick Wayne
Unit testing is hardly news, but simply writing a ton of tests guarantees you no bliss. Gerard Meszaros's xUnit Test Patterns distills and codifies the crucial meta-knowledge to take us to the next level. Why do good tests go bad, and how do you fix them--it's as simple and groundbreaking as that. Smells and antipatterns arise in tests that cripple their maintainability. xUnit Test Patterns exhaustively describes those pathologies and provides the prescription in the catalog format familiar since 1994. But fear not - every motivation and pattern includes at least one source-code example and the explanations are couched in clear, direct language. If you're ready to promote your test code to the same level of care and craftsmanship that you devote to production systems, grab a copy of xUnit Test Patterns and get cracking.

Change and Configuration Management

JOLT Winner

FishEye (Atlassian)

Pete Moore

Reviewed by Jon Kurz
Atlassian's FishEye demonstrates what a being a Jolt winner is all about. This tool shows an innovative approach to managing source code. Although FishEye is not a source control repository, it integrates with other source control repositories to manage, monitor, and maintain source code at a very deep level with several powerful features. It can track changes in your code and send alerts when certain events happen. It allows you to select the branch and version of a file, and look at the changes that took place, along with the names of the users who made the changes. Navigation is straightforward, with breadcrumb-style links and an easy-to-use search feature. Using a SQL-like language, FishEye's powerful search capability allows you to search specific source control directories, look for files that match a pattern, or were modified by a given user. FishEye also facilitates the often painful process of code review with embedded comments capability so that you can place comments right on the line being commented on. FishEye licensing is based on number of users. Academic licensing is half the price of commercial, and community and open source licensing are free for certain types of organizations. Any team that is serious about managing their source code should take a serious look at FishEye. With an open API, integration with multiple source control systems, and a breadth and depth of features, FishEye is the one to watch.

Diffmerge (SourceGear)
Reviewed by Jon Kurz
SourceGear's Diffmerge is a tool for every developer. Being cross-platform means that you won't have to worry about different tools for different platforms. When you're comparing files with different line-end types, Diffmerge has that covered as well. It shows differences visually and allows in-line editing and merging. What is particularly useful is that it keeps a view which shows the files in their original state, while you are editing and merging, just in case you want to see what things looked like prior to modifications. If you need to browse and compare files in Windows, it has built-in integration with File Explorer and can integrate with many source control systems. Diffmerge isn't limited to files, however; it can also compare folders. I found this to be a great tool to have in my toolbox. The interface is clean and provides a wide range of configuration features, while at the same time providing an unobstructed approach to the very common task of comparing code.

IncrediBuild (Xoreax)
Reviewed by Jon Kurz
Xoreax's IncrediBuild accomplishes what few other build management systems do - leverage grid technology to maximize and maintain your build environment. One of the big challenges to build processing has to do with consistency, and IncrediBuild uses its virtualization technology to ensure that remote builds are run as if they were the requesting machine. IncrediBuild eliminates the need for "yet another build tool" by enhancing existing build tools. For VisualStudio users, IncrediBuild integrates directly into VisualStudio and displays build progress so there is no need to open a separate tool to view status. Not only does IncrediBuild give you a distributed build environment, but the Xoreax Grid Engine interface lets you distribute running processes and application execution as easily as running a command from a command prompt. When it comes to power and ease of use, IncrediBuild is a clear choice.

Surround SCM (Seapine Software)
Reviewed by Jon Kurz
Seapine's Surround SCM demonstrates a commitment to the continued development and enhancement of a world-class product. From straightforward installation to a streamlined interface, Surround SCM provides flexibility with every step. There are native GUI and CLI interfaces for all major operating systems, a 64-bit server application, multiple types of branching, and powerful workflow which is fully customizable for a team's specific needs. Not only is this a great asset for developers, but non-developers can also benefit by accessing files through Microsoft Office, and for PhotoShop users, integration is also available via WebDAV. Surround SCM is an all-around source control tool, perfect for any environment.

JOLT Winner

Code Collaborator (Smart Bear)

Jason Cohen

Reviewed by Rick Wayne
Let's bury, for all time, the old cliche: software development is a solitary activity. In truth, it is a social one, our team can far outsmart the mere sum of our brains. Smart Bear's Code Collaborator exploits that synergy by boiling the waste and goo out of the code-review process, bagging you the benefits of many eyes on each developer's code while neatly sidestepping much of the practice's traditional friction. Review eliminates bugs early, true. But traditional sit-in-a-room reviews are excruciatingly costly (and simply excruciating for the developer under the microscope). Conversely, "how's this look?" e-mails rarely catch much. Code Collaborator assembles just enough structure to encourage conscientious review, while staying largely out of the reviewers' way. The code itself forms the skeleton, while comment threads appear beside it, linked to the appropriate line. The conversation can be synchronous via chat, or can accumulate throughout the working day. When it's finished, stats collected can help you figure defect density, time spent on review, and other useful metrics. Smart Bear has made it as painless as possible to integrate review into your existing processes; for example, you can use pre- or post-commit revision-control triggers to fire up reviews automatically, and the Eclipse plug-in lets developers review from within the comfort of their favorite IDE. In short, the code gets examined without breaking the bank.

CodeBeamer 5.0 (Intland)
Reviewed by Gary Pollice
CodeBeamer 5.0 is a worthy entry into the team collaboration tools market. It has all of the features one expects from collaboration tools: task management, code repository, document management, and many others. CodeBeamer adapts to the team process rather than forcing any specific process upon an organization. CodeBeamer also stands out among the competition because of its ability to play nicely with other products. It has plug-ins for popular IDEs like Eclipse and NetBeans and integrates with tools like Microsoft Word. It also complements the NetBeans collaboration tools nicely. CodeBeamer has one of the better browser-based user interfaces that will allow all team members to use it with minimum ramp-up time. Any team that is dispersed around a building or around the world should look at CodeBeamer to help increase effective collaboration.

Confluence (Atlassian)
Reviewed by Mike Riley
Confluence is a mature, general-purpose, Java-based enterprise wiki and blogging facility that offers organizations a secure, easy-to-administer discussion and group documentation management platform well beyond what most web folks think of. Thanks to its open API, a wealthy ecosystem of extensions that includes those for Google Maps and Microsoft Visio make integrating those documents and services painless. With all these new features continuing to set the bar higher for other wikis to attain, fellow Jolt judge Rick Wayne put it best when he stated, "I continue to love Confluence."

TeamCity (JetBrains)
Reviewed by Mike Riley
Plenty of solutions exist that address the interdependent complexities associated with continuous integration, but few have the insight and build management features that TeamCity supplies for Java and .NET developers. In addition to delivering the expected access management security considerations and monitoring of builds, TeamCity can deliver code coverage statistics and build status (even while builds are running) via useful, information-rich charts, email notifications, and even RSS feeds. It supports the JUnit, NAnt, Nunit, and TestNG testing frameworks, can connect to a number of version control systems, and integrate with Eclipse, Microsoft Visual Studio and JetBrain's own IntelliJ IDEA.

JOLT Winner

Corticon Business Rules Modeling Studio (Corticon Technologies)

(left) Mark Allen and Pedram Abrari

Reviewed by Gary Pollice
Analysts who use decision tables to specify complex business rules know the inherent problems that easily lead to inconsistencies and incompleteness. Furthermore, developers who translate these rules from the tabular descriptions to working code face additional opportunity to introduce errors and create even more work for testers. But Corticon is changing the way development teams think about decision tables. Corticon Business Rules Modeling Studio presents an interface resembling a spreadsheet to the analyst. The analyst creates a set of business rules using a simple set of operations, then mind-blowingly, the product generates all the missing scenarios, reduces redundancy, and makes the set logically complete and verifiable. It also generates an executable service that encapsulates the decision tables. Developers don't need to modify the code, they simply access the services of the generated components. This UML-based design product is a different breed from all others and may well change the way your team works on future complex projects.

BigLever Software Gears (BigLever Software)
Reviewed by Gary Pollice
BigLever Software Gears may be the forerunner of the next big thing in software development. The notion of composing families of products, or product lines, from reusable components has intrigued software professionals for years. Gears allows organizations to do just that. Using sophisticated software tools and a well-defined methodology for constructing software product lines, Gears delivers much needed capability to those organizations that are interested in managing and expanding their software portfolios. Product lines are constructed by using the Gears IDE to compose products from components. The "product configurator" uses a feature profile to automatically produce a product matching the profile. Not all organizations are ready for Gears, but those who have significant software portfolios and product lines will certainly want to check out BigLever Software Gears.

Enterprise Architect (Sparx Systems)
Reviewed by Steven Weiss
You either now need a UML-savvy analysis tool or design tool or you will. When you do, look at Enterprise Architect. It's one of those rare combinations of modest cost and immodest competence that we need more of. EA is a repository-based tool for Windows platforms that allows teams of people to model in UML 2.1, for analysis, design, code generation (in ActionScript, C, C++, C# and VB .NET, Java, Visual Basic 6, Python, PHP, XSD, WSDL and a few others) and testing (five kinds: unit, integration, system, acceptance and scenario tests). The help and examples will get you going right away. Casual and hard-core modelers will find something to like.

Structure101 (Headway Software)
Reviewed by Meilir Page-Jones
Structure101, from Headway Software Technologies, is a versatile and powerful tool for analyzing the structure--design, architecture and packaging--of code written in one of several popular programming languages. It exposes the hidden knots, whirls and complexities in modern object-oriented software that would forever elude even the practiced eye given only acres of raw code to scrutinize. The main Structure101 product family is geared towards Java, C, C++ and Ada code bases. However, there is also a generic version of the product that is not language specific. Structure101 assesses code from many perspectives. It has a qualitative perspective, in that it enhances human understanding of the code structure. It has a graphic perspective, in that it can construct diagrams of the various organizational/reference structures within a body of code. It has a quantitative perspective, in that it can assess numerically the complexity of the code and thus provide metrics. It also has an historical perspective, in that it can reveal changes and trends in the code's structure. In short, if you're serious about the structure of your code base, then Structure101 is a product to look at. It's an indispensable tool for both professional shops and university teaching labs in which refactoring, general maintainability, architectural control or design quality good of code is important.

Development Environments

NetBeans IDE 6 (Sun Microsystems)
Reviewed by Rick Wayne
Selecting an IDE is an intensely personal decision. And selecting an IDE for your team really puts you on the spot. Feature lists are important, but the feel is hardly less so. Does the IDE adhere to the Principle of Least Surprise? Are common things obvious, and are rarely used features intuitive enough to decipher? Does the environment itself fade from your attention, letting you focus on your work? For NetBeans 6.0...yes. In use, the environment is fast under the fingers and stays out of your way, but a whole army of feature genies await your command. Building a multiplatform desktop app in Swing? NetBeans' GUI Builder has you covered with in-IDE profiling and debugging. Aiming at the enterprise side? The IDE provides code-completion and wizards for EJB 3 and simple deployment onto Glassfish, Tomcat, WebLogic, JBoss, and more. If you're a Rails developer, you'll love how NetBeans can simply adopt a Rails project with minimal fuss and add debugging, database integration, syntax highlighting, and more to your toolbox. Web services? Got it--SOAP, RESTful, JAX-WS, server--or client-side, including mobile devices. In short, if you're writing code in Java, Ruby, C/C++, Javascript, JSP, or any of the *ML family, NetBeans should be on your short list. It's world class.

CodeRush/Refactor! Pro (Developer Express)
Reviewed by Robert DelRossi
It's unlikely you'll ever use all the functionality inside the combined bundle of CodeRush and Refactor! Pro from Developer Express. The capabilities are just tremendous. Still, if you're a Visual Studio developer, you owe it to yourself to have a look. CodeRush supplements the Visual Studio editor with dozens of time-saving shortcuts that can dramatically reduce the time you spend on repetitive tasks. Refactor! Pro, meanwhile, identifies spots for improving your code with impressive results. We especially like the company's commitment to rolling out new refactorings with each version and how they've stayed current with the latest VB and C# language enhancements.

IntelliJ IDEA (JetBrains)
Reviewed by Mike Riley
In the age of free yet very powerful Java IDEs, JetBrain's IntelliJ IDEA stands out as one of the few commercial Java IDEs available on the market today. But like Jolt judge Larry O'Brien states, "It's still the IDE that I use whenever I code Java." New features in the 7.0 release, such as its full support for Groovy, Ruby and JRuby for Grails and Rails developers, its exemplary ability to create web applications using the Java-based Spring and Hibernate frameworks, and its ability to detect and view code changes made to a file before committing, better project configuration management, along with debugger and refactoring improvements keep IntelliJ IDEA and IDE worth paying for.

Komodo IDE 4 (ActiveState)
Reviewed by Mike Riley
The Komodo IDE continues to become a more useful, relevant and staple environment for my everyday coding. Unlike many other IDEs that have become bloated over time with features for features' sake, Komodo's multi-platform improvements are spot-on smart, helping to make it the first tool I execute when writing any Javascript, Perl, Python, or Ruby code. The latest additions, including Ruby on Rails and Ajax debugging, as well as across-the-board auto-complete and code intelligence updates for the core languages, provide great productivity gains while staying out of the way of my flying fingers.

Enterprise Tools

Kapow Mashup Server--Web 2.0 Edition (Kapow Technologies)
Reviewed by Roland Racko
Internet searches frequently return thousands of entries. What if there were a way to sift through those thousands of returns in a deterministic way and load only selected pieces of each search return item into your favorite analytical application? That is exactly what Kapow Mashup Server can do. Using a pattern matching language, it allows you to isolate and describe that part of any web page that contains information you'd like to capture. The matching language is flexible enough to work with any arbitrary web site. It works because there is generally a predictable arrangement of interesting fields in a page from that web site. After the page is described, the server then reads the underlying rendered HTML of any live instance of the page and extracts the text values from the sections you specified. Once acquired, the server has ample facilities to transport that captured information into an RSS feed, database, Java app, Wiki, Yahoo Pipes and so forth. The major insight of this product is that web pages and services on the public Internet have a describable regularity that can be turned to a new advantage. In particular, it can be useful in cross-correlating or collecting data across multiple web sites without requiring eyeballs to do manual inspection. The possibilities really are endless.

Foglight (Quest Software)
Reviewed by Meilir Page-Jones
Quest's Foglight is a first-rate tool with which operational management can control critical operating environments and help ensure compliance to service levels agreed upon between IT and the business. The Foglight system comprises the Foglight Experience Monitor, the Foglight Experience Viewer, and the Foglight Server. These components unite business services with information infrastructure, end users with databases, and development with production, thereby helping to bridge IT and the business. Foglight also spans production and development environments, giving development/production/operations managers command over current incident and release management processes. Some of the advantages of Foglight include: flexible dashboards, which can be customized to provide multiple models and views of the managed environment; views of services from the business-service level to low-level traces; and the ability (via innovative models and rules) to set alarm points when user-defined combinations of values are exceeded. It facilitates rapid resolution of incidents as well as greater compliance with internal and external policies and regulations. In short, Foglight is sophisticated, holistic, seamless, and adaptive. It is an especially useful tool for diagnostics against a live Web e-commerce environment.

LiveCycle Enterprise Suite (Adobe Systems)
Reviewed by Roland Racko
PDF documents tend to be static things, give or take a few form fill-in possibilities. But wouldn't it be nice if a PDF document could do a little more, such as pop up a warning to you if the return period window was expired or fill in fields automatically? Wouldn't it be nice if the document could be immediately routed to any subsequent work flow or approval process departments? In a remarkable way, Adobe Live Cycle has taken the lowly PDF and enlarged on it--making these things happen in a new and attractive way, streamlining tasks such as order processing, or claims adjustment. The Adobe Live Cycle Server organizes and manages a formal PDF document work flow that can be inside, outside, and across the company firewall. Encryption facilities and viewer identity security are combined with new rich Flash-enhanced interactivity. We've been saying for years that offices should be paperless, but results have generally merely replaced fibers with electrons without much change in perceived value or processing ease. Live Cycle is the first application that really delivers--making electronic paper more engaging and productive than the physical.

Rally Enterprise (Rally Software)
Reviewed by Jon Kurz
Rally Enterprise is not simply a tool to manage projects; it is a true enterprise tool geared toward the lifecycle of large and small projects across multiple teams. One of the key strengths of Rally Enterprise is that it is not targeted toward any single group. It becomes a tool that can be used by developers, project managers, testers and stakeholders alike. The dashboard is the center of activity. The layout is clear and well organized, providing information that is both qualitatively and quantitatively relevant, without unnecessary clutter. One of the key features is the available integration connectors. For developers, stories and tasks can be updated through their own IDE, such as Eclipse and VisualStudio. For project managers who use MS Project, there is also a connector to allow a familiar view of project metrics. There are many more connectors available for test automation and source control among others. The graphs and charts are well designed and provide quick visuals into the overall status of projects. With an interface and set of features that adapts to the needs of Agile environments, teams can adopt Rally Enterprise as the tool to help them achieve their goals.

JOLT Winner

AquaLogic Data Services Platform (BEA Systems)

Nishi Deokule

Reviewed by Seth Grimes
BEA's AquaLogic DSP provides data services in a Service Oriented Architecture (SOA)--real-time, on-demand, in-place federation of diverse data sources--with a focus on standards-based information access via SQL, XQuery, and JDBC interfaces. The aim is to facilitate data-consumer/application utilization of distributed enterprise information. The product enables a model-driven, Information as a Service approach on an integrated BEA WebLogic server platform. It supports not only portals, reports, and specialized tools but also Excel, the interface of choice for many information consumers. There's also strong attention to features for developers, including an Eclipse interface, for deployment on Linux, Windows, and Unix. We were impressed with AquaLogic DSP's ability to turn heterogeneous enterprise information into data services and with the focus not on coding, but rather on modeling, a higher level of abstraction. AquaLogic DSP goes beyond ETL's extract-transform-load paradigm to provide on-demand, in-place, bi-directional, reusable information access. We were impressed with BEA's initiative to extend the now-familiar Software as a Service (SaaS) model to enable Information as a Service. We liked the interface, the capabilities, the architecture, and the product's leadership in a demanding data-integration space that is far from mature.

Aleri Streaming Platform (Aleri)
Reviewed by Seth Grimes
Complex Event Processing (CEP) has continued to gain visibility in the quest to react nearly instantaneously to events--to opportunities and risks--discerned in high-volume, real-time data streams. Aleri has maintained its position as a leading vendor in CEP's core financial services market while building partnerships to develop solutions for a disparate set of industries that are adopting event-driven Service-Oriented Architecture with the aim of turning a flood of data to competitive advantage. CEP enables organizations to respond quickly to rapidly changing market and business conditions. Aleri, via its continuous query architecture, remains an innovator in delivering CEP capabilities to capital-markets and other high-data-volume customers.

Crystal Reports (Business Objects)
Reviewed by Seth Grimes
Crystal Reports was hugely disruptive and important - revolutionary, even - for several years following its 1984 introduction. It was an easy-to-use reporting tool bundled with a wide variety of productivity software packages. In the past decade, the reporting market has become crowded with low-cost and open-source tools for the desktop, enterprise, and web. Crystal Reports, now part of the Business Objects business intelligence product line, has kept up with the times. The product now provides import of Flash files generated with Business Objects' Xcelsius and Adobe Flex, web services support, parameterized reports, an Eclipse designer, and a salesforce.com driver: a solid product that enhances programmer productivity.

EnterpriseDB Advanced Server (EnterpriseDB Corp.)
Reviewed by Seth Grimes
Central to EnterpriseDB Advanced Server's appeal are its Oracle compatibility and its reliance on the proven, open-source PostgreSQL database management system. Combined, these ingredients provide Oracle shops a low-cost, plug-replacement DBMS alternative and create a very attractive DBMS option for everyone else. But these properties are only the starting point for EnterpriseDB AS's Jolt-worthiness. The company is one of the top contributors to making PostgreSQL--the underlying DBMS and not just their extended version--a viable enterprise DBMS. They are improving the state of the art for all PostgreSQL users, and because of the value they put on top of PostgreSQL, they are motivating free-software users to become commercial customers. In the words of Jolt Judge Robert DelRossi, "Is their aim altruistic? Commercial? A blending of the two? It may not matter as the result appears to be a good one."

JOLT Winner

Guice (Google)

(left) Bob Lee and Kevin Bourrillion

Reviewed by Michael Yuan
Dependency Injection (DI) is a widely used design pattern in Java applications. It helps decouple application components from each other, and in turn, makes it possible to unit test application components separately. For DI to work, a lightweight container is needed to manage the dependency between application components. When one component needs access to another one, it simply "asks" the container to provide one. Guice is an open source DI container from Google. Before Guice, most DI frameworks in Java used XML-based configuration. Guice is the first generic DI framework that takes advantage of Java annotations as the main configuration mechanism. Compared with the traditional XML-based approach, Guice annotations offer the following advantages. First, Java annotations are type safe. They are checked by the compiler. That eliminates much of the runtime errors caused by misspelled XML literal strings in previous frameworks. Second, Java annotations are processed much faster than XML documents. That enables Guice to out-perform XML-based DI frameworks by orders of magnitude in terms of raw speed. That allows developers to use DI not only in enterprise web applications, but also in performance-sensitive UI or real-time applications. Because of its small footprint, type safety, and high performance, Guice is an ideal DI runtime for framework developers. It can be easily embedded into framework classes that are used over and over by application classes. Overall, Guice is a great innovation that significantly improves the developer productivity when working with one of the most important architectural design patterns in Java.

Eclipse Modeling Framework (Eclipse Foundation)
Reviewed by Rick Wayne
The EMF is a big tent; whether you've decreed that models always precede code or just would like to construct model goodness to your Java source, the EMF can accommodate you. If you're a UML guru in Rational Rose, you can pull Rose output straight into EMF and generate Java interfaces and implementation classes from it. Or if you simply add some annotations to your Java, it can work with that, too. Once a model is in, the editing tools allow you to perform (admittedly simple) work directly on it, serializing it back to its native Ecore or generating Java, and then Bob's your uncle.

JasperReports (JasperSoft)
Reviewed by Robert DelRossi
Open source JasperReports bundles high-end capabilities in an intuitive, easy-to-use package. For Java developers who need a full-featured reporting toolkit, JasperReports more than fits the bill. Along with all the standard reporting layouts, JasperReports includes more advanced presentations, such as cross tabs and graphs. Support for hyperlinks means that you can build drill-down reports that expose increasing levels of detail. We especially liked the easy way you can output reports to PDF and HTML, too. JasperSoft offers a full range of support services for JasperReports as well as iReport, a graphical client for report layout.

Zend Framework (Zend Technologies)
Reviewed by Michael Yuan
PHP is probably the most widely used programming language for developing web applications today--thanks to its ease of development and deployment. However, the ease of use comes at a price: most PHP applications do not follow object-oriented design and typically do not have multi-tiered architecture that is essential to scalability and maintainability as the application grows. To address the "growth" problem in PHP, several PHP frameworks have been developed to promote scalable design and architecture in PHP applications. The open source Zend Framework (ZF) is one of the leading frameworks in this space. ZF provides a collection of very useful components including a web security framework, an Object-Relational-Mapping framework, a Model-View-Controller framework, a cache framework, as well as mail/session management/remote service call frameworks. Heavily influenced by successful web frameworks, such as the Ruby on Rails, the Zend framework features the "configuration by exception" approach. That means that developers can get started very quickly without any configuration files. Each framework inside ZF can be used independently. That allows developers to incorporate ZF into existing applications piece by piece as needed. Overall, the Zend Framework brings in great productivity gains of PHP-based projects.

Mobile Tools

Mojax (mFoundry)
Reviewed by Michael Yuan
To go web, or to go native Java: that is a common dilemma that faces many mobile application developers. On one hand, web applications are easy to write and can be accessed across many different devices. With the increasing power of Ajax, web applications can also deliver rich user experience. On the other hand, mobile web browsers are still immature and many device features (e.g., camera, address book, GPS, etc.) are simply not accessible from the browser. Mojax gives you the best of both worlds. It lets you use common web-programming techniques, such as JavaScript, CSS and XML-based user interface, to write mobile applications and then compiles them to Java ME applications that can be deployed on the phone. Mojax applications can easily access camera, location, and device address book through the XML/JavaScript API. Mojax automatically takes care of threading and other standard boilerplate issues in Java ME programming. The declarative UI approach significantly reduces the amount of code when compared with a similar Java ME application. Mojax also includes an Eclipse-based design tool that lets you assemble XML UI very quickly. It is a very attractive platform for writing rich Internet-based business applications; however, the XML UI for Mojax is not well-suited for developing mobile games. We have also noticed that the Java ME application generated by Mojax does not run on all Java handsets, which probably has more to do with the fragmentation of the Java ME platform than with Mojax itself. But we hope that future versions of the Mojax toolset will be able to generate Java ME builds that specifically target each device.

Adobe Device Central CS3 (Adobe Systems)
Reviewed by Mike Riley
Adobe certainly knows a thing or two about presentation, and their expertise shows in the exquisitely packaged Adobe Device Central developer resources web site. Developers can watch Flash-based presentations and visit live applications that demonstrate how to optimize the mobile experience via Adobe's Creative Suite 3 application compilation. Adobe Device Central takes the idea of Flash-engineered Flex-like applications to the mobile device platform. While Flash technologies have yet to become as ubiquitous on all mobile devices to the degree Flash ships with nearly every desktop computer, the technology behind ADC-CS3 is the bedrock of an exciting mobile application future.

Eclipse Embedded Rich Client Platform (Eclipse Foundation)
Reviewed by Mike Riley
The embedded mobile device space is continuing to rapidly evolve. Such changes demand more manageable, secure and scalable frameworks to build next generation mobile applications, and the Eclipse Embedded Rich Client Platform (eRCP) intends to deliver upon those and other demanding requirements. The eRCP provides Eclipse Java application developers with the same style of tools for developing mobile applications that are available to desktop applications via a core runtime, an embedded Standard Widget Toolkit (eSWT) and a set of SWT mobile extensions optimized for mobile device displays and a microXML parser that supports the SAX and DOM tree management and traversal.

NetBeans IDE 6 with Sun Java Wireless Toolkit 2.5.2 (Sun Microsystems)
Reviewed by Hugh Bawtree
NetBeans has come a long way. It has developed into a first class IDE with an impressive breadth. It has all the features we expect of an excellent IDE: visual GUI layout, auto code completion, GUI debugger, etc. And it's still free! What makes this really exciting is the breadth of projects that NetBeans 6 can handle. It does the usual Java server apps, as well as web services (Ruby on Rails), mobile development (with a Visual Designer) and a mobile Game Builder. To top it off it does C/C++ code and UML modeling. So mobile developers and embedded systems programmers can now get a fully functional IDE just like the other Java programmers.

JOLT Winner

Rally Enterprise (Rally Software)

(from left to right) Don Hazell, Zach Nies, and Steve Willcox

Reviewed by Jon Kurz
Rally Enterprise has claimed the top award for Project Management for a third straight year. With a solid lineup of features and a team dedicated to Agile development, Rally Enterprise is not simply a tool to manage projects; rather it is a true enterprise tool geared toward the lifecycle of large and small projects across multiple teams. One of the key strengths of Rally Enterprise is that it is not targeted toward any single group. It becomes a tool that can be used by developers, project managers, testers, and stakeholders alike. The dashboard is the center of activity. The layout is clear and well organized, providing information that is both qualitatively and quantitatively relevant, without unnecessary clutter. One of the key features is the available integration connectors. For developers, stories and tasks can be updated through their own IDE, such as Eclipse and VisualStudio. For project managers who use MS Project, there is also a connector to allow a familiar view of project metrics. There are many more connectors available for test automation and source control among others. The graphs and charts are well-designed and provide quick visuals into the overall status of projects. With an interface and set of features that adapts to the needs of Agile environments, teams can adopt Rally Enterprise as the tool to help them achieve their goals.

ResultSpace (Sapient)
Reviewed by Rick Wayne
In biology, organisms that failed to balance adaptation and adaptability are known as "fossils". The same is true with development tools, especially in the agile world: Overspecialization means rapid obsolescence, but overly general software doesn't necessarily give you the edge. Enter ResultSpace, a set of wiki tools born to streamline your ALM efforts. Project "stuff"--stories, defects, tasks, what have you--get captured in the wikis, with slick tools for cross-linking and adding supporting materials. Project charts and metrics (e.g., burndown charts) are built in, along with tools for iteration planning, managing your issues and accessing the version control system. It's wiki technology nicely adapted to development, but it's still endlessly adaptable.

TargetProcess On-Demand (TargetProcess)
Reviewed by Peter Westerman
Project Management tools are now an integral part of virtually every development project. TargetProcess distinguishes itself in a number of areas and is worth a look if: you are using Agile, or any development methodology that has you doing frequent builds, iterations and releases; want to discipline your business stakeholders to properly submit requirements into the engineering process; or need integrated test case management and integration with popular version control tools. TP is a hosted web application, making it worthy of consideration for distributed teams. TP is not the most full-featured or elegantly designed product in this category, but it stands out by providing a serviceable set of tools that you can easily customize to suit your team's needs. Perhaps best of all, once configured you and your team spend a minimal amount of time managing the tool itself and can focus on using it to complete your project. A user interface overhaul would be nice, but as it is TP gets the job done at reasonable cost.

TeamCity (JetBrains)
Reviewed by Mike Riley
Plenty of solutions exist that address the interdependent complexities associated with continuous integration, but few have the insight and build management features that TeamCity supplies Java and .NET developers. In addition to delivering the expected access management security considerations and monitoring of builds, TeamCity can deliver code coverage statistics and build status (even while builds are running) via useful, information-rich charts, email notifications and even RSS feeds. It supports the JUnit, NAnt, Nunit and TestNG testing frameworks, can connect to a number of version control systems and integrate with Eclipse, Microsoft Visual Studio and JetBrains' own IntelliJ IDEA.

JOLT Winner

Fortify Defender: Real-Time Analyzer (Fortify Software)

Patrick White

Reviewed by Mike Riley
Fortify Defender's latest improvements have kept it at the forefront of application development security via the way it armors web applications. The Internet is a scary place for unprotected web applications, with botnets and malicious hackers poised to strike any code weaknesses. Defender's multiple OS-supported Application Shield helps developers identify and lock down code that can be used to exploit SQL injections, buffer overflows, cross-site scripting and session fixation among other things that can wreak havoc and potentially destroy businesses. Fortify's monitor and protect modes supply all the forensics information necessary to identify threats in real time.

Crowd (Atlassian)
Reviewed by Hugh Bawtree
Crowd is a promising new Single Sign On product. Instead of signing onto multiple applications, it enables users to sign on just once to Crowd and then execute all their applications--internal apps, custom apps and web forums. Crowd automatically logs the user into each app. Obviously, this simplifies the user's life and centralizes the administration work for sys admins. Crowd also makes life easier for developers. It already has built-in interfaces to many directory services: Microsoft Active Directory, Open LDAP, Sun One and Apache Directory Service. And it has interfaces to some applications: Atlassian applications, Apache, Subversion, Jive forums and OpenID (used by thousands of web sites). Developers can develop their own interfaces for other apps using a Java API or a SOAP API. Finally, developers get a copy of the Crowd source code when they purchase a Crowd license.

Defensics (Codenomicon)
Reviewed by Mike Riley
Codenomicon's Defensics offers security-conscious developers a set of web application analysis tools that help detect code vulnerabilities via its ability to scan over 130 different interfaces and formats, from standard web traffic to wireless and digital media (images, audio, etc.) security threats. Defensics comes bundled with numerous pre-built test cases, saving developers time as well as ensuring that some of the most sophisticated attack vector attempts will be tested in a variety of scenarios. Test results are linked to the problem source for rapid identification and remediation and can be employed for continuous testing throughout the application's lifecycle.

Ounce (Ounce Labs)
Reviewed by Rick Wayne
The crackers only have to be lucky once; defenders must strengthen the whole system. Case in point: the Ounce source-code vulnerability scanner. Ounce includes tools not just for dedicated security analysts, but for line developers and managers, too. Ounce's scanning technology is fast, the UI organizes reams of information into usable form, and Ounce appears blessedly free of the false-positive blizzard. The analyst's application scans, sets policies, and can prioritize results, while the Eclipse and Visual Studio plug-ins for developers let them scan code and confirm fixes. Also, the Portfolio Manager reports statistical and trend information, letting the whole team know how the battle is going.

JOLT Winner

Clover (Atlassian)

Pete Moore

Reviewed by Robert DelRossi
To be confident in your code, you need to write tests that touch all parts of your project. Code coverage tools help you to understand whether your tests get the job done. Australia-based Atlassian elevates code converge for Java programmers to a new level with Clover 2.0, this year's Jolt Award winner for Testing. A key to Clover's power is the way it presents its findings. Without doubt, this tool collects tremendous information about your project. But it presents it in ways that focus your attention on areas most likely to be trouble spots. Its cloud report of the Top 20 Project Risks, for example, draws your attention to your most complex classes that are likewise least covered by tests. A tree map view gives you a high-level look of where the entire project's coverage is most weak. In these reports and many more, a simple mouse-click lets you drill right down to the code level. We liked the useful extras, such as the ability to monitor the progress of our testing effort over the life of a project. We also appreciated the plug-in that provides Eclipse integration and the ability to get reports out as HTML, XML, and PDF.

JUnitFactory (Agitar Software)
Reviewed by Hugh Bawtree
This is cool--Agitar Software is offering a free service to create JUnit tests. JUnitFactory.com generates automated test cases that provide 80% or more code coverage. This is a great way to generate most of the test cases for a Java class. It is available for a quick online test at their web site. For more testing, download the custom Eclipse tool from their web site and generate JUnit tests for lots of your classes. These JUnit tests make it much easier to build automated testing into a daily build. And automated tests mean catching more problems before they reach production!

SOAPscope Tester (Mindreef)
Reviewed by Rick Wayne
JUnit was brilliant because it let developers build upwards from simple tests. But when you're constructing SOAs, complexity can snowball and force testing--especially load testing--to flee to the end of the project, when enough pieces are working to help test the rest. SOAPscope Tester stands this high-risk endeavor on its head, radically simplifying service testing so that you can do it early enough to fix problems cheaply. Without having to hand-construct elaborate test harnesses, developers can perform load testing, assemble tests into suites to automate regression tests, mock services that haven't been built yet, and produce trend reports that the whole team can read.

TestComplete (Automated QA)
Reviewed by Rick Wayne
TestComplete is a UI recorder, so that you can build tests against the expected outputs. But it's more than that. TestComplete is a unit-test running, integrating with tools like JUnit or NUnit. But it's more than that, too. TestComplete builds comprehensive, automated test suites for your applications, hitting everything from the internals (via traditional unit testing) to the GUI. It works with the .NET languages (including Borland's C# and Delphi), XAML-built apps, Java, PowerBuilder, InfoPath, and Web services; if it runs on Windows, TestComplete can probably test against it. Its "intelligent recording" dives under the hood, capturing object references instead of screen coordinates. Heck, it's got built-in OCR so it can translate screen bits to strings if it has to, and it's all scriptable in a bevy of non-proprietary languages.

VMWare Workstation 6 (VMware)
Reviewed by Mike Riley
VMWare returns yet again with another Jolt award, this time for the impressive features in their latest version of the product that started it all for the company, VMWare Workstation. In its 6th major iteration, VMWare Workstation manages to deliver outstanding multi-monitor (this has to be seen to be believed), high-speed USB 2.0 and even built-in VNC support. And don't forget its proven ability to virtualize numerous 32-bit and 64-bit flavors of Microsoft Windows (including Vista) and various Linux distribution environments within 64-bit or 32-bit Microsoft or Linux host computers. VMWare's consistent level of product excellence has elevated this product to achieve Jolt's highest honor, induction into the Jolt Hall of Fame.

ANTS Profiler v3 (Red Gate)
Reviewed by Mike Riley
The ANTS Profiler is no stranger to the Jolts and this year is no different, given its continued dedication to assisting developers with locating performance bottlenecks, memory leaks and other annoyances that would be extremely difficult to identify without such a tool. Unlike other commercial .NET profiling utilities, ANTS Profiler is quite reasonably priced and delivers a feature set typically found in competing products that are at least three times more expensive. Besides the native Visual Studio context-sensitive code integration, ANTS line-level timing feature provides valuable performance details on a one-line-of-code-at-a-time basis - excellent for zeroing in on trouble spots that are keeping an application from performing at its peak.

Captivate 3 (Adobe Systems)
Reviewed by Jon Kurz
Adobe Captivate 3 blurs the line between demo tool and visual development environment for creating demonstrations. Captivate is well suited for anyone who wants to create presentations, training videos, quizzes, and even podcasts. The branching feature allows you to create highly interactive presentations by having multiple paths that the demo can take, instead of just one. Usually one slide simply goes to another, but other events are available, such as sending an email or linking out to a web site. The editing features are very powerful. For example, while viewing all elements of a slide, you can open an edit window for the audio and make changes without the need to edit in an external tool. If you use background music, it intelligently blends the primary audio with the background, adjusting volumes as needed. Finally, with multiple publishing options, you can not only create Flash files, but standalone executables files as well.

DemoWorks (Component One)
Reviewed by Rick Wayne
Any phone support vet can testify that talking someone through software is as frustrating as using a robot to play ping pong. Blindfolded. After Phone Hell, seeing a moving, talking, captioned demonstration of a program seems miraculous, and DemoWorks provides a delightfully straightforward way to capture precisely that. Its innovative "timeline" interface mimics nonlinear video editors, letting you reduce the raw "take" into a tight presentation. And, the demonstration need not depend on Flash at the other end; you can produce a self-contained Windows EXE or a Java application, or even pack the video into an animated GIF.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.