Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2577 posts at DZone. You can read more from them at their website. View Full User Profile

Impala 1.0 for Spring Modularity Approaches Final Release

  • submit to reddit
Phil Zoio's Impala project is very close to it's first major GA release.  The second release candidate for Impala 1.0 has just arrived with some very significant features.  Impala is a fully dynamic environment for building and running modular Spring applications.  It's similar to OSGi, but it works at a higher level.  Although Impala is often positioned as an alternative to OSGi, Zoio says it's meant to be a simpler means to modularity in enterprise Java development.

The most welcome new feature in Impala 1.0 is the added Maven support.  Impala already has Ant support, meaning both sides of the Maven vs. Ant debate can build the way they like.  The RC2 also adds simplifications for using Maven in the default project structure.  The Maven project structure includes a parent build project, which contains all the dependency definitions, a host web project, containing the main web.xml file but not the application modules, and a project for each application module.  There is a Maven sample project for Impala that illustrates the project structure.

The second release candidate also features a dynamic properties namespace for easier property support.  The properties can be implemented and dynamically updated without any module or application reload.  In addition, Impala 1.0 includes enhancements for the mechanisms that support multi-module web applications, and supports the newly released Spring 3.0 framework.

A significant deviation from OSGi is Impala's modularization of applications, but not the dependent jars (third party libraries).  Zoio says, "With Impala, you manage third party libraries in exactly the same way as you would for a regular application (for example, by placing third party libraries in the WEB-INF/lib directory). The advantage is that you also spared the overhead of having to provide fine grained package import and export declarations in your application. Of course, with Impala you don't get versioning and reloading of third party libraries within the application. The big question in view is whether very many applications really require this feature, or use it in anger."  Although it might not attract hardened OSGi adopters, Impala could be a welcome tool for the large group of Java developers who haven't learned OSGi.  Zoio explains, "A project like Impala offers a simpler, more gentle introduction to modularity, which brings many of the benefits of modularity (in particular the dynamic service model, and dynamic redeployment of parts of an application) with very little pain."

In future versions, Zoio says it's a priority to make Impala widely accessible on all of the major IDE's.  Currently, there's only a plugin for Eclipse.  He also wants to add a module administration console and other usability features.  Better support for multi-language modular applications is another priority, Zoio says.  He thinks support for modular Grails applications would be lucrative feature as well.  To learn more about the Impala project you can visit the project website

For a more in-depth look at Impala, see DZone's recent interview with Phil Zoio.  A number of interesting comments and arguments are posted.


Alex Blewitt replied on Fri, 2010/01/08 - 1:27pm

So, you can already use an existing standard that's been around for 10 years, or you can use someone's pet project. Combine this with the fact that it's heavily Spring oriented, yet SpringSource are showing the future (and what they support) is DM Server. Even if this was a perfect, bug-free implementation, the risk associated with using a one-man-band's solution is a significant reason not to use it for anything serious. Impala may be a fun toy project to have implemented, but its practical use in the real world is so close to zero as to be a statistical rounding error.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.