IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  SOA и Web-сервисы | Information Management | WebSphere  >

Разработка Web-сервисов для интегрирования SAP с DB2 и Oracle при помощи IBM WebSphere MQ

developerWorks
Опции документа

Опции документа, требующие включения JavaScript, не отображаются

Обсудить


Выскажите мнение об этой странице

Помогите нам улучшить содержание


Уровень сложности: средний

Джудит Майерсон, инженер, разработчик архитектуры систем, консультант

18.10.2007

Узнайте, как разработать Web-сервисы, которые помогут приложениям SAP работать с IBM® DB2® (или DB2 9) и Oracle, не приводя к перегрузке системы. Данная статья содержит примеры использования IBM WebSphere® MQ в процессе разработки.

Введение

Вообще говоря, администрировать систему DB2-SAP легче, чем систему Oracle-SAP. DB2 оптимизирована для работы с SAP-приложениями. Для SAP-приложений DB2 выполняет оптимизацию системы хранения данных, динамически выделяя и освобождая пространство по мере необходимости. Напротив, тысячи таблиц и индексов Oracle распределяются заранее, но никогда не используются все вместе для каждого модуля, выполняющего SAP-приложение.

В DB2 оптимизация производительности нацелена на работу с большими базами данных, такими как SAP Business Information Warehouse (BIW), тогда как оптимизация SQL нацелена на сокращение времени выполнения запросов. Производительность Oracle оказывается меньше из-за заранее распределенных таблиц.

Там, где миграция на Oracle прошла успешно, большинство разработчиков не готово отказаться от Oracle в пользу DB2. Когда речь идет о миграции терабайтов данных, ни одна программа для миграции не может полностью решить все сложные проблемы. Возможно, придется исправлять нерешенные проблемы программным способом. Различия в способах резервного копирования и восстановления баз данных тоже увеличивают сложность миграции.

Краткая информация о SAP R/3

Программные подукты SAP представляют собой приложения, каждое из которых состоит из определенного набора функциональных модулей. Эти модули выполняют конкретные бизнес-задачи, такие как управление капиталовложениями, администрирование трудовых ресурсов и управление качеством. Основными областями применения являются финансы, трудовые ресурсы и логистика.

Кроме базовых бизнес-функций SAP предлагает также продукты в следующих областях:

Материалы по теме:

  • Инструменты бизнес-анализа
  • Управление цепочками поставок
  • Управление взаимоотношениями с клиентами
  • Электронная коммерция
  • Трудовые ресурсы
  • Финансы
  • Недвижимость
  • Окружающая среда, охрана здоровья, безопасность

SAP также предлагает организацию хранилищ данных на основе своих продуктов BIW и Supply Chain Optimization, Planning and Execution (SCOPE).

Настройка SAP

SAP предлагает конечным пользователям возможность использовать приложения SAP для поддержки бизнес-деятельности в целом, либо только для конкретных бизнес-процессов (например, производства или финансов). Пользователи SAP имеют возможность настраивать установленную систему, добавляя новые объекты базы данных и внося изменения в существующие функции. Например, компания может изменить базовую функцию SAP для настройки в соответствии с конкретным методом инвентаризации.

Хотя настройка SAP обеспечивает гибкость в указании конфигурации для каждой SAP-установки, это приводит к большим затратам на обновление. При каждом обновлении системы SAP необходимо идентифицировать каждую проведенную настройку под требования пользователя в ABAP-коде (Advanced Business Application Programming) и повторно осуществить ее на обновленном программном обеспечении SAP.



В начало


WebSphere MQ

Необходимо сделать больше, чем просто настройку SAP. Рассмотрим WebSphere MQ, мультиплатформенную программу промежуточного уровня, способную обмениваться сообщениями с приложениями SAP.

WebSphere MQ используется для реализации Web-сервисов и для интеграции Web-сервисов и приложений в гетерогенные сетях (например, Oracle на Linux®-сервере, а DB2 – на платформе Microsoft® Windows®). Используя WebSphere MQ, можно разработать Web-сервисы для реализации общения SAP с DB2 и Oracle, а также для асинхронного получения запрашиваемой информации.

Сбои при работе с сообщениями

