Т.В. Грачева

dbms@osp.ru


История 26-ти лет развития
Интеграция и открытость
ADABAS - адаптивная многомодельная СУБД
Модели данных ADABAS
Отвечая на вызов времени

С самого начала своей деятельности SOFTWARE AG основное внимание обращала на практику - фактические требования пользователей и результаты практической же работы существующих систем. Не то, чтобы сотрудники компании буквально понимали слова своего великого соотечественника, что "теория ... седоволоса", но то, что "древо жизни зелено всегда" представлялось им абсолютной истиной и много раз подтверждалось той же практикой.

История 26-ти лет развития

1969 год - молодая бригада энтузиастов во главе с Питером Шнелем (Peter Schnell) создает одну из первых коммерческих систем управления базами данных - ADABAS. Удобная модель данных, высокая производительность информационных систем, построенных на ее основе, позволили фирме успешно расти и развиваться в течение первых 10 лет своего существования. Следующий этап - создание еще одного флагманского изделия: языка программирования высокого уровня, названного NATURAL. Это было решение, которое спустя несколько лет получит общее признание как один из первых представителей класса средств или сред разработки четвертого поколения или 4GL. Далее последовал ряд технологических инноваций, каждый раз подкреплявшихся конкретными шагами по их внедрению в практику, в информационные системы. В их числе активный словарь-репозиторий PREDICT, методологии и инструментальные средства инженерной разработки приложений PREDICT CASE, генератор прикладных систем CONSTRUCT.

Конец 80-х, начало 90-х годов - инновации, связанные со средствами визуального программирования и подходами к объектному проектированию систем.

Интеграция и открытость

Чтобы выжить в 90-е годы, организации должны больше, чем когда-либо прежде, признавать и учитывать наличие конкуренции. Решающим фактором успеха при этом будет информация. Без нее нельзя оптимизировать свою деятельность и адаптироваться к новым потребностям рынка.

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

В соответствии с этим в 1987 году SOFTWARE AG объявила о предложении открытой Интегрированной программной архитектуры (ISA-архитектура). Концепции, заложенные в ее основу, служат ориентиром развития изделий Software AG и сегодня.

Если в прошлом оригинальные архитектуры вычислительных систем играли главенствующую роль в коммерческой обработке данных, что неизменно привязывало заказчика к одной программно-технической среде, то появление новых платформ вычислительных машин и операционных систем, таких как UNIX, дало импульс движению в сторону "открытых" архитектур. И хотя некоторые отождествляли только UNIX с понятием "открытой системы", все больше пользователей склоняются к тому, что одного UNIX"а все-таки недостаточно. Это привело SOFTWARE AG в 1990 году к созданию нового семейства продуктов ENTIRE, относящегося к программному обеспечению промежуточного слоя, получившему в современной литературе обобщенное название Middleware.

Семейство продуктов ENTIRE представляется фирмой логическим развитием и продолжением концепций ISA-архитектуры применительно к сетям ЭВМ. Оно обеспечивает техническую инфраструктуру работы приложений в распределенных вычислительных системах за счет создания однородной виртуальной вычислительной среды их функционирования. При этом от прикладной программы, и тем более от пользователя, полностью скрыты такие детали его системы, как используемые коммуникационные протоколы (TCP/IP, SNA, DECnet, SPX/IPX, Banyan, NETBIOS и др.), операционные системы (MVS, VM, VSE, VMS, семейство UNIX, Windows, OS/2 и др.) и системы хранения и управления данными (ADABAS, IMS/DB, DL/1, SQL/DS, VSAM, IDMS, DB/2X, Rdb, RMS, Infornix, Oracle, Sybase, CA-Ingres, Leasy, Sesam, DMS, совместимые с Microsoft/ODBC и др.)

На основе этих продуктов реализуются предлагаемые фирмой программы и технологии перевода существующих приложений для больших ЭВМ на менее мощные (Downsizing) и оптимального согласования мощностей ЭВМ с задачами предприятия (Rightsizing).

Объявив в 1991 году о создании продуктов для рабочих станций клиента, фирме последовательно удалось осуществить современные концепции обработки данных:

  • открытость системы,
  • гибкость,
  • масштабируемость,
  • наращиваемость функций,
  • доступность данных,
  • надежность,
  • мобильность,
  • защита капиталовложений,
  • преемственность,
  • единый образ системы,
  • снижение затрат.

В полном соответствии с идеологией открытости фирма SOFTWARE AG обеспечила функционирование практически всех своих основных изделий на наиболее массовых типах ЭВМ, производимых фирмами IBM, Amdahl, Hitachi, Comparex, NAS, Siemens, DEC, Wang, Hewlett-Packard, Sun и других UNIX-ЭВМ, а также на персональных ЭВМ, совместимых с IBM/PC/PS и Apple Macintosh. Существенно и то, что обеспечивается переносимость разработанных на базе изделий SOFTWARE AG прикладных систем/программ с одного типа ЭВМ на другой. Это достигнуто за счет использования единого языка программирования и средств технологической и проектной оснастки высокого уровня, никак не связанных с особенностями конкретного типа ЭВМ.

Это означает, что изделия фирмы обладают важнейшим свойством открытых систем - они дают заказчику свободу в выборе оборудования и программного обеспечения, причем свободу, в самом широком смысле. С точки же зрения мышления в терминах "открытых систем" основным для SOFTWARE AG является акцент на эволюционные (постепенные), а не революционные изменения вычислительной среды предприятия.

ADABAS - адаптивная многомодельная СУБД

Прежде всего в своем основном продукте - базах данных - SOFTWARE AG никогда не выступала адептом какой-либо одной, можно сказать, какой-либо конкретной модели данных. Компания старалась придать как можно больше гибкости своим продуктам. Свою приверженность идее гибкого адаптивного матобеспечения компания зафиксировала в названии своего ключевого продукта - Adaptable DAta BASe. ADABAS можно использовать для реализации практически любой специфической модели данных.

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

Кроме того, SOFTWARE AG не ограничивает себя работой с одной и только с одной системой управления базами данных. Так, системы обеспечения принятия решений, используемые конечными пользователями, работают в основном с традиционными SQL-базами данных. Хотя при этом поставщики подобных СУБД начинают отдавать себе отчет в том, что трудно представлять живое многообразие предметных областей в виде совокупности простейших двумерных таблиц. Вместе с тем справедливо и другое: конечного пользователя мало заботит, где же, собственно, находятся нужные ему данные. Понимание этого факта нашло отражение в разработке технологии активных подсхем данных, которая в настоящее время реализована не только в виде развитой концепции объединенного хранилища данных или Data Warehouse, но и позволила сформировать на ее основе действующую проектную методологию для создания, сопровождения и использования соответствующих информационных технологий. Мы надеемся более подробно остановиться на этой актуальной теме в следующих публикациях.

Модели данных ADABAS

Большинство продуктов SOFTWARE AG разворачиваются вокруг системы ADABAS (или ADABAS-C). Этот давно известный программистам ADABAS сильно изменился и сейчас представляет собой систему управления сверхбольшими базами данных, которая, в совокупности с рядом дополнительных изделий, существенно расширяющих его возможности, позволяет строить текстовые информационно-поисковые системы, географические и экспертные системы, системы обработки изображений и т.д. Все это многообразие видов информационных систем и технологий становится возможным, потому что ADABAS обеспечивает поддержку следующих моделей (и типов) данных.

Не первая нормальная форма (NF2 - Non-First Normal Form)

Эта модель данных традиционна для ADABAS-а с 1969 года, когда он впервые вышел на рынок систем обработки данных, по ней большинство пользователей и знает эту СУБД.

Традиционная реляционная модель данных

Эта модель соответствует ANSI/ISO стандарту SQL и реализована в виде либо надстройки над ADABAS-C, либо как неотъемлемая часть ADABAS-D (см. ниже).

Модель данных сущность-связь (E/R модель)

В ADABAS-е предусмотрено расширение до модели Entity-Relationship (или E/R модель) для управления сложными структурами данных с высокой степенью связности. Оно поддерживает также рекурсивные структуры данных, что не предвидится в SQL. Объединяя эту модель с другими моделями ADABAS-а, можно строить чрезвычайно мощные интегрированные базы данных и соответственно прикладные системы.

Предпочтительные области для применения этих моделей - системы представления знаний, моделирование поведения сложных технических и биологических систем, расчеты потребностей, планирование материальных ресурсов различного вида и назначения (Bills of Materials). Например, традиционные для последней предметной области проблемы информационного взрыва и управления циклами легко разрешимы в E/R расширении ADABAS-а.

