Thursday, 10 May 2007

Vendor lock in

Big Appservers annoy me. Websphere, WebLogic .. even JBoss sometimes. But, you know what. They are good. Now .. there's a revoke of statements.

I have used JBoss from early V2 days and now use V4. If I could everything would just run on Tomcat but in banking circles this is just not a goer (wish it could be).

Brands, and branding sells.

A Colleague made a (un)true statement today. .. spoken from the client view ..

"It doesn't matter, we want Websphere because it scales".

Now the statement is not the (un)true part, but he said it tonque in cheek.

WAS scales, it does and that's why our clients will use it, want it.. think they want it. But what about when you have a standalone (runs on a JVM (thanks Spring)) app and then you run it in Websphere and it has a 300% degradation. ie, 1s response becomes 3s.

I suspect that the app is not "plugged" well into WAS 6.1. It's ServiceMix that we are talking here..

I mean where do you start, we can tune our code, but obviously the code runs well stand alone, so it's off to WAS to see what's going on.

I'm not acually the dev doing the performance testing. That is another one of our merry men. It's a hard task and it is only solved by starting at the top.

Back to Application Servers. I hate vendor lock in. It's a necessary evil though, I make no quarms about using a product when it's good. Weblogic 9 was great to dev with. Websphere 5.1 was clunky. 6 seems better. But any appserver, Java is meant to be portable and when you have a "from the start" idea that you use one, you might as well go MicroSoft and get far better "rubbing shoulders" experience than you will with Java.

A few things leae a bad taste in my mouth, one of them is the jboss-*.xml files that have to be in wars, ears etc .. That's just annoying. :-) (Maven solves that but so I don't have to worry about it, so did ant to think of it)

So , I am a technologist who chooses product or library X because it works.
I hate something that doesn't work.

Stuff I found works, absolutely brilliantly I might add is, Spring and Maven 2.
These two products alone have changed the way I view Java Development.

So How do I avoid vendor lockin there ?
Well, Maven doesn't go near my code, it sits on the edge, ie Ant and Maven co-exist for sure.

Spring, (some, not many) people have this conception that Spring is through your code. to me, if spring is in your code it's because you either found something there that really helps, or you have not thought well about how to keep it out.

Can't wait to see how Java Dev'ing on the Mac goes. Vishal says it's brilliant. My brother swears by it (but he's a designery type so he would ;-).

No comments:

Current 5 booksmarks @ del.icio.us/pefdus