Вы находитесь на странице: 1из 286

ТЮМЕНСКАЯ НЕФТЯНАЯ КОМПАНИЯ

P

r ic w

К

a Ie r h o u s e Q

o p e r s

.

Р.

і

о га ло вски й

М

m

Научный редактор серии Лугачев М. И.

Серия «ИТ-Экономика»

Москва

УДК

004.6

 

32.81

К57

К57

Когаловский М. Р. Перспективные технологии информационных систем. —М.: ДМК Пресс. —288 с.

ISBN 5-94074-200-9

Эта книга призвана способствовать формированию у читателя общего кругозора в области современных информационных сис­ тем, представлений о важнейших информационных технологиях, на которых они базируются, об их главных достижениях и совре­ менном состоянии, о перспективах дальнейшего развития. В книге рассматриваются общие свойства информационных систем, обсуждаются состояние и перспективы развития техноло­ гий баз данных, текстового поиска, а также Web-технологий. Осо­ бое внимание уделяется новым архитектурным подходам, вопро­ сам моделирования предметной области, проблемам интеграции информационных ресурсов, возможностям технологической плат­ формы Web нового поколения, основанной на языке XML. Для студентов, аспирантов и преподавателей вузов, слушате­ лей учебных курсов по информационным системам, а также спе­ циалистов в области разработки и исследования информационных систем.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.

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

с этим издательство не несет ответственности за возможные ошибки, связанные

с использованием книги.

ISBN 5-94074-200-9

©

©

©

Когаловский М. Р. Компания АйТи Оформление, издание ДМК Пресс

П р е д и с л о в и е С Ю Т ю
П
р
е
д
и
с
л
о
в
и
е
С
Ю
Т
ю
м
е
н
с
к
о
й
н
е
ф
т
я
н
о
й
к
о
м
п
а
н
и
и
5
П
р
е
д
и
с
л
о
в
и
е
о
т
к
о
м
п
а
н
и
и
H
e w
l
e
t
t -
P
a c k
a r d
7
В
в
е
д
е
н
и
е
9
Г
л
а
в
а
1
.
И
н
ф
о
р
м
а
ц
и
о
н
н
ы
е
с
и
с
т
е
м
ы
и
их
ф
у
н
к
ц
и
и
1 2

1.1. Что такое информационная система

12

1.2. Моделирование реальности в информационных системах

22

1.3. Функции информационных систем

28

1.4. Разновидности информационных систем

40

1.5. Общие тенденции развития информационных систем

48

к главе 1

59

2 .

6

2

2.1. Общая оценка состояния

62

2.2. Архитектурные подходы

72

2.3. Объектные базы данных

82

2.4. От реляционных баз данных к объектно-реляционным

94

2.5. Интеграция средств текстового поиска в СУБД

105

2.6. XML-ориентированные базы данных

106

2.7. Системы поддержки принятия решений

108

2.8. Очень большие базы данных

117

2.9. Вызовы времени и перспективы

119

к главе 2

124

3 .

1

3

0

3.7. поиск и базы данных

130

133

139

150

156

160

162

^

I

Перспективные технологии информационных систем

3.9. 175 Литература Перспективы систем текстового поиска к главе 3
3.9.
175
Литература
Перспективы систем текстового поиска
к главе 3
178
Г
л
а
в
а
4 .
Т
е
х
н
о
л
о
г
и
и
W
e b
н
о
в
о
г
о
п
о
к
о
л
е
н
и
я
1
8
3
4.1. Предпосылки создания платформы XML
184
4.2. Радикальные перемены в Web
189
4.3. Организация и функции платформы XML
193
4.4. Расширяемость языка и платформы XML
201
4.5. Преемственность с технологиями HTML
204
4.6. Моделирование данных XML
206
4.7. Метаданные и семантика XML-документов
210
4.8. Семантический Web
212
4.9. Сферы применения стандартов XML
216
4.10. XML-ориентированные базы данных
221
231
Литература
4.11. Перспективы платформы XML
к главе 4
232
З
а
к
л
ю
ч
е
н
и
е
2
4
1
Г
л
о
с
с
а
р
и
й
2
4
2
П
р
е
д
м
е
т
н
ы
й
у
к
а
з
а
т
е
л
ь
2
7
4

Современный мир переживает бум развития и применения корпора­ тивных информационных систем (КИС) и ERP-систем. Подготовка и принятие решений в среде ERP-систем стало естественным факто­ ром в конкурентной борьбе компаний: крупные холдинги, функциони­ рующие в соответствии с мировыми стандартами, обязаны опираться

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

В нефтяном бизнесе конкуренция может быть самая жестокая — мы

обязаны работать на очень высоком уровне подготовки и принятия ре­ шений с использованием последних достижений в области информаци­ онных технологий. Высокая конкурентоспособность компаний, в том числе и нашей ТНК, не может быть обеспечена только иностранными специалистами. Как воздух нужны молодые российские таланты, блес­ тяще сочетающие глубокие знания и широкий кругозор в экономике, ин­ формационных системах и математике. Совместный проект МГУ и АйТи, названный «ИТ-экономика», служит как раз этой благородной цели — созданию методического фундамента для подготовки специалистов ново­ го комплексного профиля. Ежегодно в ТНК устраиваются на работу выпускники МГУ, про­ ходят практику, участвуют во внедрении современных информацион­ ных систем бакалавры и магистры экономического факультета МГУ. Таким образом, мы участвуем в подготовке нужных нам специалистов. Жизнь научила нас больше рассчитывать на собственные силы даже в деле выращивания квалифицированных кадров. Для нас поддержка совместного проекта «ИТ-экономика» — это и честь, и насущная жиз­ ненная необходимость.

M IL Перспективные технологии информационных систем

Желаю успеха этому проекту, и пусть изданные в его рамках учебные курсы и книги помогут появиться в России новому поколению талант­ ливых специалистов в области экономики и применения корпоративных информационных систем.

Александр Блох, корпоративный управляющий информационными технологиями (СЮ) ОАО ТНК

[}iE W

L E T T -[P / Z e m

^ iD )

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

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

и имеющие широкий кругозор в области перспективных технологий ин­

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

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

и результатов, связанных с ИТ, делает рынок в целом более надежным

и предсказуемым. Во-вторых, более рациональное и прозрачное при­

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

M IL Перспективные технологии информационных систем

В заключение хочу пожелать проекту удачи. Надеюсь, что создавае­ мые в его рамках курсы и книги будут способствовать подготовке нового поколения специалистов в области экономики ИТ, которые, в свою оче­ редь, придадут новое качество рынку ИТ в России.

Горюнов Павел, директор Хьюлетт-Паккард Консалтинг Россия и СНГ

Эта книга подготовлена на основе конспектов лекционных курсов, ко­ торые читались автором на протяжении последних 15 лет для студен­ тов бакалавриата и магистратуры экономического факультета МГУ. В ней используются также материалы отечественной и зарубежной периодики, ряда монографических изданий, результаты исследований

и публикаций автора, труды крупных научно-технических конферен­

ций, посвященных проблематике информационных систем, специфи­ кации стандартов информационных технологий. Цель книги —способствовать формированию у читателя общего кру­

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

и иметь представление о возможностях каждого из них, о целесообраз­

ных сферах их использования и «точках их соприкосновения». Базовые технологии информационных систем в процессе своего раз­ вития стали довольно разветвленными, затрагивают разнообразные сто­ роны создания и функционирования систем. Поэтому их изучение —до­ вольно сложная задача. Положение осложняется тем, что, к сожалению, отсутствуют какие-либо доступные издания, в которых эти технологии рассматривались бы совмес­ тно и комплексно с единых позиций. Мало выпускается литературы фунда­

ментального характера. В последнее время издан ряд переводов глубоких монографий по тех­ нологиям баз данных. Выпускаются книги по различным аспектам

4

Перспективные технологии информационных систем

і

И

приложений технологий Web. Однако практически отсутствуют публика­ ции, которые бы давали читателю концептуальное представление о клю­

чевых идеях технологий Web, их достоинствах и ограничениях, о предпосыл­ ках создания технологической платформы Web нового поколения, которая

в настоящее время разрабатывается усилиями большого отряда специ­

алистов, о ее возможностях и перспективах. Синтезировать целостную картину положения дел в технологиях Web на основе документации мно­ гих десятков стандартов, разрабатываемых консорциумом W3C, под силу

не каждому. Что касается систем текстового поиска, то основательных изданий, посвященных их проблематике, выпускалось на русском языке крайне мало. В отечественную классику, безусловно, вошла широко известная монография Михайлова А.И., Черного А.И. и Гиляровского Р.С. «Осно­ вы информатики» (1968, издательство «Наука»), Главным систематичес­ ким источником информации о технологиях текстового поиска, пожалуй, остаются переводы всемирно известных монографий Дж. Сэлтона, вы­ пущенные еще в 70—80-е годы. В них обсуждаются результаты новатор­ ских исследовательских проектов, выполненных под его руководством

в 60-е годы, которые надолго определили пути развития систем тексто­

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

Введение

информационной системы. В этой главе достаточно подробно обсужда­ ются проблемы моделирования реальности в информационных системах, различные типы используемых моделей и их особенности. Описываются основные функции и причины разнообразия информационных систем, а также общие тенденции их развития, знание которых позволит чита­ телю получить представление о передовых достижениях в рассматри­ ваемой области и о системах будущего. Три остальные главы книги посвящены обсуждению состояния, новых достижений, перспектив и некоторых важных областей применения базо­ вых технологий информационных систем и свойств систем, на них осно­ ванных. При этом уделяется внимание архитектурным аспектам систем, моделированию данных, роли и месту объектных технологий, проблемам интеграции информационных ресурсов и интеграции различных техно­ логий, а также возможностям объектных баз данных, текстового поиска в базах данных и в Web, XML-ориентированных баз данных и др. Кроме того, рассматриваются важнейшие стандарты технологий информацион­ ных систем. Все разделы книги снабжены вопросами для самопроверки, а каждая ее глава завершается списком использованной литературы. Приложение содержит детальный глоссарий используемых в книге терминов. Автор выражает искреннюю благодарность Лугачеву М.И., заведующему кафедрой экономической информатики экономического факультета МГУ, за его инициативу по созданию серии «ИТ-экономика», за внимание к этой работе и ее поддержку. Хотелось бы поблагодарить также компании ТНК, Hewlett-Packard и Price Waterhouse Coopers за поддержку проекта «ИТ-экономика» и издания этой книги.

Глава

М

Ш

Ь

У

Н

К

Ц

І

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

1.1. Что ТАКОЕ ИНФОРМАЦИОННАЯ СИСТЕМА

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

Что такое информационная система

сущностей реального мира и протекающих процессов, соответствующие моментам времени, когда эти измерения производятся. В других случаях удается воспользоваться «материализованной» ин­ формацией, содержащейся в различного рода бумажных документах, от­ четах или публикациях, которые также выступают как часть реальности. Требуемую информацию можно извлечь из них путем своего рода «на­ блюдения». Однако некоторые натурные измерения или наблюдения могут ока­ заться неосуществимыми в отведенное для них время в связи с большой трудоемкостью, высокой стоимостью, недоступностью объекта измере­ ния (наблюдения) и по другим причинам. Значительно сократить объем необходимых натурных измерений поз­ воляет компьютерное моделирование реальности. Если компьютер­ ная модель адекватно (относительно информационных потребностей пользователей) отражает состояние и динамику реальности, то многие необходимые сведения можно получать с помощью такой модели, избе­ гая тем самым натурных измерений, с существенно меньшими затратами времени, а возможно, и при более низкой стоимости. Именно для подде­ ржки таких моделей служит специальный класс систем обработки дан­ ных — автоматизированные информационные системы. Заметим, что в ряде публикаций их называют более привычным для современного читателя термином —компьютерные информационные системы. Определение понятия «информационная система». Авт омат изи­ рованной информационной системой называется комплекс, включа­ ющий вычислительное и коммуникационное оборудование, программное обеспечение, лингвистические средства и информационные ресурсы, а также системный персонал и обеспечивающий поддержку динами­ ческой информационной модели некоторой части реального мира для удовлетворения информационных потребностей пользователей. Часть реального мира, которая моделируется информационной систе­ мой, называется ее предметной областью. Под динамической моделью здесь понимается изменяемость моде­ ли во времени. Это «живая», действующая модель, в которой отобра­ жаются изменения, происходящие в предметной области. Такая система должна обладать памятью, позволяющей ей сохранять не только сведе­ ния о текущем состоянии предметной области, но и в некоторых случа­ ях предысторию. Поскольку модель предметной области, поддерживаемая информа­ ционной системой, материализуется в форме организованных необходи­ мым образом информационных ресурсов, она называется информаци­ онной моделью.

Информационные системы и их функции

Автоматизированная информационная система не всегда функциониру­ ет самостоятельно. Она может входить в качестве компонента (подсисте­ мы) в более сложную систему, такую, например, как система управления торговой компанией, САПР или система управления производством. Информационные системы уже многие десятки и даже сотни лет су­ ществуют и используются на практике в форме различного рода карто­ тек и/или коллекций бумажных документов. Однако в таких системах от­ сутствует какая-либо автоматизация обработки данных. Они позволяют лишь регистрировать и поддерживать в систематизированной форме на бумажных носителях результаты произведенных натурных измерений. Поскольку в данной работе обсуждаются только автомат изирован­ ные информационные системы, то есть системы, основанные на исполь­ зовании средств вычислительной техники и программного обеспечения, бу­ дем далее опускать для краткости прилагательное «автоматизированная». Приведенное выше определение охватывает информационные сис­ темы всех видов, в частности фактографические системы, которые ос­ нованы на технологиях баз данных и оперируют структурированными данными, системы текстового поиска, оперирующие документами на ес­ тественных языках, глобальную гипермедийную информационную систе­ му Web и др. По этой причине в определении используется обобщенный термин информационные ресурсы. Частными его случаями являются данные для систем баз данных, документы для систем текстового по­ иска, HTML-страницы или XML-документы [12, 10, 17] для Web и т.д. Нужно, однако, заметить, что на более низких уровнях представле­ ния (в памяти компьютеров, при передаче по каналам связи и т.д.) ин­ формационные ресурсы независимо от их природы и формы представле­ ния рассматриваются как хранимые или передаваемые данные. Термин «данные» часто используется по отношению к информационным ресур­ сам любого рода. Отсутствие общепринятого определения. Важный факт состоит в том, что единого устоявшегося и общепринятого определения понятия «инфор­ мационная система» в настоящее время не существует, да и вряд ли оно может существовать. Дело в том, что в зависимости от необходимости в разных случаях используются разные точки зрения на такой сложный продукт высоких технологий, каким являются современные информаци­ онные системы. Так, специалисты по системному проектированию трак­ туют понятие информационная система более широко, чем комплекс, о котором идет речь в нашем определении. При этом в состав информа­ ционной системы включаются, например, организационно-методические и технологические документы.

Что такое информационная система J

l

l

l

^

Проблемы, связанные с нечеткостью определения понятия «инфор­ мационная система», вовсе не являются настолько безобидными, как это могло бы показаться. Например, в области системного проектирования и стандартов, касающихся этого вида деятельности [5, 6], вопрос о чет­ ком определении понятия информационной системы является особенно злободневным. От ответа на него зависит, в частности, что же следует считать результатом проектирования. Приведем определение информационной системы, заимствованное

в одном из наиболее авторитетных международных научных журналов

в рассматриваемой области — «Information Systems», выпускаемом

с 1975 года крупным английским издательством Pergamon Press. Р е­ дакционная коллегия журнала определяет информационные системы как «аппаратно-программные системы, которые поддерживают прило­ жения с интенсивной обработкой данных (Data-Intensive Applications)». В этом определении акцентируется внимание на весьма важном, но лишь единственном аспекте информационных систем. Заметим, что приложе­ ние информационной системы понимается здесь как надстройка над информационной системой, обеспечивающая решение некоторого комп­ лекса задач в интересах какой-либо сферы деятельности. Большинство опубликованных определений информационной систе­ мы (см., например, [7]) трактует это понятие с функциональной точки зрения, а именно как «систему, предназначенную для сбора, передачи, обработки, хранения и выдачи информации потребителям и состоя­ щую из следующих основных компонентов: программное обеспечение; информационное обеспечение; технические средства; обслуживающий персонал». При этом остается в стороне направленность этих функций, цель, для достижения которой они осуществляются. В отличие от многих других публикаций, в приведенном определении делается акцент на главном назначении информационных систем, а не на их функциях и ресурсах, которые они не используют. Поддержка ди­ намической информационной модели предметной области — это то общее, что свойственно любой информационной системе независимо от характера информационных ресурсов, которыми она оперирует, и, сле­ довательно, от информационных технологий, на которых она основана. Именно такой подход является наиболее продуктивным в данной ра­ боте, поскольку хотелось бы с единых позиций рассмотреть здесь базо­ вые направления технологий современных информационных систем — технологии баз данных, систем текстового поиска, технологии Web. Следствия общности определения. В силу того, что широкораспро­ страненные определения информационной системы формулируются

&©MIIL Информационные системы и их функции

излишне общо или недостаточно полно, к категории информацион­ ных систем часто относят многие системы обработки данных, кото­ рые не только поддерживают информационную модель предметной области, но и позволяют решать на ее основе некоторые классы за­ дач управленческого, исследовательского, конструкторского или иного характера. По сути дела, такая система представляет собой уже не инфор­ мационную систему, а информационную систему вместе с приложением. В эту категорию попадают, например, так называемые корпоративные информационные системы, которые более естественно было бы назы­ вать системами управления корпорациями, или системы планирования ресурсов предприятия ERP (Enterprise Resources Planning Systems) [9]. Четкую границу между такими системами и информационной системой в определенном здесь смысле провести практически невозможно. Ситуация усугубляется еще и тем, что специалисты в разных облас­ тях, не являясь профессионалами в области информационных систем, часто полагаются на кажущийся интуитивно ясным смысл понятия «ин­ формационная система» и в результате весьма вольно с ним обращают­ ся, как и с другими «заезженными» терминами. Так обстоит дело, на­ пример, с термином база данных. Часто базой данных называют любую совокупность данных, независимо от того, идет ли разговор в контексте технологий баз данных. Граница между системой базы данных и приложением. Частным слу­ чаем указанной выше терминологической проблемы является вопрос о границе между системой базы данных и ее приложением. Традиционно система базы данных понимается как СУБД с уп­ равляемой ею базой данных, возможно, уже наполненной. В неко­ торых не очень частых случаях система базы данных бывает само­ достаточной. Функциональные возможности пользовательских интерфейсов СУБД способны полностью удовлетворять информаци­ онные потребности пользователей. Однако во многих случаях дело обстоит совсем не так, и необходи­ мо создавать приложение. Приложение системы базы данных, в соот­ ветствии с приведенным выше определением приложения информацион­ ной системы, это надстройка над системой базы данных, представляющая собой комплекс средств прикладного программного обеспечения, кото­ рый служит для решения каких-либо задач на основе этой системы. Приложение с помощью интерфейсов прикладного программирования (Application Programming Interface, API) СУБД получает доступ к базе данных и использует содержащиеся в ней данные для решения необходи­ мых пользователям задач.

Что такое информационная система Ж

Ш

П

