Database Programming & Design

       

Мотивация


С самого начала язык Java позиционировался как язык программирования для использования в среде Web. На Java разрабатывалось много простых приложений (игры, часы, тикеры и т.д.) информативных, новаторских Web-узлов. Но следует заметить, что языковые компоненты и конструкции, первоначально внедренные в язык для расширения его функциональных возможностей как Web-ориентированного языка, могут применяться и в других областях. Язык Java обеспечивает разработчиков средствами, пригодными для создания новых сетевых приложений, приложений баз данных и графических пользовательских интерфейсов (GUI Graphical User Interface). Java и связанные с этим языком технологии, такие как API JDBC, драйверы JDBC, многопоточность и AWT обеспечивают поддержку разработки независимых от платформы и используемой базы данных приложений. Вот компоненты, которые играют важную роль при построении интерфейсов с базами данных:

  • JDBC. Модуль Java Database Connectivity предоставляет

    стандартизованное решение проблемы доступа к базам данных (JDBC

    входит в пакет поставки Java начиная с версии 1.1).

  • Java Threads. Java - это многопотоковый язык программирования.

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

    нитей (легковесных квази-процессов) при выполнении в то же время

    нескольких разных задач.

  • AWT. Набор инструментальных средств Abstract Window Toolkit

    позволяет строить независимые от платформы графические

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

    Комбинация перечисленных компонентов составляет базовые

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

    распределенным базам данных. Пакет Java Distributed Query

    Dispatcher (JavaDQD) является независимым от платформы

    GUI-приложением, позволяющим направлять запросы одновременно к



    нескольким разнородным базам данных. В основе JavaDQD лежат

    следующие идеи:

  • JavaDQD устанавливает подключение к базе данных с

    использованием API и драйверов JDBC. Использование API дает

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


    поддерживающей драйвер JDBC. Тем самым, пользователь может

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

    базам данных Sybase используется драйвер FastForward, а для

    доступа к базам данных MiniSQL - драйвер mSQL-JDBC. (Для

    достижения требуемой функциональности mSQL-JDBC авторам пришлось

    доработать.) По мере появления драйверов JDBC JavaDQD позволит

    работать и с другими базами данных.

  • В JavaDQD используются нити Java для обеспечения пользователей

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

    данных. Пользователь может задать запрос, касающийся нескольких

    баз данных. В этом случае для каждой затрагиваемой глобальным

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

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

  • В JavaDQD применяются AWT и другие компоненты для

    предоставления пользователям интерфейса в стиле QBE

    (Query-By-Example). Этот интерфейс создает единое виртуальное

    окружение, в котором отображается информация обо всех текущих

    подключениях. В результате пользователи в едином интерфейсе могут

    запрашивать данные из разных баз данных так, как если бы это была

    одна база данных.


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