Is Open Source Dying? Case Not Proven

Engineering | Rod Johnson | June 28, 2007 | ...

Michael Hickins recently published a piece on eWeek entitled Is Open Source Dying? The title drew me in, and no doubt plenty of other folk too. But the article doesn't prove the case, although it contains some interesting points that merit discussion.

Most of the article concerns speculation about the experience of government with open source, and the motives of vendors such as IBM. I prefer to judge companies and individuals by their actions, rather than speculation about their motives, and there is plenty of evidence that IBM, for example, takes open source very seriously. There's plenty of…

So should you still use Spring's HibernateTemplate and/or JpaTemplate??

Engineering | Alef Arendsen | June 26, 2007 | ...

I was reading an article by Vigil Bose on TSS the other day and saw the usage of the HibernateDaoSupport class. Since this is no longer a recommended way of using Hibernate from Spring, I thought I might as well just blog about it another time.

With the advent of Spring 2.0, it has become possible to start using the Hibernate Session API directly again. The question is whether or not it is wise to abandon the use of the HibernateTemplate when working with Hibernate, or any other template-based approaches Spring features.

Using Spring XxxTemplates

In Spring 1.0, we introduced a revolutionary way of working with data access APIs that threw checked exceptions. The template approach Spring features along with its transaction synchronization manager and the extensive use of runtime exceptions makes any TCFTC (short for try/catch-finally-try/catch as we coined it back in 2005) often found in data access code entirely obsolete. Below you can see (a simplified version and not entirely precise version of) what Spring's template approach does for you (with specific code snippets that you would otherwise have to write). template.png

Acquisition of connection: If transaction synchronization is active…

Code samples from SpringOne 'Beyond the obvious' talk

Engineering | Joris Kuipers | June 25, 2007 | ...

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…

The Power of Batch

Engineering | Rob Harrop | June 23, 2007 | ...

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…

Putting Spring Web Flow to a Load Test

Engineering | Rossen Stoyanchev | June 22, 2007 | ...

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:

  1. The load test must maintain independent “cookie storage area” so each client request can carry an independent HTTP session.
  2. 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.

Apache JMeter is an open-source performance test tool that can satisfy both considerations.

For 1) we add an HTTP Cookie Manager element at the root of each Test Group exercising Web Flow functionality. The Cookie Manager ensures each simulated client request can have its own…

Spring Framework Certified on WebSphere

Engineering | Rod Johnson | June 21, 2007 | ...

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…

Source for demos shown at NL-JUG session June 13th 2007

Engineering | Alef Arendsen | June 14, 2007 | ...

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…

Spring: the de-facto standard in Enterprise Java Programming

Engineering | Adrian Colyer | June 13, 2007 | ...

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.
The part of the announcement that caught my eye though was this:
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.
It's great to see this kind of recognition, the only slight change I'd make to the statement is to drop the "rapidly becoming" part: the Spring Framework is the de-facto standard in Enterprise Java Programming.

Announcements like this are part of a virtuous circle (described for example by Geoffrey Moore in his book "The Gorilla Game") whereby the pervasiveness of the Spring Framework makes it very compelling for vendors to provide Spring Framework integration in their products, which in turn increases the overall value of Spring. This of course helps to make Spring even more pervasive…

Nonsense about Open Source

Engineering | Rod Johnson | June 12, 2007 | ...

The production of nonsense on open source is a highly competitive field. However, I've just come across something that raises (lowers?) the bar: a post by an OpenLogic blogger entitled What's your time worth?

It's not a long piece, which is handy, as it makes it easier to deconstruct paragraph by paragraph. I'm focusing on enterprise Java, about which I can speak from experience.

The blogger gets to the point right away with a concise statement of why she doesn't understand open source in the enterprise:

Developers that work on open source software typically have day jobs that pay pretty well. So they work on open source software for free and write code during the day for big bucks.
Wow, I thought we'd got beyond this "hobbyist" idea years ago. Let me quote some statistics about Linux, from a 2004 article called Linux is now a Corporate Beast. The emphasis is mine:
Dispelling the perception that Linux is cobbled together by a large cadre of lone hackers working in isolation, the individual in charge of managing the Linux kernel said that most Linux improvements now come from corporations. "People's stereotype [of the typical Linux developer] is of a male computer geek working in his basement writing code in his spare time, purely for the love of his craft. Such people were a significant force up until about five years ago,” said Andrew Morton, whose role is maintaining the Linux kernel in its stable form. Morton said contributions from such enthusiasts, "is waning." Instead, most code is generated by programmers punching the corporate time clock. About 1,000 developers contribute changes to Linux on a regular basis, Morton said. Of those 1,000 developers, about 100 are paid to work on Linux by their employers. And those 100 have contributed about 37,000 of the last 38,000 changes made to the operating system.
That's 97% of commits coming from people paid to work on Linux. And that transformation has corresponded with the increasing penetration of Linux in the enterprise. Looking at the most successful complex projects in enterprise Java, such as Spring, Hibernate and JBoss, shows a similar picture. All of these are overwhelmingly written by developers who work for the companies behind them. Volunteerism plays little part. As a result, those products have exhibited rapid progress.

The post now moves onto economics--or, to be precise, an attempt to argue that the…

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all