                   НОВОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
                         N 16, апрель 1993 г.


               ИНТЕГРИРОВАННЫЙ ИНТЕРФЕЙС К БАЗАМ ДАННЫХ

    (Integrated Database Application Programming Interface - IDAPI)


                               ВВЕДЕНИЕ

      Бурное развитие аппаратных средств вычислительной техники,
привело к появлению большого числа конкурирующих фирм, производящих
компьютеры с разнообразной архитектурой, стремящихся минимизировать
отношение стоимости к производительности своих изделий. Сосуществование
персональных компьютеров (PC, Macintosh), миникомпьютеров, работающих
под управлением операционной системы Unix, и суперкомпьютеров заставило
изменить концепцию УИС - управленческой информационной системы (MIS),
основной функцией которой является обеспечение руководства информацией.
Новый класс УИС представляет собой симбиоз учрежденческих
информационных систем и средств обработки информации. Если раньше
системотехники определяли информационные потребности отдельных
менеджеров в какой-нибудь организации и проектировали системы обработки
этой информации постоянно или по запросам, то теперь менеджеры получили
еще большую свободу в использовании информации, предоставляемой
машиной.
       С одной стороны, существуют организации, сделавшие большие
капиталовложения в АСУ на базе мини- и супер-ЭВМ, для которых, с
появлением персональных вычислительных средств менеджеров (персональных
ЭВМ) возникла проблема работы готовых приложений на менее мощной
технике, например в локальной сети PC. Здесь следует учесть еще быстрый
рост вычислительных мощностей персональной техники, приведший к
децентрализации данных, хранившихся ранее на супер-ЭВМ. С другой
стороны, появились организации, вложившие деньги в АСУ на базе
персональных ЭВМ, но с течением времени мощность этих систем перестала
быть для них удовлетворительной и возникла обратная проблема - работа
готовых приложений на более мощной технике, например на
миникомпьютерах.
      В сложившейся ситуации представляется естественным объединение
вычислительных средств разной мощности в сеть, причем таким образом,
чтобы любое приложение, выполняющееся на определенной платформе, могло
работать при минимуме изменений в исходном тексте, на любой другой
платформе. Экономически наиболее выгодным решением этой проблемы на
сегодняшний день является сеть "Клиент-Сервер", однако и оно не снимает
всех проблем. Наиболее слабым местом, с точки зрения программной
совместимости существующих приложений, в современных сетях с подобной
архитектурой является межсистемное программное обеспечение, далее в
этой статье сокращенно называемое МПО (английский термин - Middleware
или API - Application Programming Interface), осуществляющее связь
между двумя классами платформ - Клиентом и Сервером. Именно
межсистемное программное обеспечение обеспечивает "прозрачность" работы
приложений на разнородных платформах, однако существующее МПО пригодно
лишь для ограниченного числа платформ.
      Не случайно, в этой связи, заявление Филиппа Кана, президента и
исполнительного директора фирмы Borland International Inc., сделанное
им в 1991 году после приобретения этой фирмой своего конкурента, фирмы
Ashton-Tate. Кан сказал, что единственно ценное, с точки зрения новой
технологии, приобретение в состоявшейся сделке - это InterBase, назвав
этот Сервер реляционных баз данных "бриллиантом". Реализованная для 16
различных платформ, работающих в операционных средах UNIX и VAX VMS,
СУБД InterBase, разработанная по объектно-ориентированной технологии,
расширяет не только традиционную реляционную модель данных, но и
возможности сетевой архитектуры "Клиент-Сервер", обеспечивая любую
рабочую станцию сети (Клиента) вычислительными средствами Сервера.
Кроме того, InterBase поддерживает работу с распределенными базами
данных и имеет средства доступа к мощным СУБД для супер-ЭВМ, таким как,
например, DB2 фирмы IBM.
      Восторг Кана воплотился в конкретные дела. В 1992 году фирма
Borland выдвинула новую концепцию технологии программного обеспечения -
Архитектуру Объектных Компонентов (BOCA), предназначенную, на базе
InterBase, сети "Клиент-Сервер" и объектно-ориентированного
программирования, обеспечить взаимодействие миллионов пользователей IBM
PC с мощными вычислительными возможностями InterBase, что позволит, по
замыслу фирмы, решить обе упоминавшиеся здесь проблемы - "расширение"
вычислительных мощностей для одних организаций и "снижение" этих
мощностей для других, при минимуме капиталовложений.
      В качестве межсистемного программного обеспечения, реализующего
