Face it, the Web is the future, and the future is now. Great Web development frameworks, once scarcer than hen’s teeth, are now so common that many development teams spent most of 2007 debating the merits of various solutions. While those arguments are unwinnable, especially in the face of a die-hard Ruby fan, the real wins are for the developers themselves, who now have the tools they need to quickly, efficiently and safely build Web-based interfaces for enterprise applications.
They’re the bits and pieces of the daily grind that your coders can’t live without. They’re the services and software that help to appease your legal department or allow you to run new Ruby code on old Java application servers. They’re the tools—and the old saying that a craftsman is only as good as his or her tools applies all the more in this case. With tools like the eponymous Valgrind, even the sloppiest developer can churn out functional and usable code, free of memory leaks and XML errors.
Every year, test and QA becomes just a little less people-centric and more automated. Our influencers know this well: They have made their names building batteries of bad inputs, malformed packets and fuzzy logic. This is the only place in software where making errors is the goal. With test software now capable of attacking code from almost any angle, software is becoming more reliable and easier to fix. And thanks to the burgeoning realm of in-IDE testing tools, your coders have no reason not to run their work through a gauntlet before checking it in.
Model-driven development isn’t just a good idea, it’s also the foundation of an entire philosophy: Proper requirements-gathering and solid planning can be more powerful than 1,000 terrific coders working for months. With both XML and UML modeling software becoming commonplace in enterprises, it won’t be long before many development projects can be bashed out with little more than some colorful diagrams and one of our finalists’ top-shelf modeling tools.
It’s a services-based world; we’re all just living in it. SOA has arrived. It’s set up camp in your network and has begun to claim victims in the form of those terminal-based applications your users always hated. Now that those services are up and running, the promise of SOA is beginning to come true. But that doesn’t mean you don’t still need top-flight tools to help design, coordinate and deploy all those delicious consumables. Our finalists provide the best tools and systems for keeping track of all those services, and for pushing the obligation of design into the hands of the business people who can never communicate their needs properly. The best part of SOA is that those business folks get to do it themselves.
Between the paradigm-shifting iPhone and the unstoppable march of open source, the end user was the biggest winner in 2007. Apple showed us how to make a phone easy to use. Apache stayed on top of its game, continuing to offer enterprise-class sever software at a price not even Microsoft could match. The GPL went to war, Oracle snapped up BEA and Intel turned to face the problems of multi-threaded programming head on. This year’s influencers weren’t hiding in meeting rooms, licking their wounds. They were out in the field, pushing boundaries and shifting paradigms. While everyone else was following them, they were already around the bend and heading toward the finish line that is true innovation.
2007 was a great year for development environments. With a new version of Eclipse arriving in the summer, NetBeans 6.0 hitting the Web during the fall, and IntelliJ IDEA getting a bump to version 7.0 in between, Java users had a lot of new things to play with. Of course, Microsoft developers also had new toys: add-ons, plug-ins and time savers brought into VisualStudio. Even the scripting languages got the royal treatment, as new IDEs from ActiveState and CodeGear brought innovative development tools to these new languages.
Embedded devices are quickly becoming a hotbed for innovation. In fact, there are those who would argue that Web 3.0 would be the mobile revolution. With the iPhone and Google’s Android sure to dominate the future of mobile development, software on those devices has forced an evolution. It’s no longer enough simply to build a phone-based application; now it must also offer GPS support, iPhone pinch-style zooming and connectivity to a Microsoft Exchange mail server. Thanks to our winners, however, it’s easier than ever to treat mobile like it’s just another platform, instead of the messy, incongruous ecosystem that it really is.
Data is the lifeblood of applications. For those extra-juicy, information-rich experiences, all that data has to live somewhere. Whether the database is a massive Oracle installation or a tiny MySQL instance, databases are essential to the proper functioning of applications. But they’re also more than that. For many businesses, the database is the single most powerful, useful and essential tool for getting things done. Fortunately, databases are also some of the oldest pieces of software out there and, thus, are exceptionally mature. That’s why open-source alternatives offered by the likes of Enterprise DB and MySQL are quickly becoming commonplace in the enterprise. Although there will always be room for gigantic Oracle or Sybase systems, those smaller jobs are benefiting from simpler alternatives.
Any developer worth his or her salt knows that it’s all been done before. And it’s probably already been done better and faster. That’s why they use components. After all, building everything from scratch is so 1984. With so many powerful minds concentrating on solving common development problems and making those solutions available, modern developers spend most of their time connecting pipes, rather than designing and manufacturing them. But without great pipes, the guys upstairs can’t take their hot showers. Here are the folks who make the best, easiest-to-thread application plumbing.
The application server is becoming more versatile every day. On the Java side of the fence, Sun Microsystems hired the folks responsible for bringing Ruby and Python into JREs, quelling many of the complaints Java developers have voiced about the lack of a simple scripting layer on top of Java. BEA spent the year tweaking and tuning its WebLogic application server to run at breakneck speeds. IBM, on the other hand, helped spur interest in open-source communities with its Apache Geronimo-based WebSphere CE. But the air continued to be sucked out of the application server room by Red Hat’s trailblazing JBoss Middleware group. And, of course, everyone’s favorite feline, Apache Tomcat, remained on top as the most popular Java application sever.
You can’t start to build a house without a place to store all the materials. In the real world, you simply throw a tarp over the wooden planks and frames needed, and they’ll be safe from the rain while remaining easily accessible. However, for software developers, it’s much more complex. Source code management systems have long been the solution to the basic problem of making sure everyone’s files are in order and up to date. But the modern problems of deployment and customization long ago mandated something more robust. As such, our finalists offer more than source code management. Indeed, collaborative workflow systems can track all aspects of development, from start to finish.