Interesting discussion of the past, present and possible future of SCA.
Archive for March, 2007
JPMorgan has an (Eclipse-based) RCP application called OneBench that won the Best Deployment of Eclipse technology in an enterprise Eclipse community award recently. What is really interesting is the fact that they have the development of OneBench set up as an Internal Open Source project, with wiki’s, forums and instant messaging. I was not at Jey Burrows talk, so it’s not clear to me whether they have a committer / contributor separation. Either way, it is another good example of how Open Source best practices are becoming the norm in software development, irrespective of where it takes place.
SaaScon 2007 is taking place in Santa Clara CA, April 17-18. Its a great chance to learn more about how to take advantage of software-as-a-service (SaaS) and how to take your business online. One of keynote speakers is Dave Duffield, CEO and Co-Founder of Workday.
Looks like another train wreck is in progress.
With all the usual caveats and disclaimers, these benchmarks about Groovy+Grails versus Ruby+Rails performance bear out common sense: “Overall, as expected, given its base on solid Java technologies, Grails out performs Rails (100% Ruby) in pretty much every test.”
Hot on the heels of the general release of Cape Clear 7 ESB Platform for On-Demand Integration, we’ve won the Jolt Award 2007 Enterprise Tools category, something we’re really chuffed about. It’s been a lot of hard work, but also a lot of fun, here in Cape Clear engineering over the course of the last 18 months. This major release is targeted at helping our customers quickly complete integration projects across heterogeneous environments that help them leverage - not replace - existing IT investments. As Annrai explains in Clear Thinking, our focus with this release is around On-Demand Integration and Software-as-a-Service. The ease-of-use and productivity of our tools enables our customers to get their projects realised and live quickly. The reliability, availability, scalability and performance of our platform ensures those offerings scale On-Demand. We’ve got the benchmarks to back that assertion up, and we’ve got the deployments (from Cisco to P&O Ferries, from Channel 4 to Pearson, from Workday to Mr. Ted) that show Cape Clear 7 ESB Platform is battled-hardened. In recent times we’ve seen a lot of noise made about SOA by the big stack vendors with their bloat-ware. Turn down the volume and turn up the success of your projects: read more about Cape Clear 7 ESB Platform for On-Demand Integration, check out What’s New, download it and try it out for yourself.
One companies experience of converting from CVS to SVN, sounds pretty positive.
I’ve been a long time fan of IoC and DI, and have used Spring as my IoC container pretty much exclusively. But I’ve never been a fan of XML-based configuration. So when I first heard about Google Guice I was excited. Over the course of the last couple of weeks I’ve checked out Guice and read a lot of blog posts about it, and in particular about Guice v. Spring. There are a couple of people around saying that Guice is the Spring killer and that Spring has become bloated and closer in nature to that which was despised (i.e. EJB/J2EE). I don’t agree with that sentiment. Guice is no replacement for Spring and does not claim to be. Also, Spring is as lightweight as you want it to be, it is a toolkit and you are free to choose what bits you want from it, or none at all. This debate aside, when I came across Guice I gave it very serious consideration. (There are plenty of tutorials etc. about Guice, so I’m not going to repeat them here.) But it wasn’t long before I found three things I really did not like about it:
- The need to annotate the classes being managed by the IoC container (@Injection etc.).
- The difficulty (and I’ll stand corrected if there is a nice/easy way around this) of injecting different implementations for the same interface depending on the context - something which I need to do all the time.
- The (ridiculous and cumbersome IMHO) need to annotate properties for property injection. Spring is not super fantastic in this regard either, requiring the presence of getters/setters or appropriate constructors, but its still better than the annotation explosion that Guice requires.
So, Spring’s “answer” to Guice is JavaConfig. Wow, the power of competition. Thankyou Google. JavaConfig makes a heck of a lot more sense that XML-based configuration. Craig Walls has an excellent comparison of Spring JavaConfig and Guice. Really, the only point Guice scores against Spring now is speed, and that is not a proper comparison (there is a reason Spring is slower doing injection). More importantly, 99% of the time I don’t see performance in this area being significant when considered in the bigger picture.
I still don’t know enough about Guice to decide definitively where I stand on this one, but for now I’m happily switching to JavaConfig and I’ll continue to watch the space.
Maven2, Java5 et al.
I’m finally making the move up to Java 5 (yes, it is difficult to leave 1.4.2 behind, but considering Java 6 is out it is high time). In doing so I had a problem with Maven2 that I had not encountered before i.e. getting it to use the correct compiler compliance settings. This post from Ahti Kitsik sorted me out.
Interesting take on how to get funded or keep your funding. Not sure about the funding bit, but StatSVN looks useful.