прозрачную работу приложений на всех поддерживаемых платформах, фирма
Borland 16 ноября 1992 года на осенней выставке COMDEX-92 в Лас-Вегасе
предложила технологию IDAPI - Интегрированный интерфейс к базам данных
(Integrated Database Application Programming Interface), и то, что на
этой же выставке свое участие в совместной работе по созданию
технологии IDAPI подтвердили такие фирмы, как IBM Corp., Novell, Inc. и
WordPerfect Corporation, говорит о серьезном подходе фирмы Borland к
реализации своих идей.
      В данной статье рассматриваются назначение, область применения,
концепция и архитектура Интегрированного интерфейса к базам данных, а
также приводится сравнение его с существующими стандартами
межсистемного программного обеспечения.

                 НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ IDAPI

      Назначение IDAPI

      Интегрированный интерфейс к базам данных представляет собой
межсистемное программное обеспечение для сети "Клиент-Сервер",
реализующее как реляционный так и навигационный методы доступа к базам
данных многопользовательских СУБД, независимо от архитектуры аппаратных
средств, операционных систем и сетевых сред. Другими словами, IDAPI
объединяет (интегрирует) два метода доступа к данным, в чем и состоит
его главная отличительная особенность в сравнении с существующими
стандартами межсистемного программного обеспечения, в частности, с
интерфейсом ODBC фирмы Microsoft. IDAPI расширяет существующие
стандарты МПО и является результатом напряженных научно -
исследовательских работ, проведенных фирмой Borland в течение последних
нескольких лет.
      Базы данных, построенные по реляционной модели, можно разделить
по типу метода доступа на два класса - реляционные и навигационные.
      В навигационных базах данные содержатся в совокупности записей.
Доступ к конкретным элементам данных осуществляется перемещением
("навигацией") указателя по совокупности записей до тех пор, пока
искомая запись не будет найдена. Соответственно, и метод доступа к
таким базам называется навигационным. Такой метод доступа реализован во
всех СУБД для IBM PC (dBASE IV, Paradox, FoxPro, Btrieve и
DataPerfect).
      В реляционных базах элементом данных для программ методов доступа
является таблица, то есть совокупность данных, организованная по
строкам и столбцам с определенными отношениями между ними. Доступ к
данным осуществляется посредством языка структурированных запросов SQL,
ориентированного на получение определенного множества записей по одному
запросу. СУБД, имеющие основным средством доступа к данным язык SQL,
используются на мощных управляющих компьютерах, как правило в сетевых
вычислительных комплексах. Примером таких СУБД, получивших наиболее
широкое распространение, могут служить такие серверы баз данных, как
Oracle, SYBASE, DB2, Ingres, SQL Server, Informix, Gupta, NetWare SQL и
другие.
      Целью создания IDAPI является унификация средств доступа
приложений и пользователей к данным, находящимся на платформах
разнородной архитектуры, позволяющая значительно сократить
капиталовложения в программное обеспечение для баз данных. Это
сокращение вполне реально, поскольку использование IDAPI значительно
повышает производительность труда разработчиков приложений, а конечные
пользователи получают доступ к широкому кругу данных на большом числе
платформ.

      Область применения IDAPI

      Межсистемное программное обеспечение, Интегрированный интерфейс к
базам данных (IDAPI), применяется в сетевых вычислительных установках,
построенных по архитектуре "Клиент-Сервер". IDAPI может быть
использован производителями СУБД для увеличения числа поддерживаемых
платформ; разработчиками приложений для ускорения создания прикладных
программ, не зависящих от типа платформы, операционной системы и
формата базы данных, что значительно расширяет рынок сбыта их
продукции; конечными пользователями баз данных для получения быстрого
доступа как к базам данных SQL, так и к "навигационным" базам данных,
причем одинаковыми средствами.

                ОБРАБОТКА ДАННЫХ В СЕТИ "КЛИЕНТ-СЕРВЕР"

      Суть технологии обработки корпоративных данных в сети "Клиент-