Таким образом, прикладная система, основанная на технологиях баз данных, представляет собой совокупность системы базы данных и прило­ жения. Граница между ними четко определена —это интерфейсы при­ кладного программирования СУБД. Но ситуация изменилась во второй половине 90-х годов, когда SQL-серверы баз данных стали обеспечивать некоторые возможности интеграции приложения и системы базы данных с помощью триг­ геров, хранимых процедур и внешних программ. Появилась, таким об­ разом, возможность встраивать различные процедурные элементы при­ ложения в систему базы данных. Соответствующие дополнения были приняты к стандарту языка SQL. Но в ситуации, когда приложение включает такие интегрированные компоненты, четкой границы между ним и системой базы данных уже не существует. Ресурсы информационных систем. Информационные системы ис­ пользуют ресурсы нескольких категорий — средства вычислитель­ ной техники, системное и прикладное программное обеспечение, ин­ формационные, лингвистические и человеческие ресурсы. Кроме того, хотя об этом не говорится в известных определениях автоматизирован­ ных информационных систем, но подразумевается как само собой разу­ меющееся, для функционирования системы необходимы и другие ресур­ сы —помещения, их техническое оснащение, всевозможная оргтехника, электроснабжение и т.д. В этой книге они не рассматриваются, поскольку не имеют непосредственного отношения к информационным технологиям. Информационные системы могут базироваться на различных аппа­ ратных платформах — персональных компьютерах, мейнфреймах, суперкомпьютерах и других вычислительных системах. Они могут ис­ пользовать отдельные компьютеры или вычислительные системы либо вычислительные сети различного масштаба —от локальной до глобаль­ ной сети. В информационных системах могут использоваться наряду с универсальными также и специализированные компьютеры, например так называемые машины баз данных, аппаратным путем реализующие некоторые функции реляционной алгебры. Коммуникационное оборудование в информационных системах обеспечивает взаимодействие компонентов распределенных систем, на­ пример обмен данными между компьютерами сети, а также удаленный доступ пользователей к ресурсам системы. К числу коммуникационных ресурсов относятся выделенные или коммутируемые проводные и бес­ проводные каналы связи, различное сетевое оборудование, а также устройства приема-передачи информации, например телефонные или радиомодемы, антенные устройства.

a

m

Информационные системы и их функции

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

О представления информационных ресурсов в системе;

О описания их свойств и свойств окружающей среды, позволяющего системе адекватно интерпретировать поддерживаемые информацион­ ные ресурсы;

О обеспечения взаимодействия пользователей с системой.

В общем случае к числу лингвистических ресурсов относятся те или иные естественные или искусственные языки, а также средства их ли н ­ гвистической поддержки — словари лексики естественных языков, те­ заурусы предметной области (см. раздел 3.3), переводные словари и др. Следует отметить, что тезаурусы играют в информационных систе­ мах двоякую роль. С одной стороны, это средство лингвистической подде­ ржки используемого в системе естественного языка. Поэтому он должен

Что такое информационная системаЛ1Ю

быть отнесен к категории лингвистических ресурсов. Вместе с тем теза­ урус используется как контекст для интерпретации семантики поддержи­ ваемых в системе документов, представленных на естественном языке. В связи с этим правомерно также считать тезаурус информационным ре­ сурсом системы. Используемый в конкретных случаях набор лингвистических ресурсов системы зависит от требований, предъявляемых к ней. Информационные ресурсы системы составляют главный компонент модели предметной области, которую система поддерживает. Они явля­ ются вместе с тем «сырьем» и «конечным продуктом» работы информа­ ционной системы. Конкретный вид информационных ресурсов зависит от характера системы. Важно заметить, что в любой информационной системе поддержива­ ется две категории информационных ресурсов. Ресурсы первой катего­ рии непосредственно используются конечными пользователями систе­ мы. Ресурсы второй категории можно было бы назвать метаресурсами. Описывая свойства ресурсов первой категории, они позволяют системе корректно оперировать ими. Как уже отмечалось, ресурсы первой кате­ гории часто называют данными независимо от среды их представления (изображения, текстовые документы, аудиозаписи и т.д.), а метаресурсы — метаданными. Используя эту терминологию, можно сказать, что метаданные — это данные о данных. Однако фактически метаданные могут описывать свойс­ тва не только собственно данных, но и информационной системы в целом, отдельных ее механизмов и их функций, других ее ресурсов, поддерживае­ мых технологий, пользователей и т.д. Конкретные функции метаданных и их состав в значительной мере зависят от специфики рассматриваемой сис­ темы и характера конкретных информационных ресурсов. Уместно вспомнить, что данные в информационной системе представ­ ляют собой некоторую абстрактную модель реальности. Рассмат­ ривая соотношение между данными и метаданными, можно сказать, что метаданные —это данные более высокого уровня абстракции по отноше­ нию к описываемым ими данным. В некоторых случаях метаданные сами являются предметом интере­ са пользователей, разработчиков системы или ее исследователей, ста­ новясь тем самым частью моделируемой реальности. Описывающие их метаданные естественно назвать метаметаданными. Подобного рода иерархия абстракций может иметь любое число уровней. В таких случаях может идти речь не только о моделях реальности, но и о метамоделях, ме­ таметамоделях и т.д. Одним из примеров ситуации, где приходится иметь

■IIIL Информационные системы и их функции

дело с метаметамоделями, могут служить спецификации стандарта CWM представления метаданных хранилищ данных, который был разработан консорциумом OMG [10]. Необходимая степень формализованное™ представления метадан­ ных в информационной системе зависит от характера их использования. Метаданные, предназначенные для компьютерного использования, пред­ ставляются в формализованном виде. Если же они предназначены для пользователей, то чаще всего представляются на естественном языке. Вернемся теперь к информационным ресурсам информационных сис­ тем различных классов. В системах, основанных на технологиях баз данных, поддержива­ ются структурированные данные, организованные в виде таблиц или каких-либо иных структур данных. К информационным ресурсам систем баз данных относятся также и схемы баз данных. В таких системах они относятся к категории метаданных. В текстовых системах информационные ресурсы включают коллекции документов, представленных на естественных языках. Это информаци­ онные ресурсы для конечных пользователей. Кроме того, поддерживают­ ся метаданные —тезаурусы, спецификации онтологий (см. разделы 3.3, 4.8) и т.п., которые являются информационными ресурсами, используе­ мыми самой системой. Пользовательские информационные ресурсы в Web Web-сайтов, ресурсы «скрытого» Web — базы данных, а также различ­

ные доступные пользователям Web-документы, представленные в форма­ тах, отличных от HTML. В Web нового поколения (см. главу 4) к инфор­ мационным ресурсам, кроме того, относятся не только представленные на

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

— это страницы

описыва­

&

Что такое информационная системаж

т

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

В

о

п

р

о

с

ы

д

л

я

с

а

м

о

п

р

о

в

е

р

к

и

1. Какие автоматизированные системы обработки данных называются информационными системами?

2. Для каких целей создаются информационные системы?

3. В чем заключается главное назначение информационных систем?

4. Как называется часть реального мира, моделируемая информаци­ онной системой?

5. Какие преимущества информационные системы обеспечивают поль­ зователям?

6. С какой целью в предложенном здесь определении информацион­ ной системы используется термин «информационные ресурсы»?

7. С помощью каких функций информационные системы выполняют свое назначение?

8. К каким последствиям приводит отсутствие общепринятого опреде­ ления информационной системы?

Информационные системы и их функции

10. Где проходит граница между системой баз данных и приложением?

11. Какие ресурсы используют информационные системы?

12. Что такое системное программное обеспечение?

13. Какие виды прикладного программного обеспечения используются в информационных системах?

14. Для каких целей используются коммуникационные ресурсы?

15. Какие виды коммуникационных ресурсов применяются в информа­ ционных системах?

16. Какие средства относятся к числу лингвистических ресурсов инфор­ мационных систем?

17. На какие категории можно разделить информационные ресурсы ин­ формационных систем?

18. Какова роль метаданных в информационной системе?

19. Какие информационные ресурсы поддерживаются в информацион­ ных системах различных классов?

20. Как трактуется понятие «пользователь информационной системы»?

21. Корректен литермин «специализированная информационная сис­ тема»?

1 .2 . М о д е л и р о в а н и
1 .2 .
М
о
д
е
л
и
р
о
в
а
н
и
е
р
е
а
л
ь
н
о
с
т
и
в
и
н
ф
о
р
м
а
ц
и
о
н
н
ы
х
с
и
с
т
е
м
а
х

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

Моделирование реальности в информационных системахJIIII

предметной области, характеризуя ее текущее состояние. Темпоральные базы данных позволяют представлять динамику предметной области — изменение ее состояния во времени. Следует заметить, что с элементами коллекции информационных ре­ сурсов, представляющих статическую модель предметной области, могут ассоциироваться некоторые отметки времени, но эти временные харак­ теристики могут воспринимать только пользователи. Системные меха­ низмы оперировать ими не способны. Такие отметки времени принято называть временем, определяемым пользователем. Например, доку­ менты в системе текстового поиска могут быть датированными. Но сис­ тема воспринимает указанную дату как обычный фрагмент текста. Точно так же, как обстоит дело с характеристиками времени, во всех распространенных классах моделей, за исключением объектных, инфор­ мационные ресурсы не моделируют поведенческие аспекты предметной области. Эта функция выполняется компонентами приложения инфор­ мационной системы. В таких случаях приложение фактически интегри­ руется с информационной системой, и трудно провести разделяющие их границы. Природа моделей предметной области, поддерживаемых в инфор­ мационных системах, может быть различной. С технологической точ­ ки зрения наиболее существенны различия подходов к моделированию предметной области по степени структурированности ее пред­ ставлений, которую они обеспечивают. Используемые в настоящее время подходы к моделированию предмет­ ной области в информационных системах охватывают следующий спектр возможностей. Структурированные модели. Модели такого рода основаны на выяв­ лении регулярной структуры предметной области. Для конструирова­ ния таких моделей нужно типизировать сущности предметной области, относя к одному типу сущности с одинаковым набором свойств. Анало­ гичным образом типизируются связи между сущностями. Связи определя­ ются на множествах типов сущностей и могут иметь различную арность. Например, связи могут быть бинарными или η-арными. Представление предметной области, сконструированное с помощью рассматриваемого подхода, также называется структурированным. Одной из разновидностей рассматриваемого подхода к моделирова­ нию предметной области является объектный (или объектно-ориенти- рованный) подход, который дает возможность моделировать не только структуру предметной области, но и поведение экземпляров сущностей, относящихся к каждому определенному типу. С этой целью определение

■Ill Информационные системы и их функции

каждого типа сущностей включает определения допустимых на его эк- земплярах операций (или методов). При использовании структурированных моделей представление пред­ метной области имеет два уровня [23]. Представление более высокого отображающая ее свойства, инвариантные во времени. Эта модель представляется в терминах типов сущностей предметной области и типов связей между ними. Такую модель называют интенсионалом предметной об­ ласти. Второй, более конкретный уровень, моделирует состояние пред­ метной области в зависимости от времени. Модель этого уровня пред­ ставляется в терминах конкретных экземпляров сущностей и связей определенных типов между ними. Эту модель называют экстенсиона- лом предметной области. На структурированных моделях предметной области с регулярной структурой основаны системы баз данных. В этом случае интенсионал предметной области называют схемой базы данных. Естественно назы­ вать информационные ресурсы систем баз данных структурирован­ ными данными. Технологии баз данных обсуждаются во второй главе книги. Слабоструктурированные модели. При создании некоторых инфор­ мационных систем применяется подход к моделированию предметной об­ ласти, при котором регулярная ее структура не определена или она не существует в рассматриваемом случае. Такой подход используется, например, в системах, основанных на различного рода языках разметки. В рассматриваемом подходе не предусматривается строгая типизация сущностей предметной области и связей между сущностями. Представ­ ление предметной области обычно является одноуровневым. Поддержи­ вается экстенсионал предметной области — ее представление в терми­ нах конкретных экземпляров сущностей и связей между ними. Иногда предпринимается попытка некоторой типизации сущностей и связей. Но не гарантируется, что свойства типов обязательно присущи всем от­ носящимся к ним экземплярам. Определенный в таком случае интен­ сионал, по аналогии с системами баз данных иногда называемый схе­ мой, не играет директивной роли. Конкретные экземпляры сущностей и связей, свойства которых не соответствуют схеме, системой не отвер­ гаются. Такого рода представления предметной области называют слабо­ структурированными. Информационные ресурсы систем, основан­ ных на рассматриваемом подходе, называют слабоструктурирован­ ными данными.

уровня абстракции — это модель предметной области,

Моделирование реальности в информационных системах

Наиболее известной информационной системой, в которой поддержи­ вается слабоструктурированное представление предметной области, яв­ ляется глобальная распределенная гипермедийная информационная система World Wide Web (далее — Web), базирующаяся на технологи­ ях HTML. Формирующийся в настоящее время Web нового поколения, основан­ ный на технологической платформе XML, позволяет поддерживать не только слабоструктурированные, но и структурированные представле­ ния предметной области [11] (см. также раздел 4.6). Формальные модели. Такие модели связаны с подходом к моделиро­ ванию предметной области информационной системы, основанным на использовании формальных языков. Как и в случае структурированных моделей, здесь определена регулярная структура предметной об­ ласт и , но для модельного ее представления используются формальные языки [22]. Формальное представление предметной области, как и в слу­ чае структурированных моделей, является двухуровневым. Оно включа­ ет интенсионал и экстенсионал предметной области. Интенсионал пред­ ставляет собой набор аксиом, описывающий соотношения между его элементами —типами сущностей и связей. В данном контексте они пред­ ставляются как предметные переменные. Экстенсионал предметной области представляется в данном случае в виде совокупности фактов. Для создания формальных моделей обычно используются различные языки представления знаний, чаще всего языки логики первого поряд­ ка. В последнее время стала применяться их разновидность —языки л о ­ гик описаний [26] (см. также раздел 4.8). Рассматриваемый подход позволяет осуществлять логический вывод, и пользователь может получать при обращении к системе новые факты, которые непосредственно в явном виде в ней не были представлены. Такие интеллектуальные информационные системы являются представителями класса систем, основанных на знаниях. Они весьма близки по своим воз­ можностям к системам баз знаний, экспертным системам и т.д. Неструктурированные модели. К этой категории относятся вербаль­ ные модели, то есть модели, описывающие реальность в виде текстов на естественном языке. В таких моделях явным образом не представляется структура предметной области —множество сущностей, их свойств, раз­ личного рода связей между этими сущностями, интересующих пользо­ вателей системы. Эта структура может быть реконструирована на осно­ ве анализа содержания заданных текстов, однако не всегда однозначным образом. Автоматизация такого анализа —достаточно сложная задача,

I

I

I

L

■ Информационные системы и их функции

связанная с технологиями обработки естественного языка (Natural Language Processing). Существует широкий спектр информационных систем, поддержива­ ющих неструктурированные модели предметной области. В простейших из них задачи анализа и понимания естественного языка возлагаются на пользователя. В продвинутых системах большая часть нагрузки, связан­ ной с решением этих задач, возлагается на систему. Здесь уместно вспомнить об интенсионале предметной области. В систе­ мах рассматриваемого класса он может быть материализован в форме теза­ уруса, описания онтологии предметной области и других инструментов, ко­ торые относятся к средствам лингвистической поддержки системы (см. раздел 1.3). В простейших системах он явно не представлен в системе и ей не доступен. Он существует только в интеллектуальном багаже пользователя. Что касается упоминавшихся продвинутых систем, то их возможности по работе с содержанием поддерживаемых в системе доку­ ментов основаны именно на интенсиональной модели предметной облас­ ти, явным образом представленной в системе. Представления предметной области в вербальных моделях можно на­ звать неструктурированными. Информационные ресурсы таких сис­ тем часто называют неструктурированными данными. К числу ин­ формационных систем, использующих вербальные модели предметной области, относятся системы текстового поиска [16, 18]. Обсужде­ нию таких систем посвящена третья глава этой книги. Модели данных. Как можно будет убедиться в последующих главах этой книги, принятый разработчиком информационной системы подход к моделированию предметной области существенным образом влияет на ис­ пользуемые в ней информационные технологии и инструменты разработки. Для создания структурированных и слабоструктурированных пред­ ставлений предметной области и выполнения операций в терминах таких представлений служат разнообразные реализованные в программных средствах инструменты моделирования, которые называют моделя­ ми данных [13, 23]. Концепция модели данных родилась в области баз данных и приобре­ ла в ней фундаментальное значение. Не случайно за работы в этой облас­ ти одной из самых престижных наград в информатике —Тьюринговской премии — были удостоены в разное время идеолог сетевой модели дан­ ных CODASYL Чарльз Бахман (Charles Bachman, 1973) и создатель ре­ ляционной модели Эдгар Кодд (Edgar Codd, 1981). Устарелая трактовка интерпретирует модель данных как структуру конкретной базы данных, и она до сих пор встречается в литературе.

Моделирование реальности в информационных системах

В использовании понятия «модель данных» все еще продолжает иметь

место путаница между инструментами и результатами моделирования.

В современном понимании модель данных — это не результат, а инс­

трумент моделирования, то есть совокупность правил структурирования данных, допустимых операций над ними и видов ограничений целостнос­ ти, которым они должны удовлетворять. Если перефразировать это опре­ деление для случая объектного подхода, то можно сказать, что модель дан­ ных —это некоторая система типов данных [4]. Как мы уже видели, в информационных системах приходится иметь дело с моделями различных уровней абстракции. С этой точки зрения можно рассматривать модель данных как метамодель для описания ин­ тенсиональных моделей предметной области в среде выбранной СУБД или других средств управления данными. Операционные средства моде­ ли данных используются для выполнения различных операций над эле­ ментами экстенсиональной модели предметной области — экземпляра­

ми данных и связей между ними в базе данных или для формулировки запросов.

В системах базы данных интенсиональная модель предметной области,

выраженная с помощью дескриптивных средств модели данных, которая реализована в используемой СУБД, называется схемой базы данных. Именно на основе той или иной модели данных конструируются ме­ ханизмы управления данными каждой СУБД. Они реализуют вопло­ щающий концепции этой модели комплекс языковых средств опреде­ ления данных и манипулирования данными, а также языков запросов. Понятие «модель данных» применяется не только в технологиях баз данных, но и в различных других направлениях технологий управ­ ления данными. В последние годы оно стало активно, хотя пока и в не­ сколько ущербном виде, использоваться в спецификациях стандартов новой технологической платформы Web, основанной на языке XML (см. главу 4). Материализация моделей предметной области. Возникает естест­ венный вопрос, в каком виде «материализуются» модели предметной об­ ласти в информационных системах. Экстенсиональные модели материа­ лизуются в виде совокупности информационных ресурсов системы. Что же касается интенсиональных моделей, то они материализуются средс­ твами метаданных в виде некоторой спецификации на языке определе­ ния данных, формальном языке и т.д., в зависимости от класса системы. Кроме того, в текстовых системах некоторые элементы интенсиональных моделей материализуются в виде средств лингвистической поддержки — тезаурусов, лексических словарей и др.

■ ■ Ill Информационные системы и их функции

 

1.

Какую роль играют информационные ресурсы в моделировании предметной области информационных систем?

2.

Какие разновидности моделей предметной области поддерживают информационные системы?

3.

Какова специфика моделей предметной области с регулярной струк­ турой?

4.

