• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

What is JDO?

 
Ranch Hand
Posts: 751
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Is it a technique, a pattern or a framework like hibernate???
 
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Its a standard, kind of like JDBC. Sun provides an API, largely containing interfaces, that a JDO implementation (e.g. Kodo, tJDO, Castor etc.) implements to provide the actual persistance nuts and bolts.
 
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JDO is a standard API for object persistence. JDO 2 is a far better specification than any other standard. JDO is datastore agnostic.

JDO implementations include JPOX (open source), Kodo, Xcalia.

Another standard for object persistence is JPA. JPA is the EJB 3 persistence API for object relational mapping.

JPA implementations include JPOX (open source), Hibernate (open source), Kodo, TopLink.
 
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To further the topic...

If there's any proof that jdo is dead, it is that jdocentral's forums have been pornified. That said, I used jdo back when it was built into forte, and it seemed fairly robust.

Are there any ojb users here? If I'm going to 'plug and go' (i.e. commit), does anyone have any words in favor of ojb before I give in to hibernate?
 
Timothy Sam
Ranch Hand
Posts: 751
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hmmmmm.... That's quite a sad story about JDO... Well... I just wanted to know before I delve into hibernate. Thanks for the info!
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hibernate is a 'safe' bet. It's been around for quite a while, lots of users. But new frameworks keep popping up. So, I would definitely explore the alternatives before making a commitment. iBatis may be better for a particular kind of applications, Hibernate for others. I have been looking for a persistence layer for an online banking application and neither satisfied my needs. You might be better off with developing your own when you have some special requirements.
 
Erik Bengtson
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
JDO dead since when?

Since I have implemented JDO 1 and 2, and now I'm implementing JPA, I can say JDO 2 is superior than JPA. I'm compiling a comparison here:
http://www.jpox.org/docs/1_2/jdovsjpa.html

More details will be added during the JPA implementation work.
 
Matt Horton
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Erik,
I would love to hear(believe/think) that jdo is still strong, but sun's jpa faq seems to pose jpa as a new alternative for hibernate (and jdo):
http://java.sun.com/javaee/overview/faq/persistence.jsp

Either way, it seems that ojb and hibernate are both easy to configure; perhaps jpa will be useful in the future.

Erik, are you a jpox developer? Have you had the chance to compare jpox's performance with ojb and hibernate?
[ August 28, 2006: Message edited by: Matt Horton ]
 
author
Posts: 304
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Erik Bengtson:
JDO 2 is a far better specification than any other standard.

This statement is both completely biased and irresponsibly stated, as is the comparison on the JPOX site. Both specifications have pros and cons, but JPA is the clear persistence standard going forward as part of the official Java Enterprise Edition platform. JDO is not part of that future.
 
Ranch Hand
Posts: 59
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

JPA implementations include JPOX (open source), Hibernate (open source), Kodo, TopLink.



Kodo and TopLink both have an open source version. ( OpenJPA and TopLink JPA Essential)
[ August 30, 2006: Message edited by: Jason Liao ]
 
Erik Bengtson
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mike Keith:
This statement is both completely biased and irresponsibly stated, as is the comparison on the JPOX site. Both specifications have pros and cons, but JPA is the clear persistence standard going forward as part of the official Java Enterprise Edition platform. JDO is not part of that future.



biased? Read it again.

JPOX is implementing JPA too so I have no reason to be lying. Fell free to tell me what is wrong in the comparison on JPOX site.

JPA has some features that JDO does not have, which I will include on that comparison. You can also read on that page that it's a working in progress comparison. However there are plenty of things to be improved in JPA, these things you probably know most of them.

It's a fact that JDO has never been part of JEE. It's also clear that to be accepted by community JPA had to be runnable from JSE.
 
Erik Bengtson
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Jason Liao:


Kodo and TopLink both have an open source version. ( OpenJPA and TopLink JPA Essential)

[ August 30, 2006: Message edited by: Jason Liao ]



Well noticed :-)

 
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mike Keith:
This statement is both completely biased and irresponsibly stated, as is the comparison on the JPOX site. Both specifications have pros and cons, but JPA is the clear persistence standard going forward as part of the official Java Enterprise Edition platform. JDO is not part of that future.



Hi Mike,

Nice to see that each time the trigram "JDO" is spelt you are here to fight against it. At least, it means you are in good shape :-)

I would agree with you about JPA being the J2E standard for ORM while JDO is the Java standard for persistence (e.g not limited to RDBMS).
So yes JDO won't part of "that" future, but JDO is alive. JDO2 is mature, with a lot of implementations and users. JDO2 has been approved by the JCP in the same timeframe as EJB3.