Прежде чем перейти к вопросу о том, как можно использовать WebSphere MQ, давайте рассмотрим разновидности сообщений WebSphere MQ о сбоях. WebSphere MQ можно использовать для приема уведомлений о сбоях, произошедших в базе данных. Не все типы сбоев базы данных требуют взаимодействия с пользователем. Например, сбои при выполнении команды или процесса, а также сбои экземпляра базы данных не требуют вмешательства администратора. Ошибки пользователя и неисправности носителей, наоборот, требуют участия администратора. Эти неисправности обрабатываются путем восстановления в автономном или интерактивном режиме из резервных копий и повтор завершенных транзакций (roll-forward) для восстановления log-файлов.

Ошибки при выполнении команд

Ошибки выполнения команд возникают при наличии логической ошибки в приложении по следующим причинам:

  • Команда выполняется в бесконечном цикле.
  • Пользователь не имеет привилегий, необходимых для выполнения определенной задачи.
  • Ошибка вставки из-за отсутствия свободного места.

При возникновении ошибки необходимо выполнить следующие минимальные действия:

  • Увеличить дисковое пространство.
  • Исправить ошибки в логике приложения.
  • Назначить соответствующие пользовательские привилегии.

Ошибки процесса и экземпляра базы данных

На случай возникновения ошибок процессов и экземпляра базы данных можно разрешить автоматическое восстановление после сбоя путем установки конфигурации базы данных auto restart (автоматический перезапуск) в значение ON (по умолчанию установлена в ON). Ошибки процесса возникают при сбоях пользовательских, серверных или фоновых процессов, вызванных ненормальным завершением или отсоединением от этих процессов. Сбой процесса ведет к невозможности продолжения выполнения задачи.

Сбои экземпляра базы данных обычно вызываются сбоями операционной системы или исчезновением питания. В DB2, когда менеджер базы данных и структуры памяти прекращают работу из-за исчезновения питания, повреждения диска или ошибок в сети, необходимо выполнить процедуру восстановления после сбоев для приведения DB2 в состояние непротиворечивости и пригодности к использованию. Для ручного перезапуска базы данных можно воспользоваться командой RESTART DATABASE.

Пользовательские ошибки

Пользовательские ошибки требуют вмешательства администратора. Они возникают при создании допустимых, но вредносных команд (например, удаление всей таблицы платежной ведомости, удаление таблицы платежных требований или даже непреднамеренное удаление всей базы данных) и может привести к длительному простою приложений. Команды языка DDL (Data Definition Language) нельзя откатить, поэтому, если пользовательская ошибка была в DDL-команде, необходимо принять соответствующие меры для восстановления базы данных.

Неисправности носителей

Неисправности носителей возникают, когда кто-то случайно удаляет файл базы данных из файловой системы или полностью приходит в негодность жесткий диск со всеми файлами, что приводит к недоступности или повреждению данных. Это более серьезный тип неисправности, чем описанные выше.

Обычно неисправности носителей вызываются либо по причине полной потери файла данных, либо рассинхронизации временной метки SCN (system change number) с остальной базой данных. Поскольку неисправности носителей являются наиболее сложным из всех типов неисправностей, необходимо иметь хорошо продуманную стратегию их устранения.



В начало


Публикация/подписка на сообщения

Чтобы реализовать общение SAP с DB2 и Oracle, необходимо разработать три Web-сервиса: SAP, DB2 и Oracle. Ниже приведена последовательность рабочих процессов, начиная с клиентского Web-сервиса:

  1. Клиентский Web-сервиса посылает MQ-сообщение Web-сервису SAP о необходимости организовать общение с DB2 и Oracle.
  2. Web-сервис SAP переправляет это сообщение адресатам.
  3. Web-сервис DB2 передает Web-сервису SAP ответ, уведомляя о получении запроса, а затем передает состояние запрошенной информации. Таким же образом Web-сервис Oracle передает Web-сервису SAP ответ, уведомляя о получении запроса, а затем передает состояние запрошенной информации.