Какие информационные системы имеют дело со структурированны­ ми моделями предметной области?

5.

Как можно охарактеризовать слабоструктурированные модели?

6.

Приведите пример информационной системы, поддерживающей слабоструктурированные модели предметной области.

7.

Какие возможности обеспечивают модели предметной области ин­ формационной системы, основанные на формальных языках?

8.

Как можно квалифицировать информационные системы, в которых

 

для описания моделей предметной области используются формаль­ ные языки?

 

9.

В чем заключаются особенности вербальных моделей?

10.

Информационные системы какого класса используют неструктури­ рованные модели предметной области?

11.

Что можно сказать об интенсиональной модели предметной области в системах, поддерживающих вербальные представления предмет­ ной области?

12.

Что такое модель данных?

 

13.

В каком виде материализуются модели предметной области?

1 .3 .

Ф

у

н

к

ц

и

и

и

н

ф

о

р

м

а

ц

и

о

н

н

ы

х

с

и

с

т

е

м

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

1

1

@

Функции информационных систем Л

(для простоты здесь рассматривается только статическая часть модели), а также обработка запросов пользователей. Сбор и регистрация информационных ресурсов. Эти функции обеспечивают «фотографирование» предметной области, формирова­ ние и поддержку на этой основе модели предметной области экстенси­ онального уровня. Для выполнения этих функций проводятся работы как вне програм­ мно-аппаратного комплекса системы (в [3] он называется ком плек­ сом средств авт ом ат изации ), так и непосредственно в его среде. Способы реализации указанных функций зависят от характера используе­ мых источников информации, в качестве которых могут служить: сущности и процессы в предметной области системы, различного рода автоматизиро­ ванные технические системы, другие информационные системы, всевозмож­ ные данные на бумажных или электронных носителях и т.п. Функции сбора и регистрации информационных ресурсов могут сов­ мещаться во времени или выполняться последовательно. Возможны раз­ личные варианты их осуществления, например:

<> путем измерений (наблюдений) фактов в реальном мире и ввода дан­ ных в систему вручную с помощью клавиатуры и/или каких-либо ма­ нипуляторов;

О полуавт омат ически путем ввода в компьютер с некоторых носи­ телей и в случае необходимости их оцифровки (например, при ис­ пользовании текстов на бумажных носителях или аналоговых ау­ диозаписей);

О автоматически с помощью различного рода датчиков или обмена данными с другими автоматизированными системами.

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

■IIIL Информационные системы и их функции

В результате фильтрации производится отбор нужных данных из множества имеющихся в распоряжении. Верификация данных обеспе­ чивает достоверность и логическую целостность данных. Проверка до­ стоверности данных — это содержательная процедура, которая поз­ воляет установить, адекватно ли характеризуют состояние предметной области собранные для ввода в информационную систему информаци­ онные ресурсы. Эта процедура, к сожалению, не может быть в полной мере формализована. Поэтому она в значительной мере возлагается на системный персонал и привлекаемых к этой работе экспертов. В систе­ мах баз данных за достоверность данных ответственен администратор данных. Проверка логической целостности данных может осущест­ вляться на стадии предварительной их обработки, а также непосредс­ твенно при вводе в систему. Для этих целей в системах баз данных могут, в частности, использоваться механизмы СУБД, специально предназна­ ченные для проверки ограничений целостности, которые были объявле­ ны в схеме базы данных. Такая проверка осуществляется при обновлении состояния базы данных. Проверку целостности XML-документов может выполнять Web-браузер при условии, если для этого документа задано описание типа документов (DTD, см. раздел 4.7). Выбор конкретных ме­ тодов обеспечения верификации данных зависит от характера их источ­ ников, качества данных, видов ограничений целостности и т.п. В некоторых информационных системах информационные ресурсы хранятся в сжатом виде. Сжатие данных осуществляется с целью ми­ нимизации ресурсов памяти, необходимых для их хранения, а также для снижения затрат на передачу данных по коммуникационным каналам. Та­ кой подход часто используется в различных репозиториях информацион­ ных ресурсов с файловой организацией среды хранения. Механизмы сре­ ды хранения данных некоторых СУБД включают встроенные средства, обеспечивающие сжатие отдельных значений данных, кортежей, доме­ нов значений атрибутов и т.д., сжатие индексных файлов, резервных ко­ пий базы данных. Для рационального использования ресурсов памяти в некоторых классах систем, например в системах управления докумен­ тами, документы подразделяются на активные и архивные. Хранение ар­ хивных документов осуществляется в сжатых форматах. Конвертирование данных при вводе в систему используется для преобразования данных из одного формата в другой, допускающий авто­ матизированный импорт их в информационную систему. Конвертирова­ ние данных часто необходимо в случаях, когда источником данных явля­ ется некоторая другая система.

Функции информационных систем

Е

а

Хранение информационных ресурсов. Эта функция информацион­ ных систем связана с необходимостью управления двумя видами ресур­ сов —ресурсами хранимых данных и ресурсами памяти. Требования к этим функциям различаются в разных классах информационных сис­ тем. Рассмотрим, каким же образом организованы хранение информа­ ционных ресурсов и доступ к ним в наиболее распространенных классах информационных систем. В системах текстового поиска каждый документ хранится обычно в от­ дельном файле. Доступ к документам осуществляется с помощью струк­ тур данных, называемых индексами. Индексы в системах текстового по­ иска позволяют определять адрес размещения нужного файла по так называемым индексирующим свойствам хранящегося в нем докумен­ та — по значениям каких-либо атрибутов, ассоциированных с докумен­ том, по содержащимся в нем словам или словосочетаниям и т.п. При этом единицей доступа является полный документ. Управление памятью осуществляется в таких системах средствами компонента операционной системы компьютера, называемого файловой системой или системой управления файлами. Индексы документов в системах текстового по­ иска организуются в виде так называемых инвертированных списков. Для каждого значения индексирующего свойства документов в таких индек­ сах поддерживаются адреса или идентификаторы файлов, их содержащих. Файловая организация хранения информационных ресурсов исполь­ зуется также в действующей версии Web, основанной на технологиях HTML. Здесь каждая HTML-страница представлена в общем случае

в виде совокупности файлов. Главный из них — это основной структу­ рообразующий файл данной страницы. Он имеет формат HTML. Кро­ ме того, в отдельных файлах представлены встроенные изображения и другие компоненты страницы, на которые имеются ссылки в ее глав­ ном файле. Доступ к страницам Web осуществляется непосредственно по их уникальным «адресам» в Web, называемым URL (Universal Resource Locator) [10], либо с использованием навигации по гиперссылкам. Еди­ ницей доступа здесь является полная страница Web, хотя при навигации очередная гиперссылка может указывать только на фрагмент страницы. Функции управления ресурсами памяти, служащими для хранения ре­ сурсов Web, возлагаются на операционные системы тех компьютеров сети, которые содержат используемые страницы. Нужно заметить, что в связи с интенсивным ростом объемов инфор­ мационных ресурсов Web навигационный доступ к требуемым ресур­ сам стал неэффективным. Пользователям Web обычно известно лишь

Информационные системы и их функции

ограниченное количество URL интересующих их страниц Web. Поэто­ му он в сравнительно небольшом числе случаев может воспользоваться прямым доступом к информационным ресурсам Web. Вот почему стали создаваться приложения Web, называемые поиско­ выми машинами. Поисковая машина с некоторой периодичностью про­ сматривает страницы закрепленной за ней группы Web-сайтов и строит либо актуализирует полнотекстовые индексы для этих страниц (см. раз­ дел 3.3). На этой основе осуществляется обработка пользовательских запросов так, как это делается в системах текстового поиска. Подробнее этот вопрос обсуждается в разделе 3.8. Более тонкую организацию имеют механизмы управления хранением данных и пространством памяти в информационных системах, основан­ ных на технологиях баз данных. Причины заключаются в том, что в сис­ темах баз данных используются более сложные структуры данных, тре­ буется значительно более мелкая гранулярность доступа к ресурсам, более динамичный характер имеют хранимые данные. Управление хранимыми данными в системах баз данных включает поддержку структуры хранимых данных, их размещение в пространстве памяти, поддержку физической целостности и обеспечение эффективно­ го доступа к ним. Чаще всего используются прямой и последовательный доступ к единицам информационных ресурсов в каком-либо определен­ ном порядке. Прямой доступ осуществляется по известным значениям некоторых свойств (ключей) единиц информационных ресурсов. Для этой цели ис­ пользуются вспомогательные хранимые структуры данных, обеспечива­ ющие отображение ключей в адреса размещения соответствующих еди­ ниц информационных ресурсов, например строк таблиц в реляционных базах данных. Чаще всего в качестве таких вспомогательных структур используются эффективно организованные индексы и хеш-таблицы [15, 19]. Индексные структуры , организованные в виде деревьев специаль­ ных видов, обеспечивают быстрый поиск с помощью навигации в этих деревьях по коротким цепочкам указателей и, возможно, ограниченного перебора. Существует большое многообразие способов построения ин­ дексов. Хеш-таблицы , в отличие от индексов, обеспечивают определение ад­ реса размещения искомой (или размещаемой) единицы информацион­ ных ресурсов не путем навигации в индексной структуре, а с помощью вычисления некоторой функции отображения ключа в адрес. Значе­ ния этой функции представляют собой случайные числа, равномерно

Функции информационных систем

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

■Ill Информационные системы и их функции

состояния предметной области. Требуется актуализировать модель. Для этой цели нужно актуализировать информационные ресурсы системы. Актуализация информационных ресурсов системы заключается в приве­

дении их в соответствие текущему состоянию предметной области системы. В реляционных системах баз данных эта задача сводится к включению

обновлению значений столбцов в некоторых строках. В случаях, когда изменяется структура предметной области системы, актуализация информационных ресурсов заключается в изменении схемы базы данных —добавлении или удале­ нии столбцов таблиц, существующих в базе данных, к созданию новых и/или удалению существующих таблиц и т.д. В системах текстового поиска актуализация информационных ресур­ сов чаще всего осуществляется путем ввода в систему новых или (реже) удаления существующих документов. При актуализации Web-сайта в состав его ресурсов включаются но­ вые или удаляются существующие страницы, модифицируются гипер­ ссылки, связывающие страницы данного сайта и, возможно, страницы других сайтов, редактируется содержание существующих страниц. Из приведенных примеров нетрудно видеть, что характер изменений, происходящих в предметной области и моделируемых в информацион­ ной системе, может быть различным. В одних случаях изменяются зна­ чения свойств принадлежащих ей сущностей и связей. В более сложных случаях изменяются структура предметной области и/или ее поведенчес­ кие свойства. Соответственно, разную природу имеют и процессы актуа­ лизации информационных ресурсов. Так, в системах баз данных в случаях первого рода изменяются значения данных, а при изменениях структуры предметной области изменяется схема базы данных. Используя ранее введенные термины, можно сказать, что актуализа­ ция модели предметной области, поддерживаемой информационной сис­ темой, может касаться как интенсионального, так и экстенсионального представления предметной области в системе. Актуализация информационных ресурсов в информационных систе­ мах производится дискретно, через определенные интервалы времени. Поэтому адекватность состояния модели предметной области и ее состо­ яния в реальности обеспечивается с временным лагом , величина кото­ рого равна продолжительности указанных интервалов. Величина лага может изменяться для разных систем в довольно широком диапазоне времени и зависит от назначения системы и особенностей ее предмет­ ной области. В информационных системах, входящих в состав систем управления сложными техническими объектами, например в системе

и/или удалению строк в таблицах базы данных,

Функции информационных систем

управления космическими полетами, лаг измеряется в миллисекундах. В корпоративных информационных системах он может составлять ми­ нуты и часы. В некоторых исследовательских экономических системах возможен лаг, составляющий дни, месяцы, кварталы и годы. Для того чтобы информационная система соответствовала своему на­ значению, важно соблюдать установленный для нее регламент актуали­ зации информационных ресурсов. Обработка информационных ресурсов. Некоторые информационные системы способны предоставлять пользователям только информационные ре­ сурсы, ранее введенные в систему и хранящиеся в ней без какой-либо трансформации. Такая ситуация чаще всего встречается в системах текс­ тового поиска, которые выдают пользователю документы, удовлетворя­ ющие условиям запроса. В то же время системы баз данных способ­ ны продуцировать данные, производные от ранее введенных в систему и хранимых в базе данных. Достаточно упомянуть весьма развитое средс­ тво, предусмотренное для этих целей в реляционных СУБД, —механизм поддержки представлений данных (View). Продуцирование производных данных обеспечивается также в Web-сайтах с динамической генерацией страниц. Существуют текстовые информационные системы, позволяю­ щие генерировать для хранимых документов их рефераты. Возможность обработки информационных ресурсов, поддерживаемых в информационных системах, предусмотрена в приведенном ранее опре­ делении информационной системы. Она предусматривается и в отечес­ твенном стандарте терминологии по автоматизированным системам [3]. При этом характер и содержание обеспечиваемой информационными системами обработки представленных в них информационных ресурсов не уточняется и не регламентируется для того, чтобы определение име­ ло достаточно общий характер и позволяло бы охватить представитель­ ное множество систем. Однако побочным эффектом такой общности определения является отнесение к этой категории многочисленных систем обработки данных, обладающих «памятью» и имеющих некоторое достаточно четко выра­ женное прикладное функциональное назначение, выходящее за рамки непосредственного назначения информационных систем. Существуют информационные системы, не только самостоятельно функционирую­ щие, но и входящие в качестве функционального компонента в различ­ ные более сложные системы. Примерами могут служить системы управ­ ления крупными компаниями, которые решают большие комплексы задач, связанных с обеспечением жизнедеятельности компаний. Такие системы используют информационную систему как составную часть. Но вместе

I

I

I

L

■ Информационные системы и их функции

с тем они включают и крупные функциональные компоненты, использу­ ющие информационные ресурсы информационной системы для решения специфических задач системы —бухгалтерский учет, обработка заказов, управление запасами, планирование производства и т.п. Квалификация этих систем как корпоративных информационных систем представляется неубедительной. Фактически мы имеем здесь дело с объединением инфор­ мационной системы и ее приложения. Такую объединенную систему за ру­ бежом принято называть Management Information System (MIS) —управ­ ленческой информационной системой. Нужно заметить, что обработка информационных ресурсов в инфор­ мационных системах не сводится лишь к продуцированию производной информации. Обработка осуществляется и для выполнения ряда систем­ ных функций, например для проверки ограничений целостности, для по­ иска в индексах, словарях и т.п. Предоставление информационныхресурсов пользователям. Поддержка в информационной системе информационных ресурсов, позволяющих моде­ лировать состояние и поведение предметной области, конечно же, не яв­ ляется самоцелью. Это делается для удовлетворения информационных потребностей пользователей. Предоставление информационных ресурсов пользователям информа­ ционной системы может осуществляться с помощью pull-технологий и/или push-технологий. В первом случае предполагается, что инициатором предоставления информационных ресурсов является пользователь, а во втором — сама система, в соответствии с определенным регламентом и для определен­ ного круга пользователей. Для предоставления информационных ресурсов по инициативе поль­ зователя в информационной системе предусматриваются пользователь­ ские интерфейсы — средства взаимодействия пользователей с системой. Характер пользовательских интерфейсов и их функции зависят от категории пользователей системы. Пользовательский интерфейс в общем случае включает интерфейс­ ные технические средства, язык или языки интерфейса, программные средства, поддерживающие функционирование интерфейсного оборудо­ вания и языков интерфейса. Как уже указывалось выше (раздел 1.1), предполагается, что сущест­ вует две категории пользователей информационных систем:

О конечные пользователи — специалисты в предметной области сис­ темы, обычно осуществляющие доступ к ее информационным ресур­ сам в интерактивном режиме;

Функции информационных систем Щшт

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

Технические средства интерфейса конечного пользователя могут вклю­ чать периферийное оборудование ввода-вывода компьютера (клавиатура, мышь или другие манипуляторы, средства виртуальной реальности), мо­

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

В простейшем случае информационные потребности конечных поль­

зователей регламентированы, известен их перечень. Иногда они зависят от каких-либо параметров, например даты, названия продукта, фамилии покупателя. Таких пользователей способен удовлетворить так называе­

мый «кнопочный» интерфейс. Каждому виду запросов в таком интер­ фейсе соответствует некоторая клавиша клавиатуры или альтернати­ ва показываемого на экране меню. Нажатие соответствующей клавиши или выбор нужной альтернативы в меню приводит к выдаче пользовате­ лю интересующих его информационных ресурсов.

В большинстве случаев, однако, информационные потребности ко­

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

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

О интерфейсы командной строки;

О интерфейсы, основанные на языках четвертого поколения (4GL, 4th Generation Language).

В первом случае для ввода сообщений и команд в систему служит язык

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

языки.

■ ■ Ill Информационные системы и их функции

Естественные языки запросов обычно используются в системах текстового поиска и в поисковых машинах действующей версии Web. Некоторые такие системы имеют мультиязыковой интерфейс — за­ просы могут формулироваться на одном из естественных языков из за­ данного набора. Искусственные языки запросов применяются в системах, основан­ ных на технологиях баз данных, а также в Web нового поколения и его приложениях. В настоящее время, как правило, используются непроце­ дурные декларативные языки запросов. Языки четвертого поколения не являются языками в привыч­ ном смысле. Это пользовательские интерфейсы, которые обеспечивают ввод в систему сообщений с помощью выбора подходящих альтернатив в меню, ввода параметров через окна экранных форм, применения раз­ личных возможностей графического пользовательского интерфейса. Тер­ мин «язык четвертого поколения» был предложен американским спе­ циалистом по системам обработки данных Джеймсом Мартином (James Martin). Пользователи системы — компоненты прикладного программного обеспечения —осуществляют доступ к ресурсам данной системы с помо­ щью интерфейсов прикладного программирования (API, Application Programming Interface). Средства таких интерфейсов можно применять только в программах, создаваемых с помощью систем программирова­ ния, на которые эти интерфейсы рассчитаны. Доступ пользователей к ресурсам системы возможен только в преде­ лах предоставленных им полномочий, которые обычно проверяются сис­ темными механизмами при попытках доступа. Наделение пользователей необходимыми полномочиями — функция системного администра­ тора. Некоторые системы предоставляют свободный доступ к опреде­ ленным ресурсам. Так, например, обстоит дело со многими Web-сайтами. Рассмотрим теперь случай использования push-технологии для пре­ доставления информационных ресурсов пользователям. Такая техноло­ гия широко применяется в последние годы для распространения раз­ личного рода информации среди пользователей Internet. С этой целью стандартное сообщение рассылается по списку рассылки всем пользова­ телям, в нем зарегистрированным. По этому принципу функционируют многочисленные телеконференции в Internet. Таким же образом органи­ зовано информирование пользователей некоторых электронных библи­ отек о поступлении новых документов в библиотеку. Однако, к сожале­ нию, регистрация в списке рассылки осуществляется не всегда с учетом согласия пользователя. Одним из прибыльных сфер бизнеса в Internet

Функции информационных систем JIIH

