The JSR220-ORM Project's goal is to provide a 100% compliant implementation of the JSR 220 persistence and JSR 243 specifications integrated with the Eclipse platform. Further, the goal of the project is to track the changes to these specifications, so that in addition, as they merge together towards a common persistence standard, it will be fully implemented by this project. Finally, the goal is to provide visual development tools that facilitate round trip engineering when using the JSR 220/243 approach to persistence.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously, since I use eclipse and have been for a while.

Just to be clear, I'm not suggesting netbeans close shop and die, but as more people support eclipse, it means fewer people supporting netbeans. There are some ORM plugins already, but I am curious to see how this plugin turns out.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously, since I use eclipse and have been for a while.Just to be clear, I'm not suggesting netbeans close shop and die, but as more people support eclipse, it means fewer people supporting netbeans. There are some ORM plugins already, but I am curious to see how this plugin turns out.peter

For my development, Netbeans is important. I need full Java 5.0 support, which is still not there with Eclipse. I also do Swing development, which is integrated fully into NetBeans as shipped, as is J2EE. A lot of what developers use plugins for in Eclipse is already present in NetBeans. Also, all the tasks I need to do with JDO (such as enhancement) are available as ant tasks, which integrate easily into NetBeans 4's ant-based way of working. I would suggest that the excellent ant support gives NetBeans access to a wide range of functions without the need for plugins.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously, since I use eclipse and have been for a while.Just to be clear, I'm not suggesting netbeans close shop and die, but as more people support eclipse, it means fewer people supporting netbeans. There are some ORM plugins already, but I am curious to see how this plugin turns out.peter

For my development, Netbeans is important. I need full Java 5.0 support, which is still not there with Eclipse. I also do Swing development, which is integrated fully into NetBeans as shipped, as is J2EE. A lot of what developers use plugins for in Eclipse is already present in NetBeans. Also, all the tasks I need to do with JDO (such as enhancement) are available as ant tasks, which integrate easily into NetBeans 4's ant-based way of working. I would suggest that the excellent ant support gives NetBeans access to a wide range of functions without the need for plugins.

The last time I looked at NetBeans it had made some great progress, but the thing that I like the most about eclipse is the plugin framework. I've been toying with the idea of contributing to the hibernate plugin, but I don't have any more freetime to spare.

hopefully the new ORM plugin for eclipse will inspire further development in netbeans.

For my development, Netbeans is important. I need full Java 5.0 support, which is still not there with Eclipse.

I am using the entire feature set of JDK5 with Eclipse (annotations, static imports, generics, enhanced for loops, varargs, etc...). It works quite well and has been for a few months in the 3.1 line.-- Cedric

I thought there were still some problems with generics? If not, I'll take another look. My concern is that the 3.1 line is still not the mainstream release, and there can be problems with plugins. With NetBeans ant support, this plugin problem is much less - if your tool (e.g. JDO implementation) provides ant tasks (and almost all do these days) you have instant support for much of the functionality with no need for plugins.

NetBeans is really good in the sense that by default it has many features very useful for quick start a J2EE web app project. I beleive the next version of Eclipse with Web Tools will be a address this to a huge extent.

There is a difference, Netbeans doesn't so many plug-ins, it comes with more features out of the box.

But you are right, all the IDEs need plug-ins for support not-mainstream features and let the developers focus on the main things. And there… I think that the battle is lost and any individual IDE has the power to change that.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously, since I use eclipse and have been for a while.Just to be clear, I'm not suggesting netbeans close shop and die, but as more people support eclipse, it means fewer people supporting netbeans. There are some ORM plugins already, but I am curious to see how this plugin turns out.peter

The majority of Eclipse plugins are for niche products that few people actually use. Another large chunk of them are developed by small development teams, perhaps even 1 guy, and are of unknown quality.

If you're comfortable searching the internet for plugins, trying them out, and living through their bugs, lack of features, and so on, then Eclispe makes a fine IDE. If your company has a pre-defined set of pluggins it's tried that fullfill their programming tasks, and you just load these from a company repository, then Eclipse is probably fine as well.

If you're looking for a free IDE that supports plugins, but also has commonly used features out of the box, like visual GUI editing and profiling, NetBeans is a much better choice.