That said, an alignment of JDO and JPA around ORM would be nice in the future (at least for users).
One can expect that most JDO2 implementations will also support JPA. That's not a big deal for them, JPA being mostly a subset.

Ciao, Erix.
 
Matt Horton
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Eric(s)

I would agree with you about JPA being the J2E standard for ORM while JDO is the Java standard for persistence (e.g not limited to RDBMS).



That's a nuance that I hadn't considered. Do you use jdo to persist outside of relational databases often? I wonder what %age of apps using jdo aren't persisting to a rdbms? 1% .1% .01%

It has to be a trivial amount.
 
Erik Bengtson
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Matt Horton:
Hi Eric(s)



That's a nuance that I hadn't considered. Do you use jdo to persist outside of relational databases often? I wonder what %age of apps using jdo aren't persisting to a rdbms? 1% .1% .01%

It has to be a trivial amount.



I dont work for Xcalia, however their product allows RDBMS, XMS, File store as far as I know. This turns to be very hand when 1% of the application you deal with XML database while the rest of it uses RDBMS databases.
 
Eric Samson
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Matt Horton:
Hi Eric(s)
That's a nuance that I hadn't considered. Do you use jdo to persist outside of relational databases often? I wonder what %age of apps using jdo aren't persisting to a rdbms? 1% .1% .01%
It has to be a trivial amount.


Hello Matt
We all agree RDBMS are everywhere, no discussion about that.
But you also know that modern software design implies accessing and mapping XML information, Web Services, CICS transactions on mainframe, MQ-Series messages, Tuxedo, flat files and so on.
You have to admit that most information systems of large companies still store most of their data into mainframes, and in most cases Java applications are not allowed to access them through direct JDBC. You have to go through a service layer like CICS transactions, IMS and so on.
So it means that either you perform a lot of tedious manual JCA programming or you can extend the notion of ORM to non-relational data stores. Believe me or not, this is far from being a trivial amount.
It is very convenient to be able to rely on a unique standard like JDO2 or SDO2 to access all these things, which are not covered by JPA.
 
Mike Keith
author
Posts: 304
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


Nice to see that each time the trigram "JDO" is spelt you are here to fight against it. At least, it means you are in good shape :-)

Hi Eric,
Actually, as a general rule I don't "fight against" JDO. There were a lot of good things in that spec and I don't have anything against either the spec or the great folks that contributed to it (you amongst them!). I do pipe up, though, when people say outrageous things like "JDO 2 is a far better specification than any other standard" since it is not only very biased but I believe quite misleading to readers.

As to the future of JDO, most people have expressed the same opinion, but I won't say what it is. Anyone that cares or that is interested should do their own homework and come to their own conclusions, not get them from people closely affiliated with either the JDO spec (you guys) or the JPA spec (me)
 
Eric Samson
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mike Keith:
As to the future of JDO, most people have expressed the same opinion, but I won't say what it is. Anyone that cares or that is interested should do their own homework and come to their own conclusions, not get them from people closely affiliated with either the JDO spec (you guys) or the JPA spec (me)



Hi Mike,
Please note that I'm part of both JDO2 and EJB3/JPA expert groups.
As I said most JDO vendors will certainly also implement EJB3/JPA and I hope will see a kind of convergence of those standards regarding the ORM subset.
Ciao, Erix.
 
Erik Bengtson
Ranch Hand
Posts: 90
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Mike Keith:
Hi Eric,
Actually, as a general rule I don't "fight against" JDO. There were a lot of good things in that spec and I don't have anything against either the spec or the great folks that contributed to it (you amongst them!). I do pipe up, though, when people say outrageous things like "JDO 2 is a far better specification than any other standard" since it is not only very biased but I believe quite misleading to readers.

As to the future of JDO, most people have expressed the same opinion, but I won't say what it is. Anyone that cares or that is interested should do their own homework and come to their own conclusions, not get them from people closely affiliated with either the JDO spec (you guys) or the JPA spec (me)



Mike, neither I am fighting against JPA, however I expressed my own opinion, and want to make sure people is aware of each API capabilities.

The comparison I'm compiling is supposed to be informative and non biased. The objective is to show their differences for JPOX users before choosing which API to use. The homework here is a JPOX job, since it's a product offer.

I also think that such comparision could be useful for the JPA group to evaluate the features it currently lacks in relation to JDO.
 
Eric Samson
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In order to complete information here is a blog from someone part of both expert groups:

http://www.jroller.com/page/matthewadams?entry=quick_comparison_of_ejb_

Ciao, Erix.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic