Система электронного документооборота «Визирь»

Эту статью надо было написать ровно 10 лет назад. Сделать это нужно было бы ради рекламы, или точнее, пиара разработанной мною системы документооборота «Визирь», которой на тот момент хотелось заниматься, развивать и продавать. Сейчас-то уже поздно, но мне захотелось это сделать ради того чтобы поставить для себя эту галочку (ну нравится мне всё до конца доделывать), и кроме того, возможно, это даже принесет кому-то какую-то пользу. Дальше — под катом…

Предыстория…


…достаточно банальна… Работая на одном из крупных предприятий Ярославля, я сопровождал и «допиливал» систему документооборота, которая в то время представляла из себя скорее электронный архив документов — приказов, распоряжений и т.п. Разработана она была на ASP, а база данных была MySQL, документы же хранились просто в файловой системе на сервере.

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

А потом я сменил и работу и город. Система осталась на старой работе, но зато появилась идея разработки новой системы документооборота — на тех же самых принципах, но «быстрее, выше, сильнее»! Тем более, что предметную область я знал хорошо, разработкой и внедрением подобной системы уже занимался. Тогда я как раз начал вовсю осваивать ASP.NET (сначала чисто для саморазвития), первый проект для ознакомления был уже написан и я решил вторым проектом взять систему документооборота: есть где разгуляться и хорошенько ознакомится с технологией WebForms ASP.NET. Но проект решил делать серьезно — чтобы в случае успешной разработки можно было бы сделать из него продукт, который можно продавать.

История


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

Поскольку, как я уже упомянул, мне хотелось писать на ASP.NET, получалась клиент-серверная технология, где сервером выступала машина на серверной версии ОС Windows 2003 (или 2008, который появился чуть позже) и клиентом — любой ПК с любым браузером. В качестве СУБД был выбран MySQL — она была бесплатна для использования, плюс я уже неплохо её знал в то время. Вот тут получилось 50 на 50: да, СУБД бесплатная, зато ОС очень даже платная, да и сервер под Windows стоил подороже, чем под тот же Linux (в том числе и в аренду). Но хотелось именно ASP.NET, поскольку сама технология WebForms была мне интересна и казалось, что она даст больше выгоды при разработке ПО и его дальнейшей поддержке. Спагетти-код тогдашнего PHP (да и ASP) весьма уже поднадоел, и понятно было, что его поддержание в рабочем состоянии при доработках требовало всё больше и больше ресурсов — т.е. времени, а значит и денег.

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

Базу документов сначала мне хотелось разместить в СУБД, однако, после размышления и поиска бесплатных решений по поиску в тексте документов, решено было всё-таки остановиться на хранении документов в файловой системе ОС. В Windows есть служба индексирования документов, которую можно настроить и использовать для полнотекстового поиска по поддерживаемым типам документов, в том числе и по офисным документам Microsoft Office и по Adobe PDF. Она, конечно, специфически работает с русскими око

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

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

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

И что получилось?


image

Примерно два года (2007–2009) я разрабатывал эту систему. Понятно, что долго, но разработка по вечерам после работы это, к сожалению, не то же самое, что работа в полный день. Зато в итоге удалось добиться всех поставленных целей: система работала, обеспечивая потребности предприятия в электронном документообороте, требовала для своего функционирования всего лишь сервера под управлением Windows, не требовала покупки дополнительных лицензий, клиентом мог служить любой ПК с практически любым браузером (даже с IE6). Было написано руководство пользователя (также встроенное в систему), руководство по внедрению системы, руководство по установке системы на сервер под управлением Windows Server 2003 и скрипты для автоматической установки (сценарий на основе BAT-файлов) и для Windows Server 2008 (и сценарий автоматической установки на основе PowerShell). Т.е. на самом деле получился продукт, который можно и нужно продвигать и продавать. В октябре 2010 года данное ПО было зарегистрировано в Росреестре под номером №2010617259. Потом был разработан и запущен сайт-визитка для продаж — http://vizier.net.ru, развернута демонстрационная версия для того, чтобы заказчик мог сам посмотреть систему.

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

Вот и всё


А дальше получилось так, как получилось. Я не стал заниматься дальнейшим продвижением и продажей системы электронного документооборота «Визирь». Хотя, казалось бы, вот оно — всё сделано, всё есть, только продавай и внедряй. Тут, конечно, можно было бы сослаться на личные обстоятельства — опять смена работы, переезд, семья, дети и т.д., но проблема скорее была психологическая — всех поставленных перед собой целей удалось добиться, а вот бросать работу и стабильный заработок, рисковать и добиваться чего-то в той сфере, в которой нет большого опыта — это уже другое. Шампанское пусть пьют другие. Возможно, это была ошибка, а может быть и нет. Данный проект занял заслуженное место в моём портфолио, как побочный эффект был неплохо освоен ASP.NET, что уже в свою очередь дало результат при разработке следующего проекта: Hattrick Portal — сайта по национальным и молодежным сборным командам, которым сейчас пользуются игроки — тренеры сборных всех стран, играющих в лучший футбольный онлайн-менеджер Hattrick. Это тоже уникальный опыт разработки и сопровождения собственного сайта, а также общения с многонациональной аудиторией по всему миру.

И всё-таки еще чуть-чуть


Поскриптум. Несмотря на то, что из меня не получилось удачного продавца системы электронного документооборота, всё-таки мне больше жаль того, что такой отличной системой пользуется всего одна компания. И я решил выложить в общий доступ дистрибутив системы электронного документооборота «Визирь» для бесплатного использования (в том числе и для коммерческих целей) Единственно, что в заголовке окна вместо названия организации будет написано — ОЗНАКОМИТЕЛЬНАЯ ВЕРСИЯ. Заходите на сайт http://vizier.net.ru, читайте краткое описание, смотрите скриншоты, пробуйте тестовую версию, скачивайте, устанавливайте и эксплуатируйте на здоровье. Возможно, для кого-то это окажется отличным вариантом, а кого-то это натолкнет на поиск более продвинутой системы,

© Habrahabr.ru