Understanding JBuilder database applications

Database application development is a feature of JBuilder Professional and Enterprise. Distributed application development is a feature of JBuilder Enterprise.

A database application is any application that accesses stored data and allows you to view and perhaps modify or manipulate that data. In most cases, the data is stored in a database. However, data can also be stored in files as text, or in some other format. JBuilder allows you to access this information and manipulate it using properties, methods, and events defined in the DataSet packages of the DataExpress Component Library in conjunction with the dbSwing package.

A database application that requests information from a data source such as a database is known as a client application. A DBMS (Database Management System) that handles data requests from various clients is known as a database server.

"JBuilder's DataExpress architecture" is focused on building all-Java client-server applications, applets, servlets, and JavaServer Pages (JSP) for the inter- or intranet. Because applications you build in JBuilder are all-Java at run time, they are cross-platform.

JBuilder applications communicate with database servers through the JDBC API, the Sun database connectivity specification. JDBC is the all-Java industry standard API for accessing and manipulating database data. JBuilder database applications can connect to any database that has a JDBC driver.

The following diagram illustrates a typical database application and the layers from the client JBuilder DataExpress database application to the data source:

The major components in a database application are:

The Row classes are used extensively in the DataExpress APIs. The ReadRow and ReadWriteRow are used much like interfaces that indicate the usage intent. By using a class hierarchy, implementation is shared, and there is a slight performance advantage over using interfaces.

The class hierarchy associated with the DataSet methods is as follows:

java.lang.Object
   +----com.borland.dx.dataset.ReadRow
           +----com.borland.dx.dataset.ReadWriteRow
                   +----com.borland.dx.dataset.DataSet
                           +----com.borland.dx.dataset.StorageDataSet
                                   +----com.borland.dx.sql.dataset.QueryDataSet

The next section, entitled "Understanding JBuilder's DataExpress architecture", discusses the components of the DataExpress architecture in more detail.