стало коллекционирование действующих адресов пользователей сети. Базы данных, содержащие миллионы адресов, поставляются всем жела­ ющим за скромную плату. Такие базы данных охотно приобретаются не­ добросовестными рекламными службами коммерческих компаний, кото­ рые используют их для бездумной рассылки своей рекламы. Это привело к огромному росту трафика в Internet, к резкому снижению удельного веса полезной информации в потоках передаваемых в Internet сообщений. Другие функции. Выше были рассмотрены основные функции ин­ формационной системы, видимые пользователю. Однако они не ис­ черпывают всех существенных ее функций. Ряд из них возлагается на персонал системы и на ее программное обеспечение. К ним, в част­ ности, относятся:

О управление распределенными информационными ресурсами, напри­ мер фрагментация баз данных, тиражирование данных, синхрониза­ ция копий;

О защита физической целостности информационных ресурсов и их вос­ становление при разрушениях;

О обеспечение информационной безопасности в системе; О
О
обеспечение информационной безопасности в системе;
О
управление метаданными;
О
администрирование информационными ресурсами;
О
обеспечение адаптации системы к изменениям требований к ней и к из­
менениям в предметной области.
В
о
п
р
о
с
ы
д
л
я
с
а
м
о
п
р
о
в
е
р
к
и

1. Какие задачи решаются в информационной системе при выполне­ нии функции сбора и регистрации информационных ресурсов?

2. Каким образом могут осуществляться эти функции?

3. В каких видах информационных систем используется файловая ор­ ганизация хранения информационных ресурсов?

4. Как организована среда хранения данных в системах баз данных?

5. Какую роль играют индексы в информационных системах?

6. Как производится доступ к информационным ресурсам в системах текстового поиска?

7. Что является единицей доступа в Web?

4Х®1

Информационные системы и их функции

9.

Какие задачи решают механизмы управления ресурсами памяти в ин­ формационных системах?

10.

Какие способы доступа к данным обеспечивают реляционные и унаследованные СУБД?

11.

Для чего необходима актуализация информационных ресурсов в ин­ формационных системах?

12.

Какие процедуры осуществляются для актуализации информацион­ ных ресурсов в информационных системах разных классов?

13.

Какие технологии предоставления информационных ресурсов поль­ зователям применяются в информационных системах?

14.

В чем заключается смысл pull-технологии и push-технологии?

15.

Из каких элементов состоит пользовательский интерфейс инфор­ мационной системы?

16.

Какие интерфейсы для конечных пользователей предусматривают­ ся в информационных системах?

17.

Какие интерфейсы используются прикладным программным обес­ печением для доступа к информационным ресурсам системы?

18.

Приведите примеры системных функций информационной системы.

1 .4 .

Р

а

з

н

о

в

и

д

н

о

с

т

и

и

н

ф

о

р

м

а

ц

и

о

н

н

ы

х

с

и

с

т

е

м

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

Разновидности информационных систем

информационных систем, сопровождаемых краткими комментариями. Каждый элемент этого списка может быть положен в основу классифи­ кации информационных систем. Предметная область системы. Информационные системы применяют­ ся в настоящее время во многих областях деятельности. Специфика конк­ ретной предметной области существенно влияет на требования к системе. Например, к информационной системе, используемой в управлении крупной компанией или в контуре управления сложной технической системы реального времени, должны предъявляться несравнимо бо­ лее высокие требования по обеспечению надежности функционирова­ ния, чем, например, к системе, используемой в учебном процессе. Вид поддерживаемых информационных ресурсов. Другой важной характеристикой информационной системы является вид поддерживае­ мых информационных ресурсов. От него существенным образом зависит выбор базовых информационных технологий для разработки информа­ ционной системы. Действительно, в случае использования структуриро­ ванных данных система будет строиться на основе технологий баз дан­ ных. Если система должна оперировать документами на естественных языках, то в зависимости от требований к ней могут применяться гипер­ текстовые технологии Web, технологии текстового поиска, технологии баз данных и т.д. При необходимости поддержки XML-документов могут использоваться технологии Web или технологии XML-ориентированных баз данных. Выбор одного из альтернативных вариантов определяется другими характеристиками системы. Функции обработки информационных ресурсов. Информационная система может обеспечивать широкий спектр возможностей по обработ­ ке поддерживаемых в ней информационных ресурсов. Например, систе­ ма текстового поиска может обеспечивать только поиск документов по запросам. Другие текстовые информационные системы могут дополни­ тельно генерировать аннотации документов, осуществлять их классифи­ кацию или кластеризацию и т.д. Система, основанная на технологиях баз данных, может, например, генерировать агрегированные данные, как это делается в хранилищах данных, или осуществлять только выборку дан­ ных из базы данных либо их обновление. Системы, в которых осущест­ вляется только поиск и выборка информационных ресурсов, имеют бо­ лее простые механизмы управления доступом и средой хранения. Горизонт моделирования предметной области. Эту характеристику информационных систем нужно учитывать в системах, основанных на технологиях баз данных, где различия возможных подходов приводят к необходимости использования совершенно разных средств управления

i

i

Информационные системы и их функции

ш

данными. В текстовых системах и в Web временной аспект реальности не имеет значения с точки зрения выбора инструментария информацион­ ных технологий. Значения времени в таких системах могут выступать как индексирующие свойства и как элементы критерия поиска запра­ шиваемых пользователем информационных ресурсов наравне с дру­ гими их свойствами. Обратимся теперь к системам, основанным на технологиях баз дан­ ных. В одних системах могут поддерживаться только данные, характе­ ризующие в каждый момент времени текущее состояние предмет­ ной области (ее моментальный снимок). Именно такой подход реализуют традиционные системы баз данных. Другие системы могут поддерживать с некоторой дискретностью по времени исторические данные, характе­ ризующие изменения, происходившие в предметной области. В послед­ нем случае следует использовать технологии темпоральных баз данных. Среда хранения информационных ресурсов. Разнообразие инфор­ мационных систем определяется, в частности, и возможностями исполь­ зования различных способов организации среды хранения. Могут приме­ няться различные устройства внешней памяти, например стационарные магнитные диски, устройства третичной памяти на компактных магнито­ оптических дисках. Специфический подход, который стал реализоваться в последние годы, предусматривает поддержку базы данных на стадии ис­ полнения в оперативной памяти. Часто в информационных системах ис­ пользуют иерархии памятей. Могут применяться также разнообразные методы индексирования информационных ресурсов. Объем информационных ресурсов. Объем информационных ресур­ сов информационных систем может изменяться в очень широком диа­ пазоне — от десятков и сотен килобайтов в персональных базах данных до десятков петабайтов в очень больших базах данных (см. раздел 2.8). Объем информационных ресурсов Web также близок к измеряемому в петабайтах. Существуют и крупные системы текстового поиска. Со­ вершенно ясно, что при большом объеме данных требуются иные мето­ ды организации хранения данных и методы доступа, чем в случае с неболь­ шими объемами. В очень больших базах данных используются, естественно, особые методы обеспечения физической целостности данных. Динамика информационных ресурсов. Степень динамичности ин­ формационных ресурсов системы оказывает существенное влияние на характер механизмов управления средой хранения, обеспечения физи­ ческой и логической их целостности. Действительно, наряду с традиционной для систем баз данных ди­ намичностью состояния базы данных на практике часто встречаются

^

Разновидности информационных систем т

ш

случаи, когда данные в системе не обновляются. Это имеет место, на­ пример, в некоторых научных базах данных по свойствам материалов, в базах данных коллекций флоры и фауны, результатов научных эк­ спериментов, во многих статистических базах данных. Для таких баз данных можно использовать простейшие способы поддержки физичес­ кой целостности данных путем создания нескольких их копий. В этих случаях не требуются сложные механизмы управления транзакция­ ми, составляющие одну из наиболее важных и сложных функциональ­ ных частей традиционных СУБД. Поэтому для доступа к таким ста­ тическим базам данных часто не используют коммерческие СУБД, а создают простые специализированные «оболочки», которые распро­ страняются вместе с базой данных на компакт-дисках. Такой подход, естественно, невозможен в динамичной системе базы данных, когда одновременно к данным осуществляют доступ многие пользователи, часть из которых не только читает данные, но и обновляет их. Примером может служить система резервирования железнодорож­ ных билетов. В системах такого рода для управления данными необходи­ мы полноценные функционально развитые СУБД. Состав лингвистических ресурсов системы. Эта характеристика от­ носится прежде всего к текстовым информационным системам. В них могут поддерживаться различные лингвистические ресурсы в зависи­ мости от функций системы и используемой техники работы с текста­ ми. Так, в системах текстового поиска обычно поддерживаются словари лексики естественных языков. Что касается тезауруса предметной об­ ласти, то он может использоваться или не использоваться. В соответс­ твии с этим система обладает или не обладает некоторыми дополнитель­ ными возможностями, повышающими эффективность поиска требуемых пользователю документов. Например, на основе тезауруса может произ­ водиться расширение пользовательских запросов (см. раздел 3.5). Архитектура системы. Информационные системы могут различать­ ся своими архитектурными характеристиками. Разнообразие имеющих­ ся в этой области возможностей демонстрируют архитектурные подхо­ ды, рассмотренные в разделе 2.2 применительно к системам баз данных. На самом деле эти подходы применимы и к большинству информацион­ ных систем других видов. Это утверждение относится к любому из аспек­ тов архитектуры —к функциональной, пространственной, информацион­ ной архитектуре. С точки зрения пространственной архитектуры любая информацион­ ная система может быть сосредоточенной или распределенной; послед­ няя может иметь мобильную архитектуру. Функциональная архитектура

H I I L Информационные системы и их функции

Ί ΐ

системы может основываться на принципе «клиент-сервер», быть одно­ ранговой (Peer-to-Peer) или какой-либо иной. Информационные системы могут обладать также различными видами информационной архитектуры. Регламент обслуживания пользователей. Разнообразие информаци­ онных систем связано также с принятым в них регламентом обслужива­ ния пользователей. Некоторые системы могут обслуживать пользовате­ лей только во время заранее запланированных сеансов работы. В других системах обслуживается поток случайных запросов пользователей в лю­ бое время. Расписание функционирования системы. Система может функцио­ нировать только по объявленному заранее расписанию, круглосуточно в течение всего года или в какие-либо иные периоды времени. Непре­ рывное круглосуточное функционирование системы — наиболее слож­ ный случай. Для обеспечения такого режима работы система должна обладать резервными ресурсами оборудования на случай отказов. В сис­ темах баз данных, функционирующих по такому расписанию, применя­ ются специальные меры по обеспечению физической целостности дан­ ных. Например, поддерживается дублирующая копия базы данных на до­ полнительном «зеркальном» диске. Способы доступа к системе. Пользователям информационных сис­ тем могут предоставляться различные способы доступа —терминальный доступ, доступ через локальную сеть, интерактивный теледоступ в среде Web, доступ по электронной почте и т.д. Ограничения доступа к системе. Информационные системы могут различаться принятой политикой доступа пользователей к их ресурсам. Существуют системы со свободным доступом для любого пользователя, системы, которые обслуживают только зарегистрированных пользова­ телей, а также персональные системы для единственного пользователя. В некоторых системах реализован комбинированный подход. Часть их ресурсов свободно доступна. Доступ к другой части ресурсов предостав­ ляется только зарегистрированным пользователям, наделенным необхо­ димыми полномочиями. Этот вариант реализован, например, на некото­ рых Web-сайтах. Поддерживаемые стандарты информационных технологий. И с­ пользуемые базовые информационные технологии и поддерживаемые стандарты не являются независимыми характеристиками системы. Их выбор в значительной мере определяется другими характеристиками, в частности рассмотренными выше. Выбор технологий и стандартов на стадии разработки системы —стра­ тегическое решение, существенным образом определяющее ее судьбу.

Разновидности информационных систем J

I

I

V

От него зависит успех применения системы, срок ее жизни, возможнос­ ти реинжиниринга, переход впоследствии на новые более прогрессивные технологии. Компетентные разработчики крупных информационных систем ори­ ентируются на стандарты открытых систем [14, 21]. Так называют системы, способные развиваться за счет технических и/или програм­ которые не зависят от их произ­ водителя благодаря удовлетворению требований ряда международных и индустриальных стандартов. Важное достоинство использования стан­ дартов открытых систем состоит в том, что они обеспечивают инт еро­ перабельность программных средств различных поставщиков, то есть совместное их использование в рамках единой системы. Стандартизация информационных технологий играет огромную роль в разработках информационных систем. Следование соответствующим стандартам позволяет обеспечить интероперабельность как систем­ ных компонентов, так и различных взаимодействующих систем, меж- платформенную мобильность программного обеспечения, мобильность приложений и данных в технологиях баз данных, интеграцию распреде­ ленных гипермедийных информационных ресурсов в единой глобальной гипермедийной информационной системе Web и т.д. Существование во многих областях альтернативных стандартов созда­ ет проблемы выбора и формирования профиля системы [21] —набора совместимых стандартов, которым система должна соответствовать. Пользовательские интерфейсы. О разнообразии пользовательских интерфейсов в информационных системах уже шла речь в разделе 1.3. Следует лишь добавить, что во многих текстовых информационных сис­ темах интерфейс конечного пользователя основан на естественном язы­ ке. Часть таких систем поддерживает мультиязыковой интерфейс. Это означает, что пользователь может вводить запросы на различных языках, получать документы и системные сообщения, представленные на разных языках, выбирать при обращении к системе язык пользовательского ин­ терфейса. Программно-аппаратная платформа. Информационная система мо­ жет базироваться на различных программно-аппаратных платформах. В настоящее время инструментальные программные средства разработ­ ки информационных систем поставляются для большинства выпускае­ мых программно-аппаратных платформ. Тем самым они не ограничива­ ют возможностей выбора платформы. Коммуникационное оборудование. Возможности информационных систем, обеспечивающих теледоступ для конечных пользователей, в том

мных средств на основе технологий,

4<Ш

Информационные системы и их функции

числе распределенных систем, зависят от характеристик используемого телекоммуникационного оборудования. Например, доступ пользователя в Web с помощью телефонного модема совершенно не равноценен досту­ пу по выделенной линии как по надежности коммуникаций, так и по ско­ ростным характеристикам. Доступ по беспроводным каналам обладает иными характеристиками, чем доступ по проводным каналам стационар­ ной части сети в распределенной системе. Состав программного обеспечения. В настоящее время сложился высококонкурентный рынок программного обеспечения различного на­ значения, в том числе и для создания информационных систем. Какие программные продукты следует использовать в системе? Ответ на этот вопрос является весьма серьезным решением. Существуют многочис­ ленные альтернативные варианты, и нужно оценить перспективы раз­ личных программных продуктов, степень их соответствия выбранным стандартам информационных технологий, сопоставить их функциональ­ ные возможности, а также достоинства и недостатки. Опытный эксперт может определить многие характеристики системы, зная об использо­ ванных в ней программных продуктах. Некоторые функции информационной системы могут поддерживаться средствами типового прикладного программного обеспечения. Исполь­ зование программных продуктов, поддерживающих такие функции, из­ бавляет от необходимости разрабатывать для этих целей специализиро­ ванное программное обеспечение. Например, если в информационной системе необходимо оперировать данными из базы данных и вместе с тем осуществлять текстовый поиск в коллекции хранимых в ней документов, то естественно использовать в такой системе СУБД, которая обеспечи­ вает возможности текстового поиска — Oracle, DB2, SQL Server 2000 или другие. Однако не каждая СУБД выполняет такие функции. Альтернативы есть у разработчиков системы и при создании ее спе­ циализированного программного обеспечения. Эта разработка может осуществляться различными средствами — с помощью разных систем программирования, инструментов CASE или генераторов программно­ го кода. Она может следовать различным стандартам. Свойства специа­ лизированного программного обеспечения также являются важными ха­ рактеристиками информационной системы. Возможное количество пользователей. Некоторые информацион­ ные системы могут быть рассчитаны на определенный контингент пользо­ вателей. В то же время существуют системы с распределенным свобод­ ным доступом, для которых невозможно предсказать общее количество

Разновидности информационных систем л

в

о

г

пользователей и распределение числа активных пользователей во вре­ мени. В таком случае значительно усложняется управление системными ресурсами. Потребности системы в вычислительных ресурсах должны определяться исходя из пиковых нагрузок; должны предусматриваться меры по балансированию нагрузки на системные серверы. Примерами подобных систем являются сервисы крупных компаний, доступные че­ рез Web-серверы. Состав системного персонала. Состав системного персонала инфор­ мационной системы, уровень его профессиональной квалификации, без сомнения, определяют степень надежности и эффективности функцио­ нирования системы, качества настройки ее компонентов, способности адаптации к изменению условий применения системы. Методология и инструментальные средства разработки системы. О характере системы многое могут сказать используемые для ее разра­ ботки методология и инструментальные средства. При кустарной раз­ работке системы без использования современных инструментов и ме­ тодологий весьма проблематичным становится решение проблем ее реинжиниринга. Сомнительно, чтобы такая система была хорошо доку­ ментирована. Она вряд ли проживет долгую жизнь. Напротив, использование современных инструментальных средств CASE [2] в процессе анализа и проектирования системы гарантирует, что разработчики основывались на современных методологиях [1,8, 20], что проект системы основательно документирован. Обеспечена преемс­ твенность в работе при изменениях в составе системного персонала. Та­ кая система в значительно большей степени доступна для модернизации, чем система, созданная кустарным образом.

Выше была рассмотрена лишь небольшая часть существенных харак­ теристик информационных систем. Они касаются многих аспектов орга­ низации и функционирования систем —их назначения, ресурсов (инфор­ мационных, технических, программных, лингвистических), архитектуры, режима функционирования, используемых информационных техноло­ гий, контингента пользователей и т.д. Список значимых характеристик информационных систем можно было бы продолжать, включая в него, например, характеристики масштабируемости, возможности повторно­ го использования ресурсов, их источники, уровень поддерживаемой се­ мантики информационных ресурсов и др. Однако даже это фрагментар­ ное обсуждение демонстрирует существование большого многообразия информационных систем.

Информационные системы и их функции

В

о

п

р

о

с

ы

д

л

я

с

а

м

о

п

р

о

в

е

р

к

и

1. Каковы причины существования большого многообразия информа­ ционных систем?

2. Различия каких значимых технологических характеристик инфор­ мационных систем определяют их многообразие?

3. Приведите примеры характеристик организации функционирова­ ния информационных систем.

4. Какое влияние на свойства системы оказывают поддерживаемые в ней стандарты информационных технологий?

5. Какие системы называют открытыми?

6. Почему разработки крупных информационных систем должны ба­ зироваться на стандартах открытых систем?

7. В чем состоят технологические различия между информационными системами со статичными и с динамичными информационными ре­ сурсами?

8. Какие преимущества обеспечивает использование при разработке ин­ формационной системы современных методологий анализа и проекти­ рования систем и инструментальных средств CASE?

1 .5 .

О

б

щ

и

е

т

е

н

д

е

н

ц

и

и

р

а

з

в

и

ти

я

ИНФОРМАЦИОННЫХ СИСТЕМ

Прежде чем приступить к более детальному обсуждению состояния и пер­ спектив развития основных пластов информационных технологий, на ко­ торых базируются современные информационные системы, — техно­ логий баз данных, технологий текстового поиска и технологий Web, кратко обсудим важнейшие общие тенденции развития информацион­ ных систем. Активное использование объектных технологий. В разработках ин­ формационных систем прочные позиции заняли объектные технологии. Их использование в этой области продолжает расширяться. В значи­ тельной мере этому способствует создание развитой объектной инфра­ структуры. Большой вклад в ее формирование вносит консорциум OMG (Object Management Group), который вот уже почти полтора десятилетия ве­ дет активную работу по созданию комплекса стандартов интеропера­ бельных неоднородных распределенных объектных сред. Центральное