Если имеется задержка передачи информации Web-сервисами DB2 или Oracle, клиент Web-сервиса SAP переходит в режим ожидания. При поступлении запрошенной информации только из DB2, она помещается в очередь сообщений. При получении информации из Oracle, DB2-сообщение извлекается из очереди. Наконец, Web-сервис SAP фильтрует, сравнивает и вычисляет информацию, затем передает ее в SAP-приложение через Web-клиент SAP.



В начало


Общение с несколькими издателями

В предыдущем сценарии Web-сервис SAP использовал одного или нескольких подписчиков, которые подписывались на выбранную тему. Web-сервисы DB2 и Oracle являются издателями, передающими предупреждения и сообщения, содержащие информацию по теме, всем подписчикам этой темы. Web-сервис SAP может быть издателем информации по другим темам.

Поскольку Web-сервисы DB2 и Oracle являются издателями, они используют брокера для возможности работы со всеми подписчиками данной темы, не зная подробностей об этих подписчиках. Брокер имеет информацию о темах подписки кажого из подписчиков, а также о способах доставки сообщений. Издатели не знают ничего о том, сколько имеется подписчиков. Поэтому система обмена сообщениями по принципу публикации и подписки полностью отделяет провайдера информации (издателя) от потребителя этой информации (подписчика).

Запросы и критически важные данные

Данные, проходящие по инфраструктуре системы обмена сообщениями, могут быть грубо разделены на две категории: запросы и критически важные данные (business-critical). Запросы - это временные передаваемые по системе данные, унаследованные из данных, надежно хранящихся внутри системы. Если запрос теряется, это может быть неудобно для инициатора запроса, но оригинальные данные остаются в системе и могут быть запрошены повторно.

Критически важные данные - это данные, которые больше в системе нигде не хранятся. Если эти данные теряются, вы теряете важную информацию или пропускаете изменение состояния внутри системы. Поскольку немалая доля сообщений, проходящих через инфраструктуру системы обмена сообщениями, содержат критически важные данные, важно не потерять эти сообщения.



В начало


Тестовая и рабочая среда

Тестирование - это очень важная часть разработки и развертывания нового сервиса в информационной системе предприятия. Раннее обнаружение проблем может значительно уменьшить их последствия и сократить ресурсы, необходимые для их исправления. Рекомендованной методикой для разработки приложений является наличие двух отдельных сред: рабочей среды и тестовой среды обеспечения качества (quality assurance - QA).

Тестовая среда должна максимально точно соответствовать рабочей среде, включая аппаратное обеспечение, операционные системы, программное обеспечение инфраструктуры, конфигурацию и все сервисы. Любые изменения, запланированные для рабочей среды, должны быть разработаны и протестированы в QA-среде перед их применением в рабочей среде, с учетом необходимости сохранения целостности важной информации, передаваемой по сетям общего пользования.

Заключение

Для реализации общения SAP с DB2 и Oracle с использованием WebSphere MQ необходима команда разработчиков, тестировщиков, системных администраторов и потенциальных пользователей. Для недопущения избыточных нагрузок на систему необходимо заранее спланировать процессы создания, тестирования и развертывания Web-сервисов при разработке рабочих процессов между Web-сервисами SAP, DB2 и Oracle. Решение этих задач значительно облегчает разработку Web-сервисов.



Ресурсы

Научиться

Получить продукты и технологии

Обсудить


Об авторе

Джудит М. Майерсон (Judith M. Myerson) - разработчик архитектуры систем, инженер, писатель. В сферу ее интересов входят технологии промежуточного программного обеспечения, системы масштаба предприятия, технологии баз данных, разработка приложений, управление сетями, распределенные системы, технологии на основе компонентов и управление проектами. С ней можно связаться по электронной почте: jmyerson@bellatlantic.net




Выскажите мнение об этой странице


Пожалуйста, найдите минутку и заполните форму, чтобы повысить уровень сервиса.



ДаНетНе знаю
 


 


12345
 


В начало


IBM обладает всеми авторскими правами касательно информации, расположенной на developerWorks. Использование информации приведенной на этом ресурсе без явного письменного разрешения от IBM или первоначального автора запрещены. Если Вы желаете использовать информацию с developerWorks, пожалуйста воспользуйтесь регистрационной формой для того, чтобы связаться с нами запрос на использование материалов developerWorks Россия.

    IBM в России Конфиденциальность Контакты