Сервер" состоит в разделении приложения на две части - одна часть
выполняется на мощном управляющем компьютере (Сервере), а другая часть
выполняется на рабочей станции или персональном компьютере. Фактически,
технология "Клиент-Сервер" определяет архитектуру прикладных программ в
локальных сетях. Основными преимуществами технологии "Клиент-Сервер"
перед обычной локальной сетью являются повышенная гибкость работы и
снижение информационного потока в сети, приводящее к повышению
быстродействия, поскольку большие объемы данных хранятся и
обслуживаются мощным Сервером, а рабочие станции получают лишь то
количество данных, какое они в состоянии обработать без ущерба своей
производительности. Таким образом, и Сервер, и рабочие станции
(клиенты) решают задачи, оптимально соответствующие своим
вычислительным мощностям.    Упрощенная схема архитектуры сети "Клиент-
Сервер" представлена на Рисунке 1. Она состоит из двух классов
разнородных платформ и программно-аппаратной сети, осуществляющей связь
между платформами. На рисунке отражены аппаратные и программные
компоненты.

.G.IDAPI_1.PCX;15 cm;10 cm;PCX

      Рисунок 1. Сеть "Клиент-Сервер"

      Клиент и Сервер - как правило компьютеры разной архитектуры, или
одинаковой архитектуры, но работающие под управлением разных
операционных систем (например, в качестве Сервера может быть
использован IBM PC 486 с операционной системой SCO UNIX). Вот почему
эффективность работы такой сети во многом зависит от межсистемного
программного обеспечения, решающего весь комплекс достаточно сложных
задач обмена данными между клиентами и сервером. IDAPI представляет
собой новый стандарт межсистемного программного обеспечения для
многопользовательских баз данных.
      Архитектура "Клиент-Сервер" повысила быстродействие
автоматизированной обработки больших объемов данных на крупных
предприятиях за счет использования рабочих станций в качестве активных
платформ, за счет органичного взаимодействия между платформами и их
программным обеспечением, а также за счет простоты доступа к данным.
Более того, она оказалась достаточно гибкой в условиях постоянно
изменяющихся данных реального мира, поскольку позволила разработчикам
приложений ускорить разработку и модификацию прикладных программ.
      Термин "Клиент-Сервер", вследствие своей популярности был
перенесен и на сети, соединяющие несколько разнородных платформ, и
реализующие совместное использование вычислительных мощностей и
ресурсов. В частности, в таких сетях клиент, минуя Сервер, может вести
интерактивный диалог с другим клиентом, воспринимая его как равный себе
архитектурный эквивалент. Однако, с технической точки зрения,
архитектуру таких сетей следует называть "Равный-к-Равному".
      Главной задачей, решаемой технологией "Клиент-Сервер", является
объединение разнородного аппаратного и программного обеспечения в
единую вычислительную среду. Переносимость информационных компонентов
как Сервера, так и Клиента на любые компьютеры, операционные системы и
СУБД - ключевой момент в успешной эксплуатации сетей "Клиент-Сервер".
Именно МПО обеспечивает системную поддержку существующих стандартов
аппаратуры и операционных систем, а также осуществляет связь между
разнообразными клиентами и разнообразными серверами на различных
платформах. Другими словами, МПО реализует системный интерфейс между
аппаратурой, вкупе с операционной системой, и приложениями, решающими
прикладные задачи пользователей. IDAPI является межсистемным
программным обеспечением, ориентированным на задачи обработки баз
данных. Примером МПО, ориентированным на другие задачи, может служить
NetBIOS для MS-DOS.

                        ЦЕЛИ И КОНЦЕПЦИИ IDAPI

      Цели разработки IDAPI

      В условиях жесткой конкуренции, присущей рыночной экономики,
предприятия всего более нуждаются в объединении корпоративных,
персональных и подразделенческих баз данных в единую информационную
систему с унифицированными средствами доступа, обеспечивающими высокую
оперативность обработки коммерческих данных. Как правило, однако,
интересующие конечных пользователей данные разбросаны по различным
платформам, обрабатываются разнообразными приложениями для баз данных,
работающими в подчас несовместимых друг с другом операционных системах.
Поэтому предприятия, стремящиеся сохранить свою конкурентоспособность,
должны обеспечить прозрачность доступа приложений к данным, вне
зависимости от типа имеющихся платформ.
      На сегодняшний день наиболее распространенным решением данной
проблемы является "обслуживаемое программное обеспечение", уникальное
для конкретной комбинации приложения и операционной системы. Однако,
изготовители приложений и СУБД, осуществляя техническую поддержку
приобретенных у них изделий, оказывают своим конечными пользователям
медвежью услугу, поскольку стоимость разработки, развития и
сопровождения программного обеспечения, обучения и других, связанных с
обработкой данных услуг, все время растет, и довольно быстро.
      Предлагаемая технология Интегрированного интерфейса к базам
данных (IDAPI) служит, прежде всего, для упрощения разработки
приложений, обеспечивающих взаимосвязанную работу с базами данных
разных форматов. IDAPI позволит осуществить обмен данными между базами
различных моделей и, к тому же, находящихся на компьютерах любой
архитектуры и работающих под управлением любой операционной системы.
Используя средства IDAPI, разработчики облегчат себе задачу создания
мултиплатформенного приложения для баз данных, а конечные пользователи
получат прозрачный доступ ко всем источникам данных, имеющихся на их
предприятии.
      Интегрированный интерфейс к базам данных (IDAPI) разрабатывается
группой фирм, занимающих лидирующие позиции в компьютерной индустрии. В
эту группу входят четыре фирмы: Borland International, IBM, Novell Inc.
и WordPerfect Corporation. Прежде всего, IDAPI будет поддерживать
операционные среды, являющиеся промышленными стандартами: MS-DOS, OS/2,
NetWare и Windows. Основанный на технологии интерфейса связности баз
данных фирмы Borland, IDAPI устранит все серьезные препятствия,
традиционно мешавшие разработчикам и пользователями вести
интегрированную обработку разнородных баз данных.
      Необходимость создания IDAPI

      Большинство препятствий обеспечения прозрачного доступа к данным
возникает в том случае, когда предприятия пытаются объединить базы
данных, управляемые разными операционными системами, имеющие разные
модели данных и находящиеся на компьютерах неоднородных архитектур. По
мере развития технологии обработки данных, происходит рост многообразия
в реализации трех ее важнейших составных частях. Остановимся на них
подробнее.

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

      Вычислительные комплексы, предназначенные для автоматизации
деятельности предприятий, как правило, состоят из набора разнородных
управляющих и настольных компьютеров, имеющих разнообразные
операционные среды, включая и сетевые. Все это характерно и для
российских предприятий, где всегда можно найти и машины серий ЕС и СМ,
и персональные компьютеры, но редко где увидишь, чтобы эта техника была
связана между собой. Чаще всего, платформы решают свой круг задач
независимо друг от друга, а иногда эти задачи совпадают, так что об
эффективности автоматизации всего предприятия говорить не приходится.
      Очевидно, что для объединения порознь работающих приложений в
единый комплекс, помимо сетевой аппаратуры, требуется поддержка разными
операционными системами межсистемного интерфейса с приложениями и тогда
последние смогут обеспечить взаимодействие баз данных, расположенных на
различных платформах. Существуют стандарты на подобное межсистемное
программное обеспечение. Так, язык структурированных запросов, SQL,
является общепризнанным стандартным средством доступа к реляционным
базам данных. Язык доступа к данным, разработанный фирмой Apple (DAL -
Data Access Language), является стандартом для вычислительных
комплексов на базе компьютеров Macintosh. Открытый интерфейс связности
баз данных (ODBC - Open Data Base Connectivity) фирмы Microsoft в
настоящее время практически стал стандартом для работы приложений среды
Windows с базами данных. Помимо перечисленных, ни один из существующих
интерфейсов не реализует взаимодействие приложений с базами данных на
разных платформах.
      Эксплуатация конечными пользователями баз данных операционных
систем, поддерживающих единый межсистемный интерфейс является веским
основанием для создания программных продуктов управления базами данных,
способных к одновременной работе на разнородных платформах. Кроме того,
разработчикам необходима уверенность в непротиворечивости МПО и
служебных программ разных операционных систем. На сегодняшний день нет
ни одного интерфейса к базам данных, не имеющего противоречий со всеми
ведущими операционными системами.

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

      При решении многих прикладных задач разработчики и конечные
пользователи все чаще предпочитают выбирать сетевую архитектуру
"Клиент-Сервер", не используя привычные технологии на базе настольных
компьютеров или сетей с одной управляющей машиной и рабочими станциями
без серьезных вычислительных мощностей. Программные продукты управления
базами данных одни из первых начали, и довольно успешно, использовать
сети "Клиент-Сервер", так что на сегодня имеется много разнообразных
средств обработки баз данных, сочетающих в себе элементы всех трех
упомянутых здесь технологий. Каждая из них имеет свои сильные и слабые
стороны, связанные с прикладной областью применения, а также с большим
количеством требований, предъявляемых пользователями баз данных.
      Для эффективного взаимодействия баз данных на различных