"with so much support and development in the eclipse space, does NetBeans even matter for the future?"

lol...I guess firefox better pack it up too since IE has much greater support and penetration? When something gets broad support, everybody else should simply disappear? I guess competition isn't important to you?

You may find it hard to believe, but there are other IDEs that actually have features that Eclipse simply doesn't have AND PEOPLE WANT THEM.

Please get treatment for your fanboy problem. It will hinder you in life.

"with so much support and development in the eclipse space, does NetBeans even matter for the future? "lol...I guess firefox better pack it up too since IE has much greater support and penetration? When something gets broad support, everybody else should simply disappear? I guess competition isn't important to you? You may find it hard to believe, but there are other IDEs that actually have features that Eclipse simply doesn't have AND PEOPLE WANT THEM.Please get treatment for your fanboy problem. It will hinder you in life.

I use more than one IDE and sometimes have to use vi on Unix. I think it's a valid question. Obviously there's more than one IDE and every body has their preference. I realize there are features that other IDE's offer, which eclipse does not. I am bias towards eclipse, but not at the cost of killing competition. for the record, I like competition and think it's healthy.

my reason for asking, isn't to say other IDE should curl up and die. it was more a question of how will other IDE's will challenge eclipse. my own fault for being vague.

I know it's a touchy subject and I deserve to get flamed for it. I remember when togethersoft was on it's own and their IDE was a serious contender. I've used JDeveloper and JBuilder for several years, but with the steady progress that eclipse is making, I think it's going to get harder for others to compete. The good thing about Versant donating the plugin is that others can learn from it. So I'm hoping it inspires competition, not kill competition. As naive or stupid as that may sound.

Also, I think that recent trend (that IBM, in particular, actively pursuing) - everything, including UML tools, ORM and their dogs, has to be put to one large ugly dead-slow and bug-ridden IDE - is inherently flawed.

Let the thin and slick IDE manage Java code, JSP and eventual 'static' XML descriptors. Let the build/deployment process to be managed by ANT/Maven/JACL/you-name-it scripts.If UML is a part of development process - do NOT couple them hard with code. If code generators are used - make them part of IDE-agnostic build process, not otherwise.The bottom line is that all the artifacts composing the product must be stored in version control system repository. And to build the product, no IDE should be needed. This way you can improve your process with dedicated build server, continous integration and so on, while every developer could use Eclipse, IDEA, Netbeans, emacs or vi according to their taste.

(I'm now on the project where that *beep*ing WSAD is a part of mandatory development environment - oh my god, what a drama it is!)

Also, I think that recent trend (that IBM, in particular, actively pursuing) - everything, including UML tools, ORM and their dogs, has to be put to one large ugly dead-slow and bug-ridden IDE - is inherently flawed.Let the thin and slick IDE manage Java code, JSP and eventual 'static' XML descriptors. Let the build/deployment process to be managed by ANT/Maven/JACL/you-name-it scripts.If UML is a part of development process - do NOT couple them hard with code. If code generators are used - make them part of IDE-agnostic build process, not otherwise.The bottom line is that all the artifacts composing the product must be stored in version control system repository. And to build the product, no IDE should be needed. This way you can improve your process with dedicated build server, continous integration and so on, while every developer could use Eclipse, IDEA, Netbeans, emacs or vi according to their taste.

+1A great summing up of how, I am confident, a lot of developers feel.

Having a zillion cars is not the same thing has having a zillion cars AT YOUR DISPOSAL. A heap of crappy ass rusty old cars is nothing worth bragging over. NUDGE.(For those of you analogy-challanged: substitite cars for plugins).

totally agree. obviously what counts is quality. measuring by number of plugins is a flawed approach and doesn't accurately capture the picture. I use both Swing and SWT, so it's not like I advocate using only one thing. I'm just curious to see what other people's opinions are.

I'll give you a few more opinions:-> SWT manages to be just as resource hungry, architectually(sp?) bloated as Swing, and a tad slower, while adding no additional benifit. Impressive.-> Eclipse plugins are highly overrated, eclipse in and of itself is virtually nothing more than notepad + windows explorer.-> Eclipse with all plugins I've seen is basically what IDEA and Netbeans has out of the box comparing featuresheets.

It's astounding how it can have the momentum it has, wth are you all eclipse users buying into?

It's astounding how it can have the momentum it has, wth are you all eclipse users buying into?

IBM indeed pushes it hard. New Rational toolset is Eclipseish all the way down (yuck!).But yes, you are right, I couldn't understand it too - why are all these eclipsing people so happy about it. I basically have heard two major excuses:- "It's free". Tough one, hard to beat indeed. One don't have to convince his boss _to buy_ something. In certain environments it's just not possible to manage procurement in less than three months term. - "It's good enough for me (and it's free indeed)". I guess people just don't pay attention to the way they work, e.g. if they don't mind doing 6 mouse clicks instead of 2 keystrokes 1000 times a day. It's all about making pleasure of your work. If you like to run marathons, you would wear sneakers specially made for running. Indeed you could run the same distance for approximately same time if you wear a pair of your grandfather sandals instead. Good enough. And they are free (and grandfather is already dead anyway). But it's the pleasure and comfort that make difference.

