The Spring Blog
Last week at SpringOne, Alef and I gave a talk on dealing with complex applications using Spring. Complexity in this case was considered both at the structural and dynamic level. As for the structural part of the talk, I covered that one in my previous blog posting. The dynamic part explained some possible solutions to deal with differences between your deployment environments. (testing, acceptance, production, etc.)
A lot of people asked me if I could provide them with the source of the demonstrations I gave during the talk. I’ve attached the sources to this blog entry and will explain briefly how this all works. Hopefully the talk itself will eventually become available on parleys.com later this year, so you can get some more background information on the topic.
In the last session of SpringOne yesterday, Dave Syer, Scott Wintermute, Lucas Ward and Wayne Lund all presented on Spring Batch. I didn’t actually attend (since I had an early cab ride), but I stuck my head in and was yet again astounded by the amount of interest.
Back at JavaOne we had an immense amount of interest in this solution as well, with plenty of visitors calling by the booth to quiz us about batch.
It’s all too easy in this world of Ajax and Rich Internet Applications to forget that a large number (a majority maybe?) of large scale enterprise applications are batch-oriented. Batch is like the dirty little secret that Java tries to hide from the world - but no more!
Load testing a Web Flow application is similar to load testing any other web application â we’ll use a load testing tool to simulate increasing levels of concurrent client access in order to capture essential performance statistics.
With Web Flow there will be a couple of important considerations for the load test:
- The load test must maintain independent “cookie storage area” so each client request can carry an independent HTTP session.
- We need a mechanism for extracting the unique flow execution key from the initial response and use it to customize subsequent requests in the same flow session.
SpringOne is humming along nicely. This year it’s a 3 day show, up from 2 days last year, and once again it’s great to see hundreds of attendees at a Spring conference. For once I’m quite relaxed at a show, as after the opening keynote I have no further sessions, and don’t need to work on slides.
Right now, Adrian is preparing to make a major announcement about Spring tooling. Well actually he’s giving a uniquely personal take on duck typing, as I’m sure you’ll hear…
More about that later, but first I need to share some news from yesterday. I was happy to be able to announce that we have worked with IBM to certify Spring on IBM’s flagship WebSphere Application Server. As much of Interface21’s customer base is in large enterprises, we see a lot of WebSphere and have wanted to ensure the ideal integration for years. It’s good to see that IBM share this goal. Their commitment to the integration was also largely driven by customers, many of whom have adopted Spring and experienced great results with it. As Spring adoption has moved from project-by-project to strategic, such customers want to know that this combination is supportable and that both vendors are behind it.
Dear Spring Community,
We are pleased to announce that Spring 2.0.6 has been released. Spring 2.0.6 is a bugfix and enhancement release in the Spring 2.0 series, addressing all issues reported since 2.0.5 and backporting various refinements from 2.1 M2 (e.g. compatibility with JRuby 1.0).
Lead, Spring Framework Development
Interface21 - http://www.interface21.com
We are proud to announce that the last release candidate of Spring IDE 2.0 has been released. Read the announcement on the Spring IDE blog.
The release candidate is available immediately from our developer update site at http://springide.org/updatesite_dev. Please take some time for testing and provide feedback on any errors, bugs or problems you might find. Many thanks to all that already provided feedback and bug reports. The feedback is really valuable for us.
We are pleased to announce that Spring Web Services 1.0 RC2 has been released.
This is the second release candidate of Spring-WS, a product of the Spring community focused on creating document-driven Web services. This release contains fixes for bugs discovered since the RC1 release along with minor improvements. In addition, the "Airline" sample application has been enhanced to use Java 5 features including the new @Endpoint programming model, JPA support, @Transactional, and more.
Yesterday, Joris and I gave a session at the Dutch Java Users Group. We did the session twice and had about 250 people in total attending the sessions. A lot of people asked for the code for the demos we did during the sessions. Attached you’ll find the code for the AOP and Dependency Injection demos. It shows a simple aspect flushing the Hibernate session before every JDBC operation (not as robust as you’d want it in production code, but it’s a start) and it also shows the CarPlant system (demo’d before in other sessions and previously attached to another blog entry) configured using the various to do Dependency Injection in Spring 2.1 (i.e. using <bean>, @Bean and @Autowired).
Yesterday GigaSpaces announced the latest release of their Space-Based Architecture, and it’s got a new name to go with it too: the GigaSpaces eXtreme Application Platform (XAP). To quote from their press release:
The new release provides a complete middleware platform for managing data, messaging and business logic for applications that require high performance and the ability to scale horizontally across hundreds of machines.
As part of the new product release, GigaSpaces has embraced a much simpler, non-intrusive programming model that allows developers to write their applications in Plain Old Java Objects (POJOs), plain .Net and plain C++ objects. For Java, GigaSpaces is achieving this by supporting the Spring Framework, which is rapidly becoming the de-facto standard in Enterprise Java programming.