аппаратных платформах необходимо дальнейшее развитие гибкости работы
вычислительного комплекса, иначе говоря, способности комплекса извлечь
максимум преимуществ из каждой технологии. К сожалению, ни один
существующих стандартов взаимодействия баз данных подобной гибкости
не обеспечивает.
      Различия в моделях доступа к данным

      В разделе "НАЗНАЧЕНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ IDAPI" настоящей
статьи были описаны два разных метода доступа к базам данным,
реляционный и навигационный. В сответствие с принципиальным различием
упомянутых методов доступа, все базы данных можно разделить на две
большие группы - реляционные (базы данных SQL) и навигационные. Следует
отметить, что и те, и другие реализуют реляционную модель данных и
поддерживают оба метода доступа, но один из них превалирует в каждой
конкретной СУБД, поэтому данная классификация условна и введена для
лучшего понимания функциональных различий баз данных.
      Конечному пользователю указанные функциональные различия не очень
принципиальны, а иногда и не видны, поскольку, работая с обоими типами
баз данных, он применяет одинаковые запросы к данным и использует
похожий диалоговый интерфейс. Для разработчика приложений эти различия
крайне принципиальны, так как ему приходится создавать совершенно
разные программы доступа к данным. К таким существенным различиям
привела изначальная ориентация производителей СУБД на конкретную
архитектуру аппаратных средств, но говорить о фундаментальной
несовместимости описываемых классов баз данных все же не следует. Из-за
этих функциональных различий разработчики сталкиваются с серьезными
трудностями при создании приложения, реализующего оба метода доступа к
данным.

      Основные преимущества IDAPI

      Достижение приложениями использующими Интегрированный интерфейс к
базам данных, повышенной прозрачности доступа к данным, обеспечивается
за счет:

      1) объединения работы приложений, требующих доступа как к
реляционным (SQL) базам данных, так и к навигационным; с  помощью IDAPI
разработчики могут свободно использовать оба  метода доступа в одном
приложении, если такая необходимость  возникнет;
      2) поддержки существующих стандартов связности баз данных и
доступа к ним;
      3) интеграции обмена данными между базами, расположенными в
разнородных вычислительных комплексах.


      IDAPI и другие Интерфейсы к базам данных

      Совместимость IDAPI с стандартом SQL/CLI
      Группа разработчиков баз данных с доступом на языке SQL (SQL
Access Group - SAG) представляет собой консорциум ведущих фирм, и
разработчиков приложений, созданный с целью выработки стандарта на
интерфейс доступа к данным с помощью языка структурированных запросов
SQL. Взаимодействие баз данных реализуется по спецификации метода
формулировки запросов к базам данных, называемой CLI (Call Level
Interface), определяющей требования к межсистемному программному
обеспечению для баз данных с доступом на языке SQL. Прикладное
программное обеспечение, разработанное в соответствии с CLI,
обеспечивает доступ к данным всех СУБД, разработанных фирмами,
входящими в SAG. Причем доступ такого прикладного программного
обеспечения к разным базам данным обеспечивается без изменений
исходного текста приложения. В настоящее время спецификация CLI
полностью включена в отраслевой международный стандарт X/Open.
Однако CLI не определяет стандартного метода доступа к данным,
хранящимся в базах, не поддерживающих язык SQL. Многие пользователи
хотели бы иметь стандарт на навигационные методы доступа к базам
данных. В связи с этим, разработчики программных продуктов и начали
совместные работы по расширению спецификации CLI, касающегося
навигационных баз данных и называемого, в контексте спецификаций IDAPI,
NAV/CLI. Интегрированный интерфейс к базам данных, IDAPI, не только
будет в полной мере отвечать всем требованиям стандарта X/Open CLI
(SQL/CLI), но и определит стандарт межсистемного программного
обеспечения баз данных для гетерогенных (неоднородных) сетевых
комплексов и навигационных баз данных. Таким образом, IDAPI станет
стандартом для интерфейса доступа к обоим классам реляционных баз
данных. Когда работы над проектом будут закончены, компании-
разработчики IDAPI будут работать с SAG (SQL Access Group), X/Open,
ANSI и c другими соответствующими группами представителей отрасли над
утверждением NAV/CLI как отраслевого стандарта.
      В качестве средств создания стандартных интерфейсных программ,
