Евгений Поляков

Alba Spectrum Technologies
(095) 918-3314,
(095) 918-3111,
help@albaspectrum.com
Существует два
основных подхода при интеграции приложений:
-
«программистский» подход – это когда для осуществления взаимодействия
приложений требуется написание некоторого программного кода;
- подход
интегратора – в этом случае используются специализированные программные
продукты, и собственно интеграция осуществляется за счет настроек этих
программных продуктов.
Для реализации
первого пути интеграции в 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.
Использование данной технологии ограничивается платформами Корпорации
Майкрософт. Если это ограничение не противоречит условиям задачи, то
применение данной технологии из
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
for 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.
Желаем вам
удачи в настройке вашей системы и если вы хотите заручиться нашей помощью - мы
всегда готовы вам помочь. Позвоните нам в Москве (095) 918-3314, (095)
918-3111 , в США: 1-866-528-0577!
help@albaspectrum.com
Евгений
Поляков - технический писатель в Ronix Systems (http://www.ronix.ru)
европейском подразделении Alba Spectrum Technologies (
http://www.albaspectrum.com ) и партнере IBM и Microsoft Business Solutions
в городах Москва, Петербург, Екатеринбург, Казань, Ростов и обслуживающей всю
Российскую Федерацию, Европу, США и Бразилию.