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


ОПЦИИ ODBC
ПОСЛЕДНЯЯ НОВИНКА ОТ MICROSOFT
ВОЗМОЖНОСТИ ODBC
ОБЪЕДИНЕННЫЙ ФРОНТ UNIX
ПРОТИВНИКИ НЕ СДАЮТСЯ
РАЗРАБОТКИ ДЛЯ WEB
ПЕРСПЕКТИВЫ

Определение промежуточного программного обеспечения укладывается в несколько слов: программный продукт, связывающий приложения с базами данных. Стандартные архитектуры, такие как Open Database Connectivity (ODBC) компании Microsoft и Distributer Computing Environment (DCE) компании Open Software Foundations, призваны сделать эту связь как можно более простой. В архитектуру промежуточного программного обеспечения обязательно входит программа-администратор, с помощью которой приложения и ориентированные на базы данных драйверы могут обращаться к стандартным прикладным интерфейсам, служащих, в свою очередь, каналами для доступа к ресурсам. И какой бы простой, на первый взгляд, такая структура не казалась, множество звонков в группы технической поддержки компаний, занятых разработкой программного обеспечения (например инструментария для работы с базами данных, поддержкой которого, собственно, и занимается автор статьи), свидетельствуют о ее подводных камнях. Как правило, проблемы связаны с ODBC и, в частности, с настройкой.

ОПЦИИ ODBC

Стандарт ODBC основан на интерфейсе уровня вызовов, предложенном консорциумом производителей и поставщиков программного обеспечения SQL Access Group. Он представляет собой минимальный интерфейс прикладного программирования для реляционных баз данных. Слово "минимальный" следует понимать буквально: стандартизированы только три первых слова в последовательности связи. Практически это означает, что даже основные моменты, связанные с организацией доступа, могут быть различны для разных баз данных и производителей ODBC.

Так, например, один из параметров функции установления соединения ODBC, Set Connection, - имя сервера. При этом одни драйверы ODBC пользуются ключевым словом serv, другие - srvr, третьи - server. На Рис. 1 изображена система, в основе которой архитектура промежуточного программного обеспечения.

Picture 1 (1x1)

Рисунок 1.
Существующая архитектура промежуточного программного обеспечения предоставляет стандартный интерфейс прикладного программирования для клиентских приложений.

По проекту Microsoft ODBC входит в качестве составной части в законченный набор интерфейсов прикладного программирования, образующих архитектуру Windows Open Systems (WOSA). Другие элементы WOSA - ориентированные на аппаратное обеспечение компоненты, такие как интерфейс графических устройств, прикладные интерфейсы и программное обеспечение для компьютерной телефонии, а также OLE и прикладные интерфейсы для поддержки услуг в финансовой сфере. Но, что бы там ни было, четырьмя годами успеха ODBC обязан скорее эффективной маркетинговой политике компании Microsoft, чем выигрышным особенностям архитектуры. Впрочем, внимание всегда приковано к победителям, независимо от того, какими средствами достигнута победа.

Сегодня предприятия имеют возможность приобрести драйверы ODBC практически для любой корпоративной платформы, начиная от файлов dBase и Access на одном компьютере до серверов DB2, работающих на гигантских мэйнфреймах IBM.

Преимущества предоставления таких сервисов на уровне операционной системы очевидны. Вспомним для сравнения старые времена, когда текстовые процессоры со встроенной поддержкой многочисленных типов принтеров, с которыми пользователям приходилось иметь дело, распространялись на дискетах. Так, программа WordPerfect имела поддержку более чем 600 различных драйверов печатающих устройств. Теперь такие драйверы достаточно написать только для операционной системы. Если учесть, что Microsoft стремится унифицировать архитектуру драйверов для Windows 95 и Windows NT, задача становится еще проще.