обеспечивающих доступ к данным разнообразных форматов для различных
операционных систем и вычислительных комплексов, в приложениях,
использующих IDAPI, предусматриваются языки программирования C, C++,
Pascal и COBOL. Здесь уместно подчеркнуть еще раз, что целью IDAPI
является обеспечение единообразного представления данных в неоднородных
вычислительных комплексах коллективного пользования.

      Совместимость IDAPI с интерфейсом ODBC
      Открытый интерфейс связности баз данных, ODBC (Open Data Base
Connectivity), поддерживаемый фирмой Microsoft, обеспечивает унификацию
доступа приложений операционной среды Windows к различным СУБД. Данный
интерфейс, в первую очередь, обеспечивает требования спецификации
SQL/CLI, а его дальнейшее развитие направлено на стандартизацию
функциональных возможностей, общих для большинства созданных продуктов
баз данных. Прикладное программное обеспечение, разработанное в
соответствии с ODBC, должно содержать "вкрапления" исходного текста,
максимально использующего сильные, с точки зрения разработчика
приложения, стороны продуктов баз данных. Навигационный метод доступа к
базам данных в ODBC реализуется посредством набора программных
драйверов для конкретных СУБД.
      В IDAPI навигационный метод доступа к базам данных реализуется в
виде составной части единой технологии доступа к данным, то есть и
стандарт X/Open для метода доступа к базам данным SQL, и стандарт для
функционально полного навигационного метода доступа (NAV/CLI)
определяют единый подход к решению данной проблемы. Основной
характеристикой этого подхода является более высокая, качественно новая
степень интеграции программных продуктов фирмы Borland друг с другом, а
также совместимости с программными продуктами сторонних фирм.
Навигационные расширения (NAV/CLI) стандарта X/Open позволят
значительно упростить задачу разработки унифицированных приложений баз
данных для широкого круга платформ. Поддержка интерфейсом IDAPI
операционных систем OS/2, DOS, NetWare и Windows планируется в первую
очередь.
      Поскольку ODBC обеспечивает поддержку удаленного доступа к базам
данных также посредством программных драйверов, то такой способ
реализации будет включен и в IDAPI, но кроме этого, удаленный доступ
будет реализован и по технологии работы Сервера, в которой присутствуют
Формирователь Запроса к удаленным данным и Формирователь Ответа на
Запрос (Requestor/Responder). Такая технология, будучи встроенной в
IDAPI, позволит осуществлять доступ к удаленным данными сразу через
электронное оборудование, независимо от функциональных возможностей
программного драйвера.

      Краткие выводы

      Обобщая информацию, изложенную в данном разделе статьи, следует
выделить то новое, что приносит конечным пользователям и разработчикам
приложений использование IDAPI, позволяющее улучшить, по сравнению с
другими интерфейсами, взаимодействие различных баз данных:
      1) приложению обеспечивается доступ к большему числу форматов баз
данных;
      2) более широкий выбор приложений для доступа к конкретному
источнику данных;
      3) более свободный выбор программно-аппаратной архитектуры
вычислительного комплекса;
      4) более полное соответствие программно-аппаратной конфигурации
вычислительного комплекса и сложности решаемых прикладных задач;
      5) сохранение сделанных капиталовложений в операционные системы и
компьютеры и уменьшение необходимых новых финансовых затрат,  связанных
с обновлением технологии обработки данных;
      6) поддержка программных драйверов интерфейса ODBC, позволяющая
дополнять драйверы ODBC, всеми функциональными возможностями IDAPI.

    АРХИТЕКТУРА ИНТЕГРИРОВАННОГО ИНТЕРФЕЙСА К БАЗАМ ДАННЫХ (IDAPI)

      Описание архитектуры

      Архитектура интегрированного интерфейса к базам данных (IDAPI)
представлена на Рисунке 2. Данная архитектура является открытой и
допускает расширения тремя следующими способами:

- добавлением новых драйверов;
- добавлением новых реляционных и навигационных обработчиков  методов
доступа;
- "настройкой" средств формирования Запросов и Ответов на запросы
(Requestor/Responder) на определенную модель удаленного доступа к
распределенным данным; указанный  способ расширения возможен даже
тогда, когда модель данных распределенной СУБД не поддерживается
средствами IDAPI.

.G.IDAPI_2.PCX;15 cm;10 cm;PCX

      Рисунок 2. Архитектура IDAPI

      Как видно из Рисунка 2, IDAPI построен по четырехуровневой
