Русский | English
О компании | Новости | Продукты | Решения | Услуги | Техническая поддержка | Разработчикам | Статьи | Карта сайта
Lotus Domino: Интеграция приложений - Взгляд программиста
Статьи

LOTUS DOMINO; ИНТЕГРАЦИЯ ПРИЛОЖЕНИЙ - ВЗГЛЯД ПРОГРАММИСТА

Существует два основных подхода при интеграции приложений:

  • ·«Программистский» подход – это когда для осуществления взаимодействия приложений требуется написание некоторого программного кода;
  • ·Подход интегратора – в этом случае используются специализированные программные продукты, и собственно интеграция осуществляется за счет настроек этих программных продуктов.
·
Для реализации первого пути интеграции в Lotus Domino можно использовать следующие механизмы:

  • ·ODBC. В рамках программного кода на Lotus Domino можно использовать:

  • Три @-функции (@DbColumn, @DbLookUp и @DbCommand), работающие с зарегистрированными ODBC-драйверами. Первая возвращает целиком столбец из внешней таблицы, вторая осуществляет поиск по ключу, а третья – выполняет команду ODBC-драйвера или внешней таблицы (например, UDATE или DELETE);
  • Три встроенных LotusScript-класса LotusScript Data Object (LS:DO), которые обеспечивают процесс соединения, выполнение SQL-запроса и операции с полученной таблицей результатов. Этот механизм более гибок, чем использование приведенных выше @-функции (в частности поддерживается механизм транзакций, предусмотрена обработка ошибок и т.д.);
  • Бесплатно распространяемый NotesSQL ® ODBC-драйвер, который позволяет обращаться к базам Lotus Domino на языке SQL. Этот метод применим только для простых баз Lotus Domino, т.к. последние не являются реляционными БД, и язык SQL к ним не очень хорошо применим (проблемы при многозначных значениях полей и разном наборе полей в документах);

  • ·JDBC. В рамках прямого использования механизма JDBC можно скачать бесплатно распространяемый компанией IBM JDBC-драйвер, который позволяет обращаться к базам Lotus Domino из Java-приложений. Этот способ немного лучше, чем использование NotesSQL ® ODBC-драйвера, однако и он не применим к сложным БД. В ряде интеграционных механизмов также используется технология JDBC, однако сам JDBC в этом случае скрыт от программиста. Как, например, при использовании встроенной библиотеки JSP-тегов (JSP Custom Tag Libraries);

  • ·OLE. Использование данной технологии ограничивается платформами Корпорации Microsoft. Если это ограничение не противоречит условиям задачи, то применение данной технологии из LotusScript позволяет осуществлять обмен данными с OLE-приложениями. В частности, можно, например, осуществить выгрузку данных из Lotus Domino в MS Excel или MS Word. Этой технологией достаточно часто пользуются для построения отчетов по данным Lotus Domino. В Lotus Domino есть механизм Notes/FX, который неявно использует OLE-технологии. Этот механизм позволяет осуществить автоматический обмен данными между полями Lotus Domino формы и информацией, представленной в OLE-сервере. В последнее время Notes/FX достаточно редко используется в реальных приложениях;

  • ·XML. Использование этой технологии в Lotus Domino R 6 позволяет осуществлять потоковые преобразования объектов Lotus Domino (документы, элементы дизайна, ACL и т.д.) в XML и обратно, применять в потоке XSLT к XML, накладывать фильтры на транслируемую/принимаемую информацию, а также осуществлять разбор XML с помощью встроенных LotusScript-классов, реализующих DOM и SAX парсинг;

  • ·HTML. Если на сервере Domino загружена задача HTTP, то из сторонних приложений можно осуществлять прием/передачу данных по одноименному протоколу;

  • ·CORBA. В Lotus Domino эту технология наиболее часто применяется в контексте Java. Апплеты, сервлеты, Domino JSP Custom Tag Libraries, использующие эту технологию могут обмениваться данными с Lotus Domino.

Несколько особняком в ряду интеграционных решений стоят технологии DECS (Domino Enterprise Connection Services), DCR (Data Connection Resources) и LEI (IBM Lotus Enterprise Integrator для Domino). Дело в том, что указанные технологии помимо программных решений (написание собственно некого кода) требует еще и административных настроек, и поэтому они могут быть отнесены как к первому (программистскому), так и ко второму (интегратора) подходу в процедуре интеграции приложений.

Технология DECS позволяет осуществлять прямое соединение с источниками DB2, Oracle, MS SQL Server, Sybase, а также соединяться с внешними источниками посредством технологий ODBC и OLE.

Технология DECS требует наличия на сервере Domino одноименной задачи, а так же настроек в базе данных «Администратор DECS». В этой базе создаются два типа документов:

  • ·Connection, который собственно обеспечивает возможность соединения с некой внешней системой. Опуская детали, можно считать, что этот документ задает путь к внешнему источнику и имя/пароль, определяющий права этого соединения;
  • ·Activity, задает соответствие между полями Lotus Domino и информацией из внешнего источника. Соответствие задается через определенную форму и поля из Lotus Domino. Данный документ может отслеживать до четырех типов событий (открытие формы в Lotus Domino, изменение данных, удаление и создание новой записи в Lotus Domino). После активации документа Activity возникновение отслеживаемого события в Lotus Domino влечет за собой аналогичные события во внешнем источнике. Например, при вводе и сохранении (если это событие отслеживается) новых данных в Lotus Domino, аналогичные данные появятся во внешнем источнике.

Механизм DECS корректно работает в случае, если с данными из внешнего источника работают только через Lotus Domino. В противном случае данные, появившиеся во внешнем источнике, минуя Lotus Domino, в последний автоматически не транслируются.

Технология DCR, появившаяся в Lotus Domino R 6, является интерфейсным расширением технологии DECS, и без выполнения одноименной задачи на сервере Domino DCR не работает. Опуская детали, можно считать новый элемент дизайна под названием DCR – аналогом документа Connection из базы данных «Администратор DECS». При этом аналоги документов Activity определяются прямо в формах Lotus Domino.

Технология LEI основана на технологии DECS. Использование LEI предоставляет разработчикам значительно больше возможностей обработки передачи данных с использованием встроенных классов Lotus Connector Classes for LEI.

Тел.: +7 (495) 918-3314, +7 (495) 918-3111. Факс: +7 (495) 918-3111. E-mail: info@ronix.ru, support@ronix.ru
(c) 1997-2008 Роникс Системс. Все права защищены.