Thanks to the efforts of a number of other SpringSource project teams, we are excited to have integrations of three developer tools with Cloud Foundry, namely SpringSource Tool Suite, Grails, and Roo. The result of this is that you can create and develop your Spring or Grails applications, and run them in the cloud without having to leave your favorite IDE or command-line interface. These tools utilize the Cloud Foundry client web services API (to be published soon) and leverage additional intelligence and SpringSource artifact repositories in the cloud for optimized, efficient uploads of Java web applications to Cloud Foundry. This means that you can go from “code to cloud” in just minutes.
Spring Batch Admin provides a web-based user interface that features an admin console for Spring Batch applications and systems. It is a new open-source project from SpringSource. A milestone release 1.0.0.M1 will be available soon with all the features below, and we hope to get to a 1.0.0 final release early in 2010.
Main Use Cases
The easiest way to get a quick overview of Spring Batch Admin is to see some screenshots of the main use cases. The user interface is a web application (built with Spring MVC).
This release follows quickly on the M5 release as we close in on the first 2.0.0 release candidate. This time we’ve focused very heavily on fixing outstanding defects and added just a handful of new features. Take a look at the M6 release notes for the full details of the defects that we’ve fixed and the features we’ve added. Please keep your feedback coming as comments on our blog, in the forums, and on the JIRA.
New and Noteworthy
We are proud to present the Spring community with a new tool which helps get their applications to production even faster: tc Server Developer Edition is the standard 100% Tomcat you know and love, plus a new Spring Insight console.
Spring Insight gives deep visibility into your application’s real activity on a request-by-request basis. For any request you can see all the JDBC queries it made, how much time it took to render, or timings for any of your major Spring beans.
This fine grained information is very valuable when you are looking at a specific request in isolation, but it can be difficult to find a specific request in a mountain of millions. Fortunately, Spring Insight also has a 10k foot view and can quickly point you to problem areas.
Here is a screencast showing the dm Admin Console for the dm Server. It gives a brief tour of the dm Admin Console and then shows some of the features by deploying a simple demo application. The application consists of a configuration file, a web bundle and a content bundle. When deployed the application simply shows the contents of the configuration file in a web browser. The application is installed in parts for the purpose of this demo, in reality you would group the application together with either a ‘par’ or a ‘plan’, to see how this is done with a ‘plan’ file another screencast is available here.
In Milestone M5, for the first time, dm Kernel is available standalone. You can get it from here.
What is dm Kernel?
dm Kernel dm Server Admin Console Splash Tomcat
Essentially, dm Kernel provides you with all that is good about dm Server’s OSGi support, including:
- hot deployment
- configuration properties
- all repository types: watched, external and remote
- chain support (the chain is empty by default)
- easy configurability
- the user region
- full system and application tracing and dump support
- oh, and of course, Spring beans and Spring DM support as usual,
The dm Server has a new command line shell. It is currently available along with the existing Equinox shell and will replace it for the 2.0 release. Improvements over the Equinox shell include basic tab completion and a command history.
The dm Shell is available both locally and remotely over ssh. When used locally by starting the server with the ‘./startup.sh -shell’ option it will take over the console output once the dm Kernel has started. Console output will still be viewable in the event log. Either way the first thing to be produced is an ASCII art splash image followed by the command prompt ‘:> ’.
Beginning in milestone M5, dm Server 2.0 employs regions to isolate the kernel from users’ applications. This means that the kernel implementation is almost completely invisible to applications and to application management.
Also in milestone M5, support for cloning is completely removed. Region isolation and scoped plans between them offer much simpler and more manageable solutions to the most common problems that cloning was intended to address.
In the following two sections I outline these changes, and the reasons we made them.
We’re getting towards the end of the 2.0.0 release cycle so most of the work in this milestone is focused on locking down the user interaction model. Take a look at the M5 release notes for the full details of what we’ve been working on. Please keep your feedback coming as comments on our blog, in the forums and on JIRA.
Please also watch the blog for detailed posts on many of the new features referenced in this New and Noteworthy.
Last month, almost 4 years after the initial 4.0 release, OSGi Alliance officially approved the OSGi service platform 4.2 release. The announcement headline featured the Blueprint Container Service, a new addition to the Compendium specification based on the programming model promoted by the Spring Dynamic Modules (also known as Spring OSGi) project. To quickly summarize Blueprint, I will just blatantly quote the OSGi spec:
(Blueprint Container) [...] defines a dependency injection framework, specifically for OSGi bundles, that understands the unique dynamic nature of services. It provides an OSGi bundle programming model with minimal implementation dependencies and virtually no accidental complexity in the Java code.