Effective Use of Java Data Objects in Developing Database Applications; Advantages and Disadvantages

Abstract

Currently, the most common approach in developing database applications is to use an object-oriented language for the frontend module and a relational database for the backend datastore. The major disadvantage of this approach is the well-known impedance mismatch in which some form of mapping is required to connect the objects in the frontend and the relational tuples in the backend. Java Data Objects (JDO) technology is recently proposed Java API that eliminates the impedance mismatch. By using JDO API, the programmers deal strictly with objects. JDO hides the details of the backend datastore by providing the object-oriented view of the datastore. JDO automatically handles the mapping between the objects and the underlying data in the relational database, which is hidden from the programmer. This thesis investigates the effectiveness of JDO. Part of the analysis will develop a database application using JDO. Although JDO provides the benefits of object-orientation in design and implementation of the databases, it is not immune from problems and limitations. The thesis will also analyze the advantages and disadvantages of using JDO and discuss the areas requiring improvements in future releases.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 2004
Accession Number
ADA424926

Entities

People

  • Paschalis Zilidis

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Air Platforms
  • C4I

DTIC Thesaurus Topics

  • Air Force
  • Aircrafts
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Database Management Systems
  • Databases
  • Instructors
  • Java Programming Language
  • Language
  • Object Oriented Programming
  • Object-Oriented Database Management Systems
  • Programming Languages
  • Relational Databases
  • Standards
  • Training

Fields of Study

  • Computer science

Readers

  • Database Systems and Applications