Database Programming & Design
859c2d4a

Реализация


Методология, Java и JDBC

Для разработки JavaDQD использовался пакет Java Development Kit

(JDK) 1.1, выпущенный весной 1997 г. В состав JDK входят

компилятор и интерпретатор, а также модуль JDBC.

По мнению авторов, разработанный компанией SunSoft язык Java

является превосходным языком программирования. Язык относительно

прост, обладает свойствами объектной ориентированности,

распределенности и мобильности. Одно из наиболее важных свойств

языка состоит в обеспечении возможности создавать

платформо-независимые программы. Java-программа может быть

разработана в виде апплета, загружаемого через Internet и

запускаемого на стороне клиента, или в виде приложения, постоянно

находящегося на стороне клиента. В любом случае у программиста



имеется возможность с использованием встроенных классов и методов

получать доступ к удаленным данным Web-пространства и

использовать эти данные (текст, графические образы, звук) в своей

программе. Наличие JDBC позволяет Java-программисту подключаться

к удаленным базам данных и направлять к ним запросы.

JDBC - это пакет, обеспечивающий API для единообразного доступа к

различным источникам данных на основе языка баз данных SQL.

Реально API представляет собой набор абстрактных классов, которые

должны быть определены для конкретных источников данных. Поэтому

возможно абстрактное представление JDBC высокого уровня и

конкретное представление на низком уровне конкретной базы данных.

Представление высокого уровня дается JDBC API, в котором имеются

методы для подключения к нескольким базам данных, запросов и

манипулирования данными. Конкретное представление заставляет

интерпретировать JDBC как набор абстрактных классов, которые

должны быть реализованы для конкретной базы данных. Такая

реализация, называемая драйвером JDBC, должна быть обеспечена,

чтобы Java-программист мог получить доступ к базе данных. После

реализации драйвера для конкретного источника данных это драйвер

становится абстрактным обработчиком SQL-операторов, детали


реализации которого скрыты и доступ к которому возможен через

высокоуровневый API.

Распределенный подход

Распределенные запросы реализуются в JavaDQD с использованием

нитей Java и пре- и пост-обработки. Вкратце, методология состоит

в следующем.

  • Запрос пользователя подвергается пре-обработке для создания

    строк запросов. Должны быть выявлены строки запросов, требуемые

    для направления локального запроса каждой из участвующей в общем

    запросе базе данных. Аналогично, требуется сконструировать

    финальную строку запроса, чтобы собрать окончательный результат

    общего запроса.

  • Для каждой полученной строки локального запроса образуется

    нить. В каждой нити ее строка запроса используется для запроса

    соответствующей базы данных, а получаемый результат помещается во

    временную базу данных. Позже из таблиц временной базы данных

    будет произведена выборка в соответствии с финальной строкой

    запроса. В реализации нитей используются методы

    ResultSetMetaData, позволяющие определить типы данных и размеры

    столбцов новой таблицы, создаваемой во временной базе данных.

  • Ожидается завершение выполнения всех нитей.

  • Производится выборка из временной базы данных по строке

    финального запроса. Результаты запроса отображаются в окне

    пользователя.

    Пользователю JavaDQD не требуется знать о подключениях к

    индивидуальным базам данных. Использование API и драйверов JDBC

    позволяет сделать прозрачной для пользователей распределенную

    природу запросов. Ответственность за безопасность несут драйверы

    JDBC.


    Содержание раздела