As enterprise Java developers, we face many challenges. Among the most significant are retaining a high level of productivity throughout our projects' life cycles, and keeping our applications relatively free from complexity as they grow in size. The Spring framework has been very helpful for Java developers in meeting these challenges. As a dynamic, modular productivity framework, Impala Framework builds on this work. It provides a dynamic development environment which allows you to develop your Spring-based application without continual restarts, dramatically transforming development productivity. It also allows you to develop applications in a truly modular way, allowing you to keep your application simple as it grows.
After a few introductory slides, this Code Jam will involve a hands-on session in which you will spend some time working on a simple multi-module Impala-based project. You will get a feel for how Impala accelerates Spring-based application development, and also some practical insight into how you can use modularity concepts to solve common problems in enterprise software.
1. Impala Code Jam
JavaWUG, Wednesday May 26 2010
Phil Zoio
Creator of Impala
philzoio@realsolve.co.uk
Wednesday, 26 May 2010
2. What is Impala?
Impala is dynamic modular productivity
framework, specifically targeting but not
exclusively limited to Spring-based application
development.
Wednesday, 26 May 2010
3. Impala is about productivity!
‣ rapid build/deploy/test cycle
‣ enables truly modular web applications, reducing
complexity
‣ easy to configure applications for different environments
and requirements
‣ simpler and faster integration testing
‣ simplicty and low barriers to entry
Wednesday, 26 May 2010
4. Productive Build/deploy/test cycle
Traditional application Impala application
Make code change Make code change
Build application Test change
Make code change
Restart application Test change
etc.
Test change
Wednesday, 26 May 2010
5. Impala offers modular development
‣ Break application into reusable parts
‣ Dynamic addition, load and removal of these
‣ Easy to mix and match configurations per environment
‣ Separation of interface vs implementation at a module level
‣ Avoid monolithic applications with tangled
interdependencies
Wednesday, 26 May 2010
6. Complexity growth compared
app
o nal
diti
Application complexity
Tra
p
Impala ap
Application size
Wednesday, 26 May 2010
7. Spring-related offerings
High productivity and
modularity sweet spot
Grails
Roo Impala
Productivity
Spring
dm Server
Spring DM
Java only
OSGi only
Modularity
Wednesday, 26 May 2010
8. Impala History & Background
2006 Modularity becomes issue in large, ultimately failed Spring project
Experimentation on first ideas for Impala
2007
August: project set up on Java.net.
Moved to Google code in October
2008 May: first public release of Impala
Incremental development and refactoring
2009 September: release of Impala 1.0 RC1
2010 May: release of 1.0 Final
Wednesday, 26 May 2010
9. Post 1.0 Roadmap
Definite/Probable
‣ module management improvements
‣ more pre-canned web framework integration
‣ administration console application
‣ JUnit4 interactive test runner
‣ other IDE support
‣ modules in Scala/Groovy
Wednesday, 26 May 2010
10. Post 1.0 Roadmap
Potential
‣ Grails-style plugin system
‣ Grails support
‣ TestNG interactive test runner
‣ Portlet support
‣ Eclipse plugin
‣ more complete OSGi support
‣ etc. etc.
Wednesday, 26 May 2010
11. Next steps
‣ Take a look at the more advanced samples
‣ Try building a real application
‣ Participate in the forum
‣ Post issues on the issue tracker
‣ Get involved in the project!
Links
‣ Home: http://www.impalaframework.org/
‣ Blog: http://impalablog.blogspot.com/
Wednesday, 26 May 2010