Спецификация JDBC фирмы Sun усиливает накал страстей вокруг СУБД под Java
Разработка приложений под Internet/intranet идет полным ходом, но в глаза бросается исключение: соединение с существующими СУБД. Фирма Sun Microsystems попыталась устранить это упущение, представив JDBC, интерфейс прикладного программирования, похожий на ODBC и предлагающий разработчикам открытый стандарт для присоединения их СУБД к Web.
Адаптация модели Internet/intranet для будущих приложений уровня предприятия зависит, в частности, от уровня инвестирования в новые технологии производства ПО.
Представляя Java Database Connectivity, Sun расширит возможности языка Java как инструмента создания СУБД.
Средства поддержки сетевых функций и создания приложений клиентской и серверной части, несомненно, позволят разработчикам взглянуть на него шире, чем как на средство создания приложений для страниц World-Wide Web.
Приложения Java компилируются в машинно-независимый код, который выполняется под управлением механизма поддержки исполнения программ. Независимость кода от платформы делает Java желанным инструментом для создания межсетевых приложений. Java также поддерживает многопотоковость и многозадачность, что делает его хорошим средством для создания СУБД-приложений, с которыми одновременно работают многочисленные пользователи.
Java может рассматриваться и как инструмент разработки многосвязных СУБД-приложений, использующих взаимодействующие объекты. Выпускаемый фирмой Sun продукт Java Object Environment работает с CORBA (общая архитектура посредника запросов к объектам) и ORB (посредник запросов к объектам), удовлетворяющими требованиям спецификации CORBA.
У JDBC и интерфейсов ODBC корпорации Microsoft и SQL-92 Call Level Interface общая цель - обеспечение доступа к множеству SQL СУБД через создание стандартного интерфейса.
Классы JDBC, объединенные с базовым набором классов Java, представляют собой удобную абстракцию объектов интерфейсов SQL-92 и ODBC. Разработчики, знакомые с интерфейсом ODBC, почувствуют себя удобно при использовании классов JDBC Envoriment Connection and Statement, имеющих точные копии в ODBC.
Приложения ODBC и JDBC также могут одновременно поддерживать соединения с несколькими СУБД и выполнять несколько SQL-команд.
Ожидается, что в ближайшее время фирма Sun выпустит для бета-тестирования мост JDBC-ODBC, позволяющий разработчикам JDBC использовать драйверы ODBC. Также идет работа над драйверами JDBC, работающими со шлюзами SQLAPI или СУБД-независимыми шлюзами.
Классы в объектно-ориентированном языке, таком, например, как Java, упрощают создание СУБД-приложений благодаря инкапсуляции данных и деталей программы.
Использование в JDBC средств работы Java с потоками ввода-вывода упрощает выборку данных из баз, содержащих большие двоичные или символьные объекты (как ASCII, так и Unicode-символы). В то время как приложения с ODBC 2.0 обычно используют цикл для выборки больших объектов по кускам, JDBC предлагает доступ к хранимым процедурам и SQL-командам, использующим параметры (IN, OUT или INOUT).
Хотя JDBC может использовать драйверы ODBC, ODBC делает закладку для того, чтобы приложение пометило это место и смогло вернуться к той же строке для продолжения поиска. ODBC также предлагает скроллинг курсора, позволяющий приложению выполнять построчный просмотр набора результатов запроса.
Для Internet-приложений, которые вызывают законченные формы и выполняют SQL-команду INSERT, не является серьезным препятствием отсутствие прокручиваемых указателей, но приложения, вызывающие список поиска во время обновления или удаления данных, могут существенно усложниться из-за отсутствия двунаправленных указателей.
JBDC предлагает классы метаданных, которые не так обширны по сравнению с информацией, возвращаемой функцией SQLGetinfo интерфейса ODBC.
Фирма Sun утверждает, что значительному числу приложений не требуется экстенсивное использование метаданных. Тем не менее каталог информации, СУБД-возможности, типы и возможности драйверов критичны при создании межсетевых приложений.
В JDBC установлено средство связывания колонок (column-wise binding) и однострочная выборка, а будущие версии могут быть снабжены средствами связывания строк (row-wise binding) и выборки блоками.
Jakarta корпорации Microsoft и Visual Basic
Корпорация Microsoft продвигает свои продукты Visual Basic и Visual С++ среди прочих как инструмент для разработки intranet- и Internet-СУБД-приложений.
Jakarta, продукт Java корпорации Microsoft, выход которого намечен в июне, будет иметь общую интегрированную среду разработки Developer Studio. Также он будет совместно использовать автоматизацию OLE, ActiveX и технологии доступа к данным, имеющимся в других продуктах разработки приложений корпорации Microsoft.
Хаер Беркоу, менеджер продукта Jakarta, отметил, что Microsoft присматривается к классам JDBC, но первоначальное внимание в Jakarta уделено "широкому использованию стандартов", таких, как ODBC и DAO (Data Access Objects).
Методы доступа к данным - не единственная область, где решения фирм Microsoft и Sun по Java могут расходиться. Для разработки многосвязанных приложений Microsoft усиленно рекламирует использование технологии OLE как средство инкапсуляции бизнес-правил. Фирма Sun поддерживает разработку многосвязанных приложений с использованием CORBA.
Кен Норт
JDBC: МОСТ JAVA НАД ВОДАМИ СУБД
Мост JDBC-ODBC позволяет JDBC Driver Manager работать с
драйверами ODBC и драйверами JDBC