«РАЗРАБОТКА ТЕХНОЛОГИИ АВТОМАТИЗИРОВАННОЙ ПОДГОТОВКИ ДИНАМИЧЕСКИХ ДОКУМЕНТОВ И ИНТЕРАКТИВНОГО ПОВЕСТВОВАНИЯ ...»
МОСКОВСКИЙ ФИЗИКО-ТЕХНИЧЕСКИЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)
На правах рукописи
Леонов Андрей Владимирович
РАЗРАБОТКА ТЕХНОЛОГИИ АВТОМАТИЗИРОВАННОЙ
ПОДГОТОВКИ ДИНАМИЧЕСКИХ ДОКУМЕНТОВ
И ИНТЕРАКТИВНОГО ПОВЕСТВОВАНИЯ
Специальность 05.13.11 – "Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей" Диссертация на соискание ученой степени кандидата физико-математических наук
Научный руководитель – доктор физико-математических наук, профессор С. В. Клименко Москва – Оглавление ВВЕДЕНИЕ
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
СТРУКТУРА ДИССЕРТАЦИИ
РЕЗУЛЬТАТЫ, ВЫНОСИМЫЕ НА ЗАЩИТУ
1. ОБЪЕКТ ИССЛЕДОВАНИЯ: ДИНАМИЧЕСКИЙ ДОКУМЕНТ
1.1. ОПРЕДЕЛЕНИЕ ТЕРМИНОВ И ПОНЯТИЙ
1.2. ИСТОРИЯ РАЗВИТИЯ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ
1.3. НОВЫЕ ВОЗМОЖНОСТИ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ
1.4. ДИНАМИЧЕСКИЕ ДОКУМЕНТЫ – НОВЫЙ КЛАСС ЭЛЕКТРОННЫХ ДОКУМЕНТОВ
1.5. НАПРАВЛЕНИЯ РАЗВИТИЯ ДИНАМИЧЕСКИХ ДОКУМЕНТОВ
2. АВТОМАТИЗАЦИЯ ПОДГОТОВКИ ДИНАМИЧЕСКИХ ДОКУМЕНТОВ................ 2.1. НЕОБХОДИМОСТЬ АВТОМАТИЗАЦИИ РАБОТЫ С ДОКУМЕНТАМИ
2.2. ТРЕБОВАНИЯ К СИСТЕМЕ ПОДГОТОВКИ ДОКУМЕНТОВ
2.3. ТЕХНОЛОГИЯ ПОСТРОЕНИЯ ДИНАМИЧЕСКИХ ДОКУМЕНТОВ
2.4. АРХИТЕКТУРА СИСТЕМЫ ПОДГОТОВКИ ДОКУМЕНТОВ
2.5. КРИТЕРИИ ВЫБОРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
3. ГЕНЕРИРОВАНИЕ DTD ДЛЯ МАССИВА XML-ДОКУМЕНТОВ
3.1. АВТОМАТИЗАЦИЯ НАПОЛНЕНИЯ РСУБД
3.2. МЕТОДЫ ЗАПИСИ XML-ДОКУМЕНТОВ В РСУБД
3.3. МОДЕРНИЗАЦИЯ РЕЛЯЦИОННЫХ СХЕМ
3.4. ТЕХНОЛОГИЯ ГЕНЕРИРОВАНИЯ DTD
3.5. СИСТЕМА ОБРАБОТКИ XML-ДОКУМЕНТОВ
4. ИНТЕРАКТИВНОЕ ПОВЕСТВОВАНИЕ В ВИРТУАЛЬНОМ ОКРУЖЕНИИ........... 4.1. ИНТЕРАКТИВНОЕ ПОВЕСТВОВАНИЕ – НОВЫЙ ТИП ДИНАМИЧЕСКИХ ДОКУМЕНТОВ ............... 4.2. МЕТОДЫ ИНТЕРАКТИВНОГО ПОВЕСТВОВАНИЯ
4.3. ТЕХНОЛОГИИ ВИРТУАЛЬНОГО ОКРУЖЕНИЯ
4.4. ТЕХНОЛОГИЧЕСКАЯ ПЛАТФОРМА AVANGO
4.5. ОБУЧАЮЩАЯ СИСТЕМА "ВИРТУАЛЬНЫЙ ПЛАНЕТАРИЙ"
ЗАКЛЮЧЕНИЕ
ПРИЛОЖЕНИЯ
ГЛОССАРИЙ
СПИСОК ЛИТЕРАТУРЫ
Введение
Работа выполнена на кафедре системной интеграции и менеджмента Московского физико-технического института (г. Долгопрудный) и в Институте физико-технической информатики (г. Протвино), который является базовой организацией этой кафедры.
Автор выражает глубокую признательность Станиславу Владимировичу Клименко за чуткое руководство и постоянную поддержку, значение которых сложно переоценить. Неоценимую помощь на заключительном этапе подготовки диссертации к защите оказал Михаил Исаевич Гуревич, которому автор искренне благодарен. Автор благодарит руководителей компании "Телеком Транспорт" Евгения Гаскевича и Олега Скрипачева за понимание и предоставленную возможность заниматься научной работой. Наконец, автор сердечно благодарит за помощь своих коллег: Бориса Бахбуха, Владимира Лудинова, Виталия Обернихина, Игоря Петренко, Рената Хуснутдинова.
Общая характеристика работы
Актуальность проблемы. В последнее время в сфере систем управления документами наблюдается несколько тенденций. Программные продукты, которые изначально разрабатывались для автоматизации разных аспектов функциональности, интегрируются с продуктами других производителей1. В повседневный оборот входят такие термины, как виртуальный (virtual), живой (live, alive), оперативно доступный по запросу (on-line), эволюционирующий Приобретения: Hummingbird [120] + PC DOCS + Fulcrum (1999), Documentum [118] + eRoom (2002), Vignette [145] + Epicentric (2002), Oracle [134] + PeopleSoft [136] + J. D. Edwards [126] и т. д. Интеграция: Documentum [118] + Verity [144], SAP [138] + Documentum [118], Convera [113] + Oracle [134] + SUN [142] и т. д.
(evolving) и интеллектуальный (intelligent) документ, что находит отражение в отчетах исследовательских групп2 и публикациях научных сообществ3.
Наконец, все больше компаний начинают позиционировать свои продукты как системы управления знаниями4. Все эти процессы глубоко взаимосвязаны друг с другом и отражают разные стороны одного явления: в сфере управления документами происходит качественный переход, связанный с возникновением нового класса электронных документов – динамических документов [1].
До тех пор, пока основной задачей было эффективное управление электронными версиями бумажных документов, в центре внимания находились задачи автоматизации документооборота или автоматизации управления документами. Уже к середине 90-х гг. прошлого столетия развитие технологий сканирования, автоматического распознавания, регистрации и индексирования документов, устройств хранения данных, систем управления базами данных документов, повсеместное распространение Интернета и электронной почты позволили в широких масштабах осуществить переход к электронному документообороту [48]. Интеграция перечисленных технологий в единые Gartner [119], IDC [124], Delphi Group [114], META Group [128], Ovum [135] и др.
IEEE Computer Society [76], IEEE Communication Society [77], IEEE Professional Communication Society [78], Association for Computing Machinery [81], American Society for Information Science and Technology [80], Assosiation of Knowledgework [82] и др.
Например, IBM Lotus [123], Microsoft SharePoint Portal [129], Oracle Collaboration Suite [134], Sun Microsystems ONE Portal Server [142], Documentum [118], Hummingbird [120], Convera [113], Hyperwave [121], Open Text [133], Divine [116] и т. д., из отечественных Cognitive Technologies ("Астарта") [112], Галактика ("Галактика-ZOOM") [99] и др.
различные контуры документооборота предприятий [40]. C технической точки документообороту практически решена в таких сферах, как бухгалтерский учет, складской учет (ERP), логистика (SCM, SRM), учет контактов с клиентами (CRM), управление кадрами и других хорошо формализованных областях5.
Переход от оборота бумажных документов к обороту их электронных аналогов позволил многократно упростить процесс подготовки и согласования документов, ускорить их доставку адресатам и прохождение документами своего жизненного цикла, усовершенствовать систему хранения и поиска документов [10] – но не добавил ничего принципиально нового в сам процесс передачи информации от одних людей к другим посредством документов.
Статичный электронный документ создавался, утверждался, регистрировался, передавался на исполнение, двигался внутри организации и попадал в архив практически точно так же, как и бумажный: разница заключалась лишь в удобстве обращения с ним. Пользователь мог получить "из компьютера" только те документы, которые были когда-то "в компьютер" занесены – тексты, таблицы, изображения, аудио- или видеофайлы и т. д.
Дальнейшее развитие технологий интеллектуального поиска и анализа документов, РСУБД и технологий конструирования прототипов (шаблонов) перевода, технологий разбора и генерирования текстов на естественных языках позволило реализовать в системах управления электронными документами совершенно новую функциональность, которая была в принципе недоступна Из популярных программных продуктов можно отметить Oracle E-Business Suite [134], PeopleSoft [136], SAP [138], Siebel [141], i2 [122], J. D. Edwards [126], Sage Group [137], Scala [139], Baan [110], Microsoft Axapta [129], Microsoft Navison [129], из отечественных - 1C:
Предприятие [97], Галактика [99], Парус [104], ДЕЛО [107] и др.
при работе с бумажными документами [10]. Электронные информационные системы "научились" не просто выдавать пользователю те документы, которые были когда-то занесены "в компьютер", а автоматически генерировать по запросу пользователя новые документы на основе доступной информации [1].
Такие документы получили в литературе название динамических, или виртуальных документов [73]. В современных информационных системах управление отдельными этапами жизненного цикла (document workflow) динамических документов все чаще осуществляется автоматически, что делает их полноправными участниками бизнес-процессов предприятия [45], [70], [72].
Все это позволяет говорить о качественном переходе к информационным системам следующего поколения, ключевым элементом которых являются динамические документы – эволюционирующие, интеллектуальные, живые.
Если раньше основные усилия разработчиков были сконцентрированы на автоматизации ввода бумажных документов в систему, развитии технологий хранения и поиска документов в базах данных и совершенствовании средств коллективной работы с документами, то сейчас акцент сместился на развитие технологий интеллектуальной обработки и анализа информации, совершенствование средств поиска требуемых сведений и их представления в удобной для пользователя форме. Все современные системы управления документами в той или иной степени "умеют" автоматически генерировать новые документы на основе доступной информации [33], [71].
Анализ последних тенденций в сфере электронного документооборота показывает, что разработка методов и технологий работы с динамическими документами становится магистральным направлением развития современных информационных систем [1], [32], [39], [73], [150]. Практически все компании, предлагающие системы управления документами, так или иначе работают над этой задачей, что в ближайшем будущем приведет к глубокой перестройке существующих бизнес-процессов и схем работы с информацией.
Целью диссертационной работы является разработка и развитие методов и технологий автоматизированной подготовки динамических документов, в том числе динамических документов нового типа – интерактивного повествования в виртуальном окружении.
В рамках данной работы поставлены и решены следующие задачи:
• Исследование нового класса электронных документов – динамических документов. Описание характеристик динамических документов. Анализ возможностей, которые дает использование динамических документов при построении электронных информационных систем.
• Разработка технологии автоматизированной подготовки динамических документов. Построение на основе этой технологии системы автоматизированной подготовки и публикации документов на корпоративном сайте и ее внедрение в эксплуатацию.
• Разработка технологии записи массива XML-документов в таблицы РСУБД без использования информации об их структуре и автоматического генерирования DTD для этого массива XMLдокументов. Построение на основе этой технологии экспериментальной системы автоматического генерирования DTD.
• Исследование нового типа динамических документов – интерактивного повествования в виртуальном окружении. Описание методов и технологий интерактивного повествования в виртуальном окружении.
Анализ его возможных применений для создания электронных информационных, обучающих и тренировочных систем.
• Разработка технологии интерактивного повествования в виртуальном окружении. Интеграция технологий динамических документов и виртуального окружения на технологической платформе Avango.
Построение обучающей системы "Виртуальный Планетарий" на основе технологии интерактивного повествования в виртуальном окружении.
Научная новизна результатов. Понятие динамического документа появилось в зарубежной литературе около 10 лет назад [73]. Однако, до сих пор не был проведен содержательный анализ этого понятия и связанного с ним комплекса методов и технологий. В данной работе концепция динамических документов впервые представлена в целостном, логически связанном виде.
Описана история развития электронных документов, рассмотрены возможности электронных документов, показан механизм возникновения нового класса электронных документов – динамических документов, описаны характеристики динамических документов, исследованы их возможности и преимущества.
динамических документов по своей архитектуре близка к технологии построения так называемых динамических сайтов. Однако существующие технологии построения динамических сайтов разработаны и описаны, как правило, либо с точки зрения программиста, либо с точки зрения дизайнера (верстальщика). В первом случае объектом исследования являются программные продукты и языки программирования, а целью – создание на их основе новых программных модулей, интеграция различных программных продуктов друг с другом, разработка новых алгоритмов и приемов программирования. Во втором случае объект исследования – это языки разметки (HTML и др.), а цель – наиболее эффективное отображение информации на экране монитора с учетом характеристик компьютеров и программного обеспечения пользователей.
Технология, представленная в данной работе, разработана и описана с точки зрения разработчика (конструктора) динамических документов, цель которого – наиболее эффективная организация информационного взаимодействия между электронной информационной системой и ее пользователями. Объектом исследования являются динамические документы – новый класс электронных документов, которые предоставляют намного более широкие возможности управления информацией, чем традиционные статичные электронные документы. Результатом исследования является новая технология работы с информацией, основанная на использовании динамических документов. Эта технология может применяться для построения электронных информационных систем самых разных типов – корпоративных сайтов, баз знаний, экспертных систем и т. д. В частности, на ее основе разработана технология интерактивного повествования в виртуальном окружении, описанная в данной работе.
Представленная технология записи массива XML-документов в РСУБД без использования информации об их структуре и генерирования DTD для этого массива XML-документов является новой. В литературе описан ряд алгоритмов записи отдельного XML-документа в РСУБД без использования информации о его структуре [53], [54], [55]. Также в литературе описан алгоритм построения DTD для отдельного XML-элемента [57]. В данной работе задача генерирования DTD для массива XML-документов впервые рассмотрена как часть более общей задачи автоматического занесения структурированной информации в РСУБД электронной информационной системы. Разработанная технология записи массива XML-документов в РСУБД и генерирования DTD для этого массива XML-документов позволяет автоматизировать наполнение РСУБД информацией и тем самым существенно повысить эффективность автоматизированной подготовки динамических документов.
Технология интерактивного повествования в виртуальном окружении, представленная в данной работе, является новой. В мире есть несколько десятков коллективов, которые занимаются разработкой методов и технологий интерактивного повествования в виртуальном окружении [90], [92]. Однако, как и в любой новой предметной области, понятие интерактивного повествования по-разному трактуется разными исследователями. Этот факт в сочетании с широким спектром систем и технологий виртуального окружения приводит к тому, что каждый коллектив фактически разрабатывает свою технологию интерактивного повествования в виртуальном окружении, которая существенно отличается от других разработок. Представленная технология интерактивного повествования в виртуальном окружении основана на интеграции технологий динамических документов и виртуального окружения на технологической платформе Avango [23]. Это новый подход, который ранее не рассматривался и не был описан другими исследователями.
автоматизированной подготовки динамических документов, представленная в информационных систем, которых не удовлетворяет функциональность возможности работы с информацией. Эта технология может использоваться для построения корпоративных информационных систем, баз знаний, систем экспертных систем, публичных информационных порталов и т. д.
использования информации о их структуре и генерирования DTD для этого массива XML-документов, описанная в данной работе, представляет интерес для разработчиков электронных информационных систем, которым необходимо автоматизировать наполнение РСУБД структурированной информацией. Эта задача неизбежно возникает при развитии любой электронной информационной неэффективным и перестает удовлетворять возросшим требованиям к объему и генерирования DTD для массива XML-документов в комплексе с системами документов и баз данных в формат XML обеспечивает эффективное решение задачи автоматического наполнения РСУБД структурированной информацией.
Структурированная информация из таблиц РСУБД может быть легко использована для автоматизированного построения динамических документов.
Технология интерактивного повествования в виртуальном окружении, описанная в данной работе, представляет интерес для разработчиков электронных информационных, обучающих и тренировочных систем. Эта технология основана на технологической платформе Avango, которая имеет открытый исходный код и распространяется свободно [23]. Стоимость системы виртуального окружения на Linux-кластере персональных компьютеров сегодня вполне доступна для крупных отечественных научных центров, ВУЗов, промышленных и добывающих корпораций [93]. Учитывая, что стоимость разработки приложений виртуального окружения на базе программного обеспечения с открытым исходным кодом на порядок меньше, чем стоимость фирменных систем с аналогичной функциональностью, можно предположить, что круг потенциальных пользователей предложенной технологии интерактивного повествования в виртуальном окружении достаточно широк.
Среди возможных применений данной технологии – создание инструкций по эксплуатации и документации к технологически сложным изделиям, в том числе, "двойного" назначения, в рамках концепций CALS, PLCS, PLM [102].
Достоверность и обоснованность полученных результатов подтверждается публикациями результатов в ведущих научных журналах и трудах международных конференций, в которых проводится тщательное рецензирование.
Личный вклад автора. Автору принадлежит инициатива в постановке и решении основных задач диссертации. Личный вклад автора состоит в разработке целостной научной концепции динамических документов [1], разработке новой технологии автоматизированной подготовки динамических документов [2], исследовании задачи построения системы автоматизированной подготовки динамических документов с использованием программного обеспечения с открытым исходным кодом [3], развитии и конструктивной проработке методов и алгоритмов записи XML-документов в РСУБД без использования информации об их структуре [4], развитии и конструктивной проработке методов и алгоритмов генерирования DTD для массива XMLдокументов [5], разработке новой технологии интерактивного повествования в виртуальном окружении [6].
Апробация результатов. Технология автоматизированной подготовки динамических документов, представленная в данной работе, была использована для создания системы автоматизированной подготовки и публикации документов на корпоративном сайте. Эта система была внедрена в эксплуатацию в компании "Телеком Транспорт" в 2000-2002 гг. и успешно функционирует в настоящее время.
использования информации об их структуре и генерирования DTD для этого массива XML-документов, представленная в данной работе, была реализована в виде экспериментальной системы, которая может использоваться как для решения практических задач, так и для дальнейших исследований и разработок.
Технология интерактивного повествования в виртуальном окружении, представленная в данной работе, была использована для построения экспериментальной обучающей системы "Виртуальный Планетарий".
Разработка и развитие этой системы продолжается в настоящее время в Институте физико-технической информатики.
Публикации. По материалам диссертации опубликовано 6 работ [1-6].
Структура и объем диссертации. Диссертация состоит из введения, четырех глав, заключения, приложений, глоссария и списка литературы.
Полный объем диссертации: 125 страниц основного текста (9 таблиц, иллюстраций) и 13 страниц приложений. Список литературы, использованной при работе над диссертацией, содержит 181 наименование.
Структура диссертации Во введении дана общая характеристика работы, описана структура диссертации и перечислены результаты, выносимые на защиту.
В главе 1 вводится объект исследования: широкий класс электронных документов, получивший в литературе название динамических (виртуальных) документов. В разделе 1.1 определены основные термины и понятия:
"информация", "документ", "электронный документ" и "динамический документ". В разделе 1.2 дан краткий обзор истории развития электронных документов и описаны основные технологии, развитие которых позволило осуществить масштабный переход от оборота "бумажных" документов к обороту их электронных аналогов. В разделе 1.3 описаны новые возможности электронных документов, которые были в принципе недоступны при работе с "бумажными" документами: гиперссылки, мультимедийность (использование аудио- и видео-компонентов), использование прототипов (шаблонов), автоматический поиск, анализ и обработка документов. В разделе 1.4 показано, что развитие технологий привело к появлению нового типа электронных документов – динамических документов, которые являются ключевым элементом современных электронных информационных систем. Наконец, в разделе 1.5 описаны перспективные направления развития методов и технологий работы с динамическими документами.
В главе 2 представлена технология автоматизированной подготовки динамических документов, основанная на хранении структурированной информации в таблицах РСУБД и использовании прототипов. Эта технология описана на примере системы автоматизированной подготовки и публикации документов на корпоративном сайте, которая была разработана автором в сотрудничестве с коллегами [2] и внедрена в компании "Телеком Транспорт" [106] в 2000-2002 гг. В разделе 2.1 обоснована необходимость автоматизации подготовки и публикации документов. В разделе 2.2 сформулированы требования, которым должна удовлетворять система автоматизированной подготовки и публикации документов. В разделе 2.3 описана технология хранения структурированной информации в таблицах РСУБД, технология конструирования прототипов и схема работы интерпретатора. В разделе 2. представлена методология подготовки основных типов документов и описана архитектура системы автоматизированной подготовки и публикации документов. Наконец, в разделе 2.5 описаны критерии выбора программного обеспечения для построения информационной системы, основанной на использовании динамических документов.
В главе 3 представлена технология записи массива XML-документов без использования информации об их структуре в РСУБД, и автоматического генерирования DTD для этого массива XML-документов. Эта технология является важным элементом системы автоматизированной подготовки динамических документов, так как позволяет автоматизировать создание таблиц РСУБД и их заполнение структурированной информацией. Технология записи XML-документов в РСУБД и генерирования DTD была разработана автором в сотрудничестве с Р. Р. Хуснутдиновым [4], [5] и реализована в виде экспериментальной системы в 2003-2004 гг. В разделе 3.1 показано, что технология записи массива XML-документов в РСУБД и генерирования DTD для них является одним из ключевых элементов системы автоматизированной подготовки динамических документов. В разделе 3.2 описаны известные методы записи XML-документов в РСУБД без использования информации об их структуре (такой, как DTD, XML Schema и т. п.). В разделе 3.3 избранные методы развиты и модернизированы для решения задачи записи массива XMLдокументов в РСУБД за один проход. В разделе 3.4 представлена технология генерирования DTD для массива XML-документов, развитая на основе методов и алгоритмов, предложенных в [57]. Наконец, в разделе 3.5 описана архитектура системы записи массива XML-документов в РСУБД и генерирования DTD для них.
интерактивному повествованию в виртуальном окружении. Это перспективное направление развития компьютерных технологий, которое находится на стыке электронных информационных систем, компьютерных игр, обучающих программ, виртуальных тренажеров и интерактивных моделей. Технология интерактивного повествования в виртуальном окружении описана на примере обучающей системы "Виртуальный Планетарий" [6], которую автор в сотрудничестве с коллегами разрабатывает в настоящее время. В разделе 4. представлен новый тип динамических документов – интерактивное повествование в виртуальном окружении. В разделе 4.2 рассмотрены основные методы и технологии интерактивного повествования. В разделе 4.3 дан обзор основных технологий виртуального окружения. В разделе 4.4 рассмотрена технологическая платформа Avango – программное обеспечение для разработки интерактивных приложений в виртуальном окружении. Наконец, в разделе 4. описана архитектура и принципы интерактивного повествования в виртуальном окружении на примере обучающей системы "Виртуальный Планетарий".
В заключении приведены основные результаты работы.
Результаты, выносимые на защиту
• Исследован новый класс электронных документов – динамические документы. Динамический документ – это документ, автоматически создаваемый системой по запросу пользователя на основе доступной информации. Динамические документы обладают намного более широкой функциональностью, чем традиционные статичные электронные документы. Динамические документы широко применяются при построении современных электронных информационных систем.
• Разработана технология автоматизированной подготовки динамических документов. Эта технология основана на хранении структурированной информации в таблицах РСУБД и использовании прототипов. С использованием представленной технологии автоматизированной подготовки динамических документов построена система автоматизированной подготовки и публикации документов на корпоративном сайте. Эта система была внедрена в эксплуатацию в компании "Телеком Транспорт" в 2000-2002 гг. и успешно функционирует в настоящее время.
• Разработана технология записи массива XML-документов в таблицы РСУБД без использования информации об их структуре и автоматического генерирования DTD для этого массива XMLдокументов. Эта технология позволяет автоматизировать занесение структурированной информации в таблицы РСУБД и тем самым существенно повысить эффективность автоматизированной подготовки динамических документов. Технология записи массива XML-документов в таблицы РСУБД без использования информации об их структуре и автоматического генерирования DTD для этого массива XML-документов была разработана и реализована в 2003-2004 гг. в виде экспериментальной системы.
• Исследован новый тип динамических документов – интерактивное повествование в виртуальном окружении. Интерактивное повествование в виртуальном окружении – это новый жанр компьютерных приложений, который находится на стыке электронных информационных систем, компьютерных игр, обучающих программ, виртуальных тренажеров и интерактивных моделей.
• Разработана технология интерактивного повествования в виртуальном окружении, основанная на интеграции технологий динамических документов и виртуального окружения на технологической платформе Avango. На основе представленной технологии интерактивного повествования в виртуальном окружении разработана экспериментальная обучающая система "Виртуальный Планетарий".
1. Объект исследования: динамический документ В данной главе вводится объект исследования: широкий класс электронных документов, получивший в литературе название динамических (виртуальных) документов. В разделе 1.1 определены основные термины и понятия: "информация", "документ", "электронный документ" и "динамический документ". В разделе 1.2 дан краткий обзор истории развития электронных документов и описаны основные технологии, развитие которых позволило осуществить масштабный переход от оборота "бумажных" документов к обороту их электронных аналогов. В разделе 1.3 описаны новые возможности электронных документов, которые были в принципе недоступны при работе с "бумажными" документами: гиперссылки, мультимедийность (использование аудио- и видео-компонентов), использование прототипов (шаблонов), автоматический поиск, анализ и обработка документов. В разделе 1.4 показано, что развитие технологий привело к появлению нового типа электронных документов – динамических документов, которые являются ключевым элементом современных электронных информационных систем. Наконец, в разделе 1.5 описаны перспективные направления развития методов и технологий работы с динамическими документами.
1.1. Определение терминов и понятий Прежде чем говорить о динамических документах и интерактивном повествовании в виртуальном окружении, автор считает необходимым высказать свое представление об основных понятиях – таких, как информация, документ, электронный документ и динамический документ, но не в виде строгих и универсальных математических определений, а в прикладном смысле, повествовательно и субъективно, в соответствии с тем, как они будут употребляться в настоящей работе.
Как известно, понятие информации является одним из основных понятий, уточнение содержания которого не может быть достигнуто с помощью определения, так как последнее лишь сводило бы это понятие к другим не определенным основным понятиям [8]. Информация субъективна (зависит от подготовленности субъекта воспринимать информацию) и может содержаться в самых разнообразных сведениях, сообщениях, знаниях и умениях.
В прикладном смысле информация – это набор сведений (сигналов, символов), которые уменьшают степень неопределенности у их получателя [1].
Например, по законодательству РФ: "Информация – сведения о лицах, предметах, фактах, событиях, явлениях и процессах независимо от формы их представления" [181].
Классическая теория информации не определяет, что такое информация, а просто предполагает, что для источника с заданным распределением вероятностей состояний мерой информации является энтропия H [17]. Для дискретного источника, состояния которого s1…sq имеют вероятности p1…pq, энтропия H определяется как: H = pi log pi. Для источника с непрерывным распределением вероятности состояний с функцией плотности распределения p (x) энтропия H определяется как: H = p( x) log p( x)dx. Выбор основания логарифма соответствует выбору единицы измерения информации. Единицы измерения, получающиеся при использовании основания два, называются битами. Например, каждое состояние источника с двумя равновероятными состояниями несет один бит информации (H = 1).
При любых видах работы с информацией всегда идет речь о ее представлении в виде определенных символических структур (символов, знаков). Информация, представленная в символическом виде и предназначенная для передачи от отправителя к получателю, называется сообщением. Для технических целей термин "информация" используется в значении "содержание сообщения". Сообщение N и содержащаяся в нем информация I связаны друг с другом некоторым отображением – правилом интерпретации P, которое представляет собой результат договоренности между отправителем и получателем: I P N.
Передача информации между людьми всегда происходит посредством сообщений. Автор формирует сообщение (представляет информацию в определенной символической форме); сообщение передается адресату; адресат восстанавливает информацию из сообщения. Для формирования сообщения используются символы, значение которых заранее согласовано между автором и адресатом. В тех случаях, когда для передачи информации используются общепринятые символы или системы символов (как языковые – письменность, речь, формулы и др., так и неязыковые – жесты, интонация, мимика и др.), такое согласование осуществляется неявным образом. Отметим, что сообщение, сформированное автором, может не нести для адресата никакой информации. Эта ситуация возникает, когда правило интерпретации (значение символов) не согласовано заранее между автором и адресатом, или когда сообщение не содержит ничего нового для адресата.
Понятие документа, как и понятие информации, не имеет общепринятого определения. В информатике и технике связи понятие документа отсутствует – с технической точки зрения, это лишь один из возможных типов сообщений, которые используют люди для передачи информации.
В прикладном смысле документ – это сообщение, зафиксированное на материальном носителе (в отличие от сигнала – физического процесса, распространяющегося в пространстве и времени, параметры которого содержат сообщение) [10]. Например, по законодательству РФ: "Документ – зафиксированная на материальном носителе информация с реквизитами, позволяющими ее идентифицировать" [181].
Книга, газетная статья, мемориальная доска или рекламный плакат – это документ. Песня на аудиокассете, видеофильм на пленке или компакт-диске, фотография или наскальный рисунок, берестяная грамота или глиняная табличка, монета или икона – это документ. Скульптура или барельеф, картина маслом или роспись на вазе – это документ. Формат и материал носителя не имеют значения – важен лишь факт фиксации сообщения (информации, выраженной в определенной символической форме) на материальном носителе.
Подробное исследование вопроса о том, что следует считать фиксацией сообщения на материальном носителе, выходит за рамки данной работы.
Приведем лишь один из возможных критериев: сообщение можно считать зафиксированным на материальном носителе, если время стабильности параметров носителя, которые содержат сообщение, много больше характерного времени воспроизведения сообщения (представления его в форме, доступной для непосредственного восприятия органами чувств человека).
Понятие электронного документа не имеет общепринятого определения.
В прикладном смысле электронный документ – это сообщение, зафиксированное на машинном носителе (магнитном диске, магнитной ленте, лазерном диске и др.) с помощью электронных технических средств. Следует различать аналоговые электронные документы (например, аудиозапись на магнитной ленте), когда изменение параметров сигнала, содержащего сообщение (в данном примере – колебания плотности воздуха) преобразуется в пропорциональное ему изменение параметров носителя (в данном примере – напряженность магнитного поля), и цифровые электронные документы, когда сообщение кодируется в виде последовательности "0" и "1" и эта цифровая последовательность фиксируется на носителе. В настоящее время цифровые электронные документы имеют намного большее значение, чем аналоговые электронные документы. Далее под электронным документом всегда будет пониматься цифровой электронный документ, если не оговорено обратное.
В современных электронных информационных системах основной объем информации хранится не в форме отдельных электронных документов, а в форме структурированных массивов информации (баз данных и т. п.). Один из механизмов взаимодействия пользователя с такой системой заключается в использовании динамических (виртуальных) документов [73].
Динамический документ – это документ, который автоматически формируется системой по запросу пользователя с использованием доступной информация в зависимости от запроса пользователя, определяется прототипом динамического документа. Динамические документы, которые выдаются на запросы разных пользователей и даже на повторные запросы одного подчеркивается, что динамический документ не существует в электронной информационной системе в своем законченном виде, а возникает лишь как ответ системы на запрос пользователя. Определение "динамический" отражает не какие-то особые качества или свойства электронного документа, а способ его формирования. Динамический документ – это результат применения набора параметрами, определяемыми запросом пользователя [1].
Введем следующие обозначения: – набор параметров, определяемый запросом пользователя; F – набор прототипов f; П – массив доступной информации; f – прототип из F, выбранный и преобразованный согласно ; – информация из П, выбранная согласно f; D – динамический документ. Тогда схема формирования динамического документа D по запросу пользователя может быть представлена следующим образом, рис. 1.1:
Рис. 1.1. Схема формирования динамического документа D.
1.2. История развития электронных документов Перевод документооборота в электронную форму в ведущих странах мира начался несколько десятков лет назад [10]. Для того, чтобы стал возможен масштабный переход от оборота бумажных документов к обороту их электронных аналогов, потребовалось развитие целого ряда технологий.
Сканирование документов. В любой крупной организации за время ее существования накапливается архив бумажных документов, который может включать сотни тысяч наименований. Поток приходящих в организацию или создаваемых бумажных документов также может составлять сотни наименований в день. Очевидно, что переход к безбумажному документообороту был бы невозможен без создания технологий сканирования, позволяющих быстро получать изображение документа в электронном виде (прежде всего, для его последующего распознавания). Производительность современных промышленных сканеров можно считать достаточной для решения любых практических задач сканирования документов [117].
Автоматическое распознавание, регистрация и индексирование документов. Использовать электронное изображение документа уже намного удобнее, чем бумажную версию – например, его можно практически мгновенно переслать по электронной почте любому адресату, подключенному к сети Интернет. Однако для того, чтобы получить электронный аналог бумажного документа, который можно свободно редактировать в электронном виде, необходимо автоматически "распознать" электронное изображение, полученное в результате сканирования. Для неструктурированного документа "распознать" означает извлечь текст с сохранением разметки и оформления в отдельный файл стандартного текстового формата либо в отдельное поле базы данных.
Для структурированного документа (например, бухгалтерской формы) понятие "распознать" также включает автоматическую идентификацию типа документа (сопоставление с одним из заданных типов) и его структуры (сопоставление полей отсканированного изображения с соответствующими полями таблиц базы данных). После того, как документ распознан, система может автоматически зарегистрировать его в электронном архиве (занести реквизиты документа в электронную регистрационную карточку документа) и выполнить полнотекстовую индексацию (построить список ключевых слов документа).
Задача распознавания текстов в настоящее время практически решена;
успешно решается задача распознавания структурированных документов [108], [112], [125], [140]. Хуже обстоят дела с распознаванием реквизитов неструктурированных документов – автоматически решить, где у такого документа заголовок, где подпись автора, а где – дата выпуска, существующие системы могут только в достаточно простых случаях. Интенсивно развиваются технологии индексации текстов, однако и здесь есть свои трудности:
индексация имен собственных, дат, денежных сумм, а также понятий, состоящих из нескольких слов.
документообороту был бы невозможен без развития технологий хранения данных, которые в настоящее время позволяют хранить огромные объемы информации на компактных и надежных носителях. Именно колоссальное увеличение емкости и снижение цен на носители информации за последние два десятка лет, а также развитие алгоритмов и технологий сжатия данных позволили к настоящему моменту практически свободно работать с оцифрованным звуком и видео, включая их в традиционные текстовые документы, что в итоге привело к повсеместному признанию мультимедийных (многокомпонентных, составных) документов. Создание электронных архивов документов также вряд ли было бы возможно без интенсивного развития СУБД. Несмотря на то, что традиционные реляционные и объектноориентированные базы данных изначально не проектировались для хранения именно документов, их функциональность и гибкость в настоящее время достаточны для организации электронных архивов документов любого размера6.
Редактирование документов. Переход к безбумажным технологиям был бы невозможен без разработки программного обеспечения, позволяющего создавать и редактировать электронные документы любому человеку со средним уровнем компьютерной грамотности. Прогресс в этой сфере затронул практически каждого пользователя, базовые функции программных продуктов типа MS Word доступны 5-летнему ребенку (что, несомненно, является выдающимся достижением на пути к электронному документообороту).
Технологии управления версиями документов [14], в той или иной степени реализованные практически в любом современном программном обеспечении для редактирования документов, позволяют одновременно работать над одним документов нескольким пользователям, вносить и согласовывать исправления, компонентов, созданных различными пользователями и т. д.
Однако, в этой области есть свои проблемы, прежде всего – проблемы с совместимостью документов разных форматов, которые возникают из-за фактического отсутствия единого открытого стандарта электронных документов и "закрытости" популярных стандартов, таких как MS Word DOC [129] и Adobe PDF [109]. Развитие открытых стандартов, таких как XML [171], HTML [152], TeX [170], безусловно, приближает нас к решению этой проблемы. Однако это существенно разные форматы, предназначенные для решения разных задач (XML – разметка структуры документа для обмена Из популярных СУБД можно отметить IBM DB2 [123], Microsoft SQL Server [129], Oracle [134], Borland Software Corporation InterBase [111], Sybase SQL [143], MySQL [158], PostgreSQL [165], технологию Sun Microsystems JDBC [142] и др.
представления документа в браузере пользователя, TeX – разметка для профессиональной подготовки документа к печати [11]), и тенденций к их объединению пока не наблюдается. Кроме того, в большинстве организаций документы в открытых форматах до сих пор составляют лишь малую часть от всех электронных документов.
Подтверждение подлинности и целостности документов. Для того, чтобы документ имел юридическую силу, необходимо, чтобы существовал механизм подтверждения его подлинности (авторства). Бумажным документам юридическую силу придают личная подпись (виза), печать, фирменный бланк с водяными знаками и т. д. Без разработки аналогичных механизмов для электронных документов их сфера применения была бы существенно ограничена; в частности, невозможно было бы перевести в электронную форму бухгалтерию или официальную переписку. Достижения в сфере криптографии, прежде всего развитие технологий шифрования с открытым ключом, позволили создать надежный механизм подтверждения подлинности (авторства) электронных документов – электронную цифровую подпись (ЭЦП) [7].
Принцип визирования документа с использованием ЭЦП заключается в следующем. Пользователь получает в центре сертификации два ключа открытый и закрытый (две последовательности символов, взаимно однозначно соответствующие друг другу). Закрытый ключ, записанный на дискете, хранится у самого пользователя со всеми необходимыми мерами предосторожности (например, в сейфе, подобно печати); открытый ключ может быть доступен большому числу людей. Когда пользователю необходимо завизировать электронный документ, он запускает специальную программу, которая на основе содержания документа и закрытого ключа вычисляет ЭЦП документа (последовательность байтов) и дописывает ее в тот же файл.
Электронный документ, завизированный ЭЦП, может быть свободно прочитан любым лицом (если только он дополнительно не зашифрован), однако в него невозможно внести никакие изменения без нарушения подлинности ЭЦП.
Получатель документа с ЭЦП может легко проверить его подлинность и целостность с использованием аналогичной программы и открытого ключа.
Широкому использованию ЭЦП мешают проблемы не технологического, а юридического и психологического характера. Федеральный закон РФ "Об ЭЦП" был принят лишь 10.01.2002 г., и проработка правовых вопросов в этой сфере остается достаточно слабой. Психологически процесс визирования электронного документа с использованием ЭЦП существенно отличается от собственноручной постановки подписи на бумажном документе, в частности, далеко не так очевиден принимаемый при этом объем обязательств. Решать споры типа "моя бабушка случайно нажала какую-то кнопку, а теперь вы отберете у нее дом?" еще предстоит научиться.
Защита документов. В традиционном бумажном делопроизводстве для передачи секретных документов используется фельдегерская служба, курьеры и т. п. В электронном делопроизводстве секретные сведения приходится передавать, как правило, по незащищенным каналам связи, и защита документов осуществляется с использованием технологий шифрования с симметричным либо с открытым ключом [16].
При шифровании с симметричным ключом для кодирования и раскодирования документа используется одна и та же секретная последовательность байтов (которая должна быть известна и отправителю, и получателю). Шифрование с открытым ключом принципиально ничем не отличается от описанной выше технологии ЭЦП, но только для шифровки сообщения отправитель использует открытый ключ получателя, а получатель расшифровывает полученное сообщение с использованием своего закрытого ключа (таким образом, каждый, кто знает открытый ключ получателя, может отправить ему зашифрованный документ, который никто, кроме получателя, прочитать не сможет). Шифрование с симметричным ключом на несколько порядков быстрее, чем шифрование с открытым ключом, что может быть существенно при больших объемах документов, но при этом возникает отдельная задача – как передать получателю документа секретный ключ. В настоящее время часто поступают следующим образом: само сообщение шифруется симметричным ключом, а этот секретный ключ шифруется с использованием открытого ключа.
Задача придания документу юридической силы часто совмещена с задачей защиты содержащейся в документе информации от посторонних лиц.
Теоретически, для шифрования и для визирования документа может использоваться одна пара ключей: отправитель шифрует сообщение открытым ключом получателя и визирует своим закрытым ключом, получатель проверяет подлинность и целостность документа с помощью открытого ключа отправителя и расшифровывает документ с помощью своего закрытого ключа.
Так и поступали до тех пор, пока не выяснилось, что такая схема позволяет злоумышленнику с использованием специальных приемов достаточно просто вычислить закрытые ключи. В настоящее время для шифрования и визирования документов ЭЦП, как правило, применяют две разные пары ключей [68].
При соблюдении требуемых мер предосторожности (конфиденциальность закрытых ключей) никакие существующие методы и средства не позволяют взломать документы, зашифрованные с использованием современных технологий и завизированные ЭЦП.
Интернет и электронная почта. Электронный документооборот был бы в принципе невозможен без широкого распространения быстрых и надежных каналов электронной связи. Масштабное развертывание сети Интернет, активное использование технологий Интернет для построения корпоративных сетей (Интранет) и повсеместное внедрение систем типа электронной почты [30], [69], [74] стали важными факторами для перехода от оборота бумажных документов к электронному документообороту.
Современные системы передачи электронных сообщений позволяют не только передать электронный документ от отправителя к получателю в любой узел всемирной сети Интернет, но и организовать рассылку документов по списку получателей, назначить документу маршрут движения и организовать контроль за его продвижением, обеспечить автоматический анализ обновлений определенных документов и пересылку обновленных версий (или уведомлений) на заданный адрес и т. д. Технологические проблемы в этой сфере связаны, пожалуй, лишь с увеличением пропускной способности магистральных линий связи и развитием технологий доступа в магистральные сети (последняя миля), что необходимо для свободной пересылки аудио- и видео-файлов. Задача передачи текстовых сообщений между пользователями сети Интернет в настоящее время может считаться полностью решенной7.
Печать документов. Строго говоря, возможность печати электронных документооборота. Однако на практике процесс перехода от бумажных документов к электронным сопряжен с преодолением многих трудностей юридического и психологического характера, и без развития технологий вывода документов на печать и разработки доступных по цене принтеров для массового использования этот переход вряд ли мог бы состояться за столь короткое время. Сегодня принтер есть не только практически в каждой организации, но и у многих домашних пользователей. Качество печати у современных струйных принтеров вплотную приблизилось к качеству традиционной офсетной полиграфии, чего вполне достаточно для решения любых практических задач документооборота.
сканирования, автоматического распознавания, регистрации и индексирования документов, устройств хранения данных, реляционных и объектноориентированных СУБД, средств редактирования и печати документов, Из популярных систем можно отметить IBM Lotus Notes/Domino [123], Microsoft Exchange Server [129], Novell GroupWise [132], Oracle Collaboration Suite [134] и др.
электронной почты позволило в широких масштабах осуществить переход к электронному документообороту [48]. Интеграция перечисленных технологий в единые программные комплексы привела к созданию многофункциональных корпоративных систем управления документами, автоматизирующих различные контуры документооборота [40].
C технической точки зрения, к настоящему моменту задача перехода к деятельности, как бухгалтерский учет, складской учет (ERP), логистика (SCM, SRM), учет контактов с клиентами (CRM), управление кадрами и других хорошо формализованных областях. Интенсивно развиваются корпоративные системы для управления неструктурированными документами, в том числе содержащими аудио- и видео компоненты, обеспечивающие работу с полным электронным архивом документов предприятия8. Ряд ведущих поставщиков автоматизации всех контуров документооборота предприятия, однако на практике обычно используются несколько систем разных производителей, дополняющих друг друга (например, SAP [138] и Documentum [118]).
Из популярных систем можно отметить IBM Lotus [123], Microsoft SharePoint Portal [129], Microsoft Exchange Server [129], Oracle Collaboration Suite [134], Documentum [118], Hummingbird [120], Convera [113], Open Text [133], Vignette [145], Divine [116], из отечественных - "Евфрат-Документооборот" (Cognitive Technologies) [112], ОПТiMAWorkFlow (Оптима) [103], LanDocs (ЛАНИТ) [100], DocsVision (Digital Design) [115] и др.
1.3. Новые возможности электронных документов Развитие технологий позволило не только автоматизировать все традиционные этапы работы с документами (подготовку, редактирование, согласование, утверждение, регистрацию, доставку адресатам, прохождение документами своего жизненного цикла, контроль исполнения, хранение и поиск в архиве), но и реализовать в системах управления электронными документами совершенно новую функциональность, которая была в принципе недоступна при работе с бумажными документами [1], [10].
Гиперссылки, аудио- и видео-компоненты. Принципиальным отличием электронных документов от бумажных является возможность установления связей между документами с использованием гиперссылок, а также вставки аудио- и видео-компонентов. Хотя понятие гипертекста появилось еще в середине прошлого столетия, широкое использование гиперссылок в Европейском центре ядерных исследований (CERN) в 1991 году и разработки языка разметки HTML [152] как основного формата представления документов в сети WWW. Сегодня гиперссылки поддерживаются во всех популярных форматах электронных документов: MS Word DOC [129], Adobe PDF [109], TeX [170] и т. д. Гиперссылки освобождают читателя от необходимости самостоятельно искать в сети упомянутый в тексте документ – для того, чтобы он начал загружаться в браузер пользователя, достаточно одного щелчка мышью на соответствующей гиперссылке. Возможность вставки в текстовый документ аудио- и видео-компонентов существенно обогащает спектр приложения электронных документов, в частности, значительно повышает эффективность обучающих программ или электронных учебных пособий.
Технологии построения прототипов (шаблонов). Практика хранения электронных документов "целиком", то есть в виде отдельного файла, объекта или поля базы данных, постепенно уходит в прошлое. Все чаще информация хранится в таблицах РСУБД в виде отдельных информационных блоков, данных об их характеристиках и взаимосвязях с другими блоками. Отдельно хранятся прототипы (шаблоны, формы вывода), определяющие структуру и оформление документов разных типов. Когда от пользователя приходит запрос на определенный документ, система автоматически выбирает требуемый прототип и соответствующий набор информации из РСУБД, генерирует электронный документ и отсылает его пользователю9. Такая форма хранения информации позволяет намного более гибко работать с содержанием документов, чем хранение в виде единого файла или объекта [2]. Например, пользователь может получить в виде отдельного документа список всех заголовков и аннотаций документов определенной тематики. Многократно упрощается изменение дизайна документов: чтобы изменить оформление всех документов одного типа, достаточно изменить один прототип.
Управление жизненным циклом и интеллектуальные агенты.
Управление отдельными этапами жизненного цикла (document workflow) полноправными участниками бизнес-процессов предприятия [45], [70], [72].
В традиционных системах автоматизации документооборота функцию управления выполняет специальный программный модуль системы (монитор), руководителем подразделения документ может быть автоматически направлен на исполнение определенному сотруднику с учетом его загруженности (по результатам анализа очереди документов на исполнение), после чего руководитель сможет получать уведомления о принятии документа на исполнение, ходе работы над документом и результатам выполнения задания.
Из распространенных систем работы с шаблонами можно отметить Perl Template Toolkit [161], PHP Smarty Template Engine [164], ASP Template [149], Macromedia ColdFusion MX [127], Sun Microsystems JavaServer Pages Technology [142] и др.
В последнее время все большее распространение получают специальные программы, автономные или встроенные в документ – интеллектуальные агенты (information agents, intelligent agents, knowledge agents, mobile agents) [39], [51], [79], которые автоматически анализируют содержание документов и происходящие с ними процессы и по результатам анализа предпринимают определенные действия. Например, такие программы могут выдавать уведомления об изменениях в документах, пересылать обновленные версии документов заинтересованным пользователям по заданному либо динамически формируемому списку, информировать ответственных лиц об устаревании содержащейся в документах информации и т. д.
поисковые машины обеспечивают не только поиск документов по их реквизитам – номеру, заголовку, дате выпуска и т. д. (как в обычном бумажном архиве), но и поиск по результатам автоматического анализа всего содержания документа (полнотекстовая индексация). При этом поисковая система не просто выдает пользователю ссылки на все документы, где встречается указанное слово или словосочетание, а анализирует найденные документы и сортирует их таким образом, чтобы наиболее адекватные запросу документы находились вверху списка [28]. Та же система может автоматически вести полную статистику обращений к каждому документу и по запросу пользователя сортировать списки документов по их популярности и индексам цитируемости [29]. Пользователь, имеющий доступ к сети Интернет, более не ограничен архивом документов своего предприятия при поиске интересующей его представленной в свободном доступе в сети Интернет.
Автоматическое реферирование. Огромным потенциалом обладают технологии автоматического реферирования (automatic abstracting, automatic summarization) [43], [47]. Реферированием называется краткое изложение содержания исходного документа (оригинала) в новом документе (реферате).
Один из методов реферирования заключается в том, что из оригинала извлекаются наиболее значимые фрагменты, которые затем соединяются друг с другом – то есть, реферат представляет собой набор выдержек из оригинала.
Более сложные методы предполагают анализ оригинала и изложение его содержания "своими словами". Для этого применяются технологии синтаксического разбора, семантического анализа с использованием сетей, фреймов и т. д. [9], а также генераторы текстов на естественных языках.
Современные системы позволяют успешно решать задачи реферирования отдельных текстов, при этом объем реферата составляет 5% – 30% от объема оригинала [101], [130]. Однако для многих насущных задач в этой сфере до сих пор нет удовлетворительных решений [42]: к ним относятся составление рефератов на основе нескольких источников, реферирование с большой степенью сжатия (1% и менее), реферирование аудио- и видео документов (audio abstracting, video abstracting) [31], [44].
Машинный перевод. Технологии автоматического перевода текстов на естественных языках долгое время развивались практически независимо от средств автоматизации документооборота [12], [35]. До сих пор системы машинного перевода поставляются преимущественно в виде отдельных программных продуктов [98], [105]. Однако по мере развития систем управления электронными документами машинный перевод, как и автоматическое реферирование, постепенно занимает в них свое место как одно из основных средств работы с документами. Несмотря на то, что основным языком международного общения до сих пор считается английский, повсеместного отказа от национальных языков при публикации документов не наблюдается – наоборот, число документов на основных языках мира постоянно растет. Чтобы отслеживать изменения даже в какой-то одной профессиональной области, может потребоваться мониторинг документов на 5языках, что делает необходимым наличие средств автоматического перевода в корпоративных системах управления документами.
1.4. Динамические документы – новый класс электронных документов В последнее время в сфере систем управления документами наблюдается несколько тенденций. С одной стороны, программные продукты, которые изначально разрабатывались для автоматизации разных аспектов управления документами, постепенно сближаются друг с другом по функциональности, интегрируются с продуктами других производителей. С другой – в повседневный оборот входят такие термины, как виртуальный (virtual), живой (live, alive), оперативно доступный по запросу (on-line), эволюционирующий (evolving) или интеллектуальный (intelligent) документ. Наконец, все больше компаний начинают позиционировать свои продукты как системы управления знаниями. Все эти процессы глубоко взаимосвязаны друг с другом и отражают разные стороны одного явления: в области управления документами происходит качественный переход, связанный с возникновением нового класса электронных документов – динамических (виртуальных) документов.
До тех пор, пока основной задачей было управление электронными версиями бумажных документов, в центре внимания находились задачи автоматизации документооборота или автоматизации управления документами. Перевод оборота документов в электронную форму позволил многократно упростить процесс подготовки и согласования документов, ускорить их доставку адресатам и прохождение документами своего жизненного цикла, усовершенствовать систему хранения и поиска документов [10] – но не добавил ничего принципиально нового в сам процесс передачи информации от одних людей к другим посредством документов. Статичный электронный документ создавался, утверждался, регистрировался, передавался на исполнение, двигался внутри организации и попадал в архив практически точно так же, как и бумажный: разница заключалась лишь в удобстве обращения с ним. Пользователь мог получить "из компьютера" только те документы, которые были когда-то "в компьютер" занесены – тексты, таблицы, изображения, аудио- или видео-файлы и т. д.
Развитие технологий интеллектуального поиска и анализа документов, СУБД и технологий построения прототипов (шаблонов), автоматического реферирования и машинного перевода, разбора и генерирования текстов на естественных языках позволило реализовать в системах управления электронными документами совершенно новую функциональность, которая была в принципе недоступна при работе с бумажными документами [10].
Электронные информационные системы "научились" не просто выдавать пользователю те документы, которые были когда-то занесены "в компьютер", а автоматически генерировать по запросу пользователя новые документы с использованием доступной информации [1]. Такие документы получили в литературе название динамических, или виртуальных, документов [73]. В современных информационных системах управление отдельными этапами жизненного цикла (document workflow) динамических документов все чаще осуществляется автоматически, что делает их полноправными участниками бизнес-процессов предприятия [45], [70], [72].
Все это позволяет говорить о качественном переходе к информационным системам следующего поколения, ключевым элементом которых являются динамические документы – эволюционирующие, интеллектуальные, живые.
Если раньше основные усилия разработчиков были сконцентрированы на автоматизации ввода бумажных документов в систему, развитии технологий хранения и поиска документов в базах данных и совершенствовании средств коллективной работы с документами, то сейчас акцент сместился на развитие технологий интеллектуальной обработки и анализа содержания документов, совершенствование средств поиска требуемых сведений и их представления в удобной для пользователя форме. Все современные системы управления документами в той или иной степени "умеют" автоматически генерировать новые документы на основе доступной информации [33], [71].
Анализ последних тенденций в сфере электронного документооборота показывает, что разработка методов и технологий работы с динамическими документами становится магистральным направлением развития современных информационных систем [1], [32], [39], [73], [150]. Практически все компании, предлагающие системы управления документами, так или иначе работают над этой задачей [113], [118], [120], [123], [129], [133], [134], что в ближайшем будущем приведет к глубокой перестройке существующих бизнес-процессов и схем работы с информацией.
1.5. Направления развития динамических документов Можно ожидать, что развитие методов и технологий работы с динамическими документами будет идти по ряду направлений.
Во-первых, необходимо развитие технологий хранения информации и специализированных документно-ориентированных баз данных в соответствии c технологией динамических документов [50]. Необходима дальнейшая стандартизация моделей электронных документов, решение проблем совместимости документов разных форматов, извлечение структурированной информации из неструктурированных документов [166], [155].
Во-вторых, необходимо развитие технологий поиска информации, интеллектуального анализа и индексирования электронных документов [37].
Методы синтаксического, семантического и лингвистического анализа текстов должны быть задействованы таким образом, чтобы образ документа в поисковой системе (список ключевых слов, регистрационная карточка и т. п.) в максимальной степени соответствовал реальному содержанию документа [41], [49]. Необходимо развитие технологий сравнительного анализа текстов для автоматического определения первоисточника информации, маршрутов ее распространения и вносимых при этом изменений [52].
В-третьих, необходимо совершенствование методик построения и технологий разбора запросов, развитие естественно-языковых интерфейсов [83]. Сегодня процесс поиска информации в сети является итерационным:
пользователь строит запрос, анализирует полученные результаты, самостоятельно переформулирует запрос и т. д. – до тех пор, пока очередная итерация не даст удовлетворительного для него результата. Такая схема более анализировать точность, полноту и непротиворечивость запроса пользователя и предлагать ему варианты уточнения запроса, например, с использованием технологий кластеризации (clustering) найденных по запросу документов [38], [46], анализа наиболее часто встречающихся запросов, статистики популярности и индексов цитируемости документов [29] и т. д.
В-четвертых, необходимо дальнейшее развитие технологий построения прототипов (шаблонов), разработка программного обеспечения для интеллектуального построения прототипов и формирования документов.
Система должна автоматически создавать прототипы (формы вывода), которые в максимальной степени соответствуют запросу конкретного пользователя и доступной информации [26]. Необходимо развитие технологий графического представления структурированной информации: построение таблиц и графиков на основе массивов данных, определение трендов (тенденций) и формирование предсказаний (прогнозов) с оценкой их достоверности [34].
реферирования и машинного перевода. Электронная информационная система должна автоматически выбирать из найденных по запросу данных наиболее важные, критически значимые сведения, факты и утверждения и переводить их на язык запроса. Соответствующее программное обеспечение должно стать основной составляющей интеллектуальных систем управления документами следующего поколения [27], [36].
2. Автоматизация подготовки динамических документов В данной главе представлена технология автоматизированной подготовки динамических документов, основанная на хранении структурированной информации в таблицах РСУБД и применении прототипов (шаблонов). Эта технология описана на примере системы автоматизированной подготовки и публикации документов на корпоративном сайте, которая была разработана автором в сотрудничестве с коллегами [2] и внедрена в компании "Телеком Транспорт" [106] в 2000-2002 гг.
В разделе 2.1 обоснована необходимость автоматизации подготовки и публикации документов. В разделе 2.2 сформулированы требования, которым должна удовлетворять система автоматизированной подготовки и публикации документов. В разделе 2.3 описана технология хранения структурированной информации в таблицах РСУБД, технология конструирования прототипов и схема работы интерпретатора. В разделе 2.4 представлена методология подготовки основных типов документов и описана архитектура системы автоматизированной подготовки и публикации документов. Наконец, в разделе 2.5 описаны критерии выбора программного обеспечения для построения информационной системы, основанной на использовании динамических документов.
2.1. Необходимость автоматизации работы с документами Экспоненциальный рост числа документов в корпоративных сетях, наблюдаемый в последние годы, делает все более очевидной необходимость реинжиниринга бизнес-процессов (BPR) и автоматизации работы с документами [10]. В данной главе представлена технология автоматизированной подготовки динамических документов, основанная на хранении структурированной информации в таблицах РСУБД и применении прототипов (шаблонов) [2]. Эта технология описана на примере системы автоматизированной подготовки и публикации документов на корпоративном сайте компании, которая занимается производством или внедрением технологически сложной продукции.
В современных условиях практически любая компания должна осуществлять адекватную информационную поддержку своей деятельности.
Под информационной поддержкой далее будет пониматься комплекс мер по подготовке и распространению информации, цель которых – способствовать решению задач, стоящих перед компанией. Как правило, одна из основных задач информационной поддержки – привлекать внимание к предлагаемой компанией продукции.
Многие отечественные компании успешно применяют современные приемы и методы информационной поддержки для решения своих маркетинговых задач (например, в сфере товаров массового спроса). В то же время, есть ряд направлений, где эффективность информационной поддержки все еще остается достаточно низкой. На наш взгляд, наиболее остро проблема обеспечения адекватной информационной поддержки сегодня стоит в сфере технологически сложной продукции – дорогого наукоемкого оборудования, программного обеспечения, комплексных технологических решений.
Чтобы принять решение о целесообразности использования той или иной технологически сложной продукции, потенциальному потребителю необходим значительно больший объем информации о ней, чем в случае товаров массового спроса. Эта информация, как правило, подвергается тщательному анализу, сопоставляется с данными из других источников, сравнивается с информацией о продукции конкурентов. Нередко бывает, что решение принимается в течение нескольких месяцев с участием целого коллектива специалистов.
Успехи в конкурентной борьбе в сфере технологически сложной продукции во многом зависят от того, насколько полно и точно компания удовлетворяет информационные потребности потенциальных потребителей и насколько убедительные доводы она приводит в пользу предлагаемой продукции. Поэтому для компаний, которые занимаются производством или внедрением технологически сложной продукции, важнейшей составляющей информационной поддержки является создание, распространение и регулярное обновление широкого спектра информационных документов.
Под информационным документом далее будет пониматься документ, который привлекает внимание потенциальных потребителей к предлагаемой продукции, содержит значимую для них информацию о предлагаемой использования.
С развитием сети Интернет традиционные печатные информационные документы (каталоги, брошюры, листовки, публикации в средствах массовой информации и т. д.) постепенно теряют роль непосредственного источника информации, и становится скорее средством формирования имиджа компании.
Основным источником оперативной информации для потенциальных потребителей технологически сложной продукции все в большей степени становятся электронные информационные документы, в первую очередь – документы, публикуемые на корпоративном сайте компании.
Для подавляющего большинства современных компаний, которые занимаются производством или внедрением технологически сложной продукции, корпоративный сайт является прежде всего системой подготовки и публикации в сети Интернет различных информационных документов:
новостей (пресс-релизов), технических описаний продукции, статей о реализованных проектах, портретов компаний-партнеров и т. д.
Как показывает опыт, подготовка и публикация на корпоративном сайте необходимого количества качественных информационных документов является сложной методологической и технологической задачей. В отсутствие единого подхода, без достаточного уровня автоматизации создание и обновление каждого документа требует неоправданно высоких затрат времени и творческих усилий, и задача в целом решается неудовлетворительно. В то же время, использование динамических документов позволяет построить эффективную систему подготовки и публикации информационных документов на корпоративном сайте [2].
В данной главе представлена технология автоматизированной подготовки динамических документов, описанная на примере системы автоматизированной подготовки и публикации информационных документов на корпоративном сайте. Рассмотрены вопросы стандартизации структуры документов и системы связей между ними, описана технология конструирования прототипов (шаблонов) динамических документов, рассмотрены критерии выбора программного обеспечения, предложена методология подготовки основных типов информационных документов.
2.2. Требования к системе подготовки документов 2.2.1. Типы документов технологически сложной продукции, использует для обеспечения информационной поддержки своей деятельности несколько десятков типов информационных документов. Как правило, компания имеет разную потребность в различных типах документов и использует их с разной интенсивностью: например, технические описания продукции могут исчисляться тысячами наименований, а портрет компании обычно существует лишь в нескольких вариантах.
Та же картина обычно наблюдается и на корпоративном сайте: несколько типов документов являются основными, публикуются в большом количестве и обновляются регулярно (например, новости); другие типы документов для компании оказываются дополнительными, публикуются в значительно меньшем объеме и обновляются реже (например, описания проектов); наконец, несколько типов документов обычно представлены в единственном экземпляре (например, описание истории компании).
Документы одного типа выполняют одинаковые функции, имеют сходную внутреннюю структуру и способы взаимосвязи с другими информационными документами. Каждый документ, в зависимости от его типа, может включать в себя следующие структурные элементы: один или несколько вариантов заголовка (краткий, полный), один или несколько вариантов текста (резюме, подробное описание), иллюстрации (фотографии, схемы), ключевые слова, дату публикации или обновления, дату устаревания и т. д. [10].
В данной главе мы подробно рассмотрим два наиболее важных типа информационных документов: новости (пресс-релизы) и технические описания продукции. Этот выбор не случаен: как показывает опыт, практически любая компания, которая занимается производством или внедрением технологически сложной продукции, стремится регулярно публиковать новости (пресс-релизы) и поддерживать в актуальном состоянии технические описания для всего ассортимента предлагаемой продукции [2].
Система подготовки и публикации документов должна предусматривать поддержку корпоративного стиля, в частности, единообразие документов одного типа. Поэтому одной из важных задач при разработке системы публикации документов является стандартизация структуры документов разных типов и разработка стандартных форм ввода для их публикации.
2.2.2. Классификация документов Множество документов одного типа можно классифицировать по одному или нескольким признакам, каждый из которых может принимать ряд дискретных значений. Например, новости можно классифицировать по следующим признакам: тип новости T ("новость компании", "новость сайта", "новость партнера", "новость отрасли" и т. д.), упоминаемые модели продукции М (М1, …, Мn), упоминаемые компании-партнеры П (П1, …, Пm). Возможность многоуровневой классификации множества объектов информационной системы по разным признакам делает поиск информации намного более эффективным, гибким и удобным. Например, можно реализовать следующие схемы навигации по информационной системе (возможные последовательности перехода по оглавлениям и документам) для доступа к новости Х:
• навигация по типу новости: главная страница сайта оглавление всех новостей оглавление всех новостей типа Тi новость Х;
• навигация по моделям продукции: главная страница сайта оглавления семейств продукции разных уровней описание модели Мj (со списком ссылок на все новости, в которых упоминается модель Мj) новость Х;
• навигация по компаниям-партнерам: главная страница сайта оглавление всех партнеров описание партнера Пk (со списком ссылок на все новости, в которых упоминается партнер Пk) новость Х.
Многоуровневая классификация множества объектов по сути является лексикографическим упорядочиванием этого множества по определенному набору признаков. В нашем примере каждый документ типа "новость" обладает признаками T, M, П и ID (уникальный идентификатор). На рис. 2. представлены два варианта лексикографического упорядочивания множества документов типа "новость" – по наборам признаков {T, ID} и {M, ID}, и два соответствующих им способа многоуровневой классификации.
Рис. 2.1. Многоуровневая классификация множества документов по разным признакам Реализация нескольких систем классификации для документов каждого типа значительно усложняет задачу поддержки информационной системы.
Добавление в такую систему нового документа, перемещение документа из одного раздела в другой или удаление документа сопряжено с внесением изменений сразу в несколько оглавлений и списков, причем их набор индивидуален для каждого типа документов. Очевидно, что осуществлять такие изменения вручную крайне неудобно.
Следовательно, система подготовки и публикации документов должна предусматривать возможность реализации различных систем классификации документов с автоматическим формированием всех оглавлений и списков.
Заметим, что это требование уже само по себе наводит на мысль об использовании базы данных для хранения некоторых элементов документов (заголовок, идентификатор) и автоматическом генерировании списков и оглавлений на основе информации из этой базы данных.
2.2.3. Взаимосвязи между документами Как правило, потенциальный потребитель компании, которая занимается производством или внедрением технологически сложной продукции, интересуется рядом тематически близких документов. Рассматривая возможность приобретения определенной модели технологически сложной продукции, потенциальный потребитель, скорее всего, будет интересоваться не только описанием данной модели, но и описаниями функционально близких моделей, новостями с упоминанием о данной модели, информацией о проектах, в которых использовалась данная модель и т. д.
Сама идея сети Интернет как "всемирной паутины" предполагает, что в такой ситуации каждый документ должен быть снабжен гиперссылками на тематически близкие к нему документы. Каждая новость должна содержать гиперссылку на описание упоминаемой в ней продукции, каждое описание продукции – гиперссылки на все новости, в которых она упоминается и т. д.
Плотная "обвязка" информационных документов гиперссылками делает поиск интересующей информации намного более быстрым, удобным и эффективным.
Однако при таком подходе число гиперссылок пропорционально квадрату от общего числа документов. Учитывая, что общее число документов на корпоративном сайте компании, которая занимается производством или внедрением технологически сложной продукции, может достигать нескольких десятков тысяч, очевидно, что осуществлять "обвязку" документов гиперссылками в требуемом объеме вручную практически невозможно. Этот процесс должен быть в значительной степени автоматизирован.
Это означает, что система подготовки и публикации документов должна предусматривать удобный интерфейс для ввода и изменения информации о взаимосвязях между документами, а также обеспечивать автоматическое формирование гиперссылок на основе имеющейся информации о взаимосвязях между документами. Эта задача может быть эффективно решена только при использовании динамических документов с хранением информации в РСУБД.
Напомним, что такое динамический HTML-документ и чем он отличается от статичного HTML-документа. Традиционный статичный HTML-документ – это отдельная HTML-страница, которая связана гиперссылками с другими документами сайта. Статичные HTML-документы заносятся на сайт, хранятся на сервере и выдаются пользователям в виде готовых HTML-страниц. Чтобы в нескольких статичных HTML-документах появился новый элемент (например, гиперссылка), необходимо вручную внести его в каждый HTML-документ.
Динамические HTML-документы создаются сервером в ответ на запрос пользователя. Структурированная информация, которая используется для построения документов, хранится в таблицах РСУБД. Отдельно на сервере хранятся прототипы документов – в случае сайта это "скелеты" HTMLдокументов, определяющие формат и дизайн документов разных типов. Когда от пользователя приходит запрос на какой-либо документ, система на основании этого запроса автоматически выбирает требуемый прототип и соответствующую ему информацию из базы данных, формирует HTMLдокумент и отсылает его пользователю.
2.2.4. Поддержка системы Поддержка информационной системы, построенной с использованием динамических документов, включает в себя, как минимум, три относительно независимых процесса. Во-первых, это информационное наполнение системы – занесение и редактирование информации в РСУБД. Во-вторых, это разработка и изменение прототипов (шаблонов) документов разных типов. В-третьих, это обеспечение корректного взаимодействия между программным обеспечением системы и пользователя.
На начальном этапе развития электронной информационной системы все эти функции нередко выполняет один человек. Однако по мере развития системы неизбежно возникает необходимость распределить задачу поддержки между редактором (который занимается информационным наполнением базы данных), разработчиком динамических документов (который создает и редактирует прототипы документов) и программистом (который отвечает за организацию корректного взаимодействия между программным обеспечением сервера и пользователя).
Таким образом, еще одно требование к системе подготовки и публикации документов – обеспечивать эффективное разделение работы редактора, разработчика документов и программиста. Редактору необходим удобный интерфейс для работы с базой данных; разработчику документов нужен четкий и прозрачный язык описания прототипов, не перегруженный набором понятных лишь программисту программных кодов; программисту требуется ясный и структурированный программный код, который он мог бы менять независимо от разработчика документов.
2.2.5. Список требований Обобщая сказанное в подразделах 2.2.1-2.2.4, можно сформулировать набор требований, которым должна удовлетворять система подготовки и публикации документов на корпоративном сайте и вообще любая система автоматизированной подготовки динамических документов:
• стандартизация структуры документов и автоматизация информационного наполнения базы данных за счет использования стандартных форм ввода;
• возможность реализации нескольких систем классификации для документов одного типа с автоматическим формированием оглавлений;
• автоматическая "обвязка" документов гиперссылками на основе информации о взаимосвязях между ними;
• удобный интерфейс для редактирования документов, описания признаков (классификации) документов и взаимосвязей между ними;
• эффективное разделение процессов информационного наполнения базы данных, конструирования прототипов документов и разработки программных модулей.
2.3. Технология построения динамических документов 2.3.1. Хранение структурированной информации в РСУБД Структурированная информация, которая используется для построения динамических документов, как правило, хранится в реляционной системе управления базами данных (РСУБД). РСУБД представляет собой набор двумерных таблиц, на пересечении строк и столбцов которых находятся поля данных; таблицы связаны между собой посредством совместно используемых столбцов данных, называемых внешними ключами.
Архитектура таблиц РСУБД, а также источники информации для ее наполнения и методы конвертировании этой информации могут быть самыми разными. Рассмотрим простейший случай, когда наполнение базы данных осуществляется путем конвертирования статичных документов. В этом случае информация из всех документов одного типа заносится в одну таблицу РСУБД, причем каждый документ помещается в одну строку таблицы. Отдельные структурные элементы документа (заголовок, текст, дата обновления, ссылки на иллюстрации и т. д.) сохраняются в различных полях данных одной строки.
Порядок следования полей данных в строке одинаков для всех строк таблицы, структурные элементы всех документов, табл. 2.1.
Таблица 2.1. Пример таблицы РСУБД для хранения документов одного типа.
Для корректной работы РСУБД каждая таблица должна содержать документов. Каждой строке таблицы присваивается уникальное значение первичного ключа. Доступ к любому полю данных в любой таблице РСУБД можно получить, зная имя таблицы, первичный ключ и название столбца. В простейшем случае первичным ключом может служить порядковый номер, под которым документ заносится в таблицу.
Каждая таблица может также содержать один или несколько столбцов с внешними ключами – уникальными идентификаторами (первичными ключами) документов из других таблиц РСУБД. Например, для того, чтобы отразить взаимосвязь между документами двух типов, достаточно в одной из соответствующих таблиц РСУБД использовать дополнительный столбец, в котором для документов одного типа хранились бы первичные ключи связанных с ним документов другого типа.
Проектирование базы данных – одна из первых и основных задач на этапе разработки системы подготовки и публикации документов на корпоративном сайте. Необходимо стандартизировать структуру документов каждого типа, разработать систему связей между документами разных типов и на основе этого определить наиболее целесообразную структуру таблиц РСУБД. Примеры таблиц для некоторых типов документов приведены в следующем разделе, здесь мы коротко рассмотрим основные принципы их построения.
Обычный бумажный документ включает в себя ряд информационных блоков: номер или другой идентификатор, заголовок, резюме, текст с таблицами и иллюстрациями, заключение, дату создания, подпись автора и т. д.
В таблице РСУБД могут заноситься как эти информационные блоки, так и различные дополнительные (служебные) элементы: отметка о готовности к публикации, список ключевых слов, указатели на другие документы и т. д.
В отдельных полях необходимо хранить все информационные блоки документа, которые выполняют самостоятельные функции. Это могут быть, например, заголовок, резюме и одна из иллюстраций, используемые для автоматического генерирования оглавлений; даты создания и устаревания, по которым осуществляется сортировка документов, и т. д. В отдельных полях также должны храниться все служебные элементы документа, используемые для поиска, классификации, сортировки документов и других функций.
На способах хранения иллюстраций следует остановиться отдельно.
Коммерческие РСУБД позволяют хранить в полях РСУБД достаточно большие объемы данных, в том числе и иллюстрации. При использовании РСУБД с открытым кодом иллюстрации обычно хранятся на сервере отдельно. В любом случае, если только число и расположение иллюстраций в документе не задано жестко, в тексте документа приходится тем или иным образом указывать ссылки на требуемые иллюстрации.
Основной текст документа (абзацы, подзаголовки, списки, таблицы, ссылки на иллюстрации и т. д.), который используется для построения динамических документов как самостоятельный и неделимый информационный блок, целиком хранится в одном поле соответствующей таблицы РСУБД.
2.3.2. Интерпретатор и взаимодействие компонентов Структурированная информация хранится на сервере в базе данных во внутреннем формате РСУБД и пользователям непосредственно недоступна.
Поэтому необходимым компонентом информационной системы является специальная программа (динамический движок), которая по запросу пользователя выбирает требуемый прототип документа и соответствующую ему информацию из базы данных, формирует электронный документ и отсылает его пользователю.
Опыт показывает, что такую программу удобно строить из двух модулей, один из которых обрабатывает запрос пользователя к серверу, выбирает прототип и информацию из РСУБД (модуль разбора запроса), а другой на основе полученного набора информации и прототипа формирует электронный документ и отправляет его пользователю (модуль "сборки" документа, или интерпретатор). Схема взаимодействия пользователя, сервера, базы данных и интерпретатора представлена на рис. 2.2.
Рис. 2.2. Схема взаимодействия пользователя, сервера, РСУБД и интерпретатора.
Отметим, что не все системы автоматизированной подготовки динамических документов построены на основе описанной выше схемы с четким разделением прототипа и интерпретатора. На начальном этапе построения системы часто кажется, что проще встраивать программный код, описывающий взаимодействие с сервером и базой данных, непосредственно в прототип, описывающий конструкцию документа (при этом многие программисты называют такие конструкции также прототипами). Это ошибка, и не только терминологическая – такое пренебрежение в итоге всегда приводит к дополнительным затратам.
"прототипов", неизбежно возникает ситуация, когда в нагромождении программного кода и языка описания прототипа становится сложно разбираться как программисту, так и разработчику документов, а об их относительно независимой работе не может идти и речи. Любое изменение конструкции документов требует значительных усилий; усложняется задача обучения персонала; возрастает трудоемкость поддержки системы в целом.
2.3.3. Разработка прототипов документов Прототип представляет собой "скелет" документа, в котором с помощью специальных языковых конструкций (меток, или макросов) указаны места, куда интерпретатор должен вставить данные из РСУБД. В прототипе могут предусматриваться как места для вывода одиночных значений (заголовок новости в прототипе новости), так и места для вывода списков значений, в том числе вложенных, с указанием оформления для каждого элемента списка (список заголовков новостей в прототипе оглавления новостей).
Прототип документа определяет общую структуру документа (взаимное расположение всех элементов) и содержит элементы, общие для документов данного типа: навигационные меню, иллюстрации (логотипы, фон), общие информационные блоки (контактная информация), метаданные (ключевые слова), ссылки на используемые скрипты и таблицы стилей (CSS) и т. д.
Подчеркнем, что прототип не содержит программный код, описывающий взаимодействие с сервером и базой данных, а содержит только стандартный код языка разметки (в случае сайта – HTML) и метки. Все функции обработки данных – замену меток конкретными значениями из РСУБД, определение определенных элементов документа в зависимости от конкретных значений данных, полученных из РСУБД и т. д. – выполняет модуль "сборки" документа.
Язык описания прототипа можно рассматривать как язык программирования более высокого уровня, чем язык описания взаимодействия с сервером и базой данных. В этом смысле прототип может рассматриваться как программа на этом языке, модуль "сборки" документа – как ее интерпретатор, разработчик динамических документов – как программист, а программист – как системный программист условной "виртуальной машины".
Рассмотрим принцип построения прототипов и работу интерпретатора на следующем примере. Предположим, поставлена задача создать документ, где бы отображался список всех новостей за текущий месяц, причем требуется, публикации, заголовок и иллюстрация, а для всех остальных типов новостей – только дата и заголовок. Этот документ должен формироваться по запросу пользователя на основе информации из таблицы Новости РСУБД.
Пусть также требуется, чтобы заголовок каждой новости в данном списке являлся гиперссылкой на документ с полным описанием новости. Будем считать, что URL документа с полным описанием новости строится по следующей схеме: http://www.company.ru/?do=fullnew&new_id=X10, Фактически, после символа "?" следует инструкция для модуля разбора запроса:
указывается требуемый прототип и алгоритм выборки данных (fullnew) и требуемый документ (new_id=X).
где Х – первичный ключ данной новости в таблице Новости РСУБД, например, порядковый номер ее публикации.
Таким образом, в прототипе данного документа необходимо описать два варианта представления строки списка новостей, а в интерпретаторе – задать критерии выбора нужного варианта в зависимости от значения поля тип новости. Кроме того, модуль разбора запроса должен при получении запроса на данный документ выдавать интерпретатору выборку из таблицы иллюстрацию.
Пример прототипа данного документа представлен в прил. 1. Строки стандартного HTML-кода ради простоты пропущены – их заменяют троеточия.
Метки, которые заменяются конкретными значениями из РСУБД, ограничены тегами {#…#}; служебные метки для интерпретатора – тегами {##…##}.
Отметим, что используемый синтаксис языка описания прототипов условен; в синтаксиса, так и возможность создать собственный синтаксис.
Предположим, модуль обработки запроса выдал интерпретатору выборку из таблицы Новости РСУБД, представленную в табл. 2.2.
Таблица 2.2. Пример выборки из таблицы "Новости".
Когда управление переходит к интерпретатору, он начинает построчно обрабатывать код прототипа: статичные части прототипа без изменений {#Текущий_месяц#}) заменяет соответствующими значениями. Когда интерпретатор доходит до списка новостей (о начале которого сигнализирует {##Начало_списка_новостей##}, {##Конец_списка_новостей##}), он считывает его целиком и начинает построчную обработку выборки.
Условием, которое определяет выбор варианта оформления новости, в обрабатываемой строке выборки имеет значение "новость компании", то интерпретатор выбирает первый вариант оформления, если нет – второй.
Выбрав нужный вариант оформления, интерпретатор пишет в итоговый документ соответствующий набор строк прототипа, заменяя при этом метки конкретными значениями из обрабатываемой строки, и переходит к следующей строке выборки.