Общие тенденции развития информационных систем J

l

l

i

место в этом комплексе занимает стандарт архитектуры интеропера­ бельности CORBA [31], а также ряд дополнительных стандартов гори­ зонтальной и вертикальной сферы. Стандарты горизонтальной сферы включают спецификации комплекса объектных сервисов, функциониру­ ющих в архитектурной среде CORBA, языка представления метаданных инструментов объектного анализа и проектирования, компонентной модели, метамодели для представления метаданных хранилищ данных и др. Стандарты вертикальной сферы определяют объектные среды (среды бизнес-объектов) для многих областей приложений. Существенный вклад в компонентные технологии внесла корпорация Microsoft, которая первой разработала компонентную объектную мо­ дель COM (Component Object Model) [24] и ее распределенную версию DCOM (Distributed Component Model), ставшие основой ряда програм­ мных продуктов компании. Важное значение имеет создание компанией Sun Microsystems и широ­ кое распространение объектного языка программирования Java, а также основанного на этом языке комплекса средств компонентной разработ­ ки приложений из повторно используемых объектных компонентов — компонентная модель JavaBeans, архитектура Enterprise JavaBeans,

а также технология Java 2 Enterprise Edition [28 —30] (см. также раз­ дел 2.2). Наряду с указанными общими элементами объектной инфраструкту­ ры, независимыми от класса информационных систем, созданы также ее элементы, ориентированные на отдельные классы систем, — системы баз данных, Web, текстовые системы. Основой разработки коммерческих объектных СУБД стал стандарт объектных баз данных консорциума ODMG (Object Data Management Group) [27]. Разработаны стандарты API объектных СУБД для объект­

ных языков программирования Java и Smalltalk (часть стандарта ODMG),

а также API SQL-серверов для языка Java — JDBC и SQLJ. Миграция

реляционных приложений баз данных в объектную среду обеспечива­ ется новым стандартом языка запросов SQL: 1999, поддерживающим объектно-реляционную модель данных, а также объектно-реляционными SQL-серверами, созданными ведущими поставщиками программного обеспечения систем баз данных. Объектный подход нашел применение и в технологиях Web. Техноло­ гия Java-эплетов обеспечивает мобильность программного обеспечения в среде Web с помощью Web-браузеров со встроенной виртуальной ма­ шиной Java (Java Virtual Machine, JVM). Консорциумом W3C был раз­ работан стандарт DOM (Document Object Model), обеспечивающий

■ IIIL

Информационные системы и их функции

объектное представление XML-документов — единицы информацион­ ных ресурсов в новой технологической платформе Web, основанной на языке XML (см. главу 4). Языковые средства DOM используются как спецификации API для XML-ориентированных СУБД. Для работы с текстовыми информационными ресурсами объектные типы данных, поддерживаемые расширителями типов, используются

в объектно-реляционных серверах DB2, Oracle, Informix. Объектное направление в области информационных систем хорошо оснащено инструментальными средствами CASE, основанными на мето­ дах объектного анализа и проектирования и использующими стандарти­ зованный консорциумом OMG язык UML (Unified Modeling Language) [ 1, 20] для представления метаданных. Интеграция неоднородных информационных ресурсов. Благода­ ря активным разработкам информационных систем многие организации стали обладателями коллекций информационных ресурсов разной при­ роды, каждая из которых поддерживается собственными программными средствами, обеспечивающими для пользователя свой специфический интерфейс. В таких условиях пользователю было бы желательно иметь единый интерфейс для доступа ко всем этим информационным ресурсам. Поскольку появилось много источников информации, хотелось бы иметь возможность получения более полной и интегрированной информации с использованием нескольких источников. Коллективы, осуществляю­ щие совместную деятельность, стремятся объединить информационные ресурсы, которыми они располагают. Все эти и другие причины создали предпосылки для проведения ис­ следований и разработок в области интеграции неоднородных информа­ ционных ресурсов. Эти исследования приобрели большую актуальность

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

в различных аспектах, например:

О в различии парадигм моделирования данных (реляционная модель, объектная модель и т.п.);

<> в многообразии сред представления ресурсов (текстовая, аудио и т.д.);

<> в разной степени структурированности данных (структурированные, слабоструктурированные, неструктурированные);

&

Общие тенденции развития информационных систем ж

т

О в различиях интерпретации их содержания, в различии программных систем, которые их поддерживают, и т.д.

Интеграция информационных ресурсов охватывает большой комп­ лекс проблем, к числу которых относятся, в частности:

О разработка интегрирующих моделей данных;

О создание методов отображения моделей данных;

О создание архитектур систем интеграции;

О разработка адаптеров (Wrapper) — компонентов таких архитектур, обеспечивающих интероперабельность интегрируемых неоднородных информационных ресурсов;

О создание посредников (Mediator) —компонентов архитектур интегра­ ции, обеспечивающих семантическую интеграцию информационных ресурсов;

<> интеграция схем объединяемых баз данных;

О разработка языков описания онтологий;

О создание методов слияния онтологий и др.

Технологии интеграции неоднородных информационных ресур­ сов уже находят практическое применение. Некоторые относитель­ но простые возможности интеграции обеспечиваются программными продуктами. Более сложные проблемы семантической интеграции пока еще являются предметом изучения многих исследовательских проектов. Архитектура распределенных систем. Распределенные информа­ ционные системы стали в настоящее время обыденной реальностью. В многочисленных корпоративных информационных системах использу­ ются распределенные базы данных. Отработаны методы распределения данных и управления распределенными данными, архитектурные подхо­ ды, обеспечивающие масштабируемость систем, реализующие принци­ пы многозвенной архитектуры «клиент-сервер», а также архитектуры промежуточного слоя. Начинают применяться на практике мобильные архитектуры. Это от­ носится как к системам баз данных, так и к приложениям Web. Возрождается подход к построению распределенных систем, основан­ ный на одноранговой архитектуре (Peer-to-Peer), при котором, в отли­ чие от доминирующей сегодня в распределенных системах архитектуры «клиент-сервер», роли взаимодействующих сторон в сети не фиксиру­ ются. Они назначаются в зависимости от ситуации в сети, от загружен­ ности ее узлов.

Информационные системы и их функции

Мобильные информационные системы. В связи с интенсивным разви­ тием коммуникационных технологий активно развиваются мобильные ин­ формационные системы (см. подробнее в разделе 2.2). Разработаны тех­ нические средства и программное обеспечение для их создания. Благодаря этому стали развиваться мобильные системы баз данных. Многие научные коллективы проводят исследования специфических особенностей таких сис­ тем, создают разнообразные их прототипы. Важным инструментом для раз­ работки мобильного программного обеспечения стали технологии Java. Создан стандарт протокола беспроводного доступа приложений в Web (Wireless Application Protocol, WAP), который уже поддерживается неко­ торыми моделями сотовых телефонов. На основе WAP и языка XML кон­ сорциум W3C разработал язык разметки для беспроводных коммуника­ ций WML (Wireless Markup Language). Поддержка метаданных. В разработках информационных систем боль­ ше внимания стали уделять метаданным. Здесь предпринимаются шаги в двух направлениях — стандартизация представления метаданных

и обеспечение их поддержки в системе. В информационных системах используются разнообразные способы

и средства представления метаданных (различного рода репозитории

метаданных). Отсутствие унификации в этой области значительно ос­ ложняет решение проблем мобильности приложений, повторного ис­ пользования и интеграции информационных ресурсов и информаци­ онных технологий, а также реинжиниринга информационных систем. Для преодоления указанных трудностей активно ведутся разработ­ ки стандартов метаданных, ориентированных на различные информаци­ онные технологии. В этой области уже существует ряд международных, национальных и индустриальных стандартов, определяющих представ­ ление метаданных и обмен метаданными в информационных системах. Некоторые из них уже приобрели статус стандартов де-факто. Ограни­ чимся здесь упоминанием лишь наиболее значимых из них. Вероятно, первым стандартом де-факто этой категории был язык опи­ сания данных CODASYL [25] для баз данных сетевой структуры. Из бо­ лее поздних стандартов следует назвать: стандарт языка запросов SQL для реляционных баз данных, содержащий определение так называемой информационной схемы — совокупности представлений схем реляци­ онных баз данных; компонент стандарта объектных баз данных ODMG [27], описывающий интерфейсы репозитория объектных схем; междуна­ родный стандарт IRDS (Information Resource Dictionary Systems), опи­ сывающий системы для создания и поддержки справочников информа­ ционных ресурсов организации.

Общие тенденции развития информационных систем J IIIIP

Далее следует упомянуть разработанный консорциумом OMG стан­ дарт CWM (Common Warehouse Metamodel) представления метаданных хранилищ данных (см. раздел 2.7), основанный на ранее созданном для более широких целей стандарте OIM (Open Information Model) консор­ циума MDC (Meta Data Coalition). Новая технологическая платформа XML для Web также включает стандарты представления метаданных (см. разделы 4.7, 4.8). Поддержка метаданных — это одно из важнейших нововведений Web, радикальным образом изменяющее технологии управления его информационными ре­ сурсами. В то время как в технологиях баз данных поддержка метадан­ ных была изначально необходимой, в Web первого поколения метадан­ ные не поддерживались.

Кчислу стандартов метаданныхWeb относится подмножество языка XML, используемое для описания логической структуры XML-документов неко­ торого типа. Это описание называется DTD (Document Type Definition). Кроме того, платформа XML включает стандарт XML Schema, предлага­ ющий более развитые возможности для описания XML-документов. Стан­ дарт RDF (Resource Definition Framework) определяет простой язык представления знаний для описания содержимогоХМЕ-документов. Н а­ конец, разрабатываемый стандарт OWL (Ontology Web Language) опре­ деляет формальный язык описания онтологий, предназначенный для се­ мантического Web. Стандарт языка UML (Unified Modeling Language) [1, 20], обеспе­ чивающий представление метаданных инструментов CASE для визуаль­ ного объектного анализа и проектирования, разработан консорциумом OMG. Этот язык поддерживается во многих программных продуктах CASE. Консорциум OMG создал также стандарт XMI (XML Metadata Interchange) для обмена метаданными между инструментами CASE, ис­ пользующими язык UML. Следует упомянуть здесь также стандарт Дублинского ядра (Dublin Core, DC) — набора элементов метаданных для описания содержания документов различной природы. Этот стандарт быстро приобрел попу­ лярность и нашел, в частности, широкое применение в среде Web (см. раздел 3.3). Работы по развитию существующих и созданию новых стандартов представления метаданных для информационных систем продолжаются. Более подробные сведения о рассматриваемых стандартах можно найти

в энциклопедии [10]. Семантическая обработка информационных ресурсов. Ранее, еще

в 70—80-е годы, предпринимались попытки создания систем, основанных

■Ill Информационные системы и их функции

на знаниях. Был выполнен ряд посвященных этим проблемам исследо­ вательских проектов в Стэнфордском университете (США), в универси­ тете Торонто (Канада) и других крупных научных центрах. Были созданы различные исследовательские прототипы систем баз данных, поддержи­ вающих семантические модели данных, а также информационно-поисковых систем, в которых в качестве языков запросов использовались естествен­ ные языки. Поисковые системы такого типа создавались и в нашей стране. В последние годы активно велись работы по семантическому тексто­ вому поиску (см. главу 3). Консорциум W3C и несколько крупных иссле­ довательских центров в США и Европе развернули и активно проводят работы по созданию семантического Web (см. раздел 4.8). В то время как действующая реализация Web предусматривает интерпретацию инфор­ мационных ресурсов человеком, семантический Web позволит создавать приложения с компьютерной их интерпретацией. Он будет располагать также средствами логического вывода. Управление потоками данных. Управление потоками данных —одно из новых формирующихся направлений в области информационных сис­ тем, связанное с обработкой данных сетевого трафика, данных, порожда­ емых различного рода датчиками, потоков сообщений электронной почты и т.п. Стали создаваться предназначенные для этой цели инструменталь­ ные средства, которые называют системами управления потоками данных (Data Stream Management System, DSMS) общего назначе­ ния (см. раздел 2.9). Возникло специфическое направление, связанное с потоками документов, в текстовых системах —фильтрация потоков (см. раздел 3.5). Специфика этого класса информационных систем состоит в том, что, в отличие от систем баз данных и систем текстового поиска, они имеют дело не с базой данных или коллекцией документов, содержащейся в сре­ де хранения информационных ресурсов системы, а с потоком транзитных ресурсов, которые нужно обрабатывать «на проходе». В связи с этим не­ обходимо разрабатывать новые технологии для решения проблем, свя­ занных с информационными ресурсами такой природы. Совместное использование информационных технологий. В послед­ ние годы стали появляться инструментальные средства и крупные инфор­ мационные системы, в которых совместно используются различные инфор­ мационные технологии из области баз данных, текстовых систем и Web. Так, создан ряд коммерческих СУБД, которые наряду с традицион­ ными для технологий баз данных функциями управления данными пре­ доставляют возможности текстового поиска. Простейшие возможности контекстного поиска обеспечивают популярные Web-браузеры. Поисковые

Общие тенденции развития информационных систем

машины Web используют реализованную в этой среде технологию досту­ па к информационным ресурсам вместе с технологиями текстового по­ иска. В новом классе СУБД, называемых XML-ориентированными, совместно используются технологии баз данных и технологии XML. В среде Web обеспечивается доступ к базам данных SQL по запросам пользователей. Создаются интегрированные системы, предусматрива­ ющие доступ к базам данных и к текстовым информационным ресурсам с использованием единого интерфейса. Одна из таких систем создана компанией IBM (см. раздел 3.7). С середины 90-х годов во многих странах стали активно разрабаты­ ваться информационные системы нового класса, называемые элект­ ронными библиотеками. Одной из основных особенностей продвинутых систем такого рода является поддержка и обеспечение интеграции не­ однородных информационных ресурсов. Поэтому настоятельной необхо­ димостью в электронных библиотеках стало совместное использование различных информационных технологий — технологий баз данных, нологий текстового поиска, технологий Web. Рост масштабов информационных систем. Совершенствование тех­ нических возможностей средств вычислительной техники, развитие ком­ муникационных средств и технологий управления информационными ресурсами в последние годы привели к появлению более крупных ин­ формационных систем. Речь идет о масштабах систем не только относи­ тельно объема поддерживаемых информационных ресурсов, но и числа их пользователей. Появились системы очень больших баз данных, под­ держивающие многие гигабайты и даже петабайты данных (см. раздел 2.8), системы текстового поиска с очень большими коллекциями доку­ ментов. Объем информационных ресурсов Web в настоящее время ис­ числяется многими миллионами страниц. Корпоративные системы баз данных насчитывают тысячи пользователей. На порядок больше поль­ зователей имеют некоторые информационные сервисы Web. Количество таких крупных систем продолжает расти. Глобализация информационных систем. Усиливается тенденция к гло­ бализации информационных систем. Глобализация информационных систем имеет две стороны — обеспечение глобального доступа пользо­ вателей к системе и интеграция информационных ресурсов, распреде­ ленных в глобальной сети. Уникальной глобальной информационной системой является Web. В нем воплощаются обе указанные стороны глоба­ лизации информационных систем. Он обеспечивает глобальный доступ к явно представленным на Web-сайтах информационным ресурсам, а также к ресурсам «скрытого» Web (см. раздел 4.1). Вместе с тем на

тех­

'M

I L

Информационные системы и их функции

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

и в других сферах. Среда Web предоставляет для поддержки таких систем

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

Действительно, в системах текстового поиска используются заимс­ твованные из технологий баз данных методы прямого доступа к информа­ ционным ресурсам на основе техники индексирования. Технологии Web используют методы текстового поиска, отработанные за долгие годы в специально предназначенных для этого системах текстового по­ иска. В технологической платформе XML, создаваемой для Web но­ вого поколения, используются многие ключевые концепции и подходы к управлению данными, созданные в области баз данных, такие как мо­ дель данных, схема, многоуровневое представление данных, ограниче­ ния целостности данных и др. В свою очередь, в технологиях баз дан­ ных зарождается новый класс систем баз данных, предназначенных для поддержки коллекций XML-документов. Появились коммерческие XML-ориентированные СУБД. Развитие стандартов информационных технологий. Последнее де­ сятилетие стало периодом интенсивной деятельности по стандартизации различных аспектов информационных технологий. Эта деятельность осу­ ществляется не только силами официальных органов стандартизации, но

и многочисленными специально для этих целей учрежденными индустри­

альными консорциумами. Благодаря созданию стандартов в этой области обеспечивается пере­ носимость приложений и информационных ресурсов между различны­

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

и сравнительной оценки результатов измерений и т.д.

?

Общие тенденции развития информационных систем ж

т

Создано немалое количество международных, национальных и индус­ триальных стандартов разного назначения, многие из которых стали уже стандартами де-факто. Стандарты реляционных и объектных баз данных, многочисленные стандарты Web, хранилищ данных, интероперабельных неоднородных распределенных объектных сред, стандарты геоданных, компонентных моделей и архитектур представляют лишь часть прове­ денной в этой области огромной работы. Деятельность по созданию и развитию стандартов информационных технологий активно продолжается. Подробные сведения о стандартах технологий баз данных и смежных областей информационных техноло­ гий можно найти в [10]. Автоматизированная разработка информационных систем. Круп­ ное достижение технологий современных информационных систем со­ стоит в создании методов их анализа и проектирования, которые в тече­ ние двух-трех десятилетий прошли испытания на практике. На их основе разработаны инструментальные средства CASE, которые поставляются многими компаниями —разработчиками программного обеспечения. Та­ кие технологии широко применяются прежде всего для создания систем баз данных. Важное место в этой области принадлежит методам объек­ тного анализа и проектирования. Консорциумом OMG создан стандарт унифицированного визуального языка моделирования UML, основанно­ го на таких методах. Язык UML поддерживают в настоящее время мно­ гие программные продукты. Разработчики Web-сайтов также располагают развитым инструмен­ тальным оснащением, которое существенно облегчает создание стра­ ниц Web со сложным дизайном, позволяет динамически генерировать страницы Web на основе содержимого баз данных по запросам пользо­ вателей, разрабатывать и отлаживать встраиваемые в страницы Web Java-скрипты и т.д. Создатели систем текстового поиска имеют в своем распоряжении вспомогательные средства для автоматизированной разработки тезауру­ сов, словарей и т.д., для сканирования и ввода документов, автоматичес­ кого их индексирования. Важная тенденция в области информационных систем состоит в том, что повышается удельный вес систем, которые создаются с использова­ нием тех или иных средств автоматизированной разработки. Повышается культура проектирования и реализации крупных инфор­ мационных систем, основанных на технологиях баз данных. Все большее признание специалистов получают стандарты системного проектиро­ вания, обеспечивающие эффективное управление жизненным циклом

■ ■ Ill Информационные системы и их функции

создаваемой системы, отсутствие упущений в процессе разработки, вы­ сокое ее качество. В условиях рыночной экономики уделяется серьезное внимание управ­ лению проектами систем, не только технологическим, но и экономичес­ ким их аспектам. Для этого развиваются необходимые методы и создаются инструментальные средства.

 

1.