With all the plugins that are available for eclipse, can netbeans ever catch up? Netbeans never needs to worry as long as Eclipse (or rather, the Eclipse Team) keeps procrastinating on this bug:http://bugs.eclipse.org/bugs/show_bug.cgi?id=3970I guess you don't even need to click on the link. The 4-digit bug id alone tells the story. I'm trolling, I know...

Just kidding. the latest version of Netbeans and Eclipse match up pretty well. this maybe a crazy thought, but if netbeans had a seamless way of using eclipse plugins that would be sweet.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously,

All of the Eclipse plugins I have tried were total rubbish. I expect this to change with contributions from major vendors though.

I get high quality J2EE support with NetBeans 4.1, an profiler, mobility developement support etc. I have all the features I need without searching though the enormous pile of Eclipse plugins, of with 99.9% are total rubbish.

The Eclipse visual gui designer is one of the worst visual designers I have ever used (not to mention slow!). There is a new NetBeans visual designer in the works which will make the Eclipse visual design support look even more pathetic.

Until I see quality Eclipse plugins that provide the features and usability of Netbeans I am sticking with Netbeans.

Looking at the rate at which Netbeans is being developed I find it hard to believe that they could be left behind by anyone. Throwing more money or developers at Eclipse doesn't mean it will always be better. The Netbeans guys beat Eclipse to supporting Java 5, J2EE, visual gui designer, mobility support, profiler etc. etc.

with so much support and development in the eclipse space, does NetBeans even matter for the future? With all the plugins that are available for eclipse, can netbeans ever catch up? I'm bias obviously,

All of the Eclipse plugins I have tried were total rubbish. I expect this to change with contributions from major vendors though.I get high quality J2EE support with NetBeans 4.1, an profiler, mobility developement support etc. I have all the features I need without searching though the enormous pile of Eclipse plugins, of with 99.9% are total rubbish.The Eclipse visual gui designer is one of the worst visual designers I have ever used (not to mention slow!). There is a new NetBeans visual designer in the works which will make the Eclipse visual design support look even more pathetic.Until I see quality Eclipse plugins that provide the features and usability of Netbeans I am sticking with Netbeans.Looking at the rate at which Netbeans is being developed I find it hard to believe that they could be left behind by anyone. Throwing more money or developers at Eclipse doesn't mean it will always be better. The Netbeans guys beat Eclipse to supporting Java 5, J2EE, visual gui designer, mobility support, profiler etc. etc.

I have to say I've also tried a lot of plugins and many of them are terrible. But that's the nature of open source :) Some are good, but others are just aweful. Writing plugins for eclipse does have a steep learning curve, but the design is good. Well atleast to me it's good.

There are plenty of commercial plugins for eclipse, which hopefully are higher quality than the average OSS eclipse plugin. I've tried 2 different GUI designers for eclipse and neither of them were compelling enough for me to purchase. Since it would be for fun and not for a project.

I don't know if the netbeans gui designer was planned before eclipse gui designers, but I think the competition is good. The lack of a good GUI designer isn't critical to me, but to many people it is. I prefer to work with the API directly rather than use a GUI designer, though it would be nice to adjust the layout of the widgets with click&drag.

