Мотивация
С самого начала язык Java позиционировался как язык программирования для использования в среде Web. На Java разрабатывалось много простых приложений (игры, часы, тикеры и т.д.) информативных, новаторских Web-узлов. Но следует заметить, что языковые компоненты и конструкции, первоначально внедренные в язык для расширения его функциональных возможностей как Web-ориентированного языка, могут применяться и в других областях. Язык Java обеспечивает разработчиков средствами, пригодными для создания новых сетевых приложений, приложений баз данных и графических пользовательских интерфейсов (GUI Graphical User Interface). Java и связанные с этим языком технологии, такие как API JDBC, драйверы JDBC, многопоточность и AWT обеспечивают поддержку разработки независимых от платформы и используемой базы данных приложений. Вот компоненты, которые играют важную роль при построении интерфейсов с базами данных:
стандартизованное решение проблемы доступа к базам данных (JDBC
входит в пакет поставки Java начиная с версии 1.1).
Поддерживается возможность создания и выполнения нескольких
нитей (легковесных квази-процессов) при выполнении в то же время
нескольких разных задач.
позволяет строить независимые от платформы графические
пользовательские интерфейсы.
Комбинация перечисленных компонентов составляет базовые
строительные блоки, используемые для разработки интерфейсов к
распределенным базам данных. Пакет Java Distributed Query
Dispatcher (JavaDQD) является независимым от платформы
GUI-приложением, позволяющим направлять запросы одновременно к
нескольким разнородным базам данных. В основе JavaDQD лежат
следующие идеи:
использованием API и драйверов JDBC. Использование API дает
возможность обеспечить единообразный доступ к любой базе данных,
поддерживающей драйвер JDBC. Тем самым, пользователь может
подключиться к любой такой базе данных. Например, для доступа к
базам данных Sybase используется драйвер FastForward, а для
доступа к базам данных MiniSQL - драйвер mSQL-JDBC. (Для
достижения требуемой функциональности mSQL-JDBC авторам пришлось
доработать.) По мере появления драйверов JDBC JavaDQD позволит
работать и с другими базами данных.
возможностью одновременного подключения к нескольким базам
данных. Пользователь может задать запрос, касающийся нескольких
баз данных. В этом случае для каждой затрагиваемой глобальным
запросом базы данных запускается нить Java, получающая строку
запроса, обращающая к базе данных и в итоге получающая результат.
предоставления пользователям интерфейса в стиле QBE
(Query-By-Example). Этот интерфейс создает единое виртуальное
окружение, в котором отображается информация обо всех текущих
подключениях. В результате пользователи в едином интерфейсе могут
запрашивать данные из разных баз данных так, как если бы это была
одна база данных.