|
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.
|