P.S. I don't know if this Michael Kimber is a Versant guy or not. If he is, I find it quite humerous that Versant continually tries to pick fights with Hibernate. I guess if you want attention, the best approach is to pick a fight with the leader in the space.
This “Michael Kimber� guy does not work for Versant and is in fact a Database Architect for a commercial product who is currently in the middle of a determining which ORM solution to use in order to replace the 1000 plus of RDBMS specific Store Procedures (supported on two platforms) in our application. This is a major decision and one that could have a profound impact on our companies bottom line i.e. it could break us or make us far more nibble and profitable.
Until this announcement I had finalized on a short list of two, Hibernate and KODO JDO for evaluation. With out going into to much detail the plus and minus’s for each were/are as follows:
KODO JDO : Has pretty much the same basic feature set as Hibernate, but comes with some excellent productivity tools, Graphical design and configuration (I don’t care how easy Hibernate Config files are a picture provides an excellent communication mechanism, hence the database world has ERD’s and the Object World UML, etc), OSQL Query console and an excellent JMX console that allows runtime performance diagnostics and tuning . Has committed to complying with the EJB3.0 spec. Also provides support for OODB.
Hibernate : Market leader, with slightly more features since release 3, is open source with a large community so even if the Hibernate thing goes pear shaped (i.e. is superseded or taken commercial, don’t need arguments for and against this, it’s just a consideration we have to make) we have the code and our investment is safe. If the server side is to be believed is the basis of EJB3.0 and thus provides this functionality, plus more, although I’ve not been able to find anything official to confirm this.
In addition we will be using the SPRING framework to hedge our bets even further, plus support multiple J2EE servers.
So with all the above in mind, I think it’s reasonable to ask for objective comment on the open sourcing of an ORM solution that provides the productivity Tools and functionality of a Commercial Product with the potential security (defined by access to code and size of community) and price of an open source product??
I have read the “flame war� on the Serverside that erupted after the announcement of the Hibernate 3 release and as a college put it, it appeared to be like a school play ground fight. If there really is evidence against Versant, litigate, if not then take it as compliment that your product is a viable competitor and get on with providing what I as a commercial customer would ideally like over and above the excellent range of features Hibernate 3 currently provides (I and people like me are never going to make a decision on hear say, spam and gossip):
- J2EE platform independent tools for:
+ Graphic mapping of database Tables to Java Classes, that can if required be used by a business consultant to model datastores. HSQL then being used to extra the data and then squirt it at specific application via a web service i.e. a Dashboard tool (this has great possibilities for BI/Reporting). Plus it provides a standard way for our developers to develop our data layer (i.e. I want then working at the XML level, rather than the database or Java level).
+ JMX monitoring that provides object graph usage plans, SQL execution tracking, Dynamic tuning via meta-data, performance Dashboards
- Dynamic deployment of new columns and tables, with out restarting the application (this is possible for columns but I have been unable to determine
- Objective benchmarks for performance against (
http://polepos.sourceforge.net/)
- Clarifications on EJB3.0 support i.e. will hibernate comply with this, but provide additional features?
- More complete Documentation for Hibernate Event handling and Bulk INSERT, UPDATE, DELETE.
As you can see the list is more about productivity and future proofing than technical features which from my decision making perspective Hibernate 3 has covered.
Regards Mike (a potential Hibernate Customer/Community member)