Archive for the ‘Development’ Category

…you get your own bobble head doll!

Rod Johnson Bobble Head

This was the highlight of TSE keynote. Congrats Rod! Now we just need to get a bobble head doll of Cameron…

Next weeks marks the beginning of The Spring Experience 2007. I am fortunate this year to not only get the opportunity to attend but also to have a speaking slot. I will be talking about using Oracle Coherence to scale Spring applications and integration points between Coherence and Spring. I am looking forward to giving the presentation, as well as interacting and learning from some of the best talent in the industry.

Last week a story was published on Information Week about Overstock.com and its performance on Cyber Monday. According to the article, one of the factors of their success was the use of Coherence as a caching layer. As an Oracle/Tangosol employee, obviously it is great to see the software used successfully in this and so many other important deployments. However, there were other items that caught my eye:

“About a year ago, Byrne and Overstock.com CTO Sam Peterson decided to rehaul the Web site around the concept of “agile development,” where small teams of developers would work with each business unit to develop and improve functionality and roll out new releases as needed. “

and

“‘We had three developers on staff three or four years ago; now we have over 40 developers,” Byrne said in an interview. “We found it’s worth it to pay up for more expensive and more serious people.’”

This story demonstrates how the right mix of developers, process, and technology can produce the right results. Hopefully more businesses will come to understand this and therefore invest in their technical personnel.

Today’s presentations at COJUG went quite well. I had good feedback and great questions from both the lunchtime and evening meetings. The group is run by Christopher Judd, a well known Java consultant and author.

This morning on the way to breakfast I noticed lots of police cars and news vans which is usually a sign of bad things. Sure enough, I watched a bit of the local news and saw this story about some dude that tried to rob the 5/3rd bank that’s across the street from my hotel. Fortunately it appears that nobody was hurt (and the robber got nothing for his efforts.)

And for my final tangent of the evening, I recently subscribed to the Fake Steve Jobs blog and have been laughing ever since. Some of his stuff, this in particular, is positively hilarious. I’ll definitely keep this in the RSS reader.

Back in 2004 at the Server Side Symposium, I remember watching Linda DeMichiel present EJB 3 to the world for the first time. At the time I thought it was remarkably similar to the Spring/Hibernate project that I was developing, and I know that many others in the room had the same thought. Ever since that day we’ve had comparisons between Spring and EJB 3 as a reoccurring thread of discussion in the Java community. Thursday night was a continuation of said discussion, and it took place at the NEJUG. This is where Reza Rahman, one of the authors of EJB 3 in Action presented this topic. I was fortunate enough to have a seat next to Mark Fisher who scribbled copious notes and has written a great analysis on the i21 blog.

The presentation contained some outdated information about Spring which Mark details in his blog entry. To be fair, a good amount of the presentation was subjective (which makes it more interesting) and Reza obviously knows more about EJB 3 than about Spring. I’m sure that he will use Mark’s information to enhance this presentation which covers a topic that clearly is relevant and carries a lot of interest in the community. (The attendance and feedback at the user group are but one indication of this relevance.)

It isn’t my intent to add more fuel to the fire, but I did have a few thoughts on some of the subjective points of discussion:

EJB3: High degree of portability, Spring: Possible vendor lock-in.

The goal of Spring is to be a non-invasive framework, and the documentation emphasizes that end user code should not depend on Spring. This is an attainable goal for the most part, but I suspect that most real world projects of a significant size are importing org.springframework.*, in particular the DAO layer (especially when using the JDBC template.) Is this a problem? It depends on the kind of portability desired. Personally I like the ability to use older containers, newer containers, or no container at all. Applications should minimize coupling, but the application has to be coupled to something in order to do anything useful. An application coupled to Spring will have a much easier time adapting to other environments than an application coupled to EJB. I think it is quite ironic that it is easier to “port” a Spring application to EJB 3 than it is to port an EJB 2 application to EJB 3.

Aims to be a “defacto” standard and might make good on the promise.

This is just my opinion, but I have long considered it a defacto standard. I spend a good portion of my day looking at stack traces and thread dumps from customers, and most of them are using Spring.

Overall it was a good presentation, and I certainly enjoyed discussing the topic with the attendees. It will be interesting to see if Mark’s comments influence future revisions of the presentation.

Speaking of JUGs, this Tuesday I will be presenting Orchestrating Messaging, Data Grid and Database for Scalable Performance at the Central Ohio JUG near Columbus.