Skip to main content

Accessing Data

Posted by daniel on September 26, 2003 at 6:34 AM PDT

The shift to OO was supposed to, in part, place the functionality in the same place as the data it acted on. You would make requests of an object instead of operating directly on the data.

Today in Projects and Communities, Frank Sommers points out in the latest Jini Community newsletter, "Because many programs rely on access to persistently stored data, a large amount of application code deals explicitly with access to data stores." He goes on to point to the emerging "preference to view data increasingly as objects, not merely as sets of primitive data elements or relations."

Frank suggests that we move beyond this notion of data as objects. He writes that

The next step in improving developer productivity is to expose data not merely as objects, but as network-based services. Such services allow a developer, or an application, to discover and retrieve an instance of an object that implements a given service interface. Since a service interface can represent a simple interface to data, network-based services can provide a simple data access layer. Because Jini directly supports mobile objects, building a data access layer with Jini not only exposes data as objects on the network, but also automates the retrieval of data objects into a client's address space.

This shift to data as services is, in some ways, as great a step as moving from procedural programming to OOP. In many ways, Frank assures us, we're already there. He provides an example of defining an interface for a warehouse inventory data. Then the implementation of the interface shields us from dealing directly with the database. We make calls such as getItemsInStock() which in turn does the lower level access for us.

Also today, we feature the JavaPedia page on ClassPaths. Classpaths is one of the many topics that is confusing to newbies. Think back to what gave you problems when you were first learning Java and add your thoughts to the page.

How do you organize your Java projects? Dave Walend's Weblog entry Design for Reuse: Source Directory Structures for Java Projects, presents two main alternatives. In the "All in one" approach all of the source code is put under a common source root. In the "Many Subprojects" approach each subproject has "its own build file that builds a single .jar file of library code." In the feedback, mccallister points out that in either case the test code can be broken out into its own source tree.

In Also in Java Today we link to the latest in David Geary's JavaWorld series on Design Patterns. In Adopt Adapter he explains that "Adapters are necessary because dissimilar elements need to interoperate." His first example uses a tree node adapter to adapt a dynamic tree structure to a JTree. We also link to Samudra Gupta's article where you Learn to Read and Write Microsoft Excel Documents with Jakarta's POI. He provides a high level look at the Excel format and then creates an Excel Worksheet using POI and then reads an existing worksheet using POI.

In today's News Headlines :

Registered users can submit news items for the News Page using our news submission form. All submissions go through an editorial review by news director Steve Mallet before being posted to the site. You can also subscribe to the News RSS feed.

Current and upcoming Java Events:

Registered users can submit event listings for the Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

This blog is delivered weekdays as the Java Today RSS feed. Once this page is no longer featured as the front page of href=""> Java Today it will be archived at href=""> You can
access other past issues in the Archive.