Lotus Notes: миф и реальность
АрхивНет такого специалиста по информационным технологиям, который бы не слышал о Lotus Notes, но лишь немногие имели с ней дело на практике. Из-за этого существует катастрофический дефицит объективной информации об LN - практически все доступные публикации имеют вид рекламных проспектов или фрагментов технических описаний.
«Наши недостатки есть продолжение наших достоинств».
Народная мудрость
Нет такого специалиста по информационным технологиям, который бы не слышал о Lotus Notes (LN), но лишь немногие имели с ней дело на практике. Из-за этого существует катастрофический дефицит объективной информации об LN - практически все доступные публикации имеют вид рекламных проспектов или фрагментов технических описаний.
Отсутствие информации замещается мифами. Сейчас в России Lotus продвигается в основном как система организации корпоративного документооборота, хотя на самом деле это не совсем так. Мнения об этом продукте полярны - одни преподносят его как панацею от всех бед корпоративной автоматизации, другие и слышать о нем не хотят. В то же время реальная значимость Lotus Notes для корпоративного рынка чрезвычайно велика. Многие крупные российские компании стоят перед выбором корпоративной информационной среды, и Lotus Notes - одна из претендентов на это. Посему мне показалось важным рассказать, что такое LN на самом деле, какие проблемы она решает, а какие - создает. Я давно вынашивал эту идею, почитывая описания и расспрашивая знакомых, но окончательным толчком для меня стала встреча с бывшим начальником IT очень крупного банка, поведавшего о некоторых особенностях эксплуатации LN, с которыми ему пришлось столкнуться.
Немного истории
Компания Lotus была пионером во многих направлениях софтверного бизнеса: десять лет назад у электронной таблицы Lotus 1-2-3 просто не было достойных конкурентов, а почтовая программа CC-mail долго оставалась лучшей корпоративной почтовой системой. Аналогов же пакету Lotus Notes, выпущенному в конце восьмидесятых, вообще не существовало, так что пришлось даже придумать специальный термин - «GroupWare» (обеспечение коллективной работы). Это была первая и долгое время единственная система, реально позволяющая обеспечить быстрое создание единого информационного пространства и системы корпоративных коммуникаций компании.
Триумфальное шествие LN продолжалось почти десять лет, и основными ее пользователями являлись крупные и средние корпорации. Не удивительно, что интерес к компании Lotus проявила IBM, традиционно обслуживающая Top1000 мирового бизнеса, и купила-таки эту компанию на корню. Так что ныне Lotus - это подразделение IBM, сохранившее некоторую самостоятельность и торговую марку «Lotus».
Сейчас, впрочем, от всей линейки продуктов Lotus на рынке реально существует только Lotus Notes - остальные офисные приложения практически вымерли, не выдержав конкуренции с Microsoft Office. Lotus Notes же не просто осталась, но и активно продвигается - по крайней мере, в России.
Lotus Notes - что это такое?
В двух словах, Lotus Notes представляет собою гибрид СУБД и почтовой системы, обладающий рядом интересных особенностей и рядом возможностей для организации структурированной коммуникации - форумы, календари и так далее.
Главной особенностью лотусовской базы данных является ее ориентация на хранение больших плохо структурированных документов и коллективную работу с ними. Под коллективной работой подразумевается возможность нескольким человекам одновременно править одну и ту же запись (документ). Соответственно, поддерживается аппарат версий и возможности отслеживания изменений, сделанных отдельными пользователями. Кроме текстов, записи лотусовских баз данных могут содержать произвольное количество настраиваемых пользователями реквизитов разных типов, причем настройка состава реквизитов достаточно проста и посильна конечным пользователям. Документы в базе могут ссылаться друг на друга (что-то типа всем знакомых гипертекстовых ссылок), и, кликнув ссылку в тексте документа, можно открыть связанный с ним документ.
В LN реализована изощренная система управления правами пользователей, позволяющая назначать права отдельным пользователям и их группам как на базы данных, так и на документы и их отдельные поля. Поддерживается аутентификация документов с помощью электронной подписи - при помещении в базу созданный или модифицированный документ может подписываться сотрудником, который с ним работал.
Почтовая программа и прочие приложения (форумы, календарное планирование и другие) надстроены над этой самой системой хранения документов. Адресные книги, папки с письмами, календари также являются записями в базе данных, и на них распространяются все общие механизмы, например, версии, поддержка коллективной работы и многое другое.
Еще одним базовым механизмом, впервые реализованным именно в Lotus Notes, является репликация - возможность серверов LN синхронизировать свои базы, пересылая друг другу документы в свободное от основной работы время. Тем самым обеспечивается возможность работы в территориально распределенной среде при медленных каналах связи, когда каждый сотрудник работает со своим ближайшим сервером по быстрым локальным каналам, а, скажем, по ночам серверы синхронизируют свои базы.
Естественно, предусмотрена и возможность разработок специализированных приложений в среде LN. Для этой цели в систему встроен язык программирования (Lotus script), открывающий доступ к API системы и позволяющий создавать достаточно сложные приложения. Можно также разрабатывать приложения для Lotus на более традиционных Java & JavaScript, к которым также имеются библиотеки объектов для работы с Lotus’овским API.
Обратная сторона медали
Lotus - чрезвычайно функциональная система с элегантной архитектурой, позволяющей создать общую информационную среду в большой компании с разбросанными географически подразделениями и офисами. В этом качестве она почти десять лет вне конкуренции, и за это время обрела заслуженную популярность: по официальным данным, ею пользуются около семисот компаний из Top1000 мирового бизнеса. Но времена меняются, и то, что вчера казалось достоинством, сегодня зачастую становится недостатком, вызывающим изрядную головную боль у пользователей и служб сопровождения.
Lotus Notes - функционально замкнутая система, предоставляющая пользователю все необходимые ему средства работы - текстовый редактор, почтовую программу, электронную таблицу, систему календарного планирования и другие, и, пока пользователь для выполнения работы остается в рамках Lotus-овских приложений, все очень удобно и хорошо.
Но сегодня значительная часть пользователей предпочитает использовать офисные приложения других фирм - тот же Microsoft Office, ставший стандартом де-факто. Конечно, в Lotus-овском хранилище документов можно хранить «чужие» файлы, но, как только мы начинаем использовать MS Word совместно с Lotus, тут же выясняется, что половина всех прелестей, доступных при работе со встроенным редактором LN, теряется. Зато добавляются проблемы - специальные процедуры экспорта-импорта, или, скажем, невозможность открыть вложенный в письмо файл одним кликом - его нужно экспортировать на диск, и там уже открывать 1.
Еще одной неприятной особенностью являются чрезвычайно высокие требования к ресурсам при репликации. Упоминавшийся мною начальник IT-департамента крупного банка, в котором было больше двух тысяч рабочих мест на Lotus Notes, вспоминал, что репликация между крутыми серверами по выделенному оптоволокну шла часами - а это означает, в частности, то, что сотрудники часами не могли получить отправленные им срочные документы, так как лотусовская почта между пользователями разных серверов «ходит» также через репликацию.
Необходимость же во множестве серверов возникала из-за того, что одиночные серверы уже не справлялись с нагрузкой, так как в силу свой интегрированности LN очень требователен к серверным ресурсам. И в результате, когда в том же банке переписали приложения под MS SQL, выяснилось, что всех пользователей спокойно «тянет» один не самый мощный сервер, а пропускной способности каналов (которой LN не хватало даже для репликации) вполне достаточно для нормальной удаленной работы.
Еще одна «родовая травма» Lotus Notes проявляется при больших объемах базы данных. Дело в том, что система хранения данных LN не поддерживает ряд функций, являющихся стандартными для современных СУБД и совершенно необходимых для функционирования реальных систем автоматизации. Во-первых, БД Lotus Notes не поддерживает транзакции - то есть согласованное изменение нескольких таблиц, выполняемое как единое целое. Так, например, если приложение-клиент успело модифицировать одну запись, а после по каким-либо причинам «отвалилось» (электричество, скажем, отключилось), то в базе данных LN измененная запись таковой и останется, а во всех современных СУБД в подобной ситуации произойдет откат до начального состояния на сервере. Естественно, поддерживать целостность больших баз на LN из-за этого становится проблематично.
Кроме того, как было сказано выше, LN поддерживает возможность связывания документов, но… контроля ссылочной целостности в нем нет (!) - вы спокойно можете удалить документ, на который кто-то ссылался, и образуется «висячая» ссылка. Естественно, нет и никаких более продвинутых механизмов контроля целостности, типа constraints в реляционных базах данных.
И наконец, в отличие от современных реляционных СУБД, где индексирование записи происходит при ее помещении в базу, в LN индексирование представляет собою отдельный процесс, происходящий обычно по ночам и, при больших объемах данных, не всегда успевающий закончиться к утру! Получается забавная ситуация - документ в базу вы добавили, а найти его не можете…
Причина этого, видимо, в том, что помимо индексирования коротких полей, LN выполняет и полнотекстовое индексирование, поэтому на создание индекса для одной записи (документа) может уйти изрядно времени. Но вся прелесть полнотекстового индексирования сводится на нет тем, что значительная часть документов хранятся в файлах форматов Word или Excel, внутрь которых Lotus’овскому индексатору хода нет…
Дополняет картину эксплутационных «прелестей» толстый клиент (не просто толстый, а очень толстый) с большим клиент-серверным трафиком и среда разработки приложений, требующая редких, а значит - дорогих программистов.
Специалисты, эксплуатирующие Lotus Notes, жалуются также на трудоемкость первоначальной установки и настройки, и, что гораздо более серьезно, большое количество критических для работы ошибок, в том числе в системе безопасности, которые очень медленно исправляются компанией-разработчиком.
Лотус как система документооборота
Но, может быть, Lotus так хороша в качестве системы организации документооборота, что все вышеописанные минусы можно проигнорировать? Действительно, у LN есть один большой плюс - она позволяет быстро создать корпоративное хранилище документов и обеспечить базовые процедуры работы с ним. Но наряду с этим, есть у LN и большой недостаток: сама по себе Lotus больше ничего не умеет. То есть сделать макет базовыми средствами Lotus можно, а вот реализовать полноценную систему корпоративного документооборота, удовлетворяющую требованиям ГОСТов, уже не получается. И говорить, что «для автоматизации делопроизводства мы купим Lotus Notes», - такой же нонсенс, как и «для автоматизации делопроизводства мы купим MS SQL». Необходимо либо разрабатывать систему, используя LN как инструмент, либо покупать специализированное решение.
Достоинством LN как среды разработки является наличие ряда встроенных механизмов работы с документами. О недостатках мы говорили выше - дорогие разработчики, устаревшая технология хранения данных и трудности интеграции с другими системами.
В целом выходит, что при несколько меньшей трудоемкости сроки разработки прикладной системы на базе Lotus не отличаются от аналогичных разработок на базе скажем, MS SQL и Visual Basic, а стоимость (с учетом лицензий и дорогих разработчиков) может оказаться заметно выше, не говоря уж о том, что эксплутационные свойства систем на LN - такие, как надежность и эффективность - заметно хуже, чем у решений на базе полноценных СУБД.
Специализированные решения для организации делопроизводства на Lotus на российском рынке, несомненно, есть. Самые распространенные - разработка компании Intertrust «Office Media», система «Босс-референт» от «АйТи» и «Золушка» (Институт развития Москвы) плюс ряд других систем. Но они стоят дополнительных денег и, по оценке специалистов, по функциональности и эксплутационным характеристикам уступают системам, реализованным на базе полноценных СУБД и работающим в среде Microsoft Office, таким как «Дело» от «Электронных офисных систем», LanDocs от «Ланит» или Optima Workflow от «Оптимы».
И все-таки, почему при всем своих минусах Lotus Notes сохраняет популярность у IT-менеджеров и продолжает свою экспансию в крупные российские компании? Видимо, основных причин две. Во-первых, конъюнктурно-имиджевые соображения - «у нас все, как у лидеров западного бизнеса, вот и Lotus Notes стоит». Во-вторых, LN создает иллюзию легкого решения - при относительно небольших трудозатратах можно быстро получить видимый результат и решить слой самых простых задач. А то, что дальше развивать это решение будет очень сложно - так к тому времени либо бизнес помрет, либо IT-менеджер поменяется… Не стоит сбрасывать со счетов и активную маркетинговую политику IBM и ее партнеров.
Каковы же перспективы этого продукта на рынке? Те, кто много лет эксплуатируют сотни и тысячи рабочих мест LN, скорее всего, не откажутся от него никогда - по крайней мере до следующего катаклизма уровня «проблемы 2000 года», просто потому, что издержки перехода на что-то иное будут слишком велики. Но мне кажется, что в современных условиях Lotus Notes уже уходит в те глубоководные впадины рынка, где живут лох-несские чудовища, IBM’овские мэйнфреймы и Кобол. Там Lotus будет жить вечно, но компаниям, выбирающим для себя решения сейчас, делать ставку на Lotus Notes, видимо, не имеет большого смысла.
Во всяком случае, нужно четко понимать, что Lotus Notes не просто одна из используемых компанией систем - это целый мир, в который нужно погружаться полностью, уходя при этом от мэйнстрима, которым сегодня, нравится это нам или нет, все-таки является компонентная архитектура на базе решений Microsoft.
[i42734]
1 (обратно к тексту) - Вообще почтовая программа LN по своей эргономичности оставляет желать много лучшего. Мои знакомые, «простые пользователи», перешедшие на работу в «Никойл» (LN там - корпоративный стандарт), уже три года с тоской вспоминают простой и удобный в обращении Outlook… А почтовая программа - это вам не текстовый редактор, это сердце LN, и без нее полноценно эксплуатировать Lotus Notes не получается.