Язык SGML несправедливо забыт
SGML расшифровывается как Standard Generalized Markup Language - обобщенный стандартный язык разметки. Собственно, это даже не язык разметки, а метаязык, с помощью которого можно описать разметку документов. Например, одним из таких языков, созданных на основе SGML, является язык гипертекстовой разметки HTML. Причем в документе, составленном с помощью SGML, структура данных отделена от их представления. Таким образом, удается достичь легкой переносимости данных из одного приложения в другое и использовать один и тот же документ для различных целей - для печати на бумаге, анализа, сложного поиска, публикации в Web и других.
За свою продолжительную жизнь SGML оброс различными приложениями, которые позволяют автоматизировать различные этапы работы с документами. Для SGML существуют редакторы, позволяющие набирать документы в этом стандарте, процессоры для преобразования документов в различные форматы, поисковые системы, ищущие информацию в различных тегах SGML, программы контроля версий и другие приложения. Из этих элементов можно создать достаточно сложную систему, которая позволит автоматизировать значительную часть рутинных операций по обработке документов. Именно поэтому язык хорошо подходит для создания открытых систем управления документами. Как заметил Борис Тоботрас, старший консультант Jet Infosystems, "мы три года назад выбрали язык SGML для реализации своих проектов и ни разу не пожалели об этом решении".
Сотрудники Jet рассказали о создании на основе SGML системы документооборота одного из своих заказчиков. Система решает две традиционные для систем документооборота задачи: управление документами и контроль исполнения. Причем система должна обеспечивать как электронный, так и бумажный документооборот, и взаимодействие как с вышестоящими организациями, так и с соседними подразделениями. Работа с системой осуществлялась с помощью Web-браузера, а вся информация хранилась в базе данных. В качестве Web-сервера выбрали Apache с интерфейсом FastCGI, а все основные сценарии написаны на языке Scheme с использованием OpenLink ODBC. В качестве базы данных взяли Oracle 8.0. Использование открытых стандартов для построения такой системы гарантирует работу с ней на любых платформах, постепенное развитие системы и независимость от конкретного производителя ПО.