that almost sounds as if the JDO 2.0 and EJB 3.0 JSRs were becoming eclipse subprojects..In any case, it is amazing what movement is suddenly happening in the java persistence space. If all turns out as projected, we will soon (like, summer 2005) have fully graphical and standards-based modeling facilities that integrate relational DBMS with a Java object model - for free. Sounds almost too good to be true. I wonder what the business model is behind all this..

Versant probably realizes that they can't make much selling a JDO implementation. However, by contributing it, if they can get enough people to use JDO, they open the door to selling their object-oriented database as a replacement for relational databases. In certain types of applications this makes a lot of sense.

Versant probably realizes that they can't make much selling a JDO implementation.

Just to clarify: Versant Open Access is an EJB 3 persistence implementation *and* a JDO implementation. Right now the EJB 3 stuff is very new and preview quality but soon we will have a full JSR 220 and JSR 243 release.

The Eclipse plugin supports editing on live E/R diagrams that update as you change your code or the mapping.

<sarcasm>Boy, when Eclipse gets some visual design tools for JSF 1.2 we will have fully realized the goal of turning Java into a RAD tool from the 80's! Woo hoo!</sarcasm>

Versant Corporation is giving its flagship commercial implementation of JDO 2.0 and the EJB 3.0 specification to Eclipse as the JSR220-ORM subproject.The current version of the project, integrated with the Eclipse IDE, features:

The JSR220-ORM Project's goal is to provide a 100% compliant implementation of the JSR 220 persistence and JSR 243 specifications integrated with the Eclipse platform. Further, the goal of the project is to track the changes to these specifications, so that in addition, as they merge together towards a common persistence standard, it will be fully implemented by this project. Finally, the goal is to provide visual development tools that facilitate round trip engineering when using the JSR 220/243 approach to persistence.

The project is targeted for integration with the Eclipse Data Tools Project.It's currently only a proposal, consisting of the Versant Open Access implementation of JDO 2.0 and EJB 3.0 in an initial integrated release, lacking integration with other Eclipse data tools. The next milestone, projected for June 1, 2005, is slated to add more round trip engineering, a visual query builder, and an object viewer into a fully integrated Eclipse plugin.The third milestone, scheduled for August 2005, is meant to implement the EJB 3.0 specification requirements and remove all remaining vendor-specific extensions for JDO 2.0.As the project is still very early in its initial lifecycle, they are asking for input, feedback, and participation from the Eclipse community.Resources:

The announce does not make it clear that the project proposal is about a tooling infrastructure, mainly around the persistence side of EJBs / JDO.