Обработка и управление произвольными текстами

Этот тип данных (и соответствующие средства манипулирования ими) обеспечивает доступ к документам, обрабатываемым ADABAS-ом, как к произвольным текстам. Такой возможностью охотно пользуются те, кому нужно сочетать разного рода обработку текстовых данных со стандартными процедурами ADABAS-а для работы с форматированными данными, например, службы новостей, телекомпании, газеты и журналы, правительственные организации, банки, те, кто до сих пор до 80 и более процентов своей информации имеет и будет иметь в виде так называемых "свободных" или неструктурированных текстов.

Обработка и управление географическими данными

В отличие от традиционных географических (картографических) систем (или GIS), которые используют структуры хранения (реляционные и др.) данных независимо от собственно географической информации, обеспечивая их совместное использование, как правило, только на уровне SQL-интерфейса, подход SOFTWARE AG характеризуется глубокой интеграцией на всех уровнях. Картографическая информация, координатные привязки объектов, форматированные данные и текстовая информация неограниченного объема хранятся в рамках единой БД. В рамках одной программы и даже одного оператора (среда NATURAL) также интегрирована и обработка этой комплексной информации. Важно, что при этом обеспечивается не только высокая производительность геоинформсистем, но за счет поддержания логики транзакций гарантируется целостность и безопасность хранения базы данных и другие ее неотъемлемые характеристики.

Изображения и аудиоинформация

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

Стандарты и интерфейсы

Следуя требованиям практики, SOFTWARE AG вышла за рамки работы только с большими объемами данных, большими машинами и "большими" клиентами. Для систем со средним числом пользователей, которые хотели бы иметь много разнообразных функций и предпочитают рабочие станции на PC и UNIX, разработан сервер базы данных с полностью реляционными характеристиками - ADABAS-D.

Приложения, работающие как с ADABAS-C, так и с ADABAS-D и совместимые через стандарт SQL, можно реализовать на любом языке 3-го поколения или разработать их при помощи NATURAL. Последний, таким образом, является краеугольным камнем любой конструкции, собранной для разработки приложений из продуктов серии Application Engineering.

Эти СУБД, так же как и СУБД других компаний, имеют поддержку программного интерфейса языков манипулирования данными и других промышленных интерфейсов, например, ODBC, DDE и др.

Полностью в духе открытости для обоих вариантов ADABAS-а - ADABAS-C и ADABAS-D обеспечивается поддержка SQL как наиболее распространенного и знакомого пользователям языка манипулирования данными. Реализован текущий стандарт ISO/ANSI Level 2 SQL DML с полной ссылочной целостностью. Эта реализация была сертифицирована американским институтом стандартов и технологий одновременно для больших ЭВМ (IBM/MVS) и UNIX-систем.

Средство предварительной компиляции ADABAS обрабатывает команды SQL, включенные в 3GL, такие как ADA, BAL, COBOL, C, FORTRAN и PL/1. Пользователь может работать с любым диалектом SQL, при этом система выдает предупреждения, если встречается незнакомое сообщение.

В процессоре ADABAS SQL полностью реализован ANSI X3.135 Level 2 (часто называемый SQL 1 и идентичный стандарту ISO 9075 SQL). Он включает в себя множество расширений SOFTWARE AG, которые распадаются на две категории: первые взяты из набросков ANSI SQL, известных больше как SQL2 и SQL3, вторые являются "обходными путями" некоторых произвольных ограничений стандарта ANSI. Примером первых могут служить, например, "прокручиваемые" курсоры. Возможность обновлять курсор, использующий ORDER BY, в ADABAS Standard SQL относится к возможностям второй категории. ADABAS SQL полностью поддерживает также динамический и интерактивный SQL. Сервер ADABAS-D поддерживает также DB2 и Oracle SQL в качестве альтернативных диалектов. Кроме того, диалекты ADABAS SQL имеют поддержку подзапросов, многотабличных объединений и значений NULL.

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

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

Отвечая на вызов времени