ODBC поддерживается множеством клиентских приложений, не говоря о средствах разработки, в которых они присутствуют по определению. ODBC применяется в электронных таблицах, текстовых процессорах, графических программах, программах управления проектами и даже системах компьютерного проектирования для более эффективного хранения данных, чем это могут обеспечить собственные средства таких систем. Например, системы CAD способны хранить спецификации и цены на детали в любой базе данных, от Access до Oracle, и к тому же привязать их к определенным чертежам. Нужно ли говорить, как это экономит время и силы проектировщиков!

ПОСЛЕДНЯЯ НОВИНКА ОТ MICROSOFT

На некоторые из недостатков ODBC компания обратила внимание совсем недавно. Два новых компонента, относящихся к технологии OLE (OLE DB и OLE Transactions), призваны дополнить и придать большую надежность функциональным возможностям стандарта в части взаимодействия с базами данных. Оба сервиса опираются на распределенную модель компонентных объектов (Distributed Component Object Model, DCOM), сетевую версию OLE.

OLE DB представляет собой надмножество ODBC, благодаря которому ODBC можно будет включить в систему OLE, излюбленную архитектуру компонентов компании Microsoft. Этот компонент позволит формулировать запросы о данных к источникам, не относящимся к базам данных, таким как электронная почта, электронные таблицы, текстовые процессоры. Возможности OLE DB становятся более наглядными из рассмотрения объектов доступа к данным, предоставляемых Visual Basic, Visual C++ и Access. Предполагается, OLE DB появится в виде средств разработки ПО в конце этого или начале следующего года и будет обратно совместим с существующими драйверами ODBC.

Кроме того, OLE DB позволит разработчикам создавать повторно используемые компоненты для предварительной обработки данных перед обслуживанием запроса клиентского приложения. Эти компоненты будут иметь встроенные функциональные возможности, благодаря чему смогут выполнять намного больше функций, нежели ODBC. Многие полагают даже, что компоненты OLE DB станут идеальной платформой для уровня бизнес-сервисов в трехзвенной архитектуре.

ВОЗМОЖНОСТИ ODBC

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

Основной независимый производитель продуктов по технологии ODBC - компания InterSolv разрабатывает как системы первого поколения, в которых драйверы расположены в клиентской части, так и второго, с серверной архитектурой. Основной продукт этой компании DataDirect ODBC Driver Pack включает в себя более 30 драйверов баз данных для восьми операционных систем, включая Windows 3.1, Windows NT, Windows 95, OS/2, Macintosh и несколько разновидностей Unix.

Недавно компания приобрела TechGnosis для работы над семейством продуктов SequeLink. В этих продуктах клиентская часть имеет один стандартный драйвер ODBC, а серверный компонент выполняет обработку и все запросы к базам данных. При таком раскладе приложение на клиентской части может даже не "знать", с какой базой данных оно работает.

Среди других производителей ODBC - компании Visigenics, Cross Access, Open Horizons, Simba Technologies. Компания Visigenics была основана в 1993 году Роджером Сиплом, основателем и экс-президентом Informix, специально для разработки многоплатформенных драйверов ODBC и переноса ODBC SDK компании Microsoft на операционные системы Macintosh и Unix, а также тестирования программного обеспечения на соответствие драйверов ODBC стандартам. В апреле этого года компания выпустила OpenChannel, архитектуру связи с базами данных нового поколения, упрощающую доступ к клиент-серверным базам данных и гарантирующую защиту данных в системах уровня предприятия и информационных средах, использующих Internet.

ОБЪЕДИНЕННЫЙ ФРОНТ UNIX

В ответ на заключение договора о сотрудничестве между AT&T и Sun Microsystems, IBM, Digital Equipment, Hewlett-Packard и другие производители систем Unix объединились и основали Open Software Foundation. Причиной тому было опасение за свою судьбу: AT&T принадлежали права на Unix, а Sun контролировала большую часть рынка рабочих станций. В то время это объединение рассматривалось как способ заставить AT&T серьезно отнестись к коммерциализации Unix.

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

