Статья

Архитектура CompanyMedia: все как в вебе

Документооборот Интертраст

Архитектура определяет все будущие возможности системы: насколько она будет масштабируемой, производительной, гибкой, и в итоге — насколько успешной на рынке. Поэтому архитекторы просто обязаны заложить все ее будущие возможности еще на "нулевом" цикле разработки. Как же это было сделано в новой CompanyMedia?

Довольно часто системные архитекторы в своем стремлении создать нечто совершенное задают столь высокую планку, что исполнителям их замыслов приходится очень туго. Так, например, великое творение Гауди, собор Sagrada Familia не могут достроить уже более ста лет. Но если для собора это нормально — ведь любой приличный храм должен строиться лет двести-триста, то для информационных систем такой подход не годится. Архитекторы ИС должны думать еще и о том, чтобы сократить сроки разработки насколько это возможно.

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

Противоречия — двигатель творческого процесса

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

Многоуровневая архитектура СМ

Увеличить

Источник: CNews Analytics, 2012

Если обратиться конкретно к CompanyMedia, то ее успех на рынке был тесно связан с довольно широким распространением платформы Lotus Notes, которая на момент своего появления была действительно революционной. При этом нельзя сказать, что CompanyMedia есть всего лишь какая-то программа на Lotus Notes. За более чем 15 лет ее развития разработчики "Интертраст" накопили обширную экспертизу в предметной области, которая объединяет в себе традиционный российский подход к управлению документами и поручениями и дух коллективной работы Lotus Notes, не связанной бюрократическими условностями.

Вследствие этого CompanyMedia обладает несколькими качествами, которые отличают ее от других СЭД. Во-первых, изначально базовым объектом в системе является документ, а не запись в базе данных. Затем, представления (View) реализованы на уровне платформы. Это дает очень гибкие возможности навигации и просмотра документов. Кроме того, функции управления оргструктурой и пользователями реализованы в CompanyMedia наиболее полно по сравнению с другими СЭД.

К сожалению, при всех своих архитектурных преимуществах, платформа Lotus Notes не смогла стать стандартом де-факто. Анализ причин, по которым это произошло, не входит в нашу задачу.

Два ответа на банальный вопрос

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

Можно выбрать и другой путь: сделать ставку на нового лидера рынка, мобилизовать все ресурсы и выполнить миграцию своей системы на новую платформу, попытавшись при этом сохранить старых клиентов и завоевать новых.

Первый путь в принципе является вполне прагматичным. Можно сократить до минимума текущие разработки, а получаемые от сервисных контрактов средства инвестировать в какую-то новую область. Но обладая серьезным опытом в своем деле и, имея «под ружьем» слаженную команду разработчиков, можно поставить себе гораздо более амбициозные цели, что "Интертраст" и сделал (но об этом чуть позже).

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

Кроме того, далеко не все старые клиенты выскажут готовность перейти на новую платформу, какая бы она ни была. Следовательно, придется поддерживать оба решения, а это еще более усугубит финансовую ситуацию.

Затем, не стоит забывать о конкуренции. На новом рынке придется заново завоевывать себе репутацию и нарабатывать клиентскую базу. Старые заслуги обычно в зачет не идут.

И, наконец, новая платформа может тоже утратить лидерство и история вновь повторится. В сверх-динамичном мире ИТ это вполне возможно.

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

Знания в предметной области не зависят от ECM-платформы

Итак, опыт в документообороте у "Интертраст" был накоплен солидный, но идти по пути создания линейки приложений под разные платформы, как поступили некоторые конкуренты, компании не хотелось. Компания пыталась найти архитектурное решение, которое позволило бы максимально использовать наработанную экспертизу и при этом избежать зависимости от платформы.

Вспоминает Владимир Панов, главный архитектор "Интертраст": "Это было лето 2010 года. Мы сидели в беседке возле офиса и обсуждали архитектуру будущей CompanyMedia. Все уже понимали, что дальнейшая ориентация исключительно на Lotus Domino заведет нас в тупик. Тогда как раз вышел стандарт CMIS, который показался нам очень интересным. Как пришла эта идея – сделать СЭД независимой от хранилища и работать с любыми ECM-платформами – уже сложно сказать, но она всем понравилась.