У значительной части российской компьютерной общественности, внимательно следящей за развитием событий в мире независимых изготовителей программного обеспечения для открытых систем, сложилось устойчивое представление, что Software AG вообще, а ADABAS в частности, имеет мало общего с общепринятыми ценностями, в разной степени реализованными в продуктах других фирм; что ADABAS концептуально замер на уровне больших ЭВМ, рынок которых постоянно сокращается; что мало просто повторить существующий продукт для большой ЭВМ на общепризнанных платформах открытых систем.

Отвечая на этот вызов не в порядке полемики, хотелось бы отметить те возможности, которые уже реализованы в современных версиях ADABAS.

Поддержка SMP и MPP архитектур

Такой подход к распараллеливанию обработки команд, как мультипотоковая архитектура, был реализован в ADABAS на рубеже 80-х годов, в версии 4. Логическим развитием этого направления стало объявление в конце 1994 года нового продукта ADAPLEX+, поддерживающего SMP-архитектуру IBM на базе новейших продуктов IBM 9672 (Parallel Transaction Server) и IBM 9674 (Coupling Facility). При этом сохранен прежний интерфейс с приложениями. То есть, перенос базы данных в эту среду выполняется незаметно для прикладных систем.

Выпуск такого продукта был бы невозможен без тесного сотрудничества Software AG и IBM. Это сотрудничество для поддержки мультипроцессорных систем продолжает развиваться. Так, в конце 1994 года эти же фирмы объявили о совместном проекте по развитию своих продуктов для платформ SP1 и SP2.

В рамках Европейской программы Esprit две европейские компании Software AG и ICL объявили о сотрудничестве в области поддержки MPP-архитектуры на платформе ICL GOLDRUSH MegaSERVER. Прототип ADABAS"a на MPP-платформе был уже продемонстрирован на выставке CeBIT"95.

Расширения языка манипулирования данными (SQL, ODBC, DDE)

Picture 1

Наряду с поддержкой традиционного (и хорошо известного) языка манипулирования данными, включая поддержку ANSI SQL, Software AG оснастил ADABAS новым языком манипулирования данными в рамках продукта ADABAS ODBC Client в среде Windows. Он обеспечивает прямой доступ к СУБД ADABAS, расположенной на сервере базы данных, из таких популярных продуктов для Windows, как Microsoft ACCESS, EXCEL и VISUAL BASIC, а также Power Builder фирмы Powersoft. ADABAS ODBC Client состоит из двух компонент: ADABAS ODBC и ADABAS DDE Server.

Поскольку в основе ODBC-интерфейса лежит SQL, который соответствует CLI-спецификациям SQL Access Group, а, как уже упоминалось, основная модель данных ADABAS допускает вложенность таблиц, Software AG планирует уже в этом году обеспечить возможность работы с вложенными таблицами, используя ODBC-протокол.

Picture 2

ADABAS DDE Server также обеспечивает прямой доступ к базам данных ADABAS из приложений в среде Windows. В отличие от ODBC приложения обращаются к данным, используя язык манипулирования, практически совпадающий с аналогичными по назначению операторами NATURAL, что обеспечивает полную поддержку основной модели данных ADABAS.

Обработка транзакций (2 PC, XA-стандарт, репликатор)

Логику двухфазной фиксации транзакций, т.е. их синхронного завершения в узлах распределенной базы данных, ADABAS с помощью расширения ADASTAR поддерживает уже давно для платформ больших ЭВМ. Осознавая важность обеспечения целостности баз данных и в мире открытых систем, SOFTWARE AG обеспечила работу своих продуктов в соответствии с концепцией глобальных транзакций, изложенной в X/Open CAE Specification on Distributed Transaction Processing (X/Open Doc. No. XO/CAE/91/300). По мере внедрения интерфейсов открытых систем на платформы традиционных больших ЭВМ (IBM) планируется обеспечение поддержки указанной концепции и на этих платформах.

В то же время компания давно поняла необходимость поиска альтернативных решений, менее зависящих от качества сетевых коммуникаций. Еще в середине 80-х годов, реализуя большую территориально распределенную сеть в Италии, фирма нашла решение, которое потом в 1992 году было оформлено в изделие ENTIRE TRANSACTION PROPAGATOR. Аналогичные изделия сегодня называются репликаторами данных. Отличие репликатора SOFTWARE AG состоит в том, что он работает на всех платформах серверов ADABAS, начиная от OS/2, через UNIX и OpenVMS и до больших ЭВМ.