В действительности создать коммерческую ОС на базе разработок группы удалось только одной из участниц OSF - компании Digital Equipment. Ее партнеры наметили перспективы и... отказались от работы. Впрочем, AT&T и Sun никогда не пытались преодолеть различия между своими платформами, и в конце концов AT&T продала свою группу Unix компании Novell.

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

Причиной этому, в частности, стало то обстоятельство, что DCE плетется в хвосте прогресса. Кроме того, DCE задумывалась в расчете на мир, где господствует Unix. К несчастью для компаний, имеющих к DCE хоть какое-то отношение, такой самонадеянный расчет оказался ошибочным.

Причина злоключений DCE кроется не в технической несостоятельности, а в том, что она появилась слишком поздно. Производители системы считали, что персональные компьютеры займут место на индивидуальном рабочем столе, а системы клиент-сервер будут основываться на Unix или каких-либо Unix-подобных систем.

Как известно, их ожидания не оправдались. Более 100 миллионов проданных за последние пять лет ПК никак не позволяют сторонникам Unix проигнорировать их или подчинить своим требованиям. Тем временем Microsoft уже ориентируется на интересы своих корпоративных пользователей и активно продвигает Windows NT Server, уже обошедший по продажам все основанные на Unix системы вместе взятые.

ПРОТИВНИКИ НЕ СДАЮТСЯ

В битву стандартов включились многие компании. IBM, например, предлагает собственную распределенную архитектуру реляционных баз данных (Distributed Relational Database Architecture, DRDA), нью-йоркская компания Information Builders, уже давно и успешно занимающаяся распространением многоплатформенной системы Focus 4GL, - еще одну архитектуру, Enterprise Database Access/SQL (EDA/SQL).

Однако наезависимые предложения склоняются все в большей степени или к ODBC, или к DCE. Так, IBM сделала ставку на OSF и занялась продвижением Distributed System Object Model (DSOM) в качестве стандарта взаимодействия распределенных компонентов, в том числе баз данных.

В частности, ее собственная архитектура DRDA, составная часть Distributed Database Connection Services на большинстве клиентов, ориентирована на различные разновидности DB2, работающие под OS/2, AIX, OS/400, VSE/ESA, VM/ESA, MVS/ESA, HP-UX, Solaris и Windows NT. Другие поставщики, в том числе Attachmate, Informix, Oracle, Sybase и XDB Systems, реализуют, наряду со многими другими, службы DRDA на своих серверах.

РАЗРАБОТКИ ДЛЯ WEB

Сегодня никто не усомнится, что корпоративная работа невозможна без World Wide Web. Уже существуют сотни средств для подготовки публикаций баз данных в Web, и предложено немало решений, претендующих на роль промежуточного программного обеспечения. Все приложения младшего класса, в особенности лидеры по продажам, имеют некоторые встроенные возможности для создания страниц на HTML. Что касается систем старшего класса, то функциональные возможности средств разработки дополняются таким образом, что создаваемые с их помощью приложения могут взаимодействовать непосредственно с серверами Web. На Рис. 2 приведена схема потока данных в архитектуре на базе Web.

Picture 2 (1x1)

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

Многие компании предпринимают попытки выйти на рынок промежуточного программного обеспечения. Самой многообещающей из них считается компания JavaSoft, предложившая Java Database Connectivity (JDBC). (Подробное описание JDBC, наряду с вышеупомянутыми инструментами разработки, можно найти в статье "Клиент-сервер стремится в сеть" в сентябрьском номере LAN Magazine/Русское издание.)

Между JDBC и ODBC очень много общего, и все, что необходимо для подключения JDBC к драйверу ODBC, это небольшой драйвер-мост. JavaSoft уже объявила о намерении реализовать этот драйвер в сотрудничестве с компанией InterSolv. JDBC ориентирован на любую операционную систему, поддерживающую программы на Java и JavaScript. Скорее всего, он найдет применение у производителей, пытающихся выйти на новые рынки.