Назовите важнейшие тенденции, которые проявляются в настоя­ щее время в разработках информационных систем.

2.

 

ное использование объектных технологий в разработках информа­ ционных систем?

 

3.

Какие организации внесли значительный вклад в формирование объектной инфраструктуры?

4.

В чем заключается интеграция неоднородных информационных ре­ сурсов?

5.

Какие аспекты неоднородности информационных ресурсов принима­ ются во внимание в технологиях, обеспечивающих их интеграцию?

6.

Какие возможны виды интеграции информационных ресурсов?

7.

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

8.

Какие новые архитектурные подходы начинают применяться в раз­ работках информационных систем?

9.

На каких технологических достижениях основано активное разви­ тие мобильных информационных систем в настоящее время?

10.

Для каких целей в информационных системах необходимо поддер­ живать метаданные?

11.

Какие стандарты представления метаданных и обмена метаданными уже существуют в настоящее время?

12.

Какие проявления семантической обработки информационных ре­ сурсов имеют место в системах текстового поиска и в Web?

13.

В чем заключается специфика систем управления потоками дан­ ных?

Литература к главе 1 ли·©®

15. В чем проявляется тенденция к глобализации информационных систем?

16. Какие результаты дает конвергенция информационных технологий?

17. Какие основные результаты достигнуты в стандартизации техноло­ гий информационных систем?

18. Каково состояние автоматизированной разработки информацион­ ных систем?

Л

и

тер а тур а

к

г

л

а

в

е

1

1. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользова­ теля: Пер. с англ. —М.: ДМК, 2000. —432 с.

2. Вендров А.М. Проектирование программного обеспечения эконо­ мических информационных систем. — М.: Финансы и статистика,

2000. -

352 с.

3. ГОСТ 34.003-90. Информационная технология. Комплекс стандар­ тов и руководящих документов на автоматизированные системы. Термины и определения.

4. Замулин А.В. Типы и модели данных. В сб. «Банки данных: Матери­ алы 3-й Всесоюзной конф. (Таллин, 24 —26 сентября 1985 года)». — Таллин: ТПИ, 1985, с. 3—15.

5. Зиндер Е.З. Что такое информационная система / / Директор ин­ формационной службы. —2002. — 6.

6. Зиндер Е.З. Революционные изменения базовых стандартов в об­ ласти системного проектирования. Сб. трудов Всероссийской прак­ тической конференции «Стандарты в проектах современных ин­ формационных систем (Москва, 17—18 марта 2001 года)». — М.:

Открытые системы, 2001, с. 12—20.

7. Информационные системы в экономике: Учебник / Под ред. проф. В.В. Дика. —М.: Финансы и статистика, 1996.

8. Калянов Г.Н. CASE. Структурный системный анализ (автоматиза­ ция и применение). —М.: ЛОРИ, 1996.

9. Когаловский В.М. Происхождение ERP / / Директор информацион­ ной службы. —2000. — 10.

§

®

И

І

И

Информационные системы и их функции

11. Когаловский М.Р. Развитие стандартов XML: новые возможности

и применения. Сб. трудов 2-й Всероссийской практической конфе­

ренции «Стандарты в проектах современных информационных сис­ тем (Москва, 27—28 марта 2002 года)». —М.: Открытые системы, 2002, с. 124-127.

12. Когаловский M.R Стандарты платформы XML и базы данных. Обзор­ ная лекция. Сб. трудов 3-й Всероссийской конференции «Электрон­ ные библиотеки: перспективные методы и технологии, электронные коллекции (Петрозаводск, 11 —13 сентября 2001 года)». — Петроза­ водск: Карельский научный центр РАН, 2001, с. 108—117.

13. Когаловский М.Р. Абстракции

в системах баз данных / /

и модели

СУБД.- 1998. -

4

- 5

. -

С

.

73-81.

14. Козлов В.А. Открытые информационные системы. —М.: Финансы

и статистика, 1999.
15. Мартин Дж.

Организация баз данных в вычислительных систе­

мах: Пер. с англ. / Под ред. А.А. Стогния и А.Л. Щерса. —М.: Мир,

1980. -

664 с.

16. Михайлов А.И., Гиляровский Р.С., Черный А.И. Основы информа­ тики. —М.: Наука, 1968.

17. Питтс Н. XML за рекордное время: Пер. с англ. —М.: Мир, 2000. — 444 с.

18. Сэлтон Г. Автоматическая обработка, хранение и поиск информа­ ции: Пер. с англ. / Под ред. и с предисл. А.И. Китова. —М.: Совет­ ское радио, 1973. — 560 с.

19. Под ред. и с пре­ дисл. М.Р. Когаловского. —М.: Финансы и статистика, 1983. — 334 с.

20. Фаулер М., Скотт К. UML в кратком изложении. Применение стан­ дартного языка объектного моделирования: Пер. с англ. / Под ред. Л.А. Калиниченко. —М.: Мир, 1999.

21. Филинов Е.Н., Бойченко А.В. Проблемы и методика формирования профилей открытых информационных систем. Сб. трудов Все­ российской практической конференции «Стандарты в проектах современных информационных систем (Москва, 17—18 апреля 2001 года)». —М.: Открытые системы, 2001, с. 21—25.

22. Цаленко М.Ш. Моделирование семантики в базах данных. — М.:

Ульман Дж. Основы систем баз данных: Пер. с англ. /

Наука. Гл. ред. физ.-мат. лит., 1989. —288 с.

Литература к главе 1Л 1И @

а

24. Эмерих В. Конструирование распределенных объектов. Методы и средства программирования интероперабельных объектов в архи­ тектурах OMG/CORBA, Microsoft/COM и Java/RMI: Пер. с англ.

/ Под ред. и с предисл. Л.А. Калиниченко. —М.: Мир, 2002. — 510 с.

25. с дисл. M.R Когаловского и Г.К. Столярова. —М.: Статистика, 1981. — 183 с.

26. Lambrix P. Description Logics. Intelligent Information Systems Labo­ ratory. Department of Computer and Information Science. Linkoping University, Linkoping, Sweden, http://www.ida.liu.se/labs/iislab/people/ palta/DL/index.html.

Язык описания данных КОДАСИЛ: Пер.

с англ. /

Под ред. и

пре­

27. Object Data Standard: ODMG-3.0. Edited by R.G.G. Cattell, D.K. Barry, M. Berler, J. Eastman, D. Jordan, C, Russell, O. Schadow, T. Stanienda, and F. Velez. Morgan Kaufmann Publishers, Inc., 2000.

28. Sun Microsystems. Enterprise JavaBeans Specification, Version 2.0. August 14, 2001.

29. Sun Microsystems. Java 2 Platform Enterprise Edition Specification, Version 1.3, July 27, 2001.

30. Sun Microsystems. The JavaBeans 1.01 Specification. July 1997.

31. The Common Object Request Broker: Architecture and Specification. Revision 2.4.2. OMG Document formal/2001-02-01.

2

Глава

Технологии баз данных составляют одну из фундаментальных областей информационных технологий, используемых в разработках информаци­ онных систем различного назначения. История ее создания и развития продолжается уже около четырех десятилетий. За этот период сложи­ лась проверенная временем теория баз данных с собственной терми­ нологической системой, ставшая основой разветвленной совокупности методов, подходов, моделей, архитектур, языковых спецификаций для создания, использования и исследования систем баз данных. Ведется активная работа по стандартизации в этой области. Сформировалась довольно мощная индустрия воплощающего современные технологии баз данных инструментального программного обеспечения практически на любой существующей в настоящее время аппаратно-программной платформе. Эволюция технологий баз данных от их истоков до сегод­ няшних дней подробно анализируется в работе [13]. В этой главе рассматриваются важнейшие характеристики современ­ ного состояния технологий баз данных, обсуждаются перспективные на­ правления их развития, а также актуальные проблемы, которые ждут своего решения.

2 .1 .

О

б

щ

а

я

о

ц

е

н

к

а

с

о

с

т

о

я

н

и

я

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

I

I

I

·

·

Общая оценка состояния

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

вещающих достижения технологий баз данных (см., например, [3, 19, 20, 22]). Недавно была издана также объемная энциклопедия [13], в ко­ торой представлены важнейшие технологии и стандарты систем баз данных и смежных с ней областей информационных технологий. Эти

и другие публикации читатель может использовать для более глубокого изучения проблем технологий баз данных. Востребованность технологий баз данных. Прежде всего возникает вопрос о том, в какой мере технологии баз данных оказались востребо­ ванными практикой разработки информационных систем. Вероятно, од­ ним из главных показателей востребованности и достаточно развитой функциональности рассматриваемого пласта информационных техно­ логий может служить тот факт, что сформировалась широкая сфера са­ мых разнообразных приложений систем баз данных. Многие из них ра­ нее квалифицировались как нетрадиционные, поскольку предъявляли такие требования к инструментальным программным средствам, кото­ рые существовавшие СУБД общего назначения не могли удовлетворить. В настоящее время уже не являются чем-то необычным приложения, ис­ пользующие пространственно-временные и активные системы баз дан­ ных, системы баз данных реального времени, мультимедийные системы, базы геоданных, системы баз данных, поддерживаемых в оперативной памяти (In-Memory Database), а также разнообразные приложения, свя­ занные с поддержкой принятия решений. Моделирование данных. Многое сделано в области моделирования данных, являющегося фундаментом технологий баз данных. Сформиро­ ваны основы методологии моделирования данных [8, 22]. Полигоном для исследований в этой области стали разработки, связанные с графовыми моделями данных, прежде всего сетевой модели данных CODASYL [22,27]

и иерархической модели данных [19, 22]. Впоследствии были разработаны многочисленные модели, различающиеся базовой парадигмой модели­ рования, поддерживаемым уровнем абстракции данных, видами допус­ тимых структур данных, статические модели и модели, позволяющие описывать наряду с состоянием предметной области ее поведение. По­ мимо моделей данных, не связанных с какой-либо конкретной облас­ тью применений, были созданы также модели данных, учитывающие специфику предметной области приложения (см., например, [53, 55]). Некоторые из созданных моделей стандартизованы в виде комплек­ са воплощающих их языковых средств (языков определения данных,

ss M

IL Технологии баз данных

манипулирования данными, языков запросов) и широко используются в реализациях программного обеспечения. Одним из крупнейших достижений в этой области является создание реляционной модели данных [3, 22] и базирующейся на ней теории ре­ ляционных баз данных, которая позволила получить результаты, чрез­ вычайно важные как для развития общей теории баз данных, так и для практических приложений. Сформировалась мощная индустрия про­ граммного обеспечения реляционных баз данных. Разработчики постав­ ляют широкий спектр реляционных СУБД для приложений различного масштаба. Международный стандарт языка запросов SQL, воплощаю­ щий функциональность реляционной модели данных, стал унифициро­ ванным интерфейсом коммерческих реляционных СУБД. Хотя язык SQL в его сегодняшнем состоянии подвергается серьезной критике со стороны многих экспертов в области технологий баз данных (см., например, [14]), он «обременен» огромным числом разработан­ ных на его основе и функционирующих систем баз данных. Это наследие обеспечивает ему долгую жизнь. Консорциумом ODMG разработан стандарт объектной модели для систем баз данных [5, 60], который реализован во многих СУБД, вы­ пускаемых в промышленных масштабах. Кроме того, стандарт ODMG определяет связывания языковых средств этой модели для традицион­ ных объектных языков программирования. Важно отметить, что бла­ годаря общей объектной природе модели данных СУБД и языков про­ граммирования для среды объектных СУБД не возникает проблемы несоответствия импеданса (несоответствия модели данных, подде­ рживаемой СУБД, и модели данных языка программирования), которая с появлением реляционных систем стала камнем преткновения в интер­ фейсах прикладного программирования СУБД. Главная проблема состо­ ит здесь в различии кардинальности операций над данными. Как извес­ тно, областью действия операций над таблицами в реляционных СУБД является полное множество строк таблиц-операндов. Это операции мно­ жественного уровня. В то же время традиционные языки программиро­ вания позволяют оперировать одновременно только отдельной строкой таблицы. Для решения этой проблемы в язык SQL пришлось ввести кон­ цепцию курсора —таблицы, порождаемой в результате выполнения за­ проса, которая может просматриваться и обрабатываться в прикладной программе в построчном режиме. Появление объектных СУБД позволило эффективно использовать технологии баз данных во многих таких областях приложений, где при­ менение реляционных СУБД требовало различных нетрадиционных

I

I

I

·

·

Общая оценка состояния

подходов, искусственных приемов и значительных дополнительных уси­

лий, связанных с ними. В ряде случаев для этих целей приходилось созда­ вать специальные модели данных, отвечающие потребностям разраба­ тываемых приложений, и реализовывать их как более высокий уровень представления данных над реляционной моделью. Иногда такие модели удавалось строить как расширения реляционной модели. Новые возможности объектных СУБД обеспечиваются, главным об­ разом, благодаря более развитым системам типов данных и средствам структурирования данных в объектных моделях, а также в связи с появ­ лением широко признанной объектной инфраструктуры, основанной на быстро развивающемся комплексе стандартов. Указанные причины приве­ ли к тому, что во второй половине 90-х годов стала происходить трансформа­ ция реляционных серверов баз данных, выпускаемых ведущими поставщи­ ками программного обеспечения этого класса, в объектно-реляционные системы. Стандарт SQL: 1999 [42, 44] придал официальный статус спе­ цификациям объектно-реляционной модели, на которой они основаны. В этой новой версии стандарта языка SQL сохраняется преемственность с чисто реляционными технологиями и предусматривается существен­ ный сдвиг в сторону объектных технологий.

В 90-е годы в связи с интенсивным развитием приложений систем баз

данных для поддержки принятия решений, прежде всего в управлении экономикой, были разработаны и стали широко использоваться на прак­ тике методы многомерного моделирования данных [15, 17, 18,25,23], которые, в свою очередь, послужили основой технологий OLAP и хра­ нилищ данных. Поставщики программного обеспечения предоставля­ ют в настоящее время разнообразные программные продукты OLAP, базирующиеся как на реляционных СУБД, так и на системах, непос­ редственно поддерживающих многомерные модели данных.

В последние годы в связи с рождением новой технологической плат­

формы Web [9—13], основанной на языке XML, в технологиях баз дан­ ных возникла потребность в различных вариантах моделей данных, кото­ рые бы позволяли создавать репозитории XML-документов и выполнять в них операции поиска, манипулирования данными и др. В связи с этим начало формироваться новое направление в технологиях баз данных — XML-ориентированные базы данных (называемые также базами данныхXML)[ 1, 35, 59]. Осознание актуальности формирующихся технологий Web стимулиру­ ет «встречное движение» в разработках новых компонентов стандар­ тов языка SQL и платформы XML. Новый стандарт SQL:200n будет включать компонент SQL/XML [46, 47], который должен обеспечить

§®

M IL Технологии баз данных

возможности совместного использования информационных ресурсов SQL и XML. В частности, этот стандарт будет включать спецификации для представления схем и данных SQL в форме XML-документов, и на­ оборот. В свою очередь, создаваемый консорциумом W3C стандарт язы­ ка запросов XQuery платформы XML позволит представлять не только данные и метаданные XML, но и реляционных баз данных, а также опе­ рировать ими. В области моделирования данных большое внимание уделяется разра­ ботке методов отображения моделей данных, созданию спецификаций отображения для различных пар моделей, стандартизации отображения моделей данных для некоторых технологий. Механизмы отображения данных стали важнейшими функциональными компонентами различно­ го рода сред интеграции данных [4], а также систем управления данными с многоуровневой архитектурой [7]. Объектные базы данных. Несмотря на то что подавляющая доля при­ ложений систем баз данных базируется на реляционных технологиях, их доминирующая роль начинает несколько ослабевать. Разработаны и все шире применяются объектные технологии, основанные на открытых стандартах. Расширяется практическое применение платформы CORBA [68], обеспечивающей создание распределенных неоднородных интеро­ перабельных сред и интегрированной с технологиями Web. Эта ситуация стимулирует использование объектных технологий в системах баз дан­ ных, в частности СУБД, основанных на стандарте объектных баз данных ODMG [60]. Важно заметить, что платформа ССЖВАдает возможность с применением техники адаптеров (Wrapper) решать весьма злобод­ невную проблему продления жизни унаследованных систем. На пути миграции реляционных технологий к объектным, осуществля­ емой эволюционным путем, в соответствии с идеями «Манифеста систем баз данных третьего поколения» [64] созданы объектно-реляционные серверы баз данных с расширяемой системой типов данных. XML-ориентированные базы данных. Как указывалось выше, в пос­ ледние годы активно формируется новое направление в технологиях баз данных, связанное с перспективной технологической платформой Web — платформой XML(cm. главу 4). Системы баз данных нового типа должны обеспечиватьэффективноехранениеколлекцийХМЕ-документовпдоступ к ним. Предпринимаются попытки формирования их концептуальных основ [ 1, 35, 59]. Для разработок XML-ориентированных баз данных стало вы­ пускаться программное обеспечение [36], основным элементом которого являются XML- ориентированные СУБД.

Общая оценка состоянияж

т

г

Координирующую роль в разработке технологий XML-ориентированных баз данных играет консорциум XML:DB [72]. Проект разрабатываемого консорциумом W3C стандарта языка запросов XQuery для платформы XML обеспечивает новый вариант пользовательского интерфейса для XML-ориентированных СУБД наряду с уже используемыми для этих це­ лей стандартами DOM, XSLT, XPath, SAX и др. (см. главу 4). Проблемы XML-ориентированных баз данных подробнее обсуждают­ ся в разделах 2.6 и 4.10. Интеграция неоднородных информационных ресурсов. В послед­ ние годы большое внимание стали уделять проблемам интеграции не­ однородных информационных ресурсов. Предложены общие подходы в этой области, различные архитектурные решения, разработаны много­ численные исследовательские прототипы и действующие системы. Ряд SQL-серверов баз данных включает шлюзы для доступа к внешним (по отношению к базе данных) данным. Разработано дополнение SQL/MED к стандарту SQL: 1999, определяющее интерфейс для доступа к внешним данным баз данных SQL. Важное место в обеспечении интеграции ин­ формационных ресурсов Web и реляционных баз данных, несомненно, бу­ дет принадлежать уже упоминавшемуся ранее разрабатываемому новому компоненту стандарта языка SQL, называемому SQL/XML [46, 47]. Во многих исследовательских проектах значительное внимание уделя­ ется проблемам интеграции неоднородных информационных ресурсов на семантическом уровне. Конструктивный характер полученных в этой об­ ласти теоретических результатов и функциональные возможности раз­ работанных прототипов позволяют надеяться, что в ближайшие годы различные методы обеспечения семантической интеграции инфор­ мационных ресурсов станут достоянием практических технологий. Одно из важных и быстро развивающихся направлений приложений в этой об­ ласти —электронные библиотеки. Техника хранения данных. Помимо моделирования данных сущест­ венное развитие получила техника хранения данных и доступа к ним. Разработаны и применяются в СУБД, выпускаемых различными постав­ щиками, разнообразные высокопроизводительные методы организации хранимых данных и доступа к ним, которые основаны на многочисленных способах индексирования, хеширования и т.д. Специальные эффектив­ ные методы доступа созданы, например,для случая временных и простран­ ственно-временных данных, для хранения больших объектов базы дан­ ных. Актуальность этой ветви технологий баз данных возрастает в связи с появлением крупныхбаз данных терабайтового и петабайтового объема.

