TSSJS 2009: Rapid Dynamic Modular Application Development with Impala
Full title of talk: Rapid Dynamic Modular Application Development with Impala, the Simple Approach to Dynamic Modules with Spring
Speaker: Phil Zoio, Impala creator
Phil begins by highlighting a major weakness of basic Spring: The single address-space available to all the beans, which becomes increasingly unwieldy as number of classes/beans increase. Impala enables the developer to group beans into logical modules, which can be subsequently swapped out dynamically.
Phil goes on to demo runtime-changes to a spring config as well as a bean implementation class, which result in Impala automatically re-loading the modules concerned. This is achieved by breaking the static (compile-time) coupling between client and implementation code.
Phil now shows a neat little interactive test runner, which I assume is part of the Impala package. One of the commands enables the user to explicitly reload a particular module, which is obviously more efficient than reloading the entire app. Using this in conjunction with the dynamic replacement of code results in extremely fast test/fix-roundtrips.
Phil now talks about the difference between the Impala and OSGi approaches. No third-party library versioning with Impala – in contrast to OSGi. OSGi, however, is more complex was never conceived for large enterprise systems.
Phil’s slides are available here.
Summary: An informative even if (again) somewhat dry talk about a potentially interesting tool. Of course, one can’t judge the effectiveness of the tool on the basis of a single presentation, especially when it comes from the tool’s inventor.
One final thing: Phil didn’t mention JSR294. Methinks the discussions on how to best modularise Java are going to persist a while…
