This post originated from an RSS feed registered with Java Buzz
by dion.
Original Post: Why do I care about pluggable persistence?
Feed Title: techno.blog(Dion)
Feed URL: http://feeds.feedburner.com/dion
Feed Description: blogging about life the universe and everything tech
I have had certain people (;) question why it matters if the persistence engine is pluggable. Some vendors claim that noone has asked them for this. If you don't like a vendors CMP engine, then use a different vendors app server. Or, just download Hibernate/Kodo and use that.
The issues that I have are:
Stuck with a vendor syndrome:
I live in an area where there was once a very good golfer, who was a sales guy for IBM. That is how I explain how the entire city is blue. The state government, the university, the insurance companies. Everyone. Ask me to develop a Struts app on WebSphere? erg :/ At some of these large companies, I have seen the following issue come up time and time again. The CIO is bought in to IBM. The development team is not. Many of the projects will just run simple servlet/jsp web tiers and not use any of the WebSphere engine itself (an expensive Tomcat). Others fight political battles to try to get Spring/Hibernate solutions in to solve their problems. Management argues that "this isn't standard!". So now the developers are stuck between a rock and a hard place. They know they have to use WebSphere, and believe it or not, some of the large applications really benefit from pieces of that stack. However, they don't want to use the WebSphere CMP engine. Picture the new world of a pluggable engine. Now the dev team can switch in Hibernate, yet still code to EJB 3, and can claim to management that they ARE following the standard. Everyone is happy.
Come on, holy lock-in batman: I am sorry app server vendors. I know that the CMP engine has been a good lock-in in the past. But you have all moved on from this up the stack anyway, so I am sure you don't care that much anymore.
Why not?: Why should the ONE cross-cutting concern of persistence NOT be a pluggable API? It makes no technological sense to me. Give us the option
Do I think that everyone is going to run out and start shopping around? Maybe not. I am quite sure that a LOT of project teams and companies will be happy to install their app server, and start writing code. They don't want to plugin something else.
However, I think there will be a lot of companies switching out. On some projects it could totally make sense to run WebLogic Application Server, with Hibernate's persistence engine. If you are twisted you could use JBoss' application server with IBM's CMP engine :)
Surely choice and competition is a good thing. It will open up a LOT of companies outside of the appserver vendor space to compete, and we are going to see better and better tools to help us manage persistence.
Hopefully a year from now we will see this. We will see projects using a bit of this, and a bit of that. Who knows :)