Откуда у хлопца испанская грусть
АрхивПоводом к написанию этих заметок послужили два события, случившиеся почти одновременно, но, на первый взгляд, никак не связанные. А целью заметок стало желание показать, что эти события совпали не случайно: оба явились ответами на вызов времени.
Нельзя понять душу высказывающегося, но можно попытаться понять грамматику высказывания.
Михаил Гаспаров
Поводом к написанию этих заметок послужили два события, случившиеся почти одновременно, но, на первый взгляд, никак не связанные. А целью заметок стало желание показать, что эти события совпали не случайно: оба явились ответами на вызов времени.
Событие первое: в последнем квартале прошлого года руководители компании «1С-Рарус», в которой работает автор 1, подготовили систему менеджмента в соответствии с международным стандартом ISO 9001:2000.
Событие второе: в апреле этого года Adobe (американская компания с испаноязычным названием) анонсировала седьмую версию пакета FrameMaker. Версия выпущена во второй половине мая, но в России, безусловно, она есть еще не у всех заинтересованных лиц.
Под «хлопцем» в заголовке мы розумiэмо прежде всего специалистов по корпоративному документообороту. Однако изложенные ниже прогнозы и оценки могут затронуть и широкий круг инженеров, работающих над созданием документов.
Исторически сложилось так, что в России FrameMaker применяют мало. Ситуация начала изменяться только в самое последнее время, возможно, в связи с появлением моей книги, написанной совместно с Владиславом Головачом (Adobe FrameMaker 6, Учебный курс. Подготовка кириллических публикаций, «Питер», 2002) и российских сетевых ресурсов. Так, в конце 2001 года появился сайт «Adobe FrameMaker в России», поддерживаемый автором (techwriter.rarus.ru). |
Что такое система управления качеством
В 2001 году компания «1С» настоятельно рекомендовала партнерам, занимающимся разработкой и внедрением программных продуктов для учета на базе платформы «1С», руководствоваться в деятельности системой управления качества, выполненной на базе упомянутого стандарта. Для этого предложен документ ТСКФ - Типовая система качества франчайзи.
Основа системы, принятой в нашей компании, - детальное описание документов, регламентирующих основные технологические процессы, регулярно проводящиеся в компании-франчайзи. Инженер по внедрению 2 должен следовать требованиям, изложенным в Руководстве. Кроме того, он должен использовать набор специально разработанных документов.
Периодически инженер по внедрению должен создавать одиннадцать документов. Разработка девяти наиболее важных автоматизирована: создана ба-за данных (разумеется, на платформе «1С:Предприятие» 3), электронные и соответствующие им печатные формы. Структуры этих документов хорошо укладываются в табличное представление. Однако документы двух типов (отчеты о взаимоотношениях с потенциальными заказчиками и перечни требований клиента) - чисто текстовые, структура которых не укладывается в форму, предлагаемую современными базами данных. (Разумеется, тексты можно хранить в любой базе данных, но анализировать их может только человек: автоматизированные средства анализа отсутствуют.)
Итак, существуют следующие документы, структура которых не отвечает простой табличной форме:
-
собственно Руководство по качеству, описывающее документы и технологические процедуры. Излишне говорить, что в течение ближайших лет Руководство будет эволюционировать и расширяться;
-
те документы, которые должны постоянно разрабатываться сотрудниками. В ходе совершенствования системы управления качеством количество и сложность таких документов, скорее всего, возрастут. Например, пока Система качества не охватывает Техническое задание и Контракт.
Кроме документов, напрямую относящихся к системе управления качеством, обычно существует много других текстовых документов, регламентирующих, например, структуру компании. По-хорошему, эти документы тоже нуждаются в аккуратном и объективном анализе (не сводящемся к фиксации состояния «В работе» и «Исполнено»).
Есть много программных систем, которые позволяют хранить документы (обычно не WYSIWYG 4) и сопутствующую информацию. Серьезный недостаток таких систем - закрытость, вытекающая из проприетарности их формата.
Современные базы данных позволяют прекрасно работать с табличной информацией, но тексты в них можно только хранить и искать вхождения слов. Этого мало. Кроме того, далеко не всегда можно хранить в базах данных оформленные документы WYSIWYG 5. Пока нет мощной и всесторонней программной поддержки, системы документооборота, аналогичные рассмотренной, могут выродиться в благие пожелания.
Что такое FrameMaker
Коротко говоря, это пакет подготовки документов - как авторское средство (текстовый процессор), так и средство оформления (система верстки). Это система WYSIWYG. В отличие от других пакетов верстки, FrameMaker позволяет не только располагать и оформлять имеющийся материал, но задавать правила расположения и оформления. Когда появляется материал документа, FrameMaker производит верстку автоматически, согласно заданным правилам.
В основном FrameMaker’ом пользуются те, для кого оформление документов - задача не художественная, а инженерная.
Версия 6 имеет два варианта поставки, серьезно различающиеся ценой: FrameMaker и FrameMaker+SGML.
Основное отличие будущей версии 7 от версии 6: в нее включается поддержка SGML. При этом FrameMaker 7.0 будет продаваться по цене FrameMaker 6.0, а пакет FrameMaker+SGML 7.0 вовсе не предусмотрен. Это означает, что средства работы с SGML можно будет приобрести намного дешевле, чем раньше, и ими станут пользоваться более интенсивно, чем прежде. Остается выяснить, зачем нужен этот самый SGML.
Любой разговор о судьбах SGML в России будет неполным без упоминания работ Бориса Тоботраса. Так, по адресу xtalk.price.ru/SGML/SGML-article.html расположена его довольно старая, но содержательная и внятная статья о преимуществах, связанных с использованием SGML. Там же имеется список сетевых ресурсов, посвященных SGML. Следует, правда, отметить, что в этой статье не упоминается возможность работы со структурными документами в режиме WYSIWYG. Рекомендуемые автором программные средства работают в системе Linux. |
Что такое SGML
Несмотря на то, что SGML - это международный стандарт с 1986 года (ISO 8879:1986), многие российские специалисты незнакомы даже с расшифровкой этой аббревиатуры (Standard Generalized Markup Language - стандартный обобщенный язык разметки). На самом деле SGML - это метаязык, при помощи которого можно описывать не только структуры документов, но и другие языки. Так, языки HTML (версии 4.0) и XML - прямые порождения SGML.
SGML служит для создания структурных документов. Неструктурный документ - это последовательность абзацев с наложенными на них стилями. Структурный документ состоит из иерархии элементов. Например, можно потребовать, чтобы Глава начиналась с Заголовка, за которым следует по меньшей мере один Абзац. Вслед за первым Абзацем могут идти другие Абзацы, а также Списки, Рисунки, Таблицы и Разделы. Абзацы состоят из текста, перемежаемого Ключевыми фразами, Цитатами и Ссылками.
Правила, которым должны подчиняться документы данного типа, фиксируются в DTD (Document Type Definition - задание типа документов). Обычно DTD - отдельный файл.
Структурный и неструктурный документы выглядят одинаково, но основополагающие модели данных и операции редактирования сильно отличаются.
Пакет Framemaker+SGML объединяет все лучшие особенности двух технологий работы с текстом:
-
WYSIWYG - магистральное направление текстовой обработки;
-
структурное создание и редактирование документов.
Более того, допускается экспорт документов из проприетарного формата FrameMaker в «чистый» SGML и импорт из «чистого» SGML в формат FrameMaker. В Framemaker+SGML роль DTD играют структурные шаблоны - EDD (Element Definition Document - документ задания элементов). EDD пишутся не на SGML, а на весьма похожем языке (эта похожесть не синтаксическая, а смысловая). Язык EDD настолько похож на SGML, что FrameMaker умеет автоматически преобразовывать один язык в другой. Это означает, что если создан EDD, то можно автоматически получить соответствующий DTD и наоборот. К тому же существуют встроенные правила преобразования EDD Ц DTD, они применяются по умолчанию, но их можно задавать и самому.
Возможность импорта SGML-документов означает, что в пакет встроены функции анализатора: при обнаружении ошибок в исходном документе выдаются соответствующие сообщения.
Простой пример автоматизированного анализа. В контрактах договорная сумма обычно пишется прописью и дублируется цифрами. Соответствие того и другого обычно приходится проверять «глазуально». В принципе можно написать процедуру базы данных, которая проверяла бы это соответствие, но ее польза сомнительна: сумма прописью важна именно в документе WYSIWYG, и переносить ее в базу данных просто нецелесообразно. Если же написаны процедуры SGML, которые переводят суммы прописью в числовой вид, это увеличивает надежность системы документооборота. |
Помечтаем о Руководстве по качеству
Возвращаясь к задачам документооборота, рассмотренным выше, можно наметить следующий сценарий 6.
Согласно корпоративным требованиям создается набор структурных шаблонов EDD: свой шаблон для каждого типа нетабличных документов. Разумеется, у разных франчайзи «1С» шаблоны наверняка окажутся разными: требования Системы качества, предлагаемые компанией «1С», довольно гибки. Они допускают и даже поощряют учет «туземных» условий. Так, в разных организациях для однотипных документов будут выбраны свои правила верстки - например, разные шрифтовые гарнитуры.
После создания шаблонов авторы получают возможность создавать требуемые документы в среде WYSIWYG. Структурный шаблон (EDD) проводит автора по всем этапам создания документа, поэтому процесс происходит легко и приятно. Разработанные документы можно сразу распечатать: их верстка соответствует выбранному корпоративному стандарту.
Структурный шаблон гарантирует, что в документе имеются все необходимые разделы, иллюстрации и таблицы. Однако, разумеется, никакой структурный шаблон не может гарантировать, что содержание документов корректно (например, что проектный документ не содержит невыполнимых обещаний).
Затем можно экспортировать созданные документы в SGML. Для этого требуется, чтобы были написаны правила преобразования EDD в DTD.
После преобразования документа в SGML особенности верстки пропадают. В конечном счете именно это «рафинирование» дает возможность использовать автоматический анализ и сведение SGML-документов.
Собственно анализ результатов - это и есть то, ради чего затевалась вся дорогостоящая реорганизация документооборота, а именно изучение затраченных ресурсов и результатов деятельности компании. Цель такого анализа - «расшивка» узких мест, то есть оперативное управление.
Нет проблем с обобщением числовых данных, хранящихся в базе. Основные трудности обработки связаны с документами, которые содержат описательную, качественную информацию.
При традиционном подходе такие документы сначала обобщаются вручную. На этом этапе царит субъективизм. Кроме того, вносятся неизбежные искажения, возможны и сознательные приписки. Наконец, это трудоемкая работа, требующая немалого времени. Все это не способствует должному качеству оперативного управления и смазывает потенциальные преимущества новой системы документооборота.
Но можно представить себе и иную картину: созданы специальные фильтры: правила перевода DTD в EDD. Тогда ранее сформированные SGML-документы преобразуются в формат FrameMaker согласно другой группе структурных шаблонов, которые созданы специально для руководителей. Таким образом автоматически формируются сводные документы, при помощи которых руководители могут анализировать деятельность компании. Одна из прелестей данного сценария заключается в том, что его можно реализовывать по частям.
Еще одно преимущество структурного подхода: возможность различных преобразований. Например, SGML-документ можно преобразовать в HTML. Код HTML, полученный этим способом, обычно намного чище (компактнее и лучше отвечает стандарту), чем экспортируемый непосредственно из текстового процессора. Возможно также преобразование в другой язык разметки для печати, такой как TeX. Правда, FrameMaker умеет оформлять материалы сам, так что эта возможность в основном потенциальна.
Наконец, в принципе можно объединить два подхода к документообороту: при помощи базы данных и SGML. Пакет FrameMaker снабжен программным интерфейсом FDK (FrameMaker Development Kit - пакетом разработчика). При его помощи можно создать подключаемые модули, которые закачивают информацию из базы данных в документы WYSIWYG и, наоборот, извлекают нужную информацию из документов и записывают ее в базу данных (например, технология компании Miramo - www.miramo.com).
Многие нетривиальные средства «чистого» пакета FrameMaker имеют своих двойников в SGML. Таковы, например, условные и ссылочные стили FrameMaker. В SGML им соответствуют модели ID/IDREF и маркированные секции. Однако некоторые важные особенности пакета не имеют прямых аналогов в SGML, так что их приходится доопределять в DTD. Таковы, например, таблицы, уравнения и методы представления графики. Наконец, некоторые сложные средства SGML не имеют аналогов в FrameMaker, и они опущены, то есть компания Adobe реализовала несколько ограниченный вариант SGML (что стандартом допускается). Наиболее важное из таких ограничений: невозможно, чтобы один DTD был частью другого (и, соответственно, структурные шаблоны EDD не могут образовывать иерархии). На самом деле это довольно важное ограничение, так как EDD для реальных документов обычно весьма объемны (зачастую превышают сто страниц формата А4). |
Седьмая версия
Все, о чем говорилось выше, относилось к уходящей натуре - FrameMaker+SGML. Конечно, все это будет иметь силу и для FrameMaker 7.0. Однако, вероятно, седьмая версия будет намного практичнее, чем предыдущая.
Это связано с тем, что седьмая версия обещает также полную поддержку XML - языка, который представляет собой чистое подмножество SGML. Более точно, XML - один из возможных прикладных профилей SGML. SGML обеспечивает произвольную структуру, но это слишком тяжелый язык при реализации. Например, синтаксис XML можно описать при помощи расширенных форм Бэкуса-Наура (которые хорошо известны программистам), а для описания SGML выразительных средств этого метаязыка недостаточно. Полная система SGML решает большие, сложные и дорогостоящие проблемы (например, в аэрокосмической области, системах вооружений, тяжелом станкостроении). Во многих западных организациях стандартная процедура перед выкладкой информации в сеть - фильтрация SGML в XML.
Теоретически все необходимые средства для работы с XML содержатся уже в FrameMaker+SGML. Так как можно составить любые наборы правил преобразования EDD Ц DTD для SGML, то можно составить аналогичные правила для преобразования из формата FrameMaker в XML (и HTML), а также в обратном направлении.
Однако за счет упрощения XML (по сравнению с SGML) составление правил для XML может быть значительно упрощено. Не исключено, что для описания структуры большинства (если не всех) нетабличных документов Руководства по качеству мощи XML вполне хватит. Это означает, что правила экспорта и, возможно, импорта, о которых шла речь выше, можно будет создать с куда меньшими затратами.
Основной конкурент FM - системы компании Arbortext (www.arbortext.com), реализующие SGML полностью. Если FrameMaker 7 стоит $799 (здесь и далее - цены для США), то цены Arbortext состоят из двух частей: стоимости лицензии и стоимости годового сопровождения.
Следует заметить, что разработка приложений SGML - обычно весьма дорогостоящее занятие. Именно в удешевлении технологии и заключалась одна из основных целей разработки XML. |
В заключение хотелось бы отметить, что, похоже, FrameMaker - единственный современный пакет, объединяющий удобство технологии WYSIWYG с мощью структурного подхода к работе с документами. Проприетарный формат пакета можно автоматически преобразовывать в распространенный (пока - только на Западе) формат, допускающий машинонезависимую обработку документов. Возможно и обратное преобразование.
Выпуск новой версии пакета нам представляется штукой, которая посильнее «Фауста» Гете. Похоже, что седьмая версия FrameMaker будет первой, активно применяемой в России.
1 (обратно к тексту) - Статья отражает личную точку зрения автора.
2 (обратно к тексту) - В компании работают и другие специалисты: например, аналитики, программисты и даже технический писатель.
3 (обратно к тексту) - Существует предрассудок, что эта платформа хороша только для бухгалтерского учета. на самом деле она удобна для решения любых учетных задач.
4 (обратно к тексту) - WYSIWYG - «что видишь, то и получаешь»: англоязычный термин, родившийся из аббревиатуры. Режим работы, при котором на экране всегда показывается окончательная версия оформления документа. Мы уверены, что при авторской работе немедленное оформление материала (верстка непосредственно при создании текста) сильно облагораживает качество собственно текста. Например, позволяет увидеть больше погрешностей, которые можно тут же исправить.
5 (обратно к тексту) - Например, проприетарный формат RTF позволяет записывать оформленный текст как «чистый». Однако если в документ включена векторная графика, выполненная средствами MS Word, то при хранении в базах данных возникают проблемы.
6 (обратно к тексту) - Рассматриваются возможности, пока не реализованные. * термин, нахально позаимствованный из интервью с Е.Касперским, опубликованном в «КТ» #444. - Прим. ред.