Blogger: Joe Niski
The annual simultaneous release of the core Eclipse platform and major projects, named Europa, is due at month's end. Many of Burton Group's clients with an investment in the Java Platform, Enterprise Edition use Eclipse-based tools for Java EE development, and may be wondering what the Europa release means for them. The short answer: not much right now. The longer answer is that Europa is good for the overall development-tool landscape, and worth some attention.
In my experience, enterprises doing their own Java EE development generally use a commercial Eclipse-based IDE, often the one provided by the vendor of the application server they use most. Once a large organization selects an IDE and settles into a license-renewal and upgrade cycle, it rarely switches to another tool. Companies with mixed server environments, or those looking for better value for their tool dollars, may opt for a low-cost, well-supported distribution such as MyEclipse. There may be a few pesky rogue developers using the latest and greatest Eclipse release and their favorite collection of plug-ins to write code when nobody's looking, but they're usually a minority.
The Europa release, however, is not intended for developers of business applications - it's clearly targeted toward tool-builders and ISVs. As the Europa home page states, "We are doing this simultaneous release to support the needs of the ecosystem members who integrate Eclipse frameworks into their own software and products."
If you're interested in model driven architecture and domain-specific languages, if your company's use of dynamic scripting languages such as Ruby and PHP is increasing, if you're looking for ways to improve developer collaboration across multiple locations, or if you're evaluating your development tool strategy, you should familiarize yourself with the projects in Eclipse Europa bundle.
The Model Development Tools project, and two new Modeling Framework Technologies sub-projects are focused on meta-modeling (creating new modeling languages) and model transformation and code-generation. The Dynamic Languages Toolkit should simplify building development tools for scripting languages. The benefits of these technologies for enterprise developers will take a while to materialize.
Some of the projects included in Europa seem closer to making life easier for workaday programmers creating business applications. Buckminster has potential for standardizing and simplifying complex builds, software packaging, and deployment -from within the development environment. Mylyn enables contextual focusing the busy Eclipse UI and provides a framework for integrating with external bug-tracking and task-management systems - in other words, it brings the developer's task list into the IDE. The Eclipse Communication Framework offers the foundation for real-time collaboration tools such as instant messaging or collaborative editing within an IDE. Similar functionality is already available in a few commercial and non-Eclipse Java EE tools, as well as in Microsoft's Visual Studio Team Edition.
Again, the primary audience for Europa is the substantial and growing community of tool-builders and ISVs basing their products on the Eclipse platform. Microsoft, which has tried to position Visual Studio as the center of a tool ecosystem, isn't resting on its laurels. Microsoft recently announced Visual Studio 2008 Shell a flexible, brand-able, and (significantly) royalty-free version of core Visual Studio functionality that partners and ISVs can build on and distribute. It won't be available for a while, but current Visual Studio users have everything they need to start creating tools that can take advantage of VS Shell when it's released.
The market for tool platforms is in many ways more interesting than the market for general-purpose IDEs for application and web development. A potential third player is Sun Microsystems' NetBeans (http://www.netbeans.org/index.html). One of the first free IDEs, NetBeans has also made a few appearances as the base platform for other vendors' tools. Some ISVs (notably Compuware) switched their products from NetBeans to Eclipse as the latter gained momentum and mindshare. Meanwhile, Sun has done an admirable job of revitalizing NetBeans as an IDE. The base package is relatively lightweight - a small download and relatively uncluttered UI. The add-on packs for JEE, web, and C/C++ development are well focused, the Mobility Pack is looks like a great environment for developing in Java Micro Edition, and the JRuby and Rails support in NetBeans 6 should be interesting to both Java and Ruby developers. Whether Sun decides to promote NetBeans as a general-purpose tool and application platform remains to be seen.