| ||
Стебель Лотуса...Максим Колосов, Иван Цыбаненко Не секрет, что в любой организации после нескольких лет работы накапливается огромное количество бумаг на полках и в коробках. Объем бумажного кома растет в геометрической прогрессии, так как бизнес расширяется, нанимаются новые сотрудники, и каждое изменение означает, что количество накладных или докладных записок с требованиями "выдать деньги на закупку тонера" увеличивается. С чего начиналосьИзначально идея, положенная в основу Lotus Notes, была реализована в 1973 году в CERL, University of Illinois1. Это была BugTrack система для совместной работы программистов, когда результаты работы каждого в команде могли использоваться всеми сотрудниками совместно. Работа над Lotus Notes начата в июле 1984 и в 1987 начала продаваться первая версия продукта. "Было весьма эксцентрично размышлять о ПО для совместной работы в 1984 году, когда подавляющее число пользователей даже не имели опыта работы с электронной почтой, - сказал вице-президент Iris3 по проектированию, Том Диаз (Tom Diaz), - продукт опережал свое время. Это была первая коммерческая реализация клиент-серверного приложения". Осенью этого года будет выпущено уже шестое поколение системы, или Release, если придерживатьcя принятой терминологии. До того как будет объявлено о его продаже, на сайте Lotus.net доступен бесплатный R6 pre-release, предназначенный для ознакомления с возможностями системы. Что такое Lotus Notes?Есть клиентское рабочее место Lotus Notes, и есть сервер Lotus Notes. Здесь автор немного смухлюет. "Сервер Lotus Notes" на самом деле называется Domino. Однако неоднократно сталкиваясь с тем, как сложно интуитивно воспринять фразу "клиент Lotus Notes работает с сервером Domino", в статье сервер Domino будет именоваться "сервер Lotus Notes" - подразумевается, что это "сервер, к которому подключаются клиенты Lotus Notes". Клиент - это приложение с графическим интерфейсом, работающее на компьютере пользователя, тогда как сервер - приложение консольное, и пользователи знают о его существовании, но как правило, не видят. Прежде всего, Lotus Notes - среда для совместной работы, в которой могут быть интегрированы бизнесс-процессы всего предприятия в целом. Это значит, что для совместной работы менеджера по продажам и бухгалтера им не придется копировать данные из одной программы в другую, а также не будет возможности просматривать или изменять данные, которые не имеют непосредственного отношения к исполняемым обязанностям. Единицей хранения данных в Lotus Notes является поле. В одном документе могут храниться поля различных типов и, что гораздо интереснее, различных размеров и размерностей. Т.е. поле может содержать данные стандартных типов, форматированный текст (довольно схоже по возможностям с MS Word), файлы (любые), OLE-объекты и даже форму, по которой нужно отображать данный документ, с програм-мным кодом для этой формы. За счет особенностей архитектуры Lotus Notes в БД может храниться разнообразная корпоративная информация. Стоит сделать оговорку, Lotus Notes в отдельных случаях может использоваться как готовое решение, но основным назначением системы является создание на ее основе приложений для решения конкретных задач в организациях. Разработка приложений в этой среде максимально облегчена за счет мощных средств разработки, весьма разнообразных средств программирования, а также поддерживаемых на уровне ядра стандартах и технологиях. В отличие от других систем, позиционирующихся в той же нише, в основе Notes не лежит почтовая служба. Базовым механизмом является система доступа к данным, хранимым в базах данных (БД). Между собой клиент и сервер Lotus Notes общаются по протоколу NotesRPC. На сервере независимо друг от друга функционируют задачи-демоны Lotus Notes. Их независимость (по коду и по занимаемой памяти) позволяет серверу Lotus Notes легко распределять задачи по нескольким процессорам, а администратору Notes: - останавливать любую задачу, например, для проведения "точечных" сервисных работ; - запускать дополнительно нужную задачу; - гибко управлять производительностью сервера, в зависимости от его целевого назначения, настраивая запуск только нужных задач при старте сервера; - настраивать запуск или остановку задач по расписанию или по требованию, чтобы они не занимали ресурсы системы во время простоя. На клиенте функционирует графическая оболочка пользователя, которая также может по мере необходимости запускать задачи-демоны, аналогичные серверным. Lotus Notes и безопасность данныхПри регистрации нового пользователя в системе создается учетная запись в "центральной" адресной книге. Система аутентификации построена на механизме электронной подписи. При заведении пользователя сразу создается пара несимметричных ключей для алгоритма RSA. Предназначенный для расшифровки и цифровой подписи ключ (персональный) передается пользователю в виде файла (не более 5 Кбайт), зашифрованного по паролю алгоритмом. А ключ, предназначенный для шифрования сообщений и для проверки цифровой подписи (публичный), помещается в учетную запись в "центральной" адресной книге. Определение аутентичности в Notes проводится путем проверки сертификатов (цифровых подписей) объектов. Если клиент хочет подключиться к серверу, он предъявляет свои сертификаты с правами на это действие, сервер проверяет сертификаты (цифровую подпись) и решает, какие права предоставить клиенту, а какие нет. Notes имеет многоуровневую систему защиты. На каждом уровне можно использовать для определения конкретных прав как имя пользователя, так и имя группы пользователей. Проходя через один уровень, пользователь попадает на следующий. Первый уровень - доступ к серверу. Далее - проверка прав на доступ к конкретной БД. Еще глубже - проверка прав на доступ к конкретному документу. Также можно управлять доступом на изменение отдельных полей. Все права (в том числе и право на изменения отдельного поля в документе) проверяются не клиентом (который тогда можно было бы взломать), а сервером. Каждый раз сервер проверяет, действительно ли есть у пользователя права на то действие, которое запрошено. Может создаться впечатление, что такое нагромождение проверок замедляет работу в Notes, но это не так. Шифрование и цифровая подпись использовались в Notes с самой первой версии. Защищенность данных уже давно стала одной из особенностей системы, а все алгоритмы создавались еще для DOS и 286-х процессоров. Шифровать в Notes можно все (было бы желание). И данные (как БД целиком, так и отдельные документы или поля), и сетевой трафик, и электронную почту. Если пользователю недостаточно тех ключей, которые ему предлагает Notes, он может создавать, импортировать, экспортировать и обмениваться с остальными пользователями другими, дополнительными ключами. Еще Notes позволяет использовать (как опция) дополнительные ключи X.509, а сервер Notes может выступать центром сертификации ключей X.509. Это те самые ключи, которые используются в Интернете в качестве стандартных для шифрования электронной почты и защищенного WEB-трафика. Почта Lotus Notes работает независимо от других процессов. Ничем особенным она не отличается от того, что мы привыкли ожидать от обычной электронной почты. Отметим, что разница в работе с почтой, отправляемой в Интернет, и в пределах организации для пользователей, незаметна. Базовые возможности NotesВ одной связке с почтой работает групповой планировщик Notes. Он позволяет гибко планировать график жизни любого трудового коллектива любой территориальной распределенности. Особенностями планировщика является то, что он: - "знает" о свободном и занятом времени всех, кто зарегистрирован в системе и позволяет удобно подбирать время для групповых мероприятий, предоставляя наглядную информацию о свободном времени каждого из участников; - позволяет управлять временем в зависимости от служебной иерархии (например, позволяет начальнику управлять рабочим временем подчиненных, а секретарю-референту планировать время босса); - дает возможность участия в планировании времени даже удаленным пользователям - надо только, чтобы они время от времени подключались для синхронизации. Одной из базовых технологий является репликация. В конце 80-х, когда она создавалась, самыми распространенными устройствами для связи были телефонные линии и модемы с черепашьей скоростью. Разработчики Notes сумели создать технологию, которая работала даже на такой скорости, и поэтому даже сейчас качество и гибкость настройки системы репликации Lotus Notes является самой нетребовательной к ресурсам. Используется она в первую очередь для того, чтобы удаленные друг от друга компьютеры (как клиенты, так и серверы Notes) могли синхронизировать общие данные. При репликации соблюдаются все правила политики безопасности. Наравне с данными реплицируется и код приложений - задаче репликации безразлично, "объект" какого типа передавать, если это не указано дополнительными настройками. Lotus Notes является "толстым" клиентом. Основное его достоинство в том, что для работы не только с почтой, но и со всеми приложениями Notes, совершенно не обязательно подключаться к серверу. Клиент сам представляет собой сильно облегченный сервер Notes (который называется "Локальным") и имеет в своем составе набор задач-демонов, необходимых для работы автономно. Таким образом, пользователю для работы с удаленной системой совершенно не обязательно быть подключенным к ней постоянно. Он может работать без связи и время от времени подключаться, чтобы синхронизировать данные. При этом соблюдаются все правила безопасности, и клиенту Notes при репликации сервер дает доступ только к тем документам, к которым имеет право получить доступ пользователь, и принимает с клиента только те, которые пользователь имеет право отправить или изменить. Приложения также не нужно никоим образом адаптировать для того, чтобы они работали локально. А для проведения репликации от пользователя не нужно совершенно никаких действий, кроме разовой первоначальной настройки, и даже команда на репликацию не обязательна, если она настроена по расписанию. Еще одной ключевой особенностью технологии Lotus Notes является быстрая разработка и быстрое внедрение приложений. Скорость внедрения, например, увеличена еще за счет того, что на рабочее место пользователя нужно установить только лишь клиента Notes. Набором приложений, к которым он имеет доступ, управляют изменениями в политике безопасности с рабочего места администратора. В удаленные офисы политика безопасности поступает также по механизму репликации и немедленно вступает в действие. Может показаться что "быстрая" - значит "в спешке", "некачественная". Ничего подобного! Система так построена (имеет такие базовые возможности), что функционально сложные, полноценные приложения получаются готовыми и внедренными за очень сжатые сроки. Как дополнительный плюс Notes можно привести возможность эффективной работы, когда разработчик по каким-либо соображениям не должен иметь доступа к данным вашего предприятия. Следует подробнее рассказать, о том, какие возможности интеграции предоставляются системой. Прежде всего, Lotus Notes "дружит" с разными версиями самой себя. Очень хорошо дружит! Обеспечивается 100% совместимость по данным "снизу вверх". Это означает, что работоспособны следующие конфигурации: клиент версии 1.0 (1989 года выпуска) - сервер версии 5.0 (2000 г.в.) клиент версии 5.0 (2000 г.в.) - сервер версии 1.0 (1989 г.в.) Задача для администратора - обеспечить их работу по одному сетевому протоколу, но и это не проблема. Поддерживаются TCP/IP (естественно!), IPX/SPX, NetBIOS (NetBEUI), Banyan Vines (слышали о таком?), прямое модемное подключение. Так что всего и сделать-то - найти MS-DOS или OS/2, драйвера сетевых протоколов и соответствующие версии Lotus Notes - и вперед! Конечно же, клиент старой версии Lotus Notes не сможет обработать код и те данные, с которыми он не знаком, - он просто откажется это делать. Но, если у вас есть большой парк устаревшей техники, вы можете придать ему вторую жизнь, создав для этих машин простейшие приложения Notes, например, только для ввода или отображения информации. Сервер и остальные клиенты могут быть любой - хоть самой последней! - версии, так что обрабатывать введенные данные можно уже во всеоружии современных методов и интерфейсов. Из этого следует, что миграция на новые версии при появлении таковых совершенно не обязательна, а если и есть в ней необходимость, то она проводится без проблем. Новая версия ставится поверх существующей. В некоторых случаях надо запустить автоматическую процедуру для, допустим, преобразования формата хранения данных в БД к новому стандарту. Теперь немного об операционных системах, на которых работает последняя, 5-я версия Lotus Notes. Клиент Notes существует для Windows и для Mac OS. Сервера Lotus Notes - для Windows NT/2000, Linux, SUN Solaris SPARC, OS/2, AIX, HP-UX, AS/400 и OS/390. Кроме почты Notes, поддерживаются такие почтовые стандарты, как SMTP, POP3, IMAP4. К адресной книге Notes можно получить доступ по протоколу LDAP. С данными на сервере Notes можно работать (кроме клиента Notes) через браузер - Notes поддерживает протокол HTTP. Естественно, возможности браузера и других почтовых систем ограничены, по сравнению с клиентом Notes. Для устранения различий можно установить пакет iNotes, который доводит функционал браузера и почтового клиента до полноценного рабочего места Notes. Существует множество дополнительных средств, расширяющих функциональные возможности Lotus Notes, разработанных как самим Lotus, так и третьими фирмами. Сервер Notes можно применять для доставки факсов. Причем, в территориально-распределенной сети система факс-серверов может сама определить, с какого факс-сервера нужно отправлять каждое из факс-сообщений, и доставить до этого сервера сообщение по почте. Допустим, у некоторой компании есть факс-серверы в каждом крупном городе России. Они объединены между собой, например, через Интернет. При отправке факс-сообщения из Владивостока в Москву, Владивостокский факс-сервер Notes не будет дозваниваться по межгороду, чтобы отправить факс, а установит соединение с местным провайдером и передаст факс-сообщение почтой на Московский факс-сервер. А уже факс-сервер Notes в Москве по локальным телефонным линиям, более качественно и недорого, доставит факс-сообщение и направит по почте отправителю во Владивосток уведомление о результате. В связке с Notes может работать система обмена мгновенными сообщениями (интернет-пейджер) Lotus Sametime. При совместной работе с Notes, она позволяет обмениваться зашифрованными сообщениями, интегрируется с электронной почтой и дискуссионными приложениями Notes позволяя связаться с авторами сообщений, если они в данный момент подключены к Sametime. Несколько серверов Notes можно объединить в кластер, который будет обеспечивать работу пользователей и доставку почты при сервисных работах или сбое на одном из серверов и равномерно распределять нагрузку между всеми серверами в кластере. Причем, для того чтобы сервера Notes работали, как кластер, нет необходимости, чтобы это был кластер операционной системы или аппаратной платформы. Более того: сервера - члены кластера Lotus Notes - могут быть на разных аппаратных и программных платформах и быть разной версии. Для пользователей переключение на другой сервер в кластере происходит прозрачно. Если на мощном компьютере установлен сервер Notes, который не загружает ресурсы этого компьютера полностью, и есть необходимость в еще одном сервере Notes (например, для двух разных задач или для выделения разработчикам отдельного сервера), есть возможность установить на одном компьютере несколько серверов Notes. Эти сервера будут использовать общий программный код, но при этом работать будут совершенно независимо. Notes поддерживает интеграционные технологии: OLE, COM, DDE, ODBC, XML, Corba. Также встроена возможность прямой работы с 4 реляционными СУБД - MS SQL, Oracle, Sybase, DB/2. Настройка движения данных между Notes и РСУБД осуществляется администратором при помощи "мышки". Существуют коннекторы к ERP-системам, но в составе базового продукта они не поставляются. Разработчики приложений могут выбирать любой из встроенных языков программирования: Lotus Script (напоминает Visual Basic), Java Script, Java, язык формул (разработчики называют его @-formulas, "язык эт-формул", он похож на язык формул MS Excel, но каждая команда в нем начинается с символа @; в нашей стране он, естественно, получил название языка "собакоформул":)). Или внешние языки разработки, для которых есть интерфейсы библиотек - Notes C++ API и Java. На самом деле, для создания простейших приложений или добавления незначительных изменений достаточно базовых знаний пользователя ПК. Для поддержки такой работы существует язык "простых действий", в котором пользователь может "мышкой" через Wizard построить схему обработки документа (если ему это позволено по уровню доступа), а то, что не получится сделать "мышкой", дописать на @-формулах. Язык простых действий, конечно же, не позволяет реализовать всей мощи платформы, но в нем можно настроить, например, условия, по которым будет выполняться системой то или иное автоматическое действие или отбор документов для отображения пользователю, обработку и отправку почты, процедуры создания и модификации документов, реакцию на приходящие письма и многое другое. Здесь можно провести аналогию (по функциональности и по сложности программ) с тем же MS Excel, в котором для простых задач есть язык формул, а для более сложных - Visual Basic for Applications. Разработка приложений Notes под Web, конечно же, имеет свои особенности, отличающие ее от остальных методов разработки интерактивных Web-сайтов, но те возможности, которые она предоставляет, стоят того, чтобы использовать именно эту технологию. Ведь HTTP для Notes - это не внешний протокол, в который нужно транслировать данные из БД, а просто еще один, "родной" для системы интерфейс к данным и коду, помимо стандартного клиента Notes. В последнее время в России все более популярно использование легально приобретенного программного обеспечения, и было бы некорректно опустить этот момент. Стоимость сервера Lotus Domino зависит от типа лицензии и условий приобретения и колеблется в пределах XXX-XXX USD. Для каждого пользователя системы должна быть приобретена лицензия доступа (CAL), таким образом, в зависимости от количества пользователей и используемого способа работы каждый из них обойдется от доллара в месяц и до XXX долларов за коробку с клиентом Notes. Следует указать, что при развертывании системы можно использовать ОС семейства Linux, распространяемые согласно GPL условно бесплатно, а на рабочих местах пользователей может работать обычный браузер. НедостаткиО достоинствах Lotus Notes можно писать трактаты, но как и у любой системы, у Notes имеются недостатки. Разработчики Notes постоянно работают над исправлением ошибок, благодаря чему не реже раза в квартал появляются "пакеты заплаток" (сервис-паки), доступные на сайте www.notes.net. Есть и ограничения, связанные с архитектурой, которые сужают область применения Lotus Notes. На базе этой технологии не стоит создавать приложения, связанные с проведением расчетов по большим массивам данных (финансовые, статистические). Также не следует использовать Lotus Notes для организации больших хранилищ данных. По моему опыту (и опыту моих коллег), подавляющее большинство проблем с эксплуатацией Notes (помимо проблем с недостатком знаний у специалистов) происходят из-за того, что Lotus Notes поручают выполнять не ту работу, для которой он предназначен. Иногда Notes неправильно позиционируют в противовес MS SQL. На самом деле, у этих продуктов разные ниши, и наилучшим решением будет их интеграция, когда каждая из этих систем будет заниматься тем делом, которое она "знает" лучше. При разработке приложений Notes под WWW (либо для Notes и WWW одновременно) желательно заранее об этом подумать, т.к. далеко не весь код, исполняющийся в Notes, может быть оттранслирован для исполнения в браузере. Это касается только кода, так что если вдруг появилась необходимость функционирования Notes-приложения по протоколу HTTP, можно дописать соответствующую часть приложения, а с данными проблем не будет. Клиент Lotus Notes для Windows (без рабочих мест разработчика и администратора) занимает на диске около 100 Мб. Не слишком "легкое" решение, если использовать только функции электронной почты. Так что, если вы не пользуетесь богатыми возможностями Lotus Notes, любой "лотусист" порекомендует вам подумать либо о смене решения, либо: все-таки о том, чтобы начать этими возможностями пользоваться. Интерфейс почтовой подсистемы отличается от привычного многим интерфейса MS Outlook. Это не значит, что интерфейс Outlook идеален и неповторим (еще как повторим! причем стандартными средствами Notes - см. www.notesoss.org, см. рис.3). Стоит привыкнуть к интерфейсу Notes, чтобы понять, что при интенсивной работе с большим количеством сообщений он удобен и, как минимум, не хуже, чем аналоги. Специалисты по Lotus Notes традиционно обходятся дороже процентов на 20, чем такие же по квалификации, но специализирующиеся на более распространенных программных продуктах. Если же переучивать специалистов (программистов и проектировщиков) с других платформ, нужно быть готовым, что им потребуется некоторое время, чтобы освоить архитектуру Lotus Notes. Как показывает практика, применение навыков разработки или проектирования, полученных, скажем, на MS SQL, может привести к тому, что приложения будут чужды среде их исполнения. Речь идет о "скользких" местах системы, с которыми знаком каждый разработчик: "Так не делать, а здесь нужно обходить вот так". Так вот, очень часто в Lotus Notes следует делать именно "так", как не стоит делать в SQL. Верно и обратное. Случается, что для сильных специалистов может оказаться сложным испытанием - вдруг осознать, что отнюдь немалая часть интеллектуального багажа здесь не может быть применена. Однако, как только специалист поймет, в чем отличие, чем разнится подход к проектированию систем на Notes, все пойдет, как по маслу. Еще одной проблемой является сравнительно слабая поддержка продвижения продукта на рынке российским представительством IBM-Lotus. Очень мало литературы по Lotus Notes издано на русском языке. А количество информационных публикаций в российской компьютерной прессе стремится к нулю. (И это все на фоне постоянного роста продаж!). А ведь именно отсутствие такой поддержки вендора порождает ситуации, когда любой миф может быть воспринят как прорыв информационной блокады (иначе и не назовешь!). В такой ситуации российское сообщество разработчиков Lotus Notes взяло на себя данную задачу. Некоторые бизнес-партнеры выпускают справочную литературу по Lotus Notes самостоятельно. Выпущенный ими "настольный молитвослов" администратора или разработчика по последней версии Lotus Notes стоят по $60 каждый. Редкий специалист может позволить себе такое удовольствие. Обновленная редакция технической литературы выходит с большой задержкой после представления новых версий. Также как недостаток можно указать то, что почти все, кто найдет в себе силы разобраться в том, что такое Lotus Notes и какие результаты можно получить с его помощью, становится "адептом культа Notes". Почему это происходит - тема для отдельной дискуссии (некоторые возможности системы автору до сих пор кажутся волшебными!), но проблема в том, что иногда такому "адепту" нужно вовремя остановиться, чтобы не заставить свое "божество" выполнять несвойственную ему работу. Что с этим всем можно делатьСила Lotus Notes не только в продвинутой почте и групповом планировщике. С его помощью можно (и нужно) создавать приложения, автоматизирующие сбор, сортировку, хранение, доставку информации с развитой системой оповещений и уведомлений, с высокой степенью защищенности, с возможностью интеграции с большинством реляционных систем, ERP-системами, наиболее распространенными desktop-приложениями. Notes также позволяет сравнительно просто организовать интерактивный web-сайт с аутентификацией пользователей и разделением прав доступа до уровня отдельной записи. И это будет не просто набор возможностей и инструментов. Благодаря этим возможностям, предоставляемым одним продуктом в базовой конфигурации, на Lotus Notes строятся интегрированные, обращенные как внутрь компании, так и вовне, защищенные корпоративные системы. То, что Lotus Notes имеет нереляционную структуру, позволяет при проектировании и разработке гибко подходить к такому процессу, как совместная работа распределенного коллектива. Например, специалистов в командировках с ноутбуком. Или работа большого числа удаленных филиалов (например, складов или представительств), которые не имеют возможности подключиться по быстрой выделенной линии (как того требуют системы РСУБД) и имеют один маломощный компьютер. Если схема документооборота на вашем предприятии родилась в тяжелых трудовых буднях, а не был взят за основу какой-нибудь российский ГОСТ или иностранный стандарт, то, скорее всего, еще никто не озаботился реализацией именно вашей схемы. Вы, конечно, можете пойти по модному пути "реинжиниринга" и адаптировать рабочие будни предприятия под какой-нибудь стандарт или уже существующую схему, для которой существует система автоматизации. Но обычно идут по-другому пути - покупают систему, которая наиболее соответствует схеме работы предприятия, а различия устраняют либо силами собственных специалистов, либо заказывают доработку у разработчика системы. Существует большое количество бизнес-партнеров компании IBM по продукту Lotus Notes. Они заняты разработкой и внедрением как уже существующих приложений, так и разработкой заказных решений. Со списком бизнес-партнеров России, стран СНГ и Балтии можно ознакомиться на сайте www.lotus.com/russia. В дистрибутив Notes входит набор шаблонов для простейших схем документооборота. Сразу после установки можно начинать работу с этими приложениями. А многие разработчики Notes начинали с того, что добавляли в стандартный шаблон необходимые функции и получали готовое приложение, которое тут же и внедрялось. Lotus Notes можно отнести к средствам быстрой разработки. Он предоставляет возможность создавать приложения заметно быстрее, чем на других платформах. Соответственно, разработка и развертывание приложений Lotus Notes проходит гораздо быстрее, чем для многих других систем автоматизации. В то время как другие системы (на базе других платформ) только бы писались, система на базе Lotus Notes будет уже работать и приносить прибыль. Многие ИТ-менеджеры недооценивают достоинства быстрой разработки. А вот представьте теперь: вместо того чтобы, ожидая пока появятся первые работающие приложения, кормить топ-менеджеров "завтраками" (что их, обычно, сильно раздражает), в кратчайшие сроки после получения задания предоставить уже работающие элементы системы. Не стоит отказываться от такой возможности: вместо того, чтобы постоянно догонять изменяющуюся реальную ситуацию, можно идти в ногу с развитием предприятия. Интернет-ресурсы по теме:Источник: "Компьютер Price", http://www.comprice.ru
| ||
Copyright © "Internet Zone", http://www.izcity.com/, info@izcity.com |