Ruby.rewrite(Ruby)
In this RubyFringe talk, Reginald Braithwaite writes Ruby code to read, write, and rewrite Ruby. Demos include extending Ruby with conditional expressions, call-by-name and more.
- Ruby,
Tracking change and innovation in the enterprise software development community
Posted by Charles Humble on Jun 03, 2008 12:01 AM
Developed and distributed using the Apache Licence, Version 2, and using the Java 1.5 runtime, Impala provides a means by which a developer can divide Spring MVC-based web applications into a set of modules that form a hierarchy. Every application using the framework contains a root module and may also contain one or more sub modules. The main purpose of the root module is to define a set of interface beans and to provide a home for Java interfaces and shared/domain classes used in the application, whilst the sub modules are typically more domain focused. The framework allows modules to be dynamically added, updated or removed within a running application, and supports viewing and reloading of modules using Java Management Extensions (JMX). Impala strongly favours test driven development as a development methodology, and provides an "interactive test runner" based on JUnit 3 which is intended to reduce the develop/deploy/test cycle, particularly in the context of integration testing.The project team have just released their first milestone release which can be downloaded here. This release is tightly coupled to Eclipse and Ant, and supports Tomcat and Jetty as its servlet container options. The final 1.0 release is expected to add additional IDE support for Netbeans and IntelliJ, with JDeveloper also under consideration. As well as support for Spring MVC a generic web integration mechanism is planned. Impala is not currently OSGi compliant although this is also planned for the first full release.
From the RoadMap - the following features have been implemented for the first milestone release:
- Interactive test runner: a Java main application which can load, update and reload modules, as well as run tests.
- Suite test runner: support for efficient, rapid running of a suite of integration tests.
- Simple scaffolding, allowing building of new projects.
- Eclipse web application runner (using Jetty), allowing multi-module web applications to be developed without builds.
- War deployment build - supporting creation of war files which can be deployed in a standard JEE application server or servlet container.
- Non-war deployment build for Jetty - a specialised deployment structure with an embedded Jetty server.
- Internal refactoring to remove wrinkles in architecture.
- Spring MVC integration with support for multi-module, dynamically reloadable web applications being built using Spring MVC.
- JUnit 3.8 support, specifically in the interactive test runner.
- Automatic module updates using a file system modification detector.
- Manual module updates using JMX administration console.
- Deployment build with automatic tagging of release versions.
- Ant-based build system which can be used in Impala-based applications.
Impala clearly has some overlap with Spring OSGi and an entry on the Impala blog provides a comparison. The project is considering some convergence with OSGi, ultimately allowing OSGi to be used as an alternative runtime for Impala applications.
The Impala project lead is very keen to get community involvement in the project. If you are interested have a look here.
White Paper: Writing Good Use Cases
Evolutionary Design through Agile Development Podcast
Lean Software Development Governance, a whitepaper by Per Kroll and Scott Ambler
In this RubyFringe talk, Reginald Braithwaite writes Ruby code to read, write, and rewrite Ruby. Demos include extending Ruby with conditional expressions, call-by-name and more.
Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.
Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.
Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.
Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).
Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.
Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.
In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.
No comments
Reply