шиї Технологии баз данных

Обработка пользовательских запросов. Выполнены многочисленные

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

и других классах систем со специфическими условиями функционирова­

ния. В современных СУБД стала широко применяться, в частности, мо­ дель гнездующихся транзакций. Интерфейсы прикладного программирования. Большое значение для эффективной разработки приложений систем баз данных имеет со­ здание развитого комплекса стандартизованных языковых средств ин­ терфейсов прикладного программирования какдля SQL-серверов, так и для объектных СУБД, основанных на спецификациях стандарта ODMG. В частности, как уже указывалось, стандартизованы специфи­ кации связывания для ряда популярных традиционных языков програм­ мирования. В последнее время аналогичные проблемы решаются также

и для нового класса систем —XML-ориентированных СУБД. В этой об­

ласти используются стандарты не только платформы XML, но и ее окру­

жения, выработанные, главным образом, консорциумами W3C и OASIS. Подробные сведения о существующих в настоящее время стандар­ тах интерфейсов прикладного программирования для систем баз данных можно найти в [ 13]. Системы распределенных баз данных. Системы распределенных баз данных стали обыденной реальностью. Отработаны методы распре­ деления данных и управления распределенными данными. Предложены

и широко применяются на практике архитектурные подходы, обеспе­

чивающие масштабируемость приложений, реализующие принципы многозвенной архитектуры «клиент-сервер», архитектуры промежуточ­

ного слоя, мобильных архитектур.

Общая оценка состоянияШШ щ

Локальные системы. Наряду с крупными распределенными система­ ми в массовом масштабе используются локальные системы баз дан­ ных, главным образом на платформах персональных компьютеров. Тех­ нологии баз данных на персональных компьютерах позволяют вместе с тем сочетать на рабочем месте пользователя операции с локальной базой данных и с общей корпоративной базой данных. В то время как ранние системы баз данных были достоянием лишь центров обработки данных крупных организаций, оснащенных мощной вычислительной тех­ никой и располагающих высококвалифицированными программистами

и специалистами по электронике, с появлением персональных компью­

теров технологии баз данных стали доступны весьма широкому кругу пользователей. Безопасность данных. В связи с широким практическим использова­ нием технологий баз данных стали весьма актуальными проблемы обес­ печения безопасности данных. Особенно острыми они стали благодаря активным разработкам распределенных систем различного назначения

и массовому использованию технологий Web. Наряду с общими стандар­

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

и модели безопасности для информационных систем. В частности, в сис­

темах баз данных широко распространена модель многоуровневой безо­ пасности Белла-ЛаПадула [16]. В рамках работ по созданию новой тех­ нологической платформы Web, основанной на языке XML, консорциум W3C предложил стандарт цифровой подписи. Конвергенция информационных технологий. Один из важных фено­ менов конца 90-х годов состоит в развитии тенденции к конвергенции различных пластов технологий информационных систем. Имеет место взаимопроникновение идей, сближение технологий баз данных, техно­ логий Web и технологий текстовых систем. В крупных приложениях эти технологии часто используются совместно, иногда также с применением технологий CORBA, OLE/COM и Java. Среда Web обеспечила глобаль­ ный доступ к огромному количеству баз данных. Разработка платформы XML обеспечивает новые возможности для эффективного доступа к ин­ формационным ресурсам этой среды, а также для создания новых техно­ логий интеграции информационных ресурсов. Производство программного обеспечения. Активные практические разработки систем баз данных во многих сферах применения привели к ин­ тенсивному развитию производства программного обеспечения систем баз данных. В результате сложился мощный конкурентный рынок програм­ много обеспечения систем баз данных, насыщенный многочисленными

Технологии баз данных

программными продуктами — реляционными, объектно-реляционными и объектными СУБД, разнообразными средствами их окружения, инс­ трументарием CASE-технологий и т.д. Таким программным обеспече­ нием оснащен практически весь спектр выпускаемых промышленнос­ тью аппаратных платформ —от электронных секретарей и ноутбуков до суперкомпьютеров. Высокий уровень конкуренции в производстве про­ граммного обеспечения, в свою очередь, стал существенным стимулиру­ ющим фактором дальнейшего развития технологий баз данных. Разработка приложений. Важная характерная черта современного со­ стояния практического применения технологий баз данных состоит в том, что сформировалась культура разработки крупных приложений, неотъ­ емлемой составной частью которой стало использование инструмента­ рия CASE, а также различных средств быстрой разработки, поставля­ емых всеми ведущими производителями серверов баз данных и другими компаниями. Этот инструментарий основан по большей части на методах объектного анализа и проектирования. Создан и активно используется в инструментальных средствах CASE ряд стандартов, обеспечивающих их интероперабельность. Широкое распространение получил в этой об­ ласти стандарт унифицированного языка моделирования UML [2, 21]. Поддержка принятия решений. Технологии баз данных стали необхо­ димым средством разработки систем поддержки принятия решений [23]. В связи с потребностями управления экономикой были разработа­ ны методология, модели данных (в частности, многомерные модели дан­ ных, о которых говорилось ранее) и инструментарий для создания прило­ жений, обеспечивающих поддержку принятия решений. Для реализации таких приложений созданы и широко применяются технологии OLAP, хранилищ данных (Data Warehousing), а также глубинного анализа дан­ ных (Data Mining). Стандарты систем баз данных. Значительные достижения имеют­ ся в создании актуальных индустриальных и международных стандар­ тов технологий баз данных, которые определяют функциональные возможности разрабатываемых инструментальных средств и использу­ емых технологий. Они служат прежде всего для обеспечения мобиль­ ности приложений и данных, повторного использования информацион­ ных ресурсов, интероперабельности и открытости базирующихся на них систем. Важнейшие результаты деятельности органов стандартизации в этом направлении детально рассмотрены в [13]. Эталонное тестирование программных продуктов. Еще одно важное направление в технологиях баз данных, которое следует здесь упомянуть,

^

Общая оценка состояния Л

И

И

а

связано с созданием методологии, а также эталонных тестов для из­ мерения и сравнительной оценки производительности программных про­ дуктов СУБД на различных программно-аппаратных платформах. Су­ щественный вклад в решение этой проблемы принадлежит консорциуму ТРС (Transaction Processing Performance Council) [13]. Указанной про­ блемой для XML-ориентированных СУБД занимается в настоящее вре­ мя группа по базам данных в Лейпцигском университете (Германия) под эгидой консорциума XML:DB. Факторы, влияющие на дальнейшее развитие. В заключение это­ го краткого обзора следует назвать те факторы, которые оказывают на­ ибольшее влияние на дальнейшее развитие технологий баз данных. К их числу относятся:

<> организация производства объектных и объектно-реляционных СУБД баз

ведущими

данных;

поставщиками

программного

обеспечения

систем

О развитие объектной инфраструктуры, прежде всего благодаря деятель­ ности по стандартизации, проводимой консорциумом OMG, а также раз­ работкам компаний Microsoft и Sun Microsystems;

О разработка объектного языка программирования Java, стандартизация интерфейсов прикладного программирования объектно-реляционных и объектных СУБД для этого языка, разработка комплекса основан­ ных на нем информационных технологий;

О создание глобальной коммуникационной среды Internet;

О разработка консорциумом W3C технологической платформы Web но­ вого поколения, основанной на языке разметки XML;

О активизация исследований в области интеграции неоднородных ин­ формационных ресурсов и интеграция технологий баз данных с техно­ логиями Web;

О развитие новых архитектурных подходов в распределенных компью­ терных системах, основанных на концепциях «клиент-сервер», про­ межуточного слоя, мобильности, активных агентов;

О развитие в последние годы тенденций к конвергенции информацион­ ных технологий, выражающейся во взаимном влиянии технологий баз данных, технологий Web и технологий текстовых систем.

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

т т т Технологии баз данных В о п р о с ы д л
т
т
т
Технологии баз данных
В
о
п
р
о
с
ы
д
л
я
с
а
м
о
п
р
о
в
е
р
к
и

1. В какой мере технологии баз данных востребованы практикой раз­ работки современных информационных систем?

2. Приведите несколько наиболее важных, с вашей точки зрения, до­ стижений в области технологий баз данных.

3. Какие основные результаты достигнуты в области моделирования данных в системах баз данных?

4. В чем состоят главные особенности реляционной модели данных?

5. Какими достоинствами обладает объектный подход к моделирова­ нию данных?

6. Каким путем на практике осуществляется миграция реляционных систем баз данных в объектные среды?

7. На каких моделях данных основаны технологии OLAP?

8. Какое новое направление в технологиях баз данных рождается бла­ годаря созданию платформы XML для Web?

9. Для

каких целей данных?

создаются стандарты в области технологий баз

10. Какие факторы оказывают определяющее влияние на дальнейшее развитие технологий баз данных?

2 .2 .

А

р

х

и

т

е

к

т

у

р

н

ы

е

п

о

д

х

о

д

ы

Рассматривая проблемы архитектуры современных СУБД, систем баз данных или прикладных систем, основанных на технологиях баз данных, необходимо прежде всего отметить, что во внимание часто не принима­ ется ее многоаспектный характер. В этом разделе сначала анализируются наиболее существенные ас­ пекты архитектуры, а затем кратко рассматриваются популярные архи­ тектурные подходы, используемые в информационных системах, осно­ ванных на технологиях баз данных, и в средах функционирования таких систем. Нужно заметить, что большинство из этих подходов применяется также и в информационных системах других типов. Как уже отмечалось, архитектура СУБД и систем баз данных являет­ ся многоаспектной. В частности, можно вести речь о функциональной архитектуре систем, их пространственной и информационной архитекту­ ре. Эти аспекты архитектуры являются в значительной степени ортого­ нальными.

Архитектурные подходы I

I

I

·

·

Функциональная архитектура. Функциональная архитектура ха­ рактеризует состав функциональных компонентов системы, их назначе­ ние, взаимосвязи и способы взаимодействия. Так, в составе СУБД име­ ются компоненты, обеспечивающие интерактивные пользовательские интерфейсы и интерфейсы прикладного программирования, управление средой хранения данных и доступ к ним, поддержку предусмотренных «ло­ гических» уровней представления данных (концептуальный и внешний уровни в терминах архитектуры ANSI/X3/SPARC [30]), компоненты, реализующие механизмы управления транзакциями, поддержку функ­ ций администратора базы данных и т.д. Декомпозиция системы на от­ дельные функциональные компоненты, их взаимосвязи и способы взаи­ модействия зависят от реализационных решений, в частности связанных со спецификой аппаратно-программной платформы, для которой она предназначена. Например, возможности распараллеливания процес­ сов функционирования СУБД, обеспечиваемые используемой аппарат­ ной платформой, без сомнения, влияют на функциональную архитектуру системы. Точно так же имеется своя специфика в функциональной архи­ тектуре СУБД для управления базами данных, поддерживаемыми в опе­ ративной памяти. Прикладная система, взаимодействие компонентов которой основа­ но на принципе «клиент-сервер», включает клиентские и серверные функциональные компоненты. В настоящее время широко распростра­ нена трехзвенная архитектура «клиент-сервер». Система с такой архи­ тектурой включает функциональные компоненты, реализуемые сторо­ ной клиента, сервером базы данных и сервером приложений, которые, в свою очередь, могут декомпозироваться на составляющие их функци­ ональные компоненты. В случае распределенной пространственной ар­ хитектуры некоторые функциональные компоненты управления дан­ ными или приложения могут в аспекте функциональной архитектуры занимать промежуточное положение между приложением и компонен­ тами сетевого программного обеспечения. Такие функциональные ком­ поненты (архитектуру) называют компонентами (архитектурой) проме­ жуточного слоя. Функциональные компоненты систем описываются их интерфейсами. Пространственная архитектура. Пространственная архитекту­ ра характеризует размещение функциональных компонентов системы и ее информационных ресурсов в пространстве. По этому критерию раз­ личаются сосредоточенные и распределенные системы. В сосредоточенной системе все ее функциональные компоненты хранятся и исполняются на отдельном компьютере. На том же компьютере

T-i НІНТехнологии баз данных

поддерживается и база данных. Большое количество систем с такой архитек­ турой базируется на персональных компьютерах, а также на мейнфреймах. В отличие от них распределенные системы базируются на компью­ терных сетях различного масштаба —локальных, территориальных, гло­ бальных и т.д. Функциональные компоненты и/или информационные ре­ сурсы систем с такой архитектурой поддерживаются на различных узлах сети. Распределенные системы баз данных начали разрабатываться еще в 70-х годах. Появление беспроводных коммуникаций и мобильных компьюте­ ров в последние годы позволило создавать мобильные компьютерные сети и базирующиеся на них мобильные системы баз данных и мо­ бильные прикладные системы. В мобильных компьютерных сетях име­ ется стационарная часть — совокупность взаимосвязанных компьюте­ ров, местоположение которых остается неизменным, и мобильная часть, включающая коммуникационные средства и компьютеры, перемещае­ мые в пространстве и способные обмениваться данными с компьютера­ ми стационарной части сети. Компьютеры стационарной части выпол­ няют функции хостов (рабочих машин) и базовых станций. Базовые станции обеспечивают коммуникации мобильных компьютеров с хоста­ ми. Хосты служат для поддержки систем баз данных, исполнения прило­ жений и т.п. Конечно, возможно совмещение функций рабочей станции и хоста на одном компьютере. Нужно заметить, что мобильные системы баз данных обладают ря­ дом специфических особенностей, которые оказывают влияние на ис­ пользуемые в них технологии. Так, ограниченная емкость источников питания мобильных компьютеров требует применения нетрадицион­ ных моделей транзакций. Вместо традиционных частых коротких тран­ закций в данном случае более эффективны длинные, но более ред­ кие транзакции. Мобильность компьютеров порождает данные новой природы в базах данных. Интерпретация значений таких данных за­ висит от местоположения мобильного компьютера клиента. В мо­ бильных системах баз данных могут существовать также запросы, результаты обработки которых зависят от местоположения пользо­ вателя в момент задания запроса. Специфические требования к ме­ ханизмам защиты целостности данных в локальных СУБД мобильных компьютеров связаны также с возможностью неожиданного преры­ вания сеанса взаимодействия со стационарной частью системы базы данных. В связи с тем, что мобильный компьютер не находится в со­ стоянии постоянного взаимодействия со стационарной частью систе­ мы, необходимы особые методы синхронизации тиражируемых данных

Архитектурные подходы J

I

B

в мобильных системах. В настоящее время многие из этих и других воз­ никающих в системах такого рода проблем уже нашли свое решение. Процессы перемещения данных, которыми обмениваются функцио­ нальные компоненты распределенных между узлами компьютерной сети, использовались в системах с распределенной архитектурой изначально. Создание языка Java привело к использованию в них и мобильных фу на­ циональных компонентов. Информационная архитектура. Третий названный выше аспект ар­ хитектуры систем рассматриваемого класса — информационная ар­ хитектура. Этот аспект характеризует различные поддерживаемые в системе представления ее информационных ресурсов, материализо­ ванные и виртуальные, их свойства и взаимосвязи, в частности отобра­ жения различных представлений информационных ресурсов. Указанные элементы информационной архитектуры описываются схемами базы данных (внутренней, концептуальной, внешними). Элементами инфор­ мационной архитектуры сосредоточенной системы базы данных являют­ ся представления базы данных на различных уровнях многоуровневой информационной архитектуры — хранимой базы данных, концептуаль­ ной и внешних баз данных, а также междууровневые отображения этих представлений базы данных в терминах языков описания данных исполь­ зуемой СУБД. Федеративным системам баз данных и системам мульти­ баз данных свойственны такие элементы информационной архитектуры, как составляющие их локальные базы данных, а также виртуальная пол­ ная или частичная интегрированная база данных, описанная соответс­ твенно полной или частичной глобальной схемой. Перечислим теперь архитектурные подходы, которые получили в на­ стоящее время широкое распространение в разработках систем баз дан­ ных и прикладных систем. Распределенная архитектура. Системы с распределенной архитек­ турой (их называют распределенными системами) дают возможность обобществлять информационные, вычислительные и коммуникацион­ ные ресурсы узлов сети для использования их в рамках данного прило­ жения или группы приложений. В некоторых случаях при этом обеспе­ чивается прозрачность распределения обобществляемых ресурсов, например в распределенных системах баз данных с глобальной схемой. Архитектура «клиент-сервер». С точки зрения модели взаимодейс­ твия функциональных компонентов систем, наиболее распространенной еще с начала 90-х годов стала архитектура «клиент-сервер». При этом предусматривается выделение одного из функциональных компонен­ тов системы, называемого сервером, для оказания определенных услуг

Т с ΙΙΙΙί Технологии баз данных

по запросам других компонентов, называемых клиентами. Роли клиента

и сервера в рассматриваемой архитектурной модели являются относитель­

ными, так как они ассоциируются с конкретным набором услуг. Функцио­

нальный компонент, являющийся клиентом относительно одного набора услуг, может быть вместе с тем сервером, оказывающим другие услуги. Концепция «клиент-сервер» может использоваться в среде как рас­ пределенной, так и сосредоточенной архитектуры. В системах баз дан­ ных, основанных на таком подходе, сервер поддерживает базу данных

и обрабатывает запросы, поступающие со стороны клиентов. В свою

очередь, клиентские узлы поддерживают пользовательские интер­ фейсы и функциональность приложений. Такая архитектура называ­ ется двухзвенной архитектурой «клиент-сервер». Системы с двухзвенной архитектурой «клиент-сервер» обладают ог­ раниченными возможностями масштабирования, и наращивание нагрузки на сервер базы данных выше некоторого порога приводит к резкому сни­ жению производительности системы. К тому же при двухзвенном подхо­ де усложняется модификация приложений — изменения могут затраги­

вать целый ряд клиентских систем. В связи с этим в разработках крупных систем стала применяться трехзвенная архитектура «клиент-сервер» (клиенты, сервер приложения и сервер базы данных). При такой ар­ хитектуре функциональность приложения поддерживается специаль­ ным сервером. Сервер базы данных и сервер приложения могут подде­ рживаться на различных платформах и при необходимости независимо масштабироваться, порождая тем самым многозвенную архитекту­ ру «клиент-сервер». Архитектура промежуточного слоя. Архитектура промежуточ­ ного слоя — это разновидность распределенной архитектуры, в которой используются функциональные компоненты, занимающие в архитекту­ ре промежуточное положение между приложениями, с одной стороны,

и средствами операционной системы и сетевого программного обеспе­

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

Архитектурные подходыт

ш

т