структуре: МПО - управляющие программы - драйвер МПО - драйвер СУБД, и
имеет для двух классов реляционных баз данных две параллельные и
идентичные схемы реализации методов доступа, причем системные
управляющие программы (Engines), для простоты названные здесь
Обработчиками, каждого метода доступа имеют связь с драйвером МПО
другого метода доступа. Рассмотрим каждый уровень архитектуры
подробнее.

      Приложение рабочей станции (Клиента)

      Интерфейс IDAPI обеспечивает приложениям, выполняющимся на
рабочей станции, доступ к базам данных, имеющим соответствующий набор
драйверов и обработчиков. IDAPI обеспечивает приложению полный набор
средств, предоставляемых совокупностью драйвера и обработчика. При
создании приложения, разработчик может выбирать между обеспечением
независимости приложения от типа базы данных и настройкой приложения на
конкретный тип базы данных посредством дополнения исходного текста
приложения специфической для конкретной базы данных подпрограммой.

      Межсистемное программное обеспечение (МПО)

      МПО, предназначенное для обеспечения программной совместимости
между базой данных и приложением, разработано по технологии объектно -
ориентированного программирования и представляет собой набор функций,
реализующих связь приложения с операционной средой.
      На данном уровне IDAPI происходит инициализация связей приложения
с операционной средой и формирование запросов на динамическое
подключение драйверов и обработчиков, требующихся приложению Клиента
для нормального функционирования. Семантика программ совокупности
Обработчика и Драйвера скрыта от приложения. IDAPI допускает
использование драйверов интерфейса ODBC без какого-либо изменения
последних, вследствие чего драйверы ODBC, получают доступ ко всем
функциям IDAPI и связанным с ними преимуществами в обработке баз
данных.

      Реляционные и навигационные обработчики

      Данный уровень архитектуры IDAPI включает в себя системные
управляющие программы реляционного и навигационного методов доступа к
базам данных, а также формирователи Запросов и Ответов на запросы,
реализующих удаленный доступ к базам данных.

      Драйверы межсистемного программного обеспечения

      На этом уровне архитектуры IDAPI обеспечивается согласование МПО
и системных управляющих программ методов доступа (Обработчиков).

      Драйверы IDAPI для конкретных СУБД

      Со временем драйверы многих существующих СУБД будут поставляться
вместе с новыми версиями этих СУБД, как это и сделано уже в пакете
Paradox for Windows, выпущенном 1 февраля 1993 года. Новые драйверы
IDAPI для СУБД можно будет создавать с помощью системного
инструментального пакета программ, IDAPI Software Development Kit
(SDK), который будет поставляться на рынок программного обеспечения
всеми четырьмя фирмами - разработчиками IDAPI. Данный инструментальный
пакет позволит обойти специфические требования разных операционных
систем, связанных с низкоуровневыми операциями ввода/вывода файловой
системы и системными программами управления оперативной памятью. Кроме
того пакет IDAPI SDK будет иметь средства решения проблем, связанных с
локализацией и интернационализацией программного обеспечения.

      Конфигурация операционной среды и управление сеансом связи

      Интерфейс IDAPI обеспечивает расширенные средства управления как
моделями данных, так и сеансом доступа к данным. Обеспечиваются функции
построения новых драйверов, реляционных и навигационных обработчиков,
методов доступа, а также функции конфигурирования моделей удаленного
доступа к данным посредством формирователей Запросов и Ответов на
запросы,
      Функции управления сеансом связи позволяют приложениям вести
интерактивную обработку данных, необходимую при работе с некоторыми
базами данных. Включены функции обработки начала и завершения сеанса
связи.

      Средства обработки баз данных

      Гетерогенная сущность интерфейса IDAPI позволяет разработчикам
приложений использовать единое МПО для доступа к данным различных
моделей. Функции, входящие в состав IDAPI, дают разработчикам
приложений возможность описания в исходных текстах типов данных, типов
индексов, моделей доступа к данным, способов обеспечения целостности на
уровне ссылок и так далее. Каждая функция IDAPI разработана с учетом
полной поддержки работы в неоднородных сетевых установках.

      Средства управления базами и манипуляция данными

      Интерфейс IDAPI в полной мере поддерживает такие операции с
базами данных, как манипуляции таблицами и индексами, определение
критериев поиска, управление указателем записи (курсором), блокировками
доступа и так далее.

      Системные управляющие программы (Обработчики)

      Для обработки языков запросов к данным в IDAPI предусмотрены
системные управляющие программы (Обработчики), причем отдельные для
каждого из двух методов доступа. Если СУБД имеет язык запросов, не
поддерживаемый стандартом SQL/CLI, то средства обработки данного языка
запросов могут быть интегрированы в IDAPI путем включения в его состав
новых Обработчиков, распознающих синтаксис и семантику языка запросов,
после чего они будут использоваться для доступа к данным этой СУБД.



      Удаленный доступ

      Архитектура IDAPI естественным образом обеспечивает доступ к
удаленным базам данных. Запрос доступа к удаленным данным в интерфейсе
IDAPI обрабатывается специальной программой - формирователем Запроса
(requestor). Ответ на соответствующий запрос также обрабатывается
специальной программой IDAPI - формирователем Ответа на запрос
(responder). Формирователь Ответа на запрос (responder) работает как
обычное приложение, обрабатывающее Запрос и возвращающее формирователю
Запросов требуемое множество данных, после чего формирователь Запросов,
работая как драйвер, возвращает формирователю Ответа извещение о
получении данных.
      Интерфейс IDAPI обеспечивает поддержку таких архитектур
распределенных баз данных с удаленным доступом, как NetWare и DRDA
(Distributed Relational Database Architectures).

                              ЗАКЛЮЧЕНИЕ

      При успешной реализации проекта разработки Интегрированного
интерфейса к базам данных (IDAPI) процесс обработки данных с
использованием СУБД перейдет на качественно новый уровень. Удобство и
простота эксплуатации программного обеспечения пользователями будет
сочетаться с высокой скоростью работы и возможностью доступа к данным
любого формата, независимо от архитектуры аппаратных средств. Огромные
объемы информации, хранящиеся сегодня на всевозможных компьютерах,
станут системой с унифицированным доступом, позволяющим оперативно
получать эту информацию любому человеку, далекому от вычислительной
техники и программирования. Такова тенденция развития технологии
обработки данных и рассмотренный в данной статье Интегрированный
интерфейс к базам данных (IDAPI) вносит существенный вклад в реализацию
этой тенденции.
      Суммируя все вышеизложенное, выделим основные преимущества,
вносимые IDAPI в технологию обработки данных:

- IDAPI обеспечивает приложениям унифицированный метод доступа к  двум
классам баз данных, реализуя как реляционный метод доступа  в
соответствии с стандартом SQL/CLI, так и навигационный метод  доступа;
разработчики приложений, используя средства IDAPI,  могут свободно
объединять в одном приложении оба метода доступа с непротиворечивым
системным интерфейсом;
- использование IDAPI позволит оправдать сделанные ранее
капиталовложения в технологию обработки данных, реализуемую такими
СУБД, как dBASE, Paradox, Btrieve и DataPerfect, а также  даст
возможность доступа к базам данным SQL;
- интерфейс IDAPI разрабатывается на основе существующих  стандартов на
методы доступа к базам данных и способы  взаимодействия между ними,
например, IDAPI обеспечивает  обработку запросов на языке SQL, в
соответствии с стандартом  SQL/CLI; группа фирм-разработчиков IDAPI
направляет свои усилия на расширение таких стандартов на интерфейсы
методов доступа к базам данных, как ANSI, X/Open и SAG;
- интерфейс IDAPI обеспечивает интегрированный доступ к базам  данных,
расположенным на компьютерах различной архитектуры и  учитывает
критичные требования, предъявляемые пользователями  гетерогенных
(неоднородных) вычислительных комплексов;
- интерфейс IDAPI поддерживает перекрестные операции с базами  данных,
например, возможно объединение данных из СУБД двух и  более
несовместимых по архитектуре Серверов в одну таблицу;  благодаря такой
возможности разработчикам приложений больше не  потребуется кодировать
специальные программы обработки таких  операций;
- интерфейс IDAPI предназначен для использования как в сетевых
вычислительных комплексах, так и на персональном рабочем месте;  в
зависимости от характера прикладных задач и конфигурации
вычислительного комплекса, функциональные возможности IDAPI  могут
использоваться и на сетевой рабочей станции (Клиенте), и  на локальном
сервере и на центральном управляющем компьютере,  короче, практически
на любом компьютере, архитектура которого  поддерживается интерфейсом
IDAPI; использование IDAPI снимает много проблем, связанных с
взаимодействием баз данных, прежде  всего в гетерогенных сетевых
вычислительных комплексах.