From the proposal we can read:"It is not intended for this runtime to be an implementation of an application server container performing such functions as container managed transaction initiation/propagation, clustered caching, stateful/stateless session or message driven bean implementations, interceptors, etc. "(Aside I don't think Sun allows for an EJB 3 standalone impl to be TCKed).

Or do I misunderstand something in "Versant Corporation is giving its flagship commercial implementation of JDO 2.0 and the EJB 3.0 specification to Eclipse as the JSR220-ORM subproject." ?

The project is about JDO 2.0 and EJB 3 implementation + the tooling. Right now, it has a commercial level implementaion of JDO 2.0 and an initial implementation of EJB 3 for preview. A full implementation of EJB 3 will follow.

I've worked with a couple of very large IBM customers over the past 12 months using VOA 3.x and a beta version of 4.0, and even though I'm biased (I work for Versant and IBM), it's far and away the best O/R mapping tooling and runtime I've worked with over the years (I've worked with several, including JPOX, OJB, and years ago - toplink and cocobase).

The current IBM customer that I'm working with is currently in QA and performance testing, and going into production soon with VOA 4.0. Our VOA (JDO) based application is part of a web services based SOA built on WebSphere 5.1, and it's servicing around 300 transactions per second per CPU. In production we'll get around 6000 transactions / second across a cluster of ten 2-way x86 machines at peak loads. I've also used VOA on WebSphere 6.0 and it runs like a charm.

Call me biased, but I'm geniunely a fan of VOA, and so are some of IBM's enterprise-scale customers.

I've worked with a couple of very large IBM customers over the past 12 months using VOA 3.x and a beta version of 4.0, and even though I'm biased (I work for Versant and IBM), it's far and away the best O/R mapping tooling and runtime I've worked with over the years (I've worked with several, including JPOX, OJB, and years ago - toplink and cocobase).The current IBM customer that I'm working with is currently in QA and performance testing, and going into production soon with VOA 4.0. Our VOA (JDO) based application is part of a web services based SOA built on WebSphere 5.1, and it's servicing around 300 transactions per second per CPU. In production we'll get around 6000 transactions / second across a cluster of ten 2-way x86 machines at peak loads. I've also used VOA on WebSphere 6.0 and it runs like a charm.Call me biased, but I'm geniunely a fan of VOA, and so are some of IBM's enterprise-scale customers.cheers,Dave.Dave ClarkSenior WebSphere ArchitectVersant Corporation

I think you missed the opportunity to use a few more TLA's. For instance, transactions / second = TPS.

C'mon man, if you're going to start down the TLA road, then go the WNY (whole nine yards).

It seems a bit odd that a posting about the opensourcing of an ORM solution for JDO and EJB seems to have ignited a debate about eclipse and Netbeans!

I would have expected more comment with regard to the impact this may have on Hibernate/jboss:

1. Versant Open Access (formally JDO Genie) comes with some good productivity tools that are currently not present with Hibernate. 2. With Gavin King of Hibernate on the EJB3 committee together with KDO JDO and Oracle Toplink the technical differences between JDO/EJB3 and Hibernate will potentially be limited.

It seems a bit odd that a posting about the opensourcing of an ORM solution for JDO and EJB seems to have ignited a debate about eclipse and Netbeans!I would have expected more comment with regard to the impact this may have on Hibernate/jboss:1. Versant Open Access (formally JDO Genie) comes with some good productivity tools that are currently not present with Hibernate. 2. With Gavin King of Hibernate on the EJB3 committee together with KDO JDO and Oracle Toplink the technical differences between JDO/EJB3 and Hibernate will potentially be limited.So the question is why choose Hibernate over this new offering?

Mike

that's cuz I'm guilty of starting a flame war. so I'm the one to blame for it. But feel free to start a Hibernate vs JDO flame war :)

It seems a bit odd that a posting about the opensourcing of an ORM solution for JDO and EJB seems to have ignited a debate about eclipse and Netbeans!I would have expected more comment with regard to the impact this may have on Hibernate/jboss:1. Versant Open Access (formally JDO Genie) comes with some good productivity tools that are currently not present with Hibernate. 2. With Gavin King of Hibernate on the EJB3 committee together with KDO JDO and Oracle Toplink the technical differences between JDO/EJB3 and Hibernate will potentially be limited.So the question is why choose Hibernate over this new offering?Mike

Actually making a proprietary product open source is much much different than managing an open source project and creating a community. Getting a solid user base in open source has much of the same challenges as a new player in a established commercial market. Against established players, its even harder in open source since you can't come in with a lower price to entice users away from the more established players.

Anyways...good luck to this new project. The more the merrier and any new vendor in the EJB 3 space just makes the spec that much more stronger.

We have a number of Eclipse EJB 3.0 tools that are in development and we'll be releasing soon.

Bill

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.

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.

"+ 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)."

Google for "ORM Studio" for Hibernate, a non-free product. We recommend an approach using JDK 5.0 or XDoclet Annotations, which in our experience is much more productive than clunky visual editors. But, you have the choice... and its quite possible we add more visual mapping features to the free Hibernate Tools in the future.

Monitoring is available but in your JMX console, not Hibernate's: use the Statistics MBean or the API directly. Graph usage plans exist internally in alpha code and will make it into the Hibernate Tools later this year. SQL execution tracking is the job of a JDBC wrapper, there are several on the market. You can also get the SQL out of Hibernate if you absolutely need to. We expose all metadata on APIs, for tuning and other uses (metadata driven design, etc). I don't know what a "dashboard" is.

"Dynamic deployment of new columns and tables, with out restarting the application (this is possible for columns but I have been unable to determine"

Available since Hibernate 2.0, for all schema elements, SchemaExport can be used programatically, as well as SchemaUpdate.

An effort by an object database vendor who uses it for marketing. Not interesting and a waste of time (like all the other benchmarks we had a look at in the past years). One of our team members debunked the whole thing in 15 minutes internally.

"Clarifications on EJB3.0 support i.e. will hibernate comply with this, but provide additional features?"

See our Road Map. I thought we have been very public with our support for EJB3 persistence and have said so for about one year now, so I'm somewhat surprised by this question. We also have preview releases and even EJB3 annotations for you to test it.

There is nothing clunky about the visual editing in the Versant Open Access Eclipse plugin or the standalone Workbench. We display live editable E/R diagrams that update as you change your code or the mapping options. You can double click any element in the diagram (table, column, reference) and edit it. You can even edit the XML directly and everything updates on the fly.

Future versions of this plugin will edit EJB 3 annotations in your code as you change the mappings and visa-versa (as well as supporting the yet-to-be-defined EJB 3 ORM XML).

Christian is correct that many benchmarks are flawed. However the Torpedo benchmark only looks at the SQL generated by an ORM tool. This is the most important factor influencing ORM performance and neatly removes any apples and oranges problems with hardware, operating systems and so on.

Christian is correct that many benchmarks are flawed. However the Torpedo benchmark only looks at the SQL generated by an ORM tool. This is the most important factor influencing ORM performance and neatly removes any apples and oranges problems with hardware, operating systems and so on.Versant Open Access currently holds joint top spot on Torpedo:http://www.middlewareresearch.com/torpedo/The best Hibernate result requires 22 database operations compared to just 16 for Versant Open Access.CheersDavidVersant

sorry this sounds incorrect, i can retrieve a large object graph using only one "big" generated SQL query and it will run slower than two "smaller" queries, this is called tunnig and every use case can need a different loading strategy.Number of SQL is not THE most usefull and important parameter, you should know that.

I think issuing one SQL query instead of 2 is usually going to be quicker (typical Order and LineItems example). You are correct that this will not always be the case so this behaviour is tunable in Versant Open Access.

Hi AntonyI think issuing one SQL query instead of 2 is usually going to be quicker (typical Order and LineItems example). You are correct that this will not always be the case so this behaviour is tunable in Versant Open Access.CheersDavidVersant

To comment your example, Entreprise applications have to deal with inherited Order classes and much more associations around Order and LineOrder classes, that makes the problem much more complex than a single one-to-many association ;)

That's why torpedo isn't a good bench and that's why a perfect bench will never exists. Real word applications cannot be simulated so easily. Tunning and benchmarking in the fulltime job, Tools like Mercury Loadrunner show me in every project that one generated query isn't always the best... trust me.

Thank you for your feedback. I have already downloaded VOA standalone workbench (and KDO JDO’s equivalent). As stated these sorts of productivity tools are deemed to be important for organization.

My main area of investigation with regard to the Open sourcing of VOA is when/if it will move from being a proposal, what the price comparison with regard to commercial support there is against Jboss and KODO, what sort of community will build up around it that would negate the need for commercial support. However I don’t need answers to this here and will contact Versant directly when I get to this.

With regard to Torpedo benchmark, I’m a DBA by trade and numbers of SQL statements doesn’t impress me and I’m am aware of the multitude of factors that can skew benchmarks. Hence why I like the http://polepos.sourceforge.net/ benchmark. Its open source so I can down load, modify it to suit our environment, application, requirements, generate statistics that I can use to identify potential areas for investigation and then tune/re-configure. I will take a look at the torpeado benchmark but I’m not about to get into an argument about the merits of each.

Thank you for the reply and the comments made. My additional comments for clarification are:

+ Visual Design Tools:

- I have not met a customer yet who has not wanted an ERD diagram for our product, if I said no an just gave them the DDL then I suspect we might not be in the position we are in. We can thus agree to disagree on Clunky GUI’s

- ORM Studio" for Hibernate is on my list but currently does not support Hibernate 3.0 which is what we would use.

- JDK 5.0 annotations I’m not convinced but would need to put more time into investigating before commenting

+ JMX Monitoring:

- I can see your angle, just from a, me selling to our CTO point of view and our customer base an already implemented JMX console would be a big winner i.e. provides improved functionality, reduces our development time and places un greater control. - Dashboard - Sorry I’m from a Business Intelligence / Operation background. Dashboard is a mechanism for visualizing key indicators about a system or a process. i.e. a traffic light system indicating whether a database is down or up.

+ Dynamic deployment of tables and columns

- Sorry this is a miss communication, I meant when the application is running i.e. we provide the ability to create a form from within our application and we want to create an associated table when this form is created with out having to restart our application. I’ve seen an article on how to do this with columns, but it stated it’s harder for tables and I have been unable to find any documentation.

+ Object Benchmarks

- Agreed that they can be biased, but they do give an idea of what we should be shooting for, i.e. if we use Hibernate and our app runs slower than the bench mark we can assume we have some tuning to do, with out its harder to determine if its as good as its going to get. So even if the test just benchmark Hibernate it’s a help.

+ EJB3.0

- I’ve read the statement but it does not clearly say Hibernate will be EJB3 specification compliant or it won’t. It infers that EJB3 and Hibernate has a cross over in functionality, but Hibernate will not be EJB3 compliant. So any move from Hibernate to EJB3 at a later date may require more work than picking a JDO vendor who has stated they will comply with both JDO and EJB3 specifications. Not a big deal for me but product managers and customers like the idea that they have bought into standard. Is this analysis fair?

if I said no an just gave them the DDL then I suspect we might not be in the position we are in.

I think there are several tools which can produce diagrams from DDL, so for presentation this would not be an issue.

Dynamic deployment of tables and columns&nbsp;&nbsp;- Sorry this is a miss communication, I meant when the application is running i.e. we provide the ability to create a form from within our application and we want to create an associated table when this form is created with out having to restart our application. I’ve seen an article on how to do this with columns, but it stated it’s harder for tables and I have been unable to find any documentation.

I helped a customer with this last year, it's quite straightforward. Read the mapping metadata from a Configuration object, extend it programatically (map a new class/entity to a new table, for example). Rebuild your SessionFactory after you run SchemaExport.export() or update.

+ Object Benchmarks&nbsp;&nbsp;- Agreed that they can be biased, but they do give an idea of what we should be shooting for, i.e. if we use Hibernate and our app runs slower than the bench mark we can assume we have some tuning to do, with out its harder to determine if its as good as its going to get. So even if the test just benchmark Hibernate it’s a help.

Completely agree, you should have a benchmark for your own product/implementation. You should not trust anyone else (including me) to provide you an unbiased benchmark. That's why we, in contrast to vendors like Versant, don't market our software by referring you to some arbitrary numbers. In other words, the expertise and time you'd need to evaluate a given benchmark is very likely going to exceed the effort of creating your own, much more realistic benchmark. Which you'd have to do anyway if you want to do any kind of load testing on your product.

EJB3.0&nbsp;&nbsp;- I’ve read the statement but it does not clearly say Hibernate will be EJB3 specification compliant or it won’t. It infers that EJB3 and Hibernate has a cross over in functionality, but Hibernate will not be EJB3 compliant. So any move from Hibernate to EJB3 at a later date may require more work than picking a JDO vendor who has stated they will comply with both JDO and EJB3 specifications. Not a big deal for me but product managers and customers like the idea that they have bought into standard. Is this analysis fair?

Uh, I really don't think so :) Hibernate was one of the first players announcing support of the EJB3 standardization effort, while JDO vendors only recently joined the JSR-220 (and the press releases followed, of course). Every public presentation we did about Hibernate in the last 12 months included some slides about EJB3 and how we'll approach it. Most of the migration of our existing userbase is already done with the introduction of Hibernate 3.0, which already implements a significant set of features of EJB3 persistence today in a production ready package. The move of "Hibernate to EJB3" is not going to be an issue for Hibernate users, because they will basically have to change the import statements (to javax.ejb.* from org.hibernate.*) and a few method names. If the application you are writing allows vendor extension you will likely import org.hibernate.* stuff as well.

Actually, we have been discussing our road map recently and as a result we will soon change some of the content you find on our website. Now that Hibernate 3.0 is done we have much more resources to spend on finalizing our EJB 3.0 implementation around it.

+ Hibernate complies with the imminent EJB3 standard and any migration to another EJB3 vendor would require a limited number of changes (obviously excluding vendor specific extensions).

+ Hibernate supports the dynamic creation and deployment of tables/objects at runtime. A basic example of adding a column can be found in the “Hibernate in Action” book Chapter 2 Section 3.3.4 Manipulating metadata at runtime. However it does say that “programmatically creating a new mapping for a previously unmapped class is quite a bit more involved”. Plus it states Session Factory is immutable, so if I understand correctly it we would mean we need to suspend any active connections, restart the session factory/factories and remap connections in order to make the new object available. I will raise this on the Hibernate forum as I’m not sure the serverside is the correct place for this low level detail. The fact that it’s possible is important.

Additionally:

+ I have contacted Exadel the makers of ORM Studio for Hibernate and they are planning a new release for Hibernate 2.1.6 end of April and a Hibernate 3.0 release around June time. This covers half of the productivity tools requirements; I just have to asses the work involved in creating a JMX console to capture Hibernate and JDBC info.

We also support Hibernate via JDBInsight (a subset of JXInsight) which includes callstack classifications and call trace partitioning. We have plans to develop a JXInsight trace extension that will provide more indepth analysis of the execution behavior of the Hibernate runtime.

"Objective benchmarks for performance against (http://polepos.sourceforge.net/)"An effort by an object database vendor who uses it for marketing. Not interesting and a waste of time (like all the other benchmarks we had a look at in the past years). One of our team members debunked the whole thing in 15 minutes internally."

Debunk? It is opensource. Nothing is meant to be hidden.

When I did this benchmark, I have been a newbie to all databases testet. It is documented not to be optimized for any specific database. So maybe it show what a naive, corporate developer who is not a black-belted database wizard might achieve.

PolePosition is not only open-source, but also open-for-discussion. If there are better ways to reach the goal of one of the benchmarks, I'd like to hear of them. Contributing might be more constructive than debunking.

And no, ONE purpose might have been marketing somewhere, but the basic idea was to provide means for internal engineering /profiling for ANY database vendor also. Thats e.g. what the configurable scalability ladders are for.

This move by Versant to donate VOA to the Eclipse project seems like a strategic decision on their part. However, what does this mean for other commercial JDO vendors who are in the business of selling JDO implementation?

Looks like Versant is trying to take a stab at making money by selling consulting services instead of selling licenses for its VOA. Is Versant trying to squash the competition and force other commerical JDO vendors, e.g. SolarMetric, Xcalia, to adopt similar business model?

Versant was selling VOA license for about $3000 a pop, I think. The move definitely suggests that Versant is moving away from selling licenses to providing consulting services for its VOA via Eclipse. They probably see consulting services as an opportunity to steer more people to use their object database.

Do you think this move by Versant will drive other JDO vendors to follow suit?

what does this mean for other commercial JDO vendors who are in the business of selling JDO implementation?

I will attempt to respond on Xcalia's behalf.

Xcalia recognizes that simple ORM has been decreasing in value for some time now as the commoditization wave comes ashore. It is for that reason that we are focusing our efforts far beyond simple ORM. We are focusing on enabling enterprises to leverage in highly scalable ways not only their existing data sources, most of which we are all familiar with, like RDBs, ODBs, and mainframes, but also newer data sources like XML (Xcalia introduced OXM in LiDO 3.0).

In particular, we are focused on an entirely new kind of data mapping, one that addresses enterprise information management. Traditional object persistence products have targeted transactional, connected data sources like databases for their underlying persistent storage. Xcalia, while supporting these as a matter of course, is moving beyond database mapping toward "service mapping". This will allow enterprises to treat service components, such as EJBs, CORBA services, RMI-invokable Java applications, CICS/MQ Series connectors, and WebServices, as data sources.

Further, we plan on doing this while fully supporting all relevant standards, including JDO 2.0, EJB 3.0 persistence, and SDO. In this way, enterprises can select the API that is most appropriate for their needs; they are all layered on top of LiDO, our core persistence engine. Those parts of enterprise information management that aren't addressed by these specifications will, of course, be manifested as vendor-specific extensions until such time as they are also standardized.

Xcalia's development environment has been feature-unlimited and free of charge since LiDO XD 3.1, released earlier this year. Our feeling is that we don't want to charge you just for trying; we want to succeed with you. As such, we allow you to develop indefinitely, and charge licensing fees for production use when you're ready. We think that this is a fair and responsible way to do business, whereby both software purchaser and provider both benefit.

I hope this clarifies at least one object persistence vendor's position.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.