Ibm notes что за программа
Наши недостатки есть продолжение наших достоинств
Народная мудрость…
Я давно вынашивал эту идею, почитывая описания и расспрашивая знакомых. Окончательным толчком для меня стало знакомство с бывшим начальником IT очень крупного банка, поведавшего о некоторых особенностях эксплуатации LN, с которыми ему пришлось столкнуться.
Немного истории
Главной особенностью лотусовской базы данных является ее ориентация на хранение больших плохо структурированных документов и коллективную работу с ними. Под коллективной работой подразумевается возможность нескольким человекам одновременно править одну и ту же запись (документ). Соответственно, поддерживается аппарат версий и возможности отслеживания изменений, сделанных отдельными пользователями. Кроме текстов, записи лотусовских БД могут содержать произвольное количество настраиваемых пользователями реквизитов разных типов. Причем настройка состава реквизитов достаточно проста и посильна конечным пользователям. Документы в базе могут ссылаться друг на друга (что-то типа вебовских гипертекстовых ссылок), и кликнув на ссылку в тексте документа, можно открыть другой документ.
Естественно, предусмотрена возможность разработок специализированных приложений в среде LN. Для этой цели в систему встроен язык программирования (Lotus script), открывающий доступ к API системы, и позволяющий создавать достаточно сложные приложения. Можно также разрабатывать приложения для Lotus на более традиционных Java & JavaScript, к которым также имеются библиотеки объектов для работы с Lotus-овским API.
Обратная сторона медали
Но времена меняются. И то, что вчера было достоинствами, сегодня зачастую становится недостатками, вызывающими изрядную головную боль у пользователей и служб сопровождения.
Дополняет картину эксплутационных «прелестей» «толстый» клиент (не просто толстый, а очень толстый) с большим клиент-серверным трафиком и среда разработки приложений, требующая редких и поэтому дорогих программистов.
Специалисты, эксплуатирующие Lotus notes, также жалуются на трудоемкость первоначальной установки и настройки, и, что гораздо более серьезно, большое количество критических для работы ошибок, в том числе в системе безопасности, которые очень медленно исправляются компанией-разработчиком.
Лотус как система документооборота
Но они стоят дополнительных к самому Lotus Notes денег, не являются готовыми продуктами, а, скорее, «полуфабрикатами». По оценке специалистов, их функциональности и эксплутационным характеристикам также уступают системам, реализованным на базе полноценных СУБД и функционирующим в среде Microsft Office, таким как «Дело» от «Электронных офисных систем», LanDocs от «Ланит», Optima Workflow от Оптимы.
Заключение
И все-таки, почему при всем вышесказанном Lotus Notes достаточно популярен у IT-менеджеров и продолжает свою экспансию в крупные российские компании?
Видимо, основных резона два.
Не стоит также сбрасывать со счетов активную директ-маркетинговую политику партнеров IBM.
Но мне кажется, что в современных условиях Lotus Notes уже уходит в те глубоководные впадины рынка, где живут лох-несские чудовища, IBM-овские мэйнфреймы и Кобол. Там Lotus будет жить вечно, но компаниям, выбирающим для себя решения сейчас, ставить на Lotus Notes видимо, не имеет большого смысла.
Надежно защищенная полнофункциональная среда приложений для совместной работы, ориентированная на потребности среднего бизнеса
Программное обеспечение IBM Domino Collaboration and Messaging Express предлагает надежно защищенную полнофункциональную среду приложений для электронной почты и широкого круга приложений для бизнеса и совместной работы. Его комплектация и цена ориентированы на потребности среднего бизнеса, а поддержка обеспечивается на широком круге платформ и операционных систем. Три предложения для малого и среднего бизнеса не более 1000 пользователей, которые предоставляют возможности электронной почты, планирования и обмена мгновенными сообщениями, а также поддерживают широкий спектр бизнес-приложений — Lotus Domino Messaging Express, Lotus Domino Collaboration Express и Lotus Domino Server Express.
Аутсорсим IBM Lotus Domino/Notes
В этот раз мы решили разнообразить наш блог и внести элемент практики. Опубликованные ранее статьи касались различных технологий, теперь же пришло время рассказать, какие проекты мы реализуем. Первым станет проект по аутсорсингу IBM Lotus Domino/Notes инфраструктуры одного крупного европейского финансового холдинга с филиалами в разных частях света, который стартовал в 2010 году. Наша компания выполняла заказ на данный проект, получив в результате успешный кейс в портфолио. О том, как мы делаем свою работу, и какие знания и опыт в области аутсорсинга IBM Lotus Domino/Notes готовы применять в следующих проектах, расскажем далее.
Предпосылки к началу проекта
С продуктом Lotus Domino/Notes заказчик работал с начала 2000-х, а сопровождал его большой штат собственных администраторов и разработчиков. В течение нескольких лет после внедрения IBM Lotus Domino/Notes ИТ-службой заказчика были доработаны стандартные приложения Lotus Notes и разработаны новые, которые автоматизировали все основные бизнес-процессы, возлагаемые на Lotus. Такая идиллия продолжалась вплоть до известного всем экономического кризиса 2008 года, когда проблемы финансового характера подтолкнули менеджмент компании к необходимости оптимизировать финансовые показатели путем разгрузки своего ИТ-персонала от непрофильных и рутинных задач и концентрации их сил на главных для бизнеса процессах.
В результате, заказчик оставил за собой только задачи конфигурации в области информационной безопасности, аудит за деятельностью аутсорсера, доработку дизайна почтовых ящиков под особенности своих бизнес-процессов и отвечал за бизнес-логику приложений. Все остальное было передано на ИТ-аутсорсинг.
Первый этап. На старт. Что предстояло сделать?
Инфраструктура IBM Lotus Domino/Notes заказчика включала несколько десятков серверов, на которых работали почта, Sametime и приложения. Серверы и несколько тысяч пользователей размещались в локациях разных стран мира на нескольких континентах. Все это нам предстояло удаленно сопровождать и развивать. Мы должны были оказывать второй и третий уровни поддержки, а первый уровень (Service Desk) заказчик принял решение отдать в одну из восточно-европейских стран, по причине недостаточной (на тот момент) «многоязычности» специалистов нашей компании.
Для старта проекта не хватало только подписанного контракта, что и реализовал менеджмент нашей компании и передал эстафетную палочку админам, которым предстояло познакомиться с заказчиком и получить первую порцию сервиса.
Первый этап начался с ежедневных периодических задач, управления пользователями и группами, решения инцидентов второго уровня поддержки и предоставления сервиса в режиме 24х7. А уже через полгода после старта проекта мы стали оказывать все виды работ, оговорённых контрактом, в том числе третий уровень поддержки, включая общение с вендором.
Второй этап. Реализация проекта.
Практически сразу после получения доступа в инфраструктуру IBM Lotus Domino серверов мы обнаружили, что большинство ключевых для бизнеса кластеров из серверов Domino перегружены и работают на пределе своих возможностей. Малейший сбой на одном из членов кластера приводил к тому, что запросы пользователей автоматически перенаправлялись на другой сервер, который от этой дополнительной нагрузки скоро также становился недоступным.
Кластер «падал». И это при том, что при заключении контракта заказчик утверждал, что у него все работает прекрасно и серверные инциденты чрезвычайно редки.
Как показывает практика, при описании масштаба работ, передаваемого на аутсорсинг сервиса, заказчики склонны к приуменьшению объемов. Например, указывают только количество инцидентов, скромно забывая о запросах на обслуживание или регламентных работах. И к этому надо быть готовым. Переход в виртуальную среду был в планах заказчика, но постоянно растущие объемы информации требовали не только увеличения производительности серверов, но и изменения архитектуры существующей IBM Lotus Domino/Notes инфраструктуры при обеспечении бесперебойной работы бизнес-процессов заказчика, что и было нами сделано.
Для обеспечения высокой степени доступности, масштабируемости и балансировки нагрузки каждый филиал компании заказчика имеет один или два выделенных физических сервера, на которых располагаются почта, архивы и реплики критически важных приложений. Эти серверы объединены в кластеры с соответствующими серверами в разных дата-центрах. Таким образом, в случае локальных проблем с сервером в филиале, их Notes клиенты будет автоматически переключаться на сервер в одном из дата-центров.
Для обеспечения безопасности Domino серверы объединены в два разных Notes домена: «внутренний» и «внешний» (mail gateway).
Благодаря оптимизации было сокращено количество Domino серверов. Большинство из них было перенесено из локаций в дата-центры по месту расположения головного офиса. В локациях оставили минимальное количество серверов, что позволило заказчику минимизировать затраты на их поддержку. Режим работы пользователей с почтовыми ящиками был изменен с «On Server» на «On Local», что привело к значительному сокращению нагрузки на почтовые серверы.
Правильность концепции, заложенной в новую архитектуру, гарантирующую непрерывность предоставления сервиса, была подтверждена и регулярными DR (Disaster Recovery) тестами, проводимыми заказчиком.
В итоге после некоторого периода адаптации (отметим, что в целом все требования заказчика выполнялись поэтапно в течение 8 месяцев) количество серверных инцидентов с Domino серверами снизилось в 2,5 раза.
Третий этап. Неожиданный сюрприз.
Разобравшись с критическими серверными задачами и благополучно пережив переход на новую инфраструктуру в основных локациях, мы взялись за проактивную работу. По договору регламентные еженедельные и ежемесячные работы переходили в нашу зону ответственности в самом конце передачи нам сервиса. Это было связано с тем, что они содержали не только действия, рекомендованные IBM, но и специфические действия, направленные на поддержание работоспособности бизнес-процессов и целостности информации заказчика.
И здесь нас поджидал сюрприз. В связи с оптимизацией штатного персонала, у оставшихся админов заказчика работы стало столько, что они успевали делать только критически важные еженедельные и ежемесячные задачи. Таким образом, вся оставшаяся нагрузка легла на хрупкие плечи аутсорсера, то есть на нас.
Что же нам было делать с большим объемом дополнительной работы? Было решено срочно автоматизировать процессы. В кратчайшие сроки нами были написаны скрипты по дополнительному анализу логов, сравнению кластеров, квот почтовых файлов, анализу групп, предоставлению отчетности. Все это позволило за 3-4 месяца привести дела в порядок и, что самое главное, регулярное выполнение в полном объеме всех регламентных работ привело к сокращению не только количества серверных, но и нескольких видов пользовательских инцидентов.
Успеху нашей работы также способствовало наличие у заказчика зрелых бизнес-процессов администрирования и решения инцидентов, их управления и мониторинга исполнения. На первых порах специалистам приходилось тратить много времени на их изучение и понимание, но в дальнейшем мы смогли по достоинству оценить их несомненную пользу, самостоятельно создавая новые и оптимизируя старые.
Итоги проекта. Что получил заказчик?
В результате реализации проекта специалисты нашей компании предоставили заказчику стабильную, правильно развивающуюся ИТ-инфраструктуру и возможность перебросить собственные ИТ-ресурсы на решение профильных бизнес-задач.
На протяжении всего проекта мы:
Все это позволило нашей компании значительно расширить объем предоставляемого заказчику сервиса и через пять лет работы продлить контракт.
IBM Lotus Notes
IBM Lotus Software
IBM Lotus Notes (также Lotus Notes, Lotus Notes/Domino) — программный продукт, платформа для автоматизации совместной деятельности рабочих групп (Groupware), содержащий в себе средства электронной почты, персональных и групповых электронных календарей, службы мгновенных сообщений и среду исполнения приложений делового взаимодействия.
Впервые продукт выпущен в 1989 году американской компанией Lotus Development, которая в 1995 году была поглощена корпорацией IBM.
Содержание
Описание
Терминология
Полное официальное наименование продукта: IBM Lotus Notes/Domino.
Компания IBM с 1996 года использует следующую терминологию:
До версии 4.5 включительно название «Domino» использовалось для отдельного приложения, добавлявшего серверу Notes функциональность веб-сервера. С выходом в 1996-м году версии 4.6 функциональность веб-сервера была включена в поставку сервера Notes. Сервер изменил название — вместо «сервер Notes» стал называться «сервер Domino».
Начиная с версии 5.0 клиентская часть Lotus Notes состоит из трёх частей:
С версии 8.0 рабочее место пользователя поставляется в двух вариантах:
Основные функции
Основные функции, входящие в базовую поставку Lotus Notes/Domino Standard версии 8.5:
Особенности
Текущие версии
В настоящее время IBM Lotus Software поддерживает и развивает следующие версии продуктов Lotus Notes/Domino [2] :
Продукт | версия | 8.5.2 | 8.5.3 | ||
---|---|---|---|---|---|
язык | релиз | дата | релиз | дата | |
Notes Client | англ. | 8.5.2 FP4 | 12 декабря 2011 | 8.5.3 FP1 | 23 марта 2012 |
рус. | 8.5.2 FP4 | 12 декабря 2011 | |||
Domino Server | англ. | 8.5.2 FP4 | 12 декабря 2011 | 8.5.3 FP1 | 23 марта 2012 |
Технические возможности
Клиентское программное обеспечение
Разработка приложений
IBM Lotus Domino Designer — интегрированная среда разработки. Позволяет разрабатывать приложения, исполняемые как в среде Notes Client, так и с помощью тонкого клиента (браузера). Начиная с версии 8.5.1 интегрированная среда разработки Domino Designer исполняется в среде Eclipse.
Системное администрирование
IBM Lotus Domino Administrator — среда управления серверами Lotus Domino, параметрами и мониторингом серверов Lotus Domino.
Поддерживаемые технологии
В базовой поставке клиента Lotus Notes Standard и сервера Lotus Domino версии 8.5.2 поддерживаются следующие технологии:
Расширение функциональности
Масштабирование
Сопутствующие программы
Остановленные проекты
Продукты третьих фирм
Комплексная защита
Антивирусы
Антиспам
Управление инфраструктурой
История
Создание [14]
Версии
Текущие версии
Lotus Notes 8.0 вышла в августе 2007 года. [20] В отличие от предыдущих версий (6.0 и 7.0), основные изменения в которых были направлены на развитие функциональности Lotus Notes, востребованной разработчиками и администраторами системы, в новой версии множество изменений в том числе направлено и на улучшение пользовательского интерфейса (юзабилити) и насыщение системы возможностями, востребованными конечными пользователями.
В версии 8.0 появились следующие значительные нововведения:
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
IBM Notes
Содержание
Обзор
Больше чем «просто электронная почта»
Если вы используете Lotus Notes просто как приложение электронной почты, вы могли бы делать это намного эффективнее (и сэкономить много денег). Скачайте агента передачи почты с открытым исходным кодом, например, Sendmail, и почтовый клиент с открытым исходным кодом, например, Thunderbird, и у вас будет вполне рабочая электронная почта. Исторически сложилось так, что почтовый клиент Notes не был «лучшим в своем классе» (выражаясь красиво), и, будучи таковым, пострадал в сравнении с почтовым клиентом Microsoft Outlook. Но то, что Lotus Notes предлагает помимо почтового клиента, и делает его таким ценным для предприятия.
В дополнение к функции электронной почты, Lotus Notes также является полнофункциональной платформой для разработки приложений. Notes использует полуструктурированное хранилище данных, которое позволяет создавать и обрабатывать «документы» (которые аналогичны записям в системах реляционных баз данных). Документы отображаются для пользователя как «формы», которые показывают соответствующие поля приложения. Это означает, что вы можете использовать Notes для создания электронных приложений рабочих процессов, которые могут создавать запросы, уведомлять утверждающих через электронную почту и обрабатывать запросы, как только утверждение предоставляется.
Например, приложение по отчетам о расходах, построенное на платформе Notes, может позволить пользователям вводить свои расходы, отправлять эти документы их руководителям на утверждение (возможно, с дополнительным уровнем одобрения, если сумма превышает определенный предел), а затем генерировать уведомление для бухгалтерии для возмещения затрат.
Другим примером может служить форма запроса информации на вашем корпоративном сайте. После того, как форма заполнена, и кнопка «отправить» нажата, Notes может направить запрос в соответствующий отдел и отслеживать его выполнение.
Мощная платформа разработки приложения
Приложения, созданные для Notes, включают широкий спектр открытых стандартных технологий, таких как JavaScript, HTML, Java и LotusScript (близкий родственник Visual Basic). Разработчики, которые уже знакомы с некоторыми из этих технологий, смогут быстро начать разработку приложений Notes, получая сложные приложения рабочего процесса за очень короткий промежуток времени.
Для создания приложений Notes разработчики используют конструктор (Designer), который позволяет создавать и изменять любые части приложения Notes, такие как формы, представления и агенты. Он может быть отлажен в клиенте Notes или в веб-браузере для получения мгновенной обратной связи. С точки зрения производительности, разработчики получают очень много с очень небольшим усилием.
Но полезные приложения Notes не всегда требуют внимания со стороны ИТ-отдела. Как правило, опытные пользователи Notes сами могут разрабатывать приложения, когда это требуется сделать очень быстро, с небольшой помощью от ИТ.
С другой стороны, простой в использовании интерфейс конструктора может разочаровать опытных разработчиков. Последняя версия Notes / Domino (версии 8) имеет интегрированную среду разработки, основанную на Eclipse, что делает его простым в понимании для тех разработчиков, для которых Eclipse является их привычной IDE.
Что такое Domino?
Полное название программного обеспечения, предлагаемого IBM, — это IBM Lotus Notes и Domino. Lotus Notes относится к клиенту Notes, который устанавливается на персональном компьютере пользователя, и используется для доступа как к почтовым файлам, так и как приложениям Notes.
Domino — серверный компонент тандема Notes / Domino, и он работает на различных операционных системах. Когда пользователь подключается к серверу реплики своей почтовой базы данных с помощью клиента Notes, именно Domino работает с содержимым пользовательской почтовой базой данных. Сервер Domino также отвечает за управление доступом и безопасность почтовых файлов и приложений Notes.
Сервер Domino обладает надежной моделью безопасности, которая может управлять доступом в Notes документы вплоть до уровня поля. Это включает в себя как доступ пользователей на основе пользовательского Notes ID, так и шифрование трафика базы данных и сети.
Notes и Domino работают на ряде операционных систем: от настольного компьютера с Intel Pentium 2 до «большой» железки из мейнфреймов IBM. Сервер Domino доступен для Windows Server 2003, IBM AIX, Novell SUSE и дистрибутивов RedHat Linux, Sun Solaris, IBM System i, IBM System z и IBM z/OS. Это внимание к мультиплатформенной поддержку означает, что ИТ-отделы могут использовать существующие серверы и архитектуру центра обработки данных, и не тратить деньги на покупку дополнительного программных и аппаратных средств. Клиент Notes работает в Windows XP, Windows Vista, Mac OS и SUSE и настольных дистрибутивах RedHat Linux.
Обратная совместимость
Одной из наиболее впечатляющих особенностей Notes является уровень обратной совместимости между версиями. Можно взять приложение Notes, созданное в версии 1 в 1989 году, и запустить его в текущей версии Notes 8 без необходимости конвертировать или переписывать приложение. Мы не говорим о показном «доказательство определенных» приложений, отнюдь, в реальном мире много устаревших приложений, которые до сих пор приносят хорошую пользу для организации и не нуждаются в каких-либо улучшениях. Совсем немногие программные решения могут похвастаться такой совместимостью между версиями как Notes. Это означает, что ваши инвестиции в разработку приложений продолжат приносить пользу в далеком будущем.
Репликация
Сегодня работники умственного труда не приходят в офис в 9:00 утра и не уходят в 5:00 вечера. Они «всегда на рабочем месте» и они должны получать доступ к данным, если сетевое подключение работает. Клиент Notes удовлетворяет этому требованию путем репликации данных между сервером и локальной версий ваших почтовых файлов и приложений.
При наличии сетевого соединения Notes синхронизирует данные между сервером и клиентом. Репликация происходит на уровне поля, так что два человека могут обновлять разные поля в одном и том же документе (например, счета-фактуры или заявки на командировку); сервер объединяет обновления таким образом, что документ показывает оба набора изменений.
Пользователи Notes могут реплицировать свои почтовые файлы в локальную версию на своих ноутбуках, так что они могут работать и в автономном режиме. Когда они вновь подключиться к сети, все изменения реплицируются с сервером и сообщения отправлятся соответствующим людям. Это относится и к базам данных Notes, и к приложениям, а не только к электронной почте.
Что такое Notes?
Версия менеджера
Lotus Notes представляет собой набор приложений, который включает в себя следующие компоненты: [4] :
В отличие от других наборов приложений (например, Microsoft Office), которые распределяют эту функциональность на отдельные продукты (например, Outlook, Access, Front Page и т.д.), Lotus Notes представляет все эти компоненты, используя один внешний интерфейс.
Для многих людей Lotus Notes является системой электронной почты. Хотя электронная почта и не является его самой сильной стороной, это, вероятно, самый узнаваемый компонент Notes. В продукте IBM реализована большая часть (если не все) функций других продуктов, представленных на рынке приложений электронной почты, в том числе календари и планирование. Кроме того, Notes использует стандартные почтовые протоколы, такие как POP3 и SMTP. Поскольку у Notes есть как клиентская часть, так и серверная, пользователи могут использовать его для чтения и отправки электронной почты, а администраторы могут использовать его в качестве инфраструктуры электронной почты.
Для всех практических целей, однако, все в Notes представляет собой базу данных. Отдельные пользователи имеют свои собственные базы данных электронной почты, а также различные группы пользователей могут совместно использовать базы данных приложений, которые могут отображать, добавлять или управлять информацией. Кроме данных, база данных может также содержать модули программного кода, которые будут выполняться в фоновом режиме по расписанию или по требованию пользователя.
Клиент Lotus Notes представляет собой настольное приложение, которое организует и отображает базы данных на локальной рабочей станции пользователя. Файлы физической базы данных могут быть сохранены либо на самой рабочей станции, либо на сервере. Типичный клиент Notes «рабочего пространства» имеет иконки для нескольких локальных баз данных, а также ряда баз данных, которые находятся на одном или нескольких серверах Notes. Все эти иконки могут быть сгруппированы вместе, так что различие между локальными и удаленными данными становится незаметным.
Эти базы данных сами по себе могут быть гибко настроены таким образом, чтобы представлять связанные с ними данные. Разработчик Lotus Notes может разрабатывать формы для отображения отдельных записей данных и представлений для отображения целых наборов данных. В некоторых случаях отображаемые данные должны поступать не только из локальной базы данных, но и из одной или нескольких других баз данных (не имеет значения, являются ли они базами данных Notes или нет).
Поскольку в базах данных Notes встроен программируемый слой, разработчик может встроить код по всей структуре базы данных для автоматизации определенных действий или реакций без необходимости устанавливать или настраивать внешние программы или процессы. Этот встроенный программируемый слой также позволяет создавать приложения рабочих процессов, которые гибко взаимодействуют с двумя базами данных: приложений и электронной почты.
Если никто или некоторые из ваших пользователей не хочет использовать клиент Notes, существует также возможность автоматического отображения базы данных Notes в браузере. Начиная с версии 4.5, программное обеспечение сервера Notes поставляется с компонентом веб-сервера под названием «Domino», который переводит данные Notes в веб-страницы и выступает в качестве веб-сервиса. Технологии веб-программирования, такие как JavaScript и Java являются родными для Notes, так что они могут быть легко встроены в базу данных Notes и элементы дизайна (хоть в вебе, хоть на клиенте). Веб-сервер Domino также может быть сконфигурирован, чтобы взаимодействовать с такими продуктами, как IIS, Apache и Java сервлеты и JSP-страницы, так что вы можете улучшить ваш веб-сайт Domino с помощью других (возможно, уже используемых вами) технологий.
На несколько более техническом уровне, Notes / Domino обеспечивает модульную модель безопасности, которая позволяет разработчику «блокировать» доступ ко всем или части базы данных. Таким образом, вы можете комбинировать частные и общедоступные данные в одной базе данных или на одном сервере. Хотя безопасность обычно вводят через корпоративные адресной книги Notes, её также можно связать с учетными записями пользователей в домене NT или любой другой LDAP-совместимой службе каталогов.
Некоторые примеры типичных применений Notes:
Используя возможности Notes для взаимодействия с другими системами баз данных и другими веб-технологиями, вы можете также использовать его в качестве клиентского приложения или информационного веб-портала, который связывает воедино несколько различных источников данных. Lotus Notes может быть автономным хранилищем данных, интерфейсом ко множеству других хранилищ данных.
Техническая версия
На самом базовом уровне, Lotus Notes представляет собой систему баз данных. На самом деле, большинство сред Notes состоят из набора баз данных, которые могут взаимодействовать друг с другом на определенном уровне.
Lotus Notes, однако, не является реляционной системой управления базами данных. База данных Notes представляет собой набор неструктурированных данных в сочетании с различными элементами дизайна, которые позволяют получить доступ и манипулировать данными.
Идя путем разработки простой базы данных Notes, вы сможете лучше понять, как данные организованы и обрабатываются в Notes. Давайте предположим, что мы хотим создать базу данных, которая отслеживает информацию для автомобильного клуба. Для начала, мы бы создали пустую базу данных Notes, и в этой базе данных, мы бы создали форму для отображения некоторых полей данных, которые относятся к автомобилям. Например, ваша форма может иметь поля под названием «МаркаАвтомобиля» и «МодельАвтомобиля».
Давайте предположим, что мы создали и сохранили форму с двумя полями, описанными выше. Мы должны назвать форму, так что мы будем называть его «Данные автомобиля». Если вы хотите представить базу данных Notes, как имеющую внутреннюю таблицу, которая содержит все записи данных в базе данных, внутренняя таблица для нашей новой базы данных будет выглядеть следующим образом:
Форма | МаркаАвтомобиля | МодельАвтомобиля |
---|---|---|
. | . | . |
Если бы мы захотели начать заполнение внутренней таблицы, мы могли бы начать делать это прямо сейчас. Каждый раз, когда мы открываем нашу форму, вводим данные, и сохраняем форму, мы будем создавать новые записи данных в таблице. В терминологии Notes, запись данных является документом (Document). Если бы мы создали несколько новых документов, используя нашу форму «Данные автомобиля», наша внутренняя таблица могла бы выглядеть следующим образом:
Форма | МаркаАвтомобиля | МодельАвтомобиля |
---|---|---|
Данные автомобиля | Ford | F-150 |
Данные автомобиля | Honda | Accord |
Данные автомобиля | BMW | M5 |
Есть также несколько внутренних полей данных (например, даты записи / когда документ был создан, и пользователь, который его создал), связанные с каждым документом, но приведенная выше таблица представляет данные, которые мы можем работать и изменения. Как только мы добавим новые документы, они будут добавлены к внутренней таблице. Кроме того, мы также можем изменять или удалять документы, если мы имеем права доступа на эти действия.
Теперь предположим, что мы хотим добавить поле содержащее цвет автомобиля. Чтобы добавить поле во внутреннюю базу данных, все, что нам нужно сделать, это добавить новое поле в форму. Мы открываем форму «Данные автомобиля», добавляем поле под названием «ЦветАвтомобиля», и сохраняем форму. Теперь наша внутренняя таблица будет выглядеть следующим образом:
Форма | МаркаАвтомобиля | МодельАвтомобиля | ЦветАвтомобиля |
---|---|---|---|
Данные автомобиля | Ford | F-150 | |
Данные автомобиля | Honda | Accord | |
Данные автомобиля | BMW | M5 |
Если у нас есть соответствующие права, мы можем даже отредактировать существующие документы так, чтобы привести таблицу к следующему виду:
Форма | МаркаАвтомобиля | МодельАвтомобиля | ЦветАвтомобиля |
---|---|---|---|
Данные автомобиля | Ford | F-150 | Белый |
Данные автомобиля | Honda | Accord | Черный |
Данные автомобиля | BMW | M5 | Красный |
Со временем, может быть, мы захотим также отслеживать информацию о членах автомобильного клуба. Мы сделаем новую форму, которая называется «Информация о владельце», а также добавим два новых поля в форме «ИмяВладельца» и «ТелефонВладельца». После того, как мы сохранили новую форму, внутренняя таблица будет выглядеть следующим образом:
Форма | МаркаАвтомобиля | МодельАвтомобиля | ЦветАвтомобиля | ИмяВладельца | ТелефонВладельца |
---|---|---|---|---|---|
Данные автомобиля | Ford | F-150 | Белый | ||
Данные автомобиля | Honda | Accord | Черный | ||
Данные автомобиля | BMW | M5 | Красный |
Обратите внимание на то, как новые поля получаются просто добавлением к концу внутренней базы данных. Тем не менее, если мы теперь откроем форму «Данные автомобиля», мы не увидим новые поля формы. Почему? Потому что несмотря на то, что все поля для всех форм хранятся в плоской базе данных, формы отображают подмножество полей независимо от других форм, только те, которые разработчик хочет отобразить.
Если мы создадим несколько новых документов с помощью формы «Информация о владельце», внутренняя таблица будет выглядеть примерно так:
Форма | МаркаАвтомобиля | МодельАвтомобиля | ЦветАвтомобиля | ИмяВладельца | ТелефонВладельца |
---|---|---|---|---|---|
Данные автомобиля | Ford | F-150 | Белый | ||
Данные автомобиля | Honda | Accord | Черный | ||
Данные автомобиля | BMW | M5 | Красный | ||
Информация о владельце | Артур | + 7 (916) 755-44-33 | |||
Информация о владельце | Виктор | +7 (982) 332-42-55 |
Все разработчики реляционных баз данных, наверное, корчатся от боли, смотря на эту таблицу сейчас, поэтому давайте рассмотрим несколько основ. Во-первых, данные внутри базы данных Notes структурированы не так, как показано выше, — в частности, там нет пустых полей, которые вы видите выше, но это хорошо для построения диаграмм данных для людей, которые привыкли смотреть на таблицы. Это также поможет нам разобраться в некоторых других аспектах, которые мы затронем ниже.
Во-вторых, может быть перекрытие между полями различных форм, так что нас ничего не держит от добавления поля «ИмяВладельца» в форме «Данные автомобиля». Поля формы могут быть не просто заполнителями для полей, они могут быть также запрограммированы. Например, ваше поле «ИмяВладельца» на форме «Данные автомобиля» может иметь формулу, которая просто просматривает имена владельцев и позволяет пользователю выбрать существующего владельца. В SQL выражении эта формула будет по существу выполнять следующий запрос:
Если бы мы сделали это, и отредактировали существующие записи формы «Данные автомобиля», мы бы получили внутреннюю таблицу, примерно такой:
Форма | МаркаАвтомобиля | МодельАвтомобиля | ЦветАвтомобиля | ИмяВладельца | ТелефонВладельца |
---|---|---|---|---|---|
Данные автомобиля | Ford | F-150 | Белый | ||
Данные автомобиля | Honda | Accord | Черный | ||
Данные автомобиля | BMW | M5 | Красный | ||
Информация о владельце | Артур | + 7 (916) 755-44-33 | |||
Информация о владельце | Виктор | +7 (982) 332-42-55 |
Конечно, если у вас была хорошие знания в реляционных базах данных, вы, вероятно, использовали какой-нибудь числовой ИдентификаторВладельца поле вместо ИмяВладельца, но сейчас вы поймете. Дело в том, что записи/документы могут быть связаны друг с другом таким образом.
Еще одним интересным аспектом хранилища данных Notes является то, что поля данных не являются строго типизированными. Другими словами, даже если вы изначально настроили поле в качестве числового, вы можете позже добавлять текстовые данные в это поле (если вы измените форму или добавить данные программным способом). Таким образом, поля данных больше похожи на столбцы в электронной таблице (как в Excel), чем столбцы в таблице реляционной базы данных. В электронной таблице, вы можете хранить даты, цифры, текст, и все объекты в одном столбце. В Notes все то же самое. Поле даже может содержать такие элементы, как файловые вложения или OLE ссылки.
Хотя все это может показаться ужасным способом управления данными, на самом деле, это сильно упрощает разработку и обновление приложения. Если вам нужны новые поля формы, вы просто добавляете их. Если вам нужен совершенно новое представление с новым набором полей, вы можете так же просто добавить. Если вам необходимо изменить числовое поле в текстовое поле месяцев после того, как база данных была разработана, вы можете просто изменить его без необходимости беспокоиться о старых данных. Вы не должны ничего знать о таблицах и нормализации данных и теории реляционных баз данных, так как Notes берет все это на себя.
Во всяком случае, теперь, когда вы хранить данные во внутренней таблице, вы захотите посмотреть их. В мире реляционных баз данных, вы обычно пишете запрос, чтобы фильтровать и сортировать информацию; с точки зрения Notes, вы создаете представление (View).
View — это табличное представление отфильтрованного подмножества данных во внутренней таблице. Вы определяете не только фильтр, который вы хотите применить (например, «все записи, которые были созданы с помощью формы «Данные автомобиля»), но и отдельные поля, которые вы хотите отобразить в столбцах, а также способ, которым данные классифицированы и сортируются. Вы даже можете добавить программные столбцы в представление, чтобы отобразить условные данные, итоговые суммы, или многие другие вычисленные значения полей.
Если вам нужно программно манипулировать данными в базе данных, Notes предоставляет ряд возможностей для разработки программ доступа к данным и модификации. Вы можете естественным образом использовать @Functions (макроязык), LotusScript (очень похожий на Visual Basic или VBA), JavaScript (в определенной степени), и Java. Весь код может храниться либо непосредственно на форме или представлении (связанные с событиями, действиями или нажатием кнопки), либо в модулях, называемых агентами или библиотеками сценариев. Агент — это, по существу, программа внутри базы данных, которая может быть либо вызвана пользователем, либо запущена в автоматическом режиме. Script Library представляет собой набор функций, процедур, модулей и / или классов, которые могут быть глобально модифицированы и поделены между различными элементами дизайна в базе данных (в том числе форм, представлений и агентов).
Во многих отношениях, база данных Notes аналогична базе данных Microsoft Access. Все это все в одном файле. Данные либо хранятся в локальных таблицах, либо на удаленном сервере. Вы создаете формы для отображения и изменения данных и используете представления / запросы для сортировки и отображения данных. Вы можете встроить LotusScript / VBA в различные элементы базы данных и вызывать эти сценарии различными способами.
Возможно, вы слышали, что Lotus Notes является также системой электронной почты. Это так. На самом деле, некоторые люди используют его только в качестве системы электронной почты. Тем не менее, если вы думаете о том, что такое электронная почта, и как она хранится, как только он устанавливается на локальном компьютере, то электронная почта — просто база данных. Каждый пользователь имеет свою собственную базу данных индивидуальной электронной почты Notes, которая был настроена для получения и отправки писем. Календарь и планирование? Еще одна база данных. Адресные книги? Базы данных. С того момента, как вы начинаете с ориентированного на базы данных представление о мире, множество вещей можно рассматривать как просто еще один тип базы данных, особенно, когда вы думаете, с точки зрения базы данных Notes, которая может содержать не только данные, но также и элементы дизайна, программного кода и т.д.
Так как же получить доступ к базе данных Notes? На локальной рабочей станции, многие люди используют клиент Notes. Клиент это приложение, которое позволяет управлять и работать с любым количеством баз данных Notes. Базы данных могут храниться либо на локальной рабочей станции, либо на удаленном сервере, и большинство людей, которые используют клиент Notes используют и те и другие. На клиенте, однако, локальные и удаленные базы данных выглядят и работают одинаково.
Различные базы в вашем «рабочем пространстве» могут взаимодействовать друг с другом программным способом, что упрощает процесс разработки приложения рабочего процесса. Например, вы могли бы разработать базу данных для отслеживания расходов, который посылает запросы о возмещении к персоналу группы по электронной почте (другая база данных), которая, в свою очередь, может связать с ведомственной базой данных бюджета. Базы данных Notes могут также взаимодействовать с базами данных, не являющимися Notes различными способами (обычно через ODBC), что делает возможным включение других баз данных в ваше окружение.
В то время как Domino сервер сам по себе является HTTP / HTTPS веб-сервером, вы можете также подключить Domino к другим веб-серверам таким, как IIS и Apache. Domino также имеет свои собственные сервлетов Java и Java-интерфейс для большей части объектной модели Notes, так что вы можете, например, создавать JSP-страницы, которые взаимодействуют непосредственно с базами данных.
К сожалению, Lotus Notes представляет собой технологию, которую, как правило, следует увидеть своими глазами, чтобы понять, что это такое. Чтобы помочь вам представить, что Notes может реально сделать в практическом смысле, вот некоторые примеры типичных приложений Notes:
Используя возможности Notes для взаимодействия с другими системами баз данных и другими веб-технологиями, вы можете также использовать его в качестве клиентского приложения или информационного веб-портал, который связывает воедино несколько различных источников данных. Lotus Notes может быть автономным хранилищем данных, интерфейсом ко множеству других хранилищ данных.
База данных Notes
База данных Lotus Notes обычно имеет расширение файла «.nsf». В этом файле могут быть данные, элементы дизайна и программного кода. Каждый файл базы данных также имеет свою собственную политику безопасности в виде списка управления доступом (ACL).
Краткое обсуждение элементов базы данных ниже.
Данные
База данных Notes может также получить доступ к данным из других баз данных. Эти базы данных могут быть как другими базами данных Notes, так и любым другим видом базы данных, которая доступна через ODBC. Таким образом, Notes может выступать в качестве внешнего интерфейс к другим источникам данных, в том числе реляционных баз данных.
Дизайн
Данные доступны с использованием любого из ряда различных элементов дизайна, которые хранятся в базе данных. На базовом уровне можно использовать формы для доступа, изменения и создания записей / документов и представлений для сортировки и классификации наборов данных в табличной форме. Есть также такие вещи, как навигаторы (Navigator) и эскизы (Outline), которые позволяют создавать визуальные интерфейсы для других элементов дизайна и управлять в навигацией.
Практически все элементы дизайна в базе данных можно просмотреть либо с помощью клиента Notes, либо с помощью веб-браузера. Notes / Domino может естественным образом обрабатывать эти объекты и представлять их в виде веб-страниц, что позволяет с легкостью превратить базу данных Notes в веб-сайт.
Для того, чтобы обеспечить программную обработку данных, разработчик может встроить много различных типов кода в базе данных. Notes имеет встроенную поддержку LotusScript (очень похоже на Visual Basic), Java и JavaScript. Этот код может быть помещен либо непосредственно на элементы дизайна, такие как формы и представления, либо в модули, называемые агентами.
Код в базе данных может манипулировать данными в базе данных, но он также может взаимодействовать с пользователем, операционной системы, а также внешними данными и процессами. Например, с помощью LotusScript вы можете получить доступ к DLL функции, объектам COM и объектам OLE. Java обеспечивает вам богатый набор инструментов для работы с сокетами, потоками и компонентов GUI (помимо всего прочего). Notes даже имеет открытый API, доступ к которому можно получить с помощью библиотек C и C ++.
Безопасность
Обложившись всеми этими элементами базы данных, Notes обеспечивает высокий уровень безопасности называемый списком управления доступом (ACL). Это позволяет разработчику базы данных или администратору тонко настроить, какие пользователи что имеют право делать в базе данных. На глобальном уровне, пользователи имеют типы доступа, такие как «Автор», «Редактор», и «Разработчик», которые указывают на то, что они могут менять в базе данных. На несколько более конкретном уровне, пользователям может быть предоставлен или отказано в доступе выполнять какие-то операций, такие как удалять документы или создавать агентов. На уровне гораздо более детальном, разработчик базы данных может разрешить или запретить доступ к представлениям, формам и даже отдельным документам на основе ACL.