aspose file tools*
The moose likes JDBC and the fly likes A Modest Proposal Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "A Modest Proposal" Watch "A Modest Proposal" New topic
Author

A Modest Proposal

David O'Meara
Rancher

Joined: Mar 06, 2001
Posts: 13459

This belongs either here or Java intermediate, but I decided to put here since it relates strongly to JDBC.
It has occured to me for a while that JDBC, JNDI and some other operations (connections, files, urls?) can be modeled as data access operations. That is, they obtain a connection of some sort of data source, they provide details on (for example) a search and recieve results.
In the previous company I worked for we had a rather nice internal tool for abstracting persistence operations but it was still very database oriented.
What I'm currently interested in seeing is if we can treat all the data sources via a common interface (in a similar way to how JDBC provides an interface to database classes) so that it isn't even necessary to know at the business level in what sort of store the data is in.
(My problem is that since it's such a big job I'm going to try attempt it during a project I'm contracting on so they get to pay for it. Ambitious? Maybe)
Not much of a question so far, but more of a call to anyone who's had a think about the JDBC architecture and wants to argue about the merits or extending it a level further.

Dave.
Rule six: The winning team will be the first team that wins.
Bjarki Holm
Author
Ranch Hand

Joined: May 25, 2001
Posts: 65
Hi David!
The concept of a standardized method for accessing heterogeneous data sources is not new. Actually, there is already a Java API being developed for this purpose, the JDO (Java Data Objects) API. In short, JDO provides the Java programmer with an object interface to data stores, which means that data objects can automatically be manipulated as Java objects, without any coding required by the application developer (the mapping of data objects - such as database tables - to Java objects is achieved by the JDO vendor in question). This means that the details of the underlying data source - be it a relational database, an enterprise mainframe system or serialized data in a file system -are hidden from the application, which needs only concern with the business logic, and not the persistence logic. More information on JDO is available at http://access1.sun.com/jdo, or this week's book giveaway, Professional Java Data (I must do some promo stuff, won't I?).
You also asked about methods to standardize access to files, URLs, etc. I recommend that you have a look at the J2EE JavaDoc, at http://java.sun.com/j2ee/j2sdkee/techdocs/api/index.html, and read about the <code>javax.activation.DataSource</code> interface. This interface provides standard methods for accessing an abstract data source. For example, it is implemented by <code>javax.activation.FileDataSource</code> and <code>javax.activation.URLDataSource</code>, for access to files and URLs, respectively.
I hope this helped you somewhat.
Cheers,
Bjarki Holm
Author of Professional Java Data
[This message has been edited by Bjarki Holm (edited June 12, 2001).]


Bjarki Holm
Nigel Browne
Ranch Hand

Joined: May 15, 2001
Posts: 673
I am currently working on a Grid project, and although there are standard ways of defining data, theyt are not widely used. I look forward to a Java API which deals with this issue it could solve a lot of problems.
Bjarki Holm
Author
Ranch Hand

Joined: May 25, 2001
Posts: 65
Nigel,
check out the JDO home page at http://access1.sun.com/jdo. It contains the specification for the JDO model, reviews from external parties, implementations, and more. JDO is definitely the answer you are looking for ;)
Cheers,
------------------
Bjarki Holm
Author of Professional Java Data
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: A Modest Proposal