20 августа 2011

Код обмена информацией

В этой статье речь пойдёт не о кодировке КОИ-7 и КОИ-8. Сегодня я желаю описать своё видение способа упорядочения взаимодействия между информационными системами предприятий, организаций и государственных структур.

Задуматься над этой темой меня заставил анализ случаев неудач при внедрении свободного ПО. Например, недавно мелькнуло сообщение об отказе одного из министерств ФРГ от свободного ПО по причинам его несовместимости и малой пригодности для использования. Малую пригодность (выраженную как обычно в другом цвете кнопки «Пуск» и ином расположении меню, непосильном для освоения пользователями-идиотами) мы отложим в сторону, интересен вопрос низкой совместимости. Оказалось, СПО мало пригодно для взаимодействия с другими министерствами, государственными службами и так далее; выяснилась низкая пригодность форматов документов СПО для межотраслевого взаимодействия.

В чём же проблема-то? Думаю, что вопреки логике и здравому смыслу работники министерств и ведомств до сих пор обмениваются информацией друг с другом в виде документов офисных пакетов — иначе «проблему совместимости» объяснить невозможно. Пожав плечами я задался вопросом, по какой причине до сих пор сведения передаются в таком неудобном ущербном виде?

Ответом стало удивительное открытие: косность и традиции — иного объяснения не вижу. Прежде, на протяжении столетий, обмен сведениями происходил в виде законченных документов с исходящим номером, датой и штампиками. Однако, не понимаю, зачем в 21 век (век информационных технологий) тащить за собой методики работы прежних времён? 20 или 30 лет назад началась массовая информатизация различных областей деятельности (и делопроизводства в первую очередь), однако поныне используется крайне убогий метод обмена сведениями. Фактически мы заменили бюро, перья, бумагу, пишущие машинки, картотеки и стенные шкафы на компьютеры, принтеры и файловые системы, ничуть не изменив при этом логику и способы взаимодействия! Вместо того, чтобы возложить на числодробилки могучих процессоров работу по перелопачиваню тонн числового хлама, мы взваливаем эту работу на свои хрупкие человеческие плечи, позволяя этим железкам в холостую поглощать электричество.

Более того, не знаю как в Германии, но в нашей стране каждая контора считает себя обязанной написать собственную программу для обмена сведениями с внешним миром, оснастив её уникальным непередаваемо своеобычным форматом файлов и невменяемой логикой взаимодействия с пользователем. Далее, нужно обязать контрагентов использовать её только её, иначе невозможно. Хуже всего, что обычно программы сии написаны на коленке, с использованием древних как мамонты систем вроде Clipper, FoxPro или Delphi сто лет тому назад, обвешаны ключами защиты и не хотят работать не то чтобы под Linux или Vindows актуальных версий, но даже в эмуляторе DOS не всегда удаётся завести эти кустарные «шедевры программизма».

На мой взгляд выход может быть найден при наличии воли и желания со стороны государства. Три простых правила могут решить проблему или по меньшей мере снизить накал проблемы обмена информацией до вменяемого уровня:

1. Государственный стандарт на код обмена информацией
2. ГКОИ должен быть открыт и обязателен к применению
3. ГКОИ должен быть стабилен

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

Речь идёт о создании, изобретении или заимствовании некоего языка описания структуры и содержания документа. Будет ли это нечто на базе XML или SGML или это будет язык программирования вроде TeX или не знаю что ещё — не важно. Важно, чтобы это было стандартно, всеохватно, универсально, однозначно трактуемо и текстово. Нужно понимать, что описателей структуры документа сегодня навалом и больше: скажем DOCX (aka Microsoft Open XML) или ODF (Open Docunemt Format) вроде бы решают задачу описания формы и структуры документа, но они ничего (или почти ничего) не знают от содержании документа.

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

Открытость

Любая контора, желающая получить от организации или предприятия некие сведения (например, налоговая от налогоплательщика или энергосбыт от ТСЖ), имеет право требовать эти данные только в виде описанного выше стандартного ГКОИ. Только так и никак иначе: потребители (генераторы сведений) не должны устанавливать никаких самопальных программ или ключей защиты, не должно быть никакой бредовой самодеятельности. Эту мысль можно расширить на иные сферы информационного взаимодйствия: например, при наличии ГКОИ банк не должен заставлять организацию использовать только «фирменную» программу банк-клиента. ГКОИ позволит создать рынок альтернативных программ, обменивающихся (при поддержке криптозащиты, конечно) стандартными наборами данных.(*)

Стабильность

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

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

P.S. Грустно то, что эта статья была бы актуальна будучи написанной 10 или 20 лет тому назад. Вдвойне грустно, что она (увы, вероятно) не потеряет актуальности через 10 и даже 20 лет.

(*) Да, я слышал про Интернет. Есть ли уверенность в безопасности существующих решений по интернет-банкингу? Читателю никогда не приходилось испытывать проблем с доступом более чем к одной службе интернет-банкинга? Никогда не доводилось чертыхаться, продираясь через мягко говоря неудобные интерфейсы и невменяемую логику этих порталов?

1 комментарий:

  1. Хорошо сказано в P.S. про актуальность. А что делать-то? С помощью государства принудить к исполнению стандартов? Да, это самый простой способ, но не самый эффективный. Читая Ваши(и уважаемого Р.П.Богатырева)статьи на тему национальной ОС на базе СПО, не могу не обратить внимание на такой факт, что в наше время сложно управлять людьми административными методами. Власть не имеет авторитета и уважения, да и страха в обществе тоже нет. Вместо национальной идеи-деньги. Даже в госсекторе нет идейного единства с центральной властью и процветает тихий саботаж
    служащими не выгодных им иннициатив руководства.
    Отсюда и чрезмерная коррупция. Надо учитывать, что внедрение НПП будет растянуто во времени и связано с неимоверными трудностями. Поэтому, не плохо было бы дополнительно поискать более эффективные методы, основанные на современных методиках управления массовым сознанием. Например, в НПП можно включить некоторые популярные проприетарные продукты(заплатив за них из бюджета) и объявить их бесплатными для всех. В образовательных учреждениях практиковать олимпиады по программированию на кросс-платформенных языках, с вручением солидных денежных призов победителям. И много еще чего можно сделать, потратив немного накопленных в бюджете средств.
    Кстати, вы обратили внимание на то, что во всех публикациях о НПП присутствует мысль об обязательном распиле и воровстве выделенных на это средств. Наши геополитические противники во всю уже используют эти технологии управления. И нам давно пора.

    ОтветитьУдалить