Тем же, но на другом уровне, занимается CenterView Software. Недавно компания предложила стандарт Data Source Transfer Protocol (DSTP) - протокол прикладного уровня, обеспечивающий интерфейс прикладного программирования для доступа к таким источникам информации, как базы данных и серверы приложений. Стандарт предлагает гибкие возможности доступа к распределенным источникам данных для полностью компонентного программного обеспечения, написанного на C++, HTML, Java, ActiveX и Visual Basic. Многие из производителей продуктов для баз данных уже рассматривают возможность принятия этого стандарта.

Организации могут представить базы данных как URL, и пользователи будут обращаться к ним непосредственно или направляя SQL-запросы. Например, если вы хотите получить список выставляемых на продажу загородных домиков где-нибудь в районе Манхэттена, обратитесь по адресу гипотетической нью-йоркской конторы с таким запросом: http://www.nyrealty.com/Listings/Select * From Listings Where County = Kings and Bedrooms = 2 and Price Between 200000, 250000 and Type = Townhouse. DSTP возвращает таблицу со списком домов, отвечающих заданным критериям.

Кроме того, для получения результатов в определенном формате организации могут использовать формы с модулями расширения ActiveX или Java.

Первый уровень DSTP позволяет динамически просматривать базу данных, второй - выполнять транзакции с базами данных. На этом уровне решается известная проблема взаимодействия с базами данных, связанная с управлением состоянием и транзакциями. Кроме того, здесь поддерживаются обращения к базам данных из любой точки Intranet или Internet. К тому же DSTP дает разработчикам возможность формулировать запрашивать, добавлять и удалять данные из баз данных. В будущем планируется добавить удаленные средства разработки баз данных и инструментарий администрирования.

DSTP взаимодействует непосредственно с программой просмотра или ориентированном на Internet приложением, обходя традиционный интерфейс CGI. Организациям пользователей нет необходимости конструировать, поддерживать или препровождать запросы через сценарии Awk или Perl. DSTP не зависит от языка и поэтому совместим со всеми макроязыками Internet, поддерживающими стандарт ActiveX. Разработчикам элементов управления на языках других типов могут быть предоставлены прикладные интерфейсы для C/C++ на клиентской части.

В это движение включилась и Microsoft. Недавно она выпустила dbWeb, продукт, соединяющий Microsoft Internet Information Server или любой другой API-совместимый сервер Web с любым 32-разрядным драйвером ODBC, а это, в свою очередь, позволяет динамически генерировать страницы Web на основе предварительно созданных шаблонов (см. Рис. 3).

Picture 3 (1x1)

Рисунок 3.
Продукт dbWeb компании Microsoft имеет Schema Wizard, упрощающий определение шаблонов, используемых для представления результатов выполнения запросов.

Инструментарий dbWeb содержит "волшебника" Schema Wizard, возвращающего страницы HTML после ответов на вопросы. "Волшебник" имеет настраиваемые шаблоны, которые можно использовать как в качестве основы для разработки, так и в роли редактора. Данный редактор позволяет непосредственно редактировать документы HTML и гиперссылки.

Этим состав участников состязания, которые предлагают средства, основанные на той же концепции, что и dbWeb, а подчас и совпадающие в деталях, не исчерпывается. IBM, например, выпустила WWW Connection для DB2; компания Sybase предлагает продукт web.sql; Simware, известная, главным образом, продуктами для взаимодействия хост-компьютеров, выпустила систему Salvo в версиях для сервера и для клиента (система расширяет возможности подготовки презентаций в Web за счет прозрачного доступа к приложениям на корпоративных мэйнфреймах и огромному количеству данных, которые в них хранятся).

ПЕРСПЕКТИВЫ

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

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

По прогнозам The Gartner Group, в 1998 году эти сети будут развернуты в более чем 50% крупных предприятий. По результатам исследований Zona Research, продажи программного обеспечения для Intranet вырастут с 142 млн. долларов в 1995 г., до 588 млн. долларов в 1996 г. и 1,2 млрд. долларов в 1997 г.

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


Билл Лазарь - ведущий специалист сервисной группы CenterView Software в Сан-Франциско. Его электронный адрес: blazar@gnn.com.