слоя, обеспечивают прозрачность распределения ресурсов прикладной системы и ее неоднородности для разработчика приложений. Программное обеспечение, базирующееся на принципах архитекту­ ры промежуточного слоя, —это основа трехзвенного подхода к построе­ нию архитектуры неоднородных распределенных систем, который явля­ ется дальнейшим развитием архитектуры «клиент-сервер». Такой подход в настоящее время доминирует при создании крупных информационных систем. На принципах промежуточного слоя основаны многие актив­ но используемые стандарты распределенных систем, в частности стан­ дарт CORBA, разработанный консорциумом OMG (Object Management Group). Использование этого стандарта обеспечивает построение неод­ нородных распределенных интероперабельных объектных сред. К категории программного обеспечения промежуточного слоя отно­ сятся мониторы обработки транзакций в распределенных системах баз данных, компоненты функциональной архитектуры брокера объектных запросов стандарта CORBA и многие другие средства. Компонентная архитектура. Были предложены также архитектурные подходы, обеспечивающие создание систем из повторно используемых компонентов. Одним из первых среди них был подход, основанный на компонентной объектной модели COM (Component Object Model) [26] и ее распределенной версии DCOM (Distributed Component Model), разработанный компанией Microsoft, которая активно использует их в сво­ их программных продуктах начиная с середины 90-х годов. Другой архитектурный подход, основанный на компонентной объект­ ной модели JavaBeans [67], был предложен компанией Sun Microsystems. Созданная на ее базе компонентная архитектура Enterprise JavaBeans (EJB) [65] обеспечивает инструментарий высокого уровня для разра­ ботки на языке Java основанных на компонентах масштабируемых объ­ ектных распределенных приложений транзакционного типа. Такие при­ ложения переносимы без перекомпиляции или какой-либо коррекции исходного кода на любые серверные платформы, которые поддержива­ ют спецификации EJB. Новая созданная компанией Sun Microsystems эффективная компо­ нентная технология разработки, распространения и загрузки мульти- пользовательских корпоративных сервисов основана на технологичес­ кой платформе Java 2 Enterprise Edition (J2EE) [66], которая уверенно завоевывает все большую долю рынка программных продуктов рассмат­ риваемого назначения. Платформа J2EE интегрирует получившие ши­ рокое распространение ранее созданные компанией Sun Microsystems элементы технологий разработки программного обеспечения на языке

ΙΙί Технологии баз данных

τΐΗ

Java, в том числе интерфейс прикладного программирования для систем баз данных JDBC, технологии JavaBeans и EJB, принимает во внимание потребности приложений Web и использует платформу XML (см. главу 4). Развитие и продвижение технологии J2EE осуществляется консорци­ умом Java Community Process (JCP), в состав которого входит несколь­ ко сот крупнейших поставщиков и пользователей программного обес­ печения, таких как компании IBM, Oracle, Hewlett-Packard, Rational Software, Sun Microsystems и др. Для реализации компонентной архитектуры в среде распределенных неоднородных интероперабельных объектных сред, основанных на плат­ форме CORBA, стандарт компонентной модели разработан также кон­ сорциумом OMG [39]. Этот стандарт создавался под влиянием компо­ нентного подхода компании Sun Microsystems. Мобильная архитектура. В середине 90-х годов появилась возмож­ ность использования в архитектуре распределенных систем мобильных средств программного обеспечения. Такие возможности открылись пре­ жде всего благодаря появлению языка и технологий Java. Функциональ­ ные модули приложений, представленные в виде Java-аплетов в формате мобильных Java байт-кодов, вызов которых встроен в HTML-страницы, передаются при такой технологии по запросу браузера с Web-cepBepa на сторону Web-клиента, где они могут исполняться виртуальной машиной Java, встроенной в Web-браузер. Архитектура агентов. В последние годы большое внимание исследова­ телей и поставщиков программного обеспечения привлекают агентные подходы, которые уже нашли применение как в системах, основанных на технологиях баз данных [69], так и в других типах информационных сис­ тем и систем иного назначения. Агентом называют программу, которая выполняется от имени другой программы или лица в автономном от них режиме, может взаимодейс­ твовать с другими агентами, а также со средой, в которой она выполня­ ется, и реагировать на происходящие в ней изменения. Различаются стационарные и мобильные агенты. Стационарные аген­ ты исполняются на том компьютере, на котором они были активизированы. Мобильные агенты могут мигрировать с одного компьютера сети на дру­ гой. При этом перемещается не только их программный код, но и данные, представляющие их состояние. В системах, основанных на технологиях баз данных, мобильные агенты используются для распределенной обработки транзакций, для обеспече­ ния доступа к базам данных, в том числе к базам данных, интегрированным в среду Web, для мониторинга данных [63]. Они могут использоваться

Архитектурные подходыл

і

н

е

также в качестве функциональных компонентов приложений, которые обеспечивают коллекционирование данных, их фильтрацию и другую об­ работку, передачу сообщений, распространение данных и т.п. Для управления мобильными агентами используются так называемые системы мобильных агентов. В их функции входит создание, иниции­ рование, осуществление миграции агентов, их уничтожение, обеспече­ ние безопасности функционирования порожденных ими агентов. Одна из таких инструментальных систем ASDK (Aglet Software Development Kit), созданная компанией IBM [31 ], имеет дело с мобильными агентами Java, называемыми аглетами. Консорциум OMG разработал спецификации индустриального стан­ дарта возможностей мобильных агентов [58]. Одноранговая архитектура. Речь идет о возрождающемся архитек­ турном подходе в распределенных системах, который, так же как агент­ ные технологии, в последние годы привлекает большое внимание [49, 70]. Этот подход основан на принципах архитектуры одноранговых сетей (Peer-to-Peer Network). Такую архитектуру можно было бы на­ звать распределенной архитектурой с равноправными компью­ терами. Она является альтернативой централизованной архитектуре «клиент-сервер», в которой клиентские компьютеры совместно исполь­ зуют ресурсы компьютеров-серверов. Одноранговая архитектура, на­ против, является децентрализованной. Все компьютеры сети на равных способны совместно использовать ресурсы друг друга. Роль, которую играет каждый компьютер во взаимодействиях с другими компьютера­ ми сети при предоставлении некоторой услуги, не фиксируется, как это имеет место в архитектуре «клиент-сервер», а зависит от контекста вы­ полняемой операции и от характеристик текущей ситуации. В одних слу­ чаях он может быть сервером, в других —клиентом. Каждый из этих двух подходов обладает своими достоинствами и недо­ статками. При появлении в системе с архитектурой «клиент-сервер» но­ вых компьютеров-клиентов возрастает нагрузка на сервер. В конце кон­ цов сервер может оказаться перегруженным и начинает деградировать производительность системы. В случае одноранговой архитектуры по­ явление новых компьютеров в сети, наоборот, увеличивает ее ресурсы и приводит к росту производительности. Вместе с тем для одноранговой архитектуры требуются более сложные средства управления по сравне­ нию с вариантом «клиент-сервер». Здесь нужно осуществлять мони­ торинг состояния компонентов сети (Peer), которые могут независимо отключаться от нее в любое время. Усложняется решение проблем безо­ пасности и обеспечения целостности данных и т.п.

ї Технологии баз данных

И

І

Н

Концепция одноранговой архитектуры отнюдь не нова. На ней осно­ вывалась сеть ARPANET, ставшая стартовым ядром Internet. Эта кон­ цепция была положена в основу системы доменных имен (Domain Name System, DNS) в Internet и других сетевых систем. Однако взрывной ха­ рактер развития Internet, необходимость использования сетевых экра­ нов (Firewall), динамических IP-адресов, трансляции сетевых адресов (Network Address Translation, NAT), использование браузеров в Web и другие факторы привели к доминанте принципа «клиент-сервер» в сре­ де Internet и в разработках распределенных систем другого рода. Теперь на этом принципе строятся, в частности, современные системы распре­ деленных баз данных, Web и другие информационные службы Internet. Однако в 2000 году вновь оживился интерес к концепции одноранго­ вой архитектуры. Уже появился целый ряд посвященных ей исследова­ тельских проектов, системных прототипов, а также программных про­ дуктов. Продолжается поиск необходимых технических решений. Можно ожидать, что Internet и разнообразные распределенные системы нового поколения станут базироваться на одноранговой архитектуре. Реализация архитектуры систем баз данных. Обсуждая архитекту­ ру современных систем баз данных и информационных систем, следует для полноты картины упомянуть о функциональных компонентах рас­ сматриваемых систем, обеспечивающих поддержку требуемой инфор­ мационной архитектуры. Наиболее сложные варианты информационной архитектуры приходится использовать в системах, обеспечивающих ин­ теграцию неоднородных информационных ресурсов. Среди указанных функциональных компонентов следует прежде все­ го назвать всевозможные механизмы отображения моделей дан­ ных. Они не только служат для поддержки многоуровневого представле­ ния баз данных в локальных СУБД, но и играют важную роль в решении проблем интеграции неоднородных информационных ресурсов. Недав­ но принятое дополнение SQL/MED к стандарту языка запросов для ре­ ляционных и объектно-реляционных баз данных SQL: 1999 описывает отображение в среду SQL внешних источников данных, обеспечивая для них возможность доступа теми же средствами языка SQL, что использу­ ются для доступа к обычным данным в базе данных. Подобные механиз­ мы отображения данных в некоторых СУБД называют шлюзами. На технике отображения моделей данных в рассматриваемых систе­ мах базируется другой важный вид функциональных компонентов, назы­ ваемых адаптерами (Wrapper). Адаптеры «обертывают» данную про­ граммную систему, программный модуль или информационный ресурс в оболочку, обеспечивающую его представление, естественное для

И

В

в

Архитектурные подходы Л

а

среды применения. Вместе с тем исходный ресурс инкапсулируется от среды, в которую он таким образом погружается. Благодаря такому под­ ходу обеспечивается единообразный доступ к неоднородным источникам информационных ресурсов. Так, адаптеры в среде, основанной на платформе CORBA, позволяют представить, например, реляционную или иерархическую систему базы данных как объект такой среды, инкапсулирующий реальную реализа­ цию системы. Для этого на языке определения интерфейсов IDL стандар­ та СORBA определяется интерфейс объекта, предусматривающий нужные операции и атрибуты, в терминах которых можно обращаться к рассмат­ риваемой системе базы данных. Инкапсулированная для пользователя реализация этого интерфейса будет выполнять функции отображения определенных в интерфейсе операций в язык запросов рассматриваемой СУБД. Полученный результат, в свою очередь, конвертируется в фор­ му, соответствующую спецификации интерфейса. Аналогичные функции выполняют адаптеры в других средах. В завершение этого раздела следует назвать компоненты программно­ го обеспечения информационных систем, выполняющие функции семан­ тической интеграции данных из множества неоднородных источников и поддержки интегрированного представления этих данных для прило­ жений на более высоком уровне информационной архитектуры системы. Такие компоненты называются посредниками (Mediator). Идеи посред­ ника были предложены в 1992 году профессором Гио Видерхольдом (Gio Wiederhold, Стэнфордский университет) [71]. Посредник инкапсулиру­ ет источники данных для пользователя, разрешает конфликты, возникаю­ щие в связи с различием представлений данных в этих источниках. Техни­ ка посредников используется, в частности, в системах мультибаз данных для интеграции данных, содержащихся в локальных базах данных, а также для интеграции слабоструктурированных данных Web-сайтов. В последнее время посредники нашли применение в системах электронных библиотек для интеграции неоднородных коллекций информационных ресурсов.

В

о

п

р

о

с

ы

д

л

я

с

а

м

о

п

р

о

в

е

р

к

и

1. Какие аспекты архитектуры систем баз данных являются наиболее существенными?

2. Что такое функциональная архитектура системы?

3. Поясните смысл пространственной архитектуры системы баз данных.

4. В чем заключается смысл информационной архитектуры?

%mn\iТехнологии баз данных

6.

Что представляет собой архитектура промежуточного слоя?

7.

Какие преимущества обеспечивает приложениям использование программного обеспечения промежуточного слоя?

8.

Приведите примеры программных средств архитектуры промежу­ точного слоя.

9.

10.

стандарт слоя? Сформулируйте принципы архитектуры «клиент-сервер».

11.

Чем трехзвенная архитектура «клиент-сервер» отличается от двух­

12.

звенной? Из каких компонентов состоят мобильные системы баз данных?

13.

Какие компонентные архитектурные модели используются в насто­ ящее время?

14.

Какие возможности в разработках систем баз данных и информаци­ онных систем обеспечивает агентный подход?

15.

Что такое мобильный агент?

16.

Назовите достоинства и недостатки подхода, основанного на одно­ ранговой архитектуре.

17.

 

ции информационной архитектуры современных систем баз данных и информационных систем?

18.

В каких случаях применяются механизмы отображения моделей данных?

19.

Для каких целей используются адаптеры?

 

20.

Что такое посредник и каковы его функции?

2 .3 .

О

б

ъ

е

к

т

н

ы

е

б

а

з

ы

д

а

н

н

ы

х

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

Объектные базы данныхЛИ·:

использовании графовых моделей данных и реляционной модели. Объект­ ная парадигма моделирования позволяет не разделять при разработке модели предметной области (и схемы базы данных) структурные и по­ веденческие аспекты сущностей предметной области, использовать бо­ лее развитую систему типов, чем в других моделях данных, моделировать с помощью отношения наследования и связей между типами объектов различные виды связей между объектами предметной области. Немаловажное значение имеет также тот факт, что СУБД, основан­ ные на объектной парадигме моделирования данных, позволяют преодо­ леть застарелую болезнь традиционных технологий баз данных, называ­ емую несоответствием импеданса, —несоответствие типов данных, которые предусмотрены в языке прикладного программирования и в мо­ дели данных, поддерживаемой СУБД. Эта проблема, пожалуй, не возни­ кала лишь для приложений СУБД типа CODASYL, реализованных в язы­ ке COBOL, поскольку запись базы данных в модели данных CODASYL строилась по образу и подобию записи в этом языке программирования. Но проблема несоответствия импеданса возникла и для СУБД этой кате­ гории, когда впоследствии потребовалось обеспечить их средствами API для языков PL/ і и FORTRAN. Ее пришлось решать и для реляционных баз данных, где возникло противоречие между множественным характе­ ром операций над строками таблиц базы данных в реляционных базах данных и построчным (над единичными строками) характером операций в традиционных языках программирования, для которых предоставля­ лись интерфейсы прикладного программирования СУБД. Привлекательной особенностью объектных СУБД, которые с само­ го начала предусматривали API для объектных языков программирова­ ния, было полное отсутствие указанной проблемы. Весьма заманчивой также представлялась возможность создания декларативных языков за­ просов для объектных СУБД. Наконец, существует развитая объектная инфраструктура, благодаря которой снижаются стоимость и сроки раз­ работки систем баз данных. Действительно, в настоящее время широ­ ко распространены стандарты и инструментальные программные средс­ тва для конструирования обладающих многими полезными свойствами объектных сред, в рамках которых должны функционировать системы баз данных. Создан разнообразный инструментарий анализа и проекти­ рования сложных систем, основанный на объектной парадигме. Возмож­ ностям объектного подхода в программировании, в системах баз данных и в инструментарии объектно-ориентированного анализа и проектирова­ ния программных систем посвящена обширная литература (см., напри­ мер, [2, 16, 26]).

ϊ

4

IIIIL Технологии баз данных

Краткая история. Становление объектного подхода в области баз данных началось во второй половине 80-х годов —в период, когда в прак­ тических приложениях уже сложилась безраздельная монополия реля­ ционных баз данных. Каковы же причины рождения объектного подхода в технологиях баз данных? Таких причин несколько. Прежде всего стали, наконец, приносить практические плоды про­ должавшиеся более десятилетия исследования в области языков про­ граммирования, основанных на объектной парадигме. А языки програм­ мирования, как известно, являются главным инструментом разработки приложений систем баз данных. К этому времени в ряде научных центров в области систем баз данных были развернуты поисковые проекты, направленные на изучение воз­ можных путей дальнейшей эволюции технологий баз данных. В некото­ рых из них изучались, в частности, возможности интеграции элементов объектной функциональности в среду реляционных СУБД. Так, в про­ екте постреляционной исследовательской СУБД POSTGRES, который выполнялся в Калифорнийском университете (Беркли) известной свои­ ми новаторскими идеями и крупнейшим вкладом в технологии реляци­ онных баз данных группой Майкла Стоунбрекера (Michael Stonebraker), предусматривалось использовать в разрабатываемом прототипе реляци­ онную модель данных, расширенную основными объектными возмож­ ностями — наследованием типов, инкапсуляцией их реализаций. Подво­ дя итоги проведенных в этой области исследований, ведущие эксперты принимали во внимание не только их результаты, но и успехи примене­ ния объектных языков программирования. Перспективность объектно­ го подхода в технологиях баз данных получила широкое признание. Рас­ смотрим эти вопросы подробнее. Активные исследования в области языков программирования, прово­ дившиеся в конце 60-х — начале 70-х годов, привели к формированию концепции абстрактного типа данных. Она нашла конструктивное воплощение в разработанных в это время экспериментальных языках программирования (CLU, Alphard и др.) и трансформировалась впоследс­ твии в подход, который и стал называться объектным. Специалисты по языкам программирования усматривают истоки объектного подхода в языке имитационного моделирования Симула-67, созданном и впервые реализованном в Норвегии. Этот язык был также реализован в нашей стране в Центральном экономико-математическом институте Академии наук на платформе ЕС ЭВМ, а также в Институте прикладной математи­ ки им. В.М. Келдыша на платформе БЭСМ-6 и использовался для ими­ тационного моделирования сложных систем с дискретными событиями.

Объектные базы данныхЛИ·:

Одним из ранних объектных языков программирования, который по­ лучил широкое распространение, стал созданный в 1972 году в компании Xerox PARC язык Smalltalk. А после опубликования в 1983 году одним из авторов языка Симула-67 — Бьерном Страуструпом (Bjorn Stroustrup) из AT&T Bell Laboratories языка C+ + , объектного расширения уже к тому времени весьма популярного языка С, и начала поставок ком­ паниями Borland и Microsoft систем программирования с этим входным языком для платформы IBM-совместимых персональных компьютеров программирование в объектной парадигме стало массовым явлением. Конечно же, эта ситуация не могла не пробудить интереса к вопло­ щению объектной парадигмы в технологиях баз данных. К этому време­ ни накопилась заметная коллекция разнообразных классов приложений, которые не могли быть эффективно реализованы средствами реляцион­ ных систем. Как правило, к их числу относились приложения, которые нуждались в более богатых по сравнению с предоставляемыми реляци­ онными СУБД средствах моделирования предметной области с разви­ той системой типов, с возможностью представления сложных структур данных, обеспечивающих во многих случаях более естественное отобра­ жение семантики предметной области в базах данных. Эти возможности обеспечивали объектные модели данных. Значительное влияние на развитие объектных технологий баз дан­ ных и развертывание индустрии объектных СУБД оказала поддержка научного сообщества. В 1989—1990 годах две группы ведущих экс­ пертов в области технологий баз данных из разных стран опублико­ вали с годовым интервалом программные документы — Манифест объектно-ориентированных баз данных [32] и Манифест систем баз данных третьего поколения [64]. Заметим, что первым поколением сис­ тем баз данных принято считать системы, основанные на графовых мо­ делях данных — иерархических, сетевых и т.п., а вторым — реляцион­ ные системы. В первом документе формулировались важнейшие требования к объ­ ектным СУБД, предлагалось осуществлять переход к новым технологи­ ям с «чистого листа», а не эволюционным путем, постепенно «вживляя» идеи объектного подхода в существующие реляционные технологии. Ав­ торы второго документа были более прагматичными. Они констатиро­ вали, что реляционные СУБД, доминировавшие в этот период в раз­ работках приложений, не удовлетворяли потребностям многих важных нетрадиционных сфер применения и что нужны новые подходы к управле­ нию данными в системах баз данных. Однако, в отличие от первого до­ кумента, подчеркивалась необходимость обеспечения преемственности

Технологии баз данных

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