Примечание редактора. Хорошо знаете эту тему? Хотите поделиться своим опытом? Примите участие в wiki-программе IBM Lotus software today.
| Alloy by IBM and SAP wiki |
|---|
Проект Alloy компаний IBM и SAP предоставляет бизнес-пользователям простой доступ к ключевым корпоративным процессам и информации, разрешает пользователям IBM Lotus® Notes® работать в различных рабочих процессах (workflow) SAP и обращаться к SAP-данным из почтового клиента Lotus Notes.
Пользователям даже не нужно знать о существовании SAP-системы в их организации. Не переключаясь в пользовательский интерфейс сервера SAP для использования SAP-процессов; пользователи могут принимать обоснованные решения из Lotus Notes, поскольку все необходимые бизнес-данные доступны в Notes.
Alloy – это сквозная интеграция рабочих процессов SAP с Lotus Notes. Все взаимодействие между SAP и Lotus Notes осуществляется через базу данных Web-сервисов NDERPws.nsf, размещенную на сервере Alloy IBM Lotus Domino®. В текущей версии Alloy разрешены рабочие процессы leave, travel, reporting и обобщенные (generic) рабочие процессы, использующие специализированные решения.
В Руководстве администратора Alloy от SAP и IBM (EN) подробно описаны многие аспекты базы данных Web-сервисов; целью данной статьи является детальное рассмотрение некоторых из основных тем. Предполагается, что вы знакомы с основами Alloy.
В данной статье рассматриваются Web-сервисы, предоставляемые или потребляемые IBM через базу данных Web-сервисов, и демонстрируется, как эта база данных используется в различных сценариях. Также в статью включен краткий обзор действий и представлений, доступных пользователям и администраторам Alloy.
Роль базы данных Web-сервисов в архитектуре Alloy
На рисунке 1 показано схематическое представление архитектуры Alloy, посредством которой рабочие процессы SAP реализуются в Lotus Notes. Alloy поддерживает двунаправленное взаимодействие между IBM и SAP для передачи пользовательских запросов, например Leave, Travel и Reporting, в SAP.
Alloy потребляет Web-сервисы, предоставляемые SAP, такие как сервисы metadata (метаданные), application management (управление приложениями), role management (управление ролями), reporting/travel/leave workflow (поток работ отчетность/командировка/отпуск) и data consistency (непротиворечивость данных), которые добавлены в версии Alloy 1.0.1.
Рисунок 1. Высокоуровневая архитектура Alloy
В Alloy 1.0 поддерживаются и готовы к использованию без изменений сценарии leave, trip и reporting; также, благодаря поддержке управления решениями рабочего процесса, обеспечивается расширяемость. Для поддержки этих сценариев в Lotus Domino и на стороне клиента Lotus Notes должны присутствовать метаданные SAP.
Эти метаданные извлекаются из SAP и регулярно синхронизируются при помощи сервиса metadata. Синхронизация может выполняться по графику или по запросу администратора или пользователя.
Пользовательские запросы передаются в базу данных Web-сервисов, а агент-обработчик запросов (request handler agent) последовательно выбирает их и выполняет вызов соответствующего Web-сервиса к SAP. Этот рабочий поток называется исходящим.
SAP обрабатывает эти запросы и обращается к внутреннему серверу SAP за необходимыми ответными данными. IBM предоставляет обобщенный Web-сервис BoundItemService, используемый SAP для отправки ответов в решение IBM. Сервис BoundItemService, размещенный в базе данных Web-сервисов, обрабатывает эти ответы и направляет их соответствующим пользователям. Этот поток называется входящим.
Исходящие запросы обрабатываются агентом-обработчиком запросов по очереди, для чего база данных Web-сервисов реализует следующие представления (view):
- Outbound requests/unprocessed (исходящие запросы/необработанные);
- Outbound requests/suspended (исходящие запросы/задержанные);
- Outbound requests/processed (исходящие запросы/обработанные);
- Outbound requests/all (исходящие запросы/все).
В этих очередях администраторы могут просматривать запросы, отправленные пользователями Alloy, а также могут просматривать входящие ответы от SAP в представлении Business Objects в базе данных Web-сервисов. Мы подробнее рассмотрим это представление позже в разделе "NDERPws с точки зрения пользователя".
База данных Web-сервисов является также интерфейсом для запуска администратором административных заданий (см. раздел "NDERPws с точки зрения администратора").
Создание и настройка базы данных Web-сервисов
Основой для всех разработанных компонентов в базе данных Web-сервисов является шаблон NDERPws.ntf. Этот шаблон добавляется в каталог Data сервера Lotus Domino при установке сервера Alloy на Lotus Domino.
При установке также добавляются шаблоны для определенного языка (например, NDERPws_it.ntf, NDERPws_de.ntf, NDERPws_ja, NDERPws_fr.ntf), которые можно использовать для локализации базы данных Web-сервисов.
Ниже приведено краткое описание общих действий по созданию и конфигурированию NDERPws.nsf. Полная подробная информация приведена в Руководстве администратора Alloy от SAP и IBM (EN).
- На клиенте Lotus Notes зарегистрируйтесь как Administrator и выберите File - Application - New.
- В окне New Application (см. рисунок 2) заполните поле Server (в котором указывается имя сервера Alloy) и поля Title и File name.
Рисунок 2. Создание базы данных NDERPws
- Обозначьте шаблон как NDERP Web Service. При работе с неанглийской локализацией для создания базы данных вместо NDERPws.ntf используйте шаблон, предназначенный для соответствующего языка.
- Нажмите кнопку OK для создания базы данных.
Теперь база данных готова к настройке под Alloy. В левой части начальной страницы базы данных расположены представления Application, Roles, F4 Help и Sidebar panel:
- Application (приложение). Вы можете иметь свой фиксированный набор приложений, однако в Alloy уже реализован ряд рабочих процессов SAP, готовых к использованию без изменения:
- LEMA – Leave management (управление отпусками);
- TRVL – Travel management (управление командировками);
- REMA – Report management (управление отчетностью).
Можно также иметь несколько специализированных рабочих процессов для принятия решений. Например, предположим, что нужно сконфигурировать заказ на покупку или рабочий процесс управления материалами. Они не представлены в Alloy в готовом виде, но можно использовать расширяемый обобщенный рабочий процесс, чтобы отобразить их в Alloy как приложения.
При создании предопределенных приложений (LEMA, REMA или TRVL) вы указываете системе SAP, что все данные, имеющие отношение к этому приложению, могут быть переданы в Lotus Domino (сторона IBM) из SAP. Если приложение LEMA не создавалось, SAP не должна отправлять какие-либо данные, связанные с отпусками, на сторону Lotus Domino.
- Roles (роли). Пользователи могут иметь в приложении роль USER (пользователь) или MANAGER (менеджер). Роль LEMAUser означает, что можно создавать запрос Leave. Роль LEMAManager означает, что можно утверждать или отклонять запросы leave от ваших сотрудников.
- F4 Help (помощь). Это представление – часть метаданных системы отчетности; оно является общим для всех пользователей с ролью REMAUser. Шаблон отчета включает в себя окно Parameter, в котором пользователи могут изменять значения различных параметров или выбирать их из предопределенного списка. Могут существовать один или несколько таких параметров, имеющих предопределенный список значений для набора шаблонов отчетов.
SAP отправляет все эти наборы значений (обозначаемых F4 Help) при первой регистрации любого пользователя в клиенте Lotus Notes. После этого Alloy выполняет заранее запланированные проверки для получения обновлений.
- Sidebar panel (боковая панель). Это панель в почтовом клиенте Lotus Notes, специально предназначенная для Alloy. Ее можно настроить на отображение контекстно-чувствительных данных, имеющих отношение к текущему контексту Alloy. Например, при открытии запроса leave в клиенте Lotus Notes боковая панель отображает ваш баланс отпусков. При открытии Reports боковая панель отображает ссылки на связанные отчеты, ссылки на переданные отчеты и т.д.
В NDERPws представление Sidebar panel отображает конфигурационные документы для клиентской боковой панели. Настройки в этих документах определяют, что отображается в клиентской боковой панели для различных контекстов Alloy (например, контекст отпусков, контекст отчетов и т.д.). Конфигурация, доступная в NDERPws, извлекается во все клиенты Alloy во время синхронизации метаданных.
Конфигурирование сервера и базы данных mail-in
Чтобы настроить базу данных NDERPws для Alloy, выполните следующие действия:
- Нажмите кнопку Open Server Config в панели Actions, расположенной в верхней части представления NDERPws Applications. Откроется форма Server Properties, в которой настраиваются параметры сервера и клиента, специфичные для Alloy, как показано на рисунке 3.
- В верхнем разделе формы отметьте флажок Outbound request processing (это поле является новым в Alloy 1.0.1).
Поле SAP J2EE server address является адресом сервера, на котором размещаются все Web-сервисы SAP. Lotus Domino отправляет вызов соответствующим Web-сервисам SAP, используя этот адрес. Можно также указать адрес сервера SAP J2EE, используя параметр $NDERPJ2EEServer=http://<Server>:<Port> server Notes.ini, например:
$NDERPJ2EEServer=http://sapj2eedev.notesdev.ibm.com:50200 - Под разделом SAP Name Mapping идентификатор Lotus Notes ID должен быть отображен на идентификатор SAP ID, который содержится в документе Person пользователя. Для отображения поля SAP ID можно выбрать вариант SAP=statement in User name field, как показано на рисунке 3. Если выбрать вариант Use first name specified in a form field, то его можно отобразить на любое поле формы в документе Person Lotus Domino в Names.nsf.
Рисунок 3. Настройки конфигурации сервера NDERPws
На рисунке 4 показаны настройки Metadata Fetch Schedule от SAP до IBM. Метаданные определяют сферу пользовательских действий и видимость. Например, если вашей ролью является LEMAUser или REMAUser, вы не можете активизировать запрос на командировку, поскольку не имеете полномочий для этого; вам необходимо иметь роль TRVLuser.
Назначение ролей различным пользователям осуществляется в SAP и синхронизируется в Alloy Lotus Domino.
Рисунок 4. Настройки конфигурации клиента NDERPws
Настройки, показанные на рисунке 4, включают извлечение метаданных следующим образом:
- каталог отчетов после каждого часа;
- роли каждый день в 2:00 AM;
- отпуска каждый день в 4:00 AM;
- командировки каждый день в 5:00 AM;
- связанные отчеты каждый день в 4:00 AM;
- боковую панель каждый день в 2:00 AM.
В базе данных mail-in хранятся все ваши входящие и исходящие почтовые сообщения. Для настройки этой базы данных укажите Mail In Database в Names.nsf (так же как в NDERPws.nsf), после чего в файл Lotus Domino Notes.ini добавляется следующий параметр, использующий конфигурационные настройки из рисунка 5:
$NDERPMID=<Alias for the mail in Database>
Например,
$NDERPMID=Alloy Mail In Database@YourDomain
Руководство администратора Alloy от SAP и IBM (EN) содержит подробную информацию по настройке NDERPws. Здесь мы приводим только некоторые упрощенные инструкции.
Как говорилось ранее, для передачи данных, имеющих отношение к приложению (из SAP на сервер Alloy), администратор создает соответствующее приложение. Для создания и конфигурирования поставляемых приложений LEMA, REMA или TRVL выполните следующие действия:
- Перейдите в представление Applications в базе данных NDERPws и нажмите кнопку New Application в панели Actions, расположенной в верхней части.
- В окне Application Properties выберите приложение, которое хотите создать, из раскрывающегося списка; здесь, например, мы используем LEMA (см. рисунок 5).
Рисунок 5. Выбор приложения
- Нажмите кнопку Save & Close; приложение будет создано, и вы сможете увидеть документ в представлении Applications. Подробная информация по конфигурированию приложения Customized Decision приведена в Руководстве администратора.
При удалении приложения администраторы получают подтверждающее сообщение и, после успешного удаления, сообщение о соответствующем состоянии.
Как говорилось ранее, роли определяют область действий и видимость данных для пользователя. Для создания ролей администратору необходимо выбрать представление Roles / By SAP ID и нажать кнопку Create/Update Roles, расположенную в верхней части окна (см. рисунок 6). После создания новой базы данных NDERPws администратор должен извлечь все пользовательские роли из SAP; позже администратор может использовать аналогичное действие для синхронизации данных о ролях с целью получения самых последних обновлений из SAP.
Пользовательские роли автоматически синхронизируются на регулярной основе согласно графику, определенному в свойствах клиентского приложения конфигурации NDERPws. Администраторы могут инициировать синхронизацию вручную, используя кнопку Create/Update Role.
Рисунок 6. Create/Update Roles
Каталог ссылается на Report Catalog, который является репозиторием всех шаблонов отчетности, сконфигурированных пользователем. Администратор SAP сначала назначает шаблоны отчетов пользователям и ролям. Эта информация извлекается в Lotus Domino во время операции report catalog metadata-fetch (извлечение метаданных каталога отчетов).
Шаблон отчетов определяется под какой-либо категорией отчетов, например, "командировки" или "калькуляция себестоимости", и точно определяет, какие данные и столбцы предоставляет отчет. Он позволяет пользователям запрашивать эти данные на основе входных параметров, в которых можно указывать дискретные значения данных, диапазоны данных, формат доставки (например, ZIP или DOC-файлы) и график (например, ежедневно, еженедельно и т.д.).
Пользователи могут также запрашивать данные отчета на основе этих параметров. Более подробная информация приведена в статье developerWorks® Управление системой отчетности в Alloy от IBM и SAP 1.0 (EN).
В случае наличия проблем в шаблонах отчетов или при невозможности их использования по другой причине пользователи имеют возможность запросить очистку каталога. Для выполнения этого задания администратор выбирает представление Reporting / Report Template и выполняет действие Clear Catalog (см. рисунок 7) для одного или нескольких пользователей одновременно.
Рисунок 7. Очистка каталога
Программа Update Mail Template
Alloy имеет в NDERPmail.ntf свои собственные компоненты дизайна, которые должны быть включены в существующий шаблон почты Lotus Notes (например, Mail8.ntf) во время начального развертывания Alloy.
Администратор может выполнить эту операцию в представлении Applications, используя кнопку Update Mail Template из панели Actions, а затем заменяя дизайн баз данных mail новым объединенным шаблоном (см. рисунок 8). Далее для замены дизайна администратор может использовать либо команду Load design сервера Lotus Domino, либо команды меню File - Application - Replace Design клиента Lotus Notes.
Рисунок 8. Окно объединения почтового шаблона
Настройка данных боковой панели
Шаблон NDERPws определяет некоторые данные боковой панели по умолчанию, поэтому эти данные автоматически отображаются в базе данных NDERPws после ее создания из этого шаблона.
Администратор может выполнить дальнейшие изменения формата боковой панели на основе требований пользователей; однако эти изменения нельзя выполнить для каждого пользователя в отдельности. Другими словами, в одной установке Alloy все пользователи видят один и тот же формат боковой панели; данные могут варьироваться, но формат одинаков для всех пользователей.
Тип данных, отображающихся в боковой панели, зависит от текущего пользовательского контекста (отчеты, утверждение запроса) и роли пользователя (менеджер, сотрудник), как указано в данных боковой панели. Более подробная информация приведена в Руководстве администратора (EN).
Теперь давайте рассмотрим различные представления в базе данных NDERPws и их использование.
Исходящие запросы идут от IBM в SAP, и независимо от того, где запрос был активизирован, он достигает NDERPws (также настроенной как база данных входящей почты в Names.nsf сервера Lotus Domino). Начальным состоянием этого запроса является Unprocessed (In Process). После достижения запросом сервера SAP J2EE (Web-сервер от SAP) и создания для него элемента работы (work item) состояние запроса меняется на Processed.
Если во время взаимодействия Web-сервисов между IBM и SAP происходит ошибка или если SAP обнаруживает ошибку в принятом запросе, ошибка также возникает в исходящем потоке, и в этом случае запрос переходит в состояние Suspended. Администратор может открыть любой запрос в очереди Suspended для просмотра описания причины неисправности.
Кроме того, администратор может увидеть:
- Состояние запросов в представлении NDERPws Outbound Requests (см. рисунок 9). При сбое здесь можно просмотреть сообщение об ошибке.
- Запросы от всех пользователей Alloy. Они возвращают соответствующие приостановленные запросы в очередь Unprocessed, чтобы их можно было извлечь позднее. Индивидуальные пользователи Alloy могут видеть только запросы, активизированные ими самими.
Рисунок 9. Исходящие очереди
Мониторинг входящих бизнес-объектов
Входящие сообщения содержат ответы от SAP и, поскольку все взаимодействие осуществляется посредством Web-сервисов, входящие сообщения от SAP представляют собой SOAP XML-файлы.
Эти сообщения анализируются, обрабатываются и преобразовываются NDERPws в документы Lotus Notes и направляются во входящий почтовый ящик соответствующего пользователя. Администраторы и пользователи могут просматривать входящие объекты в представлении Business Objects в базе данных Web-сервисов (см. рисунок 10).
Рисунок 10. Представление Business Objects
Рассмотрим другие представления NDERPws, а именно Applications, Report Templates, Report Parameter Help, Roles и Sidebar Panel data.
- Applications (приложения). Это представление содержит различные приложения, настроенные в Alloy, такие как leave, travel, reporting, и несколько специализированных приложений (см. рисунок 11).
Рисунок 11. Представление Applications
- Report Templates (шаблоны отчетов). SAP имеет сконфигурированный набор шаблонов отчетов для пользователей Alloy. Эти шаблоны передаются в сервер Lotus Domino и, в конечном итоге, в локальную пользовательскую базу данных metadata как часть выборки метаданных. Администратор может выбрать представление Reporting / Report Templates для просмотра шаблонов, сконфигурированных для каждого пользователя (см. рисунок 12).
Рисунок 12. Представление Report Templates
- Report Parameter Help (справочник по параметрам отчетов). Документы F4 Help (доступны только для шаблонов Reporting/Report Templates) можно просматривать в представлении Reporting - Report Parameter Help, которое содержит доступный список значений для различных параметров отчетов, предоставляемых системой SAP (см. рисунок 13).
Эти документы передаются также в локальную пользовательскую базу metadata во время синхронизации метаданных, поэтому их можно использовать в виде раскрывающегося справочного списка при выполнении пользователем различных действий, например Personalize report template и Run report.
Рисунок 13. Представление Report Parameter Help
- Roles (роли). В этом представлении администратор и пользователь могут просматривать роли, назначенные пользователю, в закладке Roles - By Role Name (см. рисунок 14).
Рисунок 14. Представление Roles
- Sidebar Panel / Panel data (боковая панель / данные панели). Это представление содержит доступные конфигурационные данные боковой панели (side shelf) Alloy (см. рисунок 15). При необходимости конфигурация может меняться администратором. Все конфигурационные данные боковой панели передаются также в локальную пользовательскую базу данных Metadata во время синхронизации метаданных, и на основе этих данных боковая панель Alloy визуализируется в клиентском приложении Lotus Notes.
Рисунок 15. Представление Sidebar Panel / Panel Data
Советы по устранению неисправностей
Ниже приведены некоторые советы по устранению типичных проблем.
Решение. Проверьте, создал ли администратор приложение LEMA и обновил ли роли после этого, используя действия Create Application и Create/Update Roles в базе данных NDERPws.
Решение. Эта проблема может появиться из-за некорректного объединения шаблонов mail. Администратор должен использовать чистый шаблон почты для французского языка, объединить его с NDERPmail_fr.ntf и после объединения обязательно запустить команду Lotus Domino load design или заменить базу данных mail через клиентское приложение Lotus Notes.
Решение. Проверьте, доступны ли в базе данных NDERPws документы F4/Report Parameter Help; если нет, то, вероятно, вызов Web-сервиса завершился неудачно. Администратор может исследовать неисправность на стороне IBM и SAP. Если эти документы присутствуют в NDERPws, локальная пользовательская база данных metadata получит их при следующей синхронизации метаданных, после чего пользователь сможет использовать справочные списки.
User’s report catalog is unusable – Невозможно использовать пользовательский каталог отчетов
Решение. Попросите администратора очистить соответствующий каталог отчетов в NDERPws. При следующей синхронизации клиентским приложением Lotus Notes шаблонов отчетов в NDERPws (которая происходит с интервалом, настроенным администратором) пользовательский каталог отчетов сбросится в исходное состояние. Таким образом, все шаблоны отчетов, сконфигурированные на стороне SAP администратором, становятся доступными для пользователя, после чего он может создавать персонализированные шаблоны на основе этих шаблонов.
Решение. Данные в боковой панели Alloy автоматически обновляются на основе графика, установленного администратором. Можно также обновить данные вручную.
Для ручного обновления нажмите кнопку Refresh в боковой панели Action. При этом обновляются данные отпусков и отчетов в боковой панели Alloy и отображаются все настройки, которые, возможно, выполнил администратор для этой панели (например, добавление новой HTML-ссылки) после последнего обновления.
Отметим, что обновление боковой панели не влияет на синхронизацию каталога отчетов, которая выполняется в зависимости от интервала, установленного администратором.
Решение. Проверьте очередь задержанных сообщений в NDERPws, чтобы определить, есть ли в ней запрос пользователя; если да, откройте запрос и определите причину. Если ошибка невоспроизводима, проверьте, может ли администратор вернуть запрос в очередь Unprocessed для повторной доставки.
Решение. Администратор может создать специализированные представления, основанные на данных, доступных в представлении Business Objects. Он может выполнить категоризацию и сортировку по адресату, дате, boundItemType и т.д., чтобы получить желаемое представление для менеджера.
База данных Web-сервисов является важнейшей частью функциональности Alloy, поскольку ее организация определяет метод всех взаимодействий SAP и IBM. База данных выступает как интерфейс администратора для настройки рабочих процессов приложений Alloy и пользовательских ролей, тогда как пользователи могут выполнять мониторинг запросов и устранять неполадки, используя соответствующие представления.
- Примите участие в обсуждении материала на форуме.
- Оригинал статьи Understanding the Web services database (NDERPws.nsf) in Alloy от IBM и SAP (EN).
- Статья developerWorks Управление отчетами в Alloy от IBM и SAP 1.0 (EN).
- Статья developerWorks Отчет по производительности: Alloy от IBM и SAP 1.0 (EN).
- Статья IBM Lotus Notes and Domino wiki Основные рекомендации по устранению проблем для программного обеспечения Alloy от IBM и SAP 1.0 (EN).
- Дополнительные статьи по Alloy на сайте продукта Lotus Notes and Domino (EN).
- Информация по Alloy в Lotus Notes and Lotus Domino Information Center.
- IBM Support Technote Системные требования Domino 8.0.2 и Notes 8.0.2 для Alloy v.1.0 (EN).
- Страница продукта Alloy от IBM и SAP. (EN)
- Демонстрационные материалы, посвященные Alloy Оптимизация принятия решений и повышение производительности. (EN)
Амита Вадхавкар (Amita A. Vadhavkar) работает старшим инженером-программистом в IBM India Software Labs в Пуне, Индия. В настоящее время занимается проектом Alloy от IBM и SAP. После прихода в IBM в 2003 году она занималась различными технологиями разработки продуктов, таких как WebSphere, сервис-ориентированная архитектура и Lotus. Связаться с ней можно по адресу avadhavk@in.ibm.com.
Прашант Адмиле (Prashant U. Admile) работает инженером-программистом в IBM India Software Labs в Пуне, Индия. В настоящее время занимается проектом Alloy от IBM и SAP. После прихода в IBM в 2007 году работал также в отделе Level 3 Lotus Domino Server. Связаться с ним можно по адресу pradmile@in.ibm.com.