*
The moose likes JDBC and the fly likes What is JDO? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "What is JDO?" Watch "What is JDO?" New topic
Author

What is JDO?

Payam Fard
Ranch Hand

Joined: Jan 31, 2003
Posts: 73
Hi all,
What is JDO? What is its relationship with JDBC?
Any good introduction to JDO would be greatly appreciated.
Thanks,
Payam.
Gustavo Adolpho Bonesso
Ranch Hand

Joined: May 11, 2002
Posts: 103
JDO is "Java Data Objects"... You can get more information at:
http://java.sun.com/products/jdo/


Gustavo Adolpho Bonesso<br />SCJP1.4
Frank Zheng
Ranch Hand

Joined: Jun 12, 2001
Posts: 76
Quoted from Sun: Java Data Objects (JDO) is an API for transparent database access. The programmer can write code in the Java programming language that transparently accesses the underlying data store, without using database-specific code.
Check these sites for more information:
http://java.sun.com/products/jdo/
http://www.jdocentral.com/
http://access1.sun.com/jdo/
[ June 17, 2003: Message edited by: Frank Zheng ]

Sun Certified Java Programmer
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

If JDO is an API, why is there no good implementation of this API from Sun? Maybe I am wrong, but there is no JDO API you can download from Sun and just use. We always have to find some 3rd party implementation of the JDO Specification.


GenRocket - Experts at Building Test Data
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Greg, why is there no good JDBC implementation from Sun? Why do we always have to go to third parties to download JDBC implementations?
By the way, this caught my eye:
The JDO API is being created under the Java Community Process with Craig Russell of Sun Microsystems as spec lead.


Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Gregg Bolinger:
Maybe I am wrong, but there is no JDO API you can download from Sun and just use.

Here. Though it's probably not "industrial strength"...


Author of Test Driven (2007) and Effective Unit Testing (2013) [Blog] [HowToAskQuestionsOnJavaRanch]
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

So are we saying that Sun is not responsible for good implementations of their own API's? Maybe this is a different discussion all together, and I may start one, but this seems like bad business to me.
M$, curse the word, typically has the best implementations of their own API's. Of course that is in part because they don't allow anyone else to develop without paying out of their ass.
Anyway, didn't mean to highjack. So you can ignor this post.
Chris Mathews
Ranch Hand

Joined: Jul 18, 2001
Posts: 2712
Originally posted by Lasse Koskela:

Here. Though it's probably not "industrial strength"...

The real problem with the JDO RI is that it uses a simple file-based datastore as its datasource. This is fine for learning how to use the JDO API but it does no good for those that want to use JDO as a persistance layer to an Oracle or DB2 database. For any non-educational uses one must go to a third-party JDO implementation.
There are a couple OSS implementations of JDO. One is OJB and the other is TJDO. However, they are not ready for primetime yet...
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Gregg Bolinger:
So are we saying that Sun is not responsible for good implementations of their own API's?
Let's see... do we use WebSphere and WebLogic EJB servers or do we use something from Sun? Sun publishes the API and let's the marketplace engineer the best products. That is why Java is vastly superior to .NET. We don't have one company competing for business... we have many competing to make the best products.
Thomas Paul
mister krabs
Ranch Hand

Joined: May 05, 2000
Posts: 13974
Originally posted by Gregg Bolinger:
M$, curse the word, typically has the best implementations of their own API's.
In fact, they have the only implementation of their APIs. But when they do compete, (OWL vs MFC for example) they always lose.
Lasse Koskela
author
Sheriff

Joined: Jan 23, 2002
Posts: 11962
    
    5
Originally posted by Chris Mathews:
There are a couple OSS implementations of JDO. One is OJB and the other is TJDO. However, they are not ready for primetime yet...

That's just about what I've heard about most JDO products. However, I was under the assumption that OJB is not JDO-compliant. I checked the OJB site at Jakarta and they claim JDO 1.0 compliancy by "combining with JDO RI". Any idea what that means? (trying to avoid delving any deeper into OJB documentation )
David Jordan
Author
Ranch Hand

Joined: Jun 14, 2003
Posts: 66
I don't have any knowledge/experience with OJB.
But since Craig Russell gave a OJB talk last week, he should be able to answer your questions relative to JDO compliance of OJB. My understanding is that they already have a solution that is not JDO compliant, but that they are movings towards JDO compliance.
Craig?
Craig Russell
Author
Greenhorn

Joined: Jun 16, 2003
Posts: 28
I think you might have heard that most open source JDO implementations are not ready for prime time, but the commercial implementations certainly are.
To understand this story you should consider that most well-designed persistence products consist of at least three distinct layers: the user-visible API, a persistence abstraction, and the database-specific driver.
In many non-JDO products, the user-visible piece is coupled to the persistence abstraction. In JDO, the user-visible piece is standard and the persistence abstraction is where the vendor adds value. In the JDO Reference Implementation, there is a pluggable component called the JDO StoreManager which represents the persistence abstraction. By replacing the StoreManager, a JDO implementation can get all the standard behavior by implementing a smaller piece.
Now, OJB pre-dated JDO, and has a well-defined user interface. The current OJB/JDO project aims to repackage their persistence abstraction to be a StoreManager for JDO. In the future, they might decide to implement the entire stack, but it's certainly easier for a persistence product to simply repackage their persistence abstraction layer to implement the JDO RI StoreManager. The same strategy is being used by JBossDO for their persistence story where CMP cannot be used.
In fact, any of the proprietary persistence products could use this strategy and offer both their own interface as well as the standard JDO interface to users.
Originally posted by Lasse Koskela:

That's just about what I've heard about most JDO products. However, I was under the assumption that OJB is not JDO-compliant. I checked the OJB site at Jakarta and they claim JDO 1.0 compliancy by "combining with JDO RI". Any idea what that means? (trying to avoid delving any deeper into OJB documentation )
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: What is JDO?
 
Similar Threads
JDO
Using CMP2.0, JDO, DAO?
access different context
JDO's status
Whether to go for JDO or Entity Bean