В Части 1 данного цикла мы представили Компонентную Архитектуру Сервисов (SCA) как модель программирования для построения и сборки интеграционных решений с обзором SCA и дали определение некоторым связанным с ней терминам. В Части2 мы обсудили ссылки и квалификаторы и объяснили, как связать различные компоненты вместе, чтобы создать модуль SCA. В Части 3 мы ближе рассматриваем одно из наибольших преимуществ построения модулей SCA - возможность вертикального построения интеграционных решений из множества компонентов.
С ростом и усложнением систем становится необходимым интегрировать различные решения горизонтально; различные подразделения одной организации могут нуждаться в построении собственных решений и их последующей интеграции, или возможно различным партнерам по бизнесу нужно будет интегрировать свои решения через интернет. Рисунок 1 показывает пример этой горизонтальной интеграции:
Рисунок 1. Интегрирующие системы
Мы определили импорт и экспорт SCA в Части 1, здесь мы их изучим глубже и продолжим построение нашего примера. Конкретно, мы сосредоточимся на импорте и экспорте SCA с использованием SCA соединения. Соединение SCA позволяет компонентам SCA в одном модуле взаимодействовать с компонентами SCA в другом модуле с использованием модели программирования SCA.
Вместе с выходом этой статьи также вышла новая версия IBM WebSphere Integration Developer V6.0.1, которая позволяет нам строить интеграционные решения, которые сводят вместе решения IBM WebSphere Process Server V6.0.1 или IBM WebSphere Enterprise Service Bus V6.0.1. С этой новой версией мы также добавляем поддержку построения посредников для корпоративной сервисной шины (ESB). (Рабочий цикл WebSphere ESB - это сокращенная версия WebSphere Process Server; см. Ресурсы для дополнительной информации.)
Общий обзор импорта и экспорта
Как мы упоминали в Части 1, механизмы используемые для вызова от модуля к модулю и от модуля к внешнему сервису называются импорт и экспорт , соответственно. Импорт и экспорт представляются из перспективы модуля - замкнутый пакет компонентов, которые выполняют определенную бизнес-функцию:
Когда модуль желает предоставить возможность другому объекту (внешнему сервису или другому модулю) запустить бизнес-функцию, он экспортирует эту возможность. Экспорт также предоставляет возможность сделать этот сервис доступным для некоторого количества различных транспортных протоколов. Экспорт ассоциируется с отдельным компонентом внутри модуля.
Когда модуль желает использовать возможность другого объекта (внешнего сервиса и или модуля), он будет импортировать эту функцию. Импорт также предоставляет возможность взаимодействовать с сервис-провайдерами через множество транспортных протоколов.
Рисунок 2 показывает сборку SCA при помощи импорта и экспорта. Рисунок показывает, что экспорт представляет собой точку входа снаружи, а импорт позволяет вам сделать вызов из модуля наружу.
Рисунок 2. Импорт и экспорт SCA
При запуске компонентов SCA через импорт и экспорт, параметры проходят без значений, это значит, что параметры копируются от одной структуре к другой. Рисунок 3 показывает два модуля SCA, сообщающихся друг с другом и иллюстрирует, как импорт SCA соответствует SCA экспорту.
Рисунок 3. Импорт и экспорт SCA
Связя, которые склеивают вместе элементы SCA, обобщают большую часть кода инфраструктурного уровня. Например, мы можем определить связи как синхронные или асинхронные, операции как односторонние или запрос-ответ, или можем определить транзакционное поведение между компонентами. SCA для вас возьмет на себя детали инфраструктуры.
Импорт и экспорт также могут привязываться к другим технологиям, таким как JMS, Enterprise JavaBeans (EJB) или Web сервисы, как показано на рисунке 4. Связывание с этими технологиями позволяет клиенту Web сервиса запускать модуль SCA, или позволяет модулю SCA запускать существующий EJB модуль с использованием модели программирования SCA (Существуют некоторые ограничения на использование импорта EJB, поскольку он определяется интерфейсом Java™; поэтому, элементы вроде BPEL, который требует от партнеров поддержки WSDL, не могут запускать импорт EJB. Позже выйдет дополнительная информация на эту тему).
Рисунок 4. Импорт и экспорт с другими технологиями
Связывание при помощи импорта и экспорта
Ключевой особенностью сервис-ориентированной архитектуры является возможность выставлять сервисы для нескольких связывающих опций и возможность вызывать сервисы с использованием норм индустрии. Как указано, WebSphere Process Server и WebSphere ESB предоставляет несколько различных типов связок для облегчения этой задачи. Типы связок объединяются с импортом и экспортом с использованием Редатора Сборки. Сегодня существует пять основных видов связок:
SCA - Связка, используемая для SCA вызовов между модулями, этот тип связки проще всего конфигурировать и он предоставляет однородную интеграцию между модулями.
Web сервис - Предоставляет возможность запускать существующие Web сервисы и представлять функционирование внутри модуля как Web сервис. По умолчанию, Web сервис использует стиль doc-lit wrapped и может быть использован с протоколом HTTP и JMS. Возможности связывания Web сервиса получаются из лежащего в его основе базового механизма Web сервиса WebSphere Application Server и подвергаются тем же ограничениям.
Корпоративные Информационные Системы (EIS) - Предоставляют возможность интегрировать существующие EIS системы через WebSphere JCA Адаптер. Конфигурация, доступная для этого типа связки, будет варьироваться в зависимости от цели (SAP, JDBC Адаптер и так далее). Сервисы Обнаружения Данных Компании обычно оснащаются каждым адаптером для облегчения создания бизнес объекта и импортных и экспортных связок.
Сервис Java Сообщений - Предоставляет возможность интегрировать с конечными точками, которые используют JMS как протокол сообщений. Импорт и экспорт в этом случае используют связывание данных, чтобы помочь принять правильную комбинацию бизес-объектов/операций.
Компонент сессии, не сохраняющий состояние (stateless session bean)- Предоставляет возможность интегрировать в компоненты сессии, не сохраняющие состояние, используя Java интерфейс. Эта возможность доступна только при привязке ссылки Java к Java интерфейсу. Комонентам, которые используют ссылки WSDL, не разрешается в WebSphere Integration Developer привязываться к Java интерфейсу, предоставленному такими компонентами. В этом случае требуется промежуточный компонент с интерфейсом WSDL и Java ссылкой.
В данной статье мы более подробно рассмотрим SCA связки. Последующие статьи этого цикла будут посвящены более внимательному изучению некоторых других импортных/экспортных связей.
Связка SCA предоставляет совместимое средство для общения между границами модулей в WebSphere Process Server или в среде WebSphere ESB. Основной протокол, используемый связками SCA, выбирается автоматически в зависимости от модели вызова, используемой клиентским модулем.
SCA предоставляет четыре модели вызова.
- Синхронная - Клиент посылает запрос и ожидает ответа.
- Асинхронная односторонняя - Клиент посылает запрос, а ответ не ожидается.
- Асинхронная с отсроченным ответом - Клиент посылает запрос, ответа потребует позже.
- Асинхронная обратный вызов - Клиент посылает запрос, а целевой компонент с ответом обращается к сервису, назначенному клиентом.
Рабочий цикл SCA WebSphere Process Server или WebSphere ESB решит, когда использовать базовый канал интеграции систем (для асинхронных моделей вызова) или RMI/IIOP (для синхронной модели вызова).
Способность SCA к связыванию компонентов управляется экспортом. В процессе инсталляции модуля SCA на WebSphere Process Server создаются необходимые артефакты поддержки:
- Для асинхронных вызовов создаются отдельные ячейки адреса шины интеграции сервисов (SIBus) в SCA.SYSTEM.<cell name>.Bus.
- Для синхронного общения отдельная ячейка пространства имен связана, значит, создан модуль компонента сессии; компонент сессии не сохраняет состоянии, поэтому его можно использовать для любых целей, таких как единичная работа со связями, конфигурация безопасности и так далее.
Файлы импорта и экспорта работают вместе, так как файл импорта содержит важную информацию об экспорте, что помогает любому числу клиентов импортировать целевой сервис.
Используя информацию файла .import и модель вызова (синхронную или асинхронную), рабочий цикл SCA определяет, использовать ли адрес SIBus или связку пространства имен WebSphere.
Создается несколько адресов SIBus (см. Ресурсы) для поддержки множества типов асинхронных вызовов, которые предоставляют WebSphere Process Server и WebSphere ESB; адреса создаются для модуля, компонента, импорта и экспорта. Каждый адрес и маршрут прямого направления удостоверяет, что сообщения направлены к правильному целевому сервису. Рисунок 5 показывает пример адресов SIBus.
Рисунок 5. Адреса SIBus
Вдобавок, создается связка пространства имен для каждого экспорта SCA внутри модуля, как показано на рисунке 6. Эта связь создается в отдельной ячейке и следует следующей модели именования:
sca_ + <Имя Модуля> + _экспорт_ + <ИмяЭкспорта>.
Рисунок 6. Связки пространства имен
Получив рамки при помощи этих двух наборов артефактов, экспортная связка SCA становится видимой сквозь ячейку. Клиентский модуль и целевой модуль могут быть помещены на любой сервер WebSphere Process Server или WebSphere ESB сервер в ячейке и все еще быть способны общаться.
Импорт со связкой SCA - это логической представление компонента SCA в другом модуле. По существу, вы можете определять квалификаторы на ссылку, которая указывает на импорт, как показано на рисунке 7.
Рисунок 7. Добавление квалификатора
Экспорт не содержит никаких квалификаторов; вместо этого, вы можете наложить квалификатор на экспортируемый компонент, что детально описывается в Части 2.
Пересекая границы модулей, следует иметь в виду, что контракты у них общие. Приложения общаются через интерфейсы и передают друг другу объекты данных. Это означает, что интерфейсы и бизнес-объекты должны быть видимы, либо расположены рядом с модулями. Чтобы меньше дублировать определение одних и тех же интерфейсов и объектов данных в каждом модуле, WebSphere Integration Developer содержит специальный библиотечный модуль SCA, который может быть добавлен к SCA модулю практически, как файл Java JAR может быть зависимым JAR в EAR файле. (Фактически, так WebSphere Integration Developer и обращается с библиотекой.) Это позволяет вам определять интерфейсы и бизнес-объекты в одном месте и позволить, чтобы все модули их совместно использовали. Пример библиотеки SCA мы увидим позже.
Мы продолжим наш пример приложения Утверждения Кредита, используемый на всем протяжении цикла. В данной статье, мы покажем, как конфигурировать экспорт и импорт, экспортируя модули Кредитная История и Кредитное Агенство в отдельные модули. В целях иллюстрации, мы также покажем как разделять библиотеки SCA между модулями.
Чтобы выполнить этот пример, вам понадобится правильно установить и запустить на своем компьютере WebSphere Integration Developer V6.0.1 (который поддерживает WebSphere ESB) (см. Ресурсы), а также загрузить материалы, включенные в данную статью, которые содержат два SCA модуля (модули Кредитное агенство и Кредитная История) а также библиотеку SCA с совместными интерфейсами и бизнес-объектами.
Настройка рабочей области.
Запустите WebSphere Integration Developer. Откройте новую рабочую область и закройте экран приветствия.
Вам потребуется импортировать скачанный вами Обмен Проектами (Project Interchange). Чтобы импортировать Обмен Проектами, щелкните правой кнопкой на отображении Бизнес-интеграция, а затем выберите Импорт, как показано на рисунке 8.
Рисунок 8. Мастер импорта Eclipse
Выберите Обмен Проектами , а затем Далее (Рисунок 9).
Рисунок 9. Импорт Обмена Проектов
Выберите скачанный файл <Каталог_загрузки>/SCAArticlePart3.zip, затем Выбрать Все и Готово (Рисунок 10).
Рисунок 10. Выбрать Все
Изучите артефакты, которые мы только что импортировали:
Из перспективы Бизнес-Интеграция, разверните CreditApprovalLibrary. Как уже упоминалось ранее, библиотека SCA - это удобный способ хранения бизнес объектов и интерфейсов, которые используются модулями совместно. Рисунок 11 показывает CreditApprovalLibrary в отображении Бизнес Интеграция.
Рисунок 11. CreditApprovalLibrary
Вы легко можете создать проект Библиотека из контекстного меню в отображении Бизнес Интеграция, выбрав Новая => Библиотека. В данном примере мы уже создали интерфейсы и объекты данных.
Разверните модули CreditAgencySCAModule и CreditHistory.
Откройте редактор сборки для каждого модуля. В нашем предыдущем примере в Части 2 у нас был один модуль с несколькими компонентами. В данном примере мы отделили нашу реализацию, чтобы сымитировать отдельные решения. Обычно модуль SCA имеет полное решение с несколькими компонентами. Для этой статьи мы договоримся, что это законченные решения, разработанные различными группами разработчиков (с различными менеджерами, графиками и планами проектов). Рисунок 12 показывает модули SCA в отображении Бизнес Интеграция.
Рисунок 12. Модули SCA
Оба модуля SCA зависят от модуля SCA библиотеки; эта зависимость может быть просмотрена в Редакторе Зависимостей. Щелкните правой кнопкой на каждый из SCA модулей, по одному за раз и выберите Открыть Редактор Зависимостей (Рисунок 13).
Рисунок 13. Открытие Редактора Зависимостей
Изучите Редактор Зависимостей для каждого модуля, чтобы убедиться, что CreditApprovalLibrary используется модулями совместно, в этом случае CreditApprovalLibrary отобразится как на рисунке 14.
Рисунок 14. CreditApprovalLibrary
- Закройте редакторы.
Далее, мы создадим экспорт SCA для каждого модуля, чтобы модуль мог быть вызван из других модулей SCA.
Создайте экспорт для CreditAgencySCAModule:
В WebSphere Integration Developer откройте редактор сборки CreditAgencySCAModule. Разверните CreditAgencySCAModule в отображении Бизнес Интеграция и щелкните дважды на иконке Редактора Сборки CreditAgencySCAModule , как показано ниже на рисунке 15.
Рисунок 15. Открытие Редактора Сборки
Чтобы создать экспорт, щелкните правой кнопкой на компоненте CreditApproval и выберите Экспорт =>Связка SCA (Рисунок 16).
Рисунок 16. Создание SCA экспорта при помощи всязки SCA
Экспорт для компонента CreditAgency с SCA связкой будет автоматически создан, как показано на рисунке 17.
Рисунок 17. Экспорт SCA
Изучите свойства экспорта через отображение Свойства, выбрав экспорт в редакторе сборки. Во вкладке Детали вы заметите SCA детали операции, как показано на рисунке 18.
Рисунок 18. Детали экспорта SCA
Переключитесь на закладку Квалификаторы (Рисунок 19). Вы заметите, что не можете добавить никакие квалификаторы. Это происходит потому, что экспорт использует только квалификаторы компонента, на который он указывает.
Рисунок 19. На экспорт нельзя добавлять квалификаторы
Сохраните и закройте редактор сборки.
Подобным же образом, создайте экспорт для CreditHistorySCAModule:
Как в предыдущем случае откройте редактор сборки для CreditHistorySCAModule.
Создайте экспорт при помощи связки SCA, как описано выше (Рисунок 20).
Рисунок 20. Экспорт SCA
Сохраните и закройте редактор.
Создание модуля Утверждения Кредитов
Теперь мы создадим модуль CreditApprovalModule, который будет вызывать два других решения путем импорта.
Во-первых, создайте новый SCA модуль:
Щелкните правой кнопкой на отображении Бизнес Интеграция и выберите Новый => Модуль.
Назовите модуль
CreditApprovalSCAModule(Рисунок 21). Убедитесь, что выбрано Использование по умолчанию, затем выберите Готово.
Рисунок 21. Новый SCA модуль
Щелкните правой кнопкой на вновь CreditApprovalSCAModule и выберите Открыть Редактор Зависимостей (Рисунок 22).
Рисунок 22. Открытие Редактора Зависимостей
Так как модель CreditApproval будет вызывать два других модуля, мы должны разделить интерфейсы и бизнес-объекты, которые будут пересылаться. Помните, что мы используем библиотеку для их хранения. В Редакторе Зависимостей выберите Добавить в секции библиотек, как показано на рисунке 23.
Рисунок 23. Добавление Библиотеки в SCA модуль
Выберите CreditApprovalLibrary и OK.
Теперь мы создадим вызывающий компонент. В целях демонстрации мы будем использовать простой компонент, основанный на Java; в будущих статьях, мы покажем, как поток BPEL вызывает различные компоненты и модули.
Откройте редактор сборки для CreditApprovalSCAModule, дважды щелкнув на исконке Сборка CreditApprovalSCAModule (Рисунок 24).
Рисунок 24. Открытие Редактора Сборки SCA
Перетащите SCA компонент
(Рисунок 25) на редактор сборки.
Рисунок 25. Перетащите SCA компонент на Редактор Сборки
Переименуйте компонент CreditApproval, щелкнув на тексте и напечатав название, как показано на рисунке 26.
Рисунок 26. Изменение имени компонента
Далее мы добавим к нашему компоненту интерфейс. Мы сохранили интерфейс в проекте Библиотека.
Щелкните иконку Интерфейс (обведенную на рисунке 27) на компоненте, затем выберите CreditRequest из меню.
Рисунок 27. Добавление интерфейса к SCA компоненту
Нажмите OK.
Мы только что создали SCA компонент. Этот SCA компонент запустит другие наши два модуля через импорт.
Закончив создание экспорта, мы теперь готовы создать наш SCA импорт. Для каждого экспорта, который мы собираемся вызывать, мы должны создать отдельный SCA импорт. В нашем случае, мы:
- Вызовем модуль CreditAgency, а также CreditHistory.
- Обновим квалификатор для импорта CreditHistory, чтобы поддержать правильное проведение транзакций при асинхронном вызове компонента.
- Получение запроса по Кредитной Истории займет некоторое время, поэтому мы совершим асинхронный вызов этого компонента.
- После запроса синхронно запустим модуль CreditAgency.
- После получения кредитного балла получим с задержкой ответ по Кредитной Истории.
Во-первых, создадим импорт для запуска CreditAgency:
Перетащите иконку импорт из палитры на редактор сборки (Рисунок 28).
Рисунок 28. Перетащите импорт на Редактор Сборки
Переименуйте импорт, щелкнув на тексте и вписав
CreditAgencyImport, как показано на рисунке 29.
Рисунок 29. Переименование импорта
Далее, мы добавим подходящий интерфейс. В данном случае, интерфейс для импорта должен подходить к импорту для соответствующего экспорта в модуле CreditAgencySCAModule.
Щелкните иконку Интерфейс, расположенную поверх Импорта (обведена на рисунке 30), затем выберите интерфейс CreditAgency.
Рисунок 30. Добавление импорта в импорт SCA
Добавьте соответствующую связку, в данном случае, связку SCA:
Щелкните правой кнопкой на импорте и выберите Создать связку => Связка SCA (Рисунок 31).
Рисунок 31. Добавление SCA связки к Импорту
Выделив импорт в редакторе сборки, перейдите к отображению Свойства и выберите секцию Связка (Рисунок 32). Щелкните Пролистать.
Рисунок 32. Просмотр экспорта
Выберите CreditAgencyExport (Рисунок 33).
Рисунок 33. Выбор экспорта
Далее, нам необходимо привязать компонент CreditApproval к CreditAgencyImport.
Выберите компонент CreditApproval в редакторе сборки и пертащите связку к CreditAgencyImport.
Рисунок 34. Привязка компонента SCA к SCA импорту
Нажмите OK в диалоговом окне, чтобы создать ссылку на компонент CreditApproval (Рисунок 35). (Ссылки обсуждались в Части 2.)
Рисунок 35. Подтверждение создания ссылки
Сохраните редактор, не закрывайте его. Ниже появится цифра, показывающая конечный результат связанного компонента.
Рисунок 36. Связанный SCA модуль
Далее мы создадим импорт для CreditHistoryModule.
Как в предыдущем случае перетащите еще один импорт на редактор сборки и назовите его
CreditHistoryImport.Добавьте к импорту интерфейс CreditHistory, как показано на рисунке 37.
Рисунок 37. Добавление Интерфейса Кредитной Истории
Создайте связку SCA и привяжите CreditApproval к CreditHistoryImport. Рисунок 38 показывает конечный результат.
Рисунок 38. Конечный результат
Помните, мы предполагаем, что запрос компонента Credit History занимает немного больше времени, поэтому мы сначала запустим асинхронный вызов, чтобы получить Историю, а ответ извлечем позже. Пока CreditHistory выполняется, мы получим Кредитный Балл из модуля CreditAgency. Затем мы получим ответ из CreditHistory. Мы можем сделать асинхронный вызов модуля Credit History, используя правильный SCA API для "сервиса". В данном случае мы хотим использовать модель отсроченного ответного вызова, описанную ранее.
Теперь мы создадим реализацию для компонента CreditApproval. В нашем примере мы будем использовать простой Java компонент.
В редакторе сборки, щелкните правой кнопкой на компоненте CreditApproval и выберите Создать Реализацию=> Java.
Рисунок 39. Создание Java реализации
Теперь выберите пакет по умолчанию (Рисунок 40).
Рисунок 40. Пакет по умолчанию
Выберите Да в диалоге Выполнить Как..., чтобы создать подходящий Java интерфейс, на случай если позже вы захотите добавить локального Java клиента (Рисунок 41).
Рисунок 41. Создание Java Интерфейса для локальных Java клиентов
Теперь мы напишем реализацию.
Класс реализации должен быть открыт в Редакторе Java. Как вы можете видеть в редакторе Java, WebSphere Integration Developer добавил удобных помощников для контакта с партненрами путем изучения сборки модуля. Если бы мы сначала создали класс Java, этих методов бы не существовало.
public CreditAgency locateService_CreditAgencyPartner() { return (CreditAgency) ServiceManager.INSTANCE .locateService("CreditAgencyPartner"); } public CreditHistory locateService_CreditHistoryPartner() { return (CreditHistory) ServiceManager.INSTANCE .locateService("CreditHistoryPartner"); }
Вставьте приведенный ниже код программы (из <каталог_загрузки>/SCAArticleSeries3/codeSnippet1.txt) внутрь метода calulateCreditScore. Модель асинхронного вызова выделена жирным шрифтом.
ServiceManager serviceManager = new ServiceManager(); // создание кредитного балла возвращает объект данных, используя фактор BO BOFactory bof = (BOFactory)serviceManager.locateService("com/ibm/websphere/bo/BOFactory" ); DataObject creditRating = bof.create("http://CreditApproval", "CreditRating"); creditRating.setString("customerId", creditApp.getString("customerId")); // создает и вызывает сервис истории кредитования, используя асинхронный ответный вызов шаблона с задержкой. CreditHistoryAsync cha = (CreditHistoryAsync) serviceManager.locateService("CreditHistoryPartner"); Ticket tix = cha.getCreditLimitAsync(creditApp); CreditAgency creditAgency = (CreditAgency) locateService_CreditAgencyPartner(); Integer creditScore = creditAgency.getCreditScore(creditApp); Double creditLimit = cha.getCreditLimitResponse(tix, Service.WAIT); creditRating.setInt("creditScore", creditScore.intValue()); creditRating.setDouble("creditLimit", creditLimit.doubleValue()); return creditRating;
У вас должно быть несколько ошибок компиляции в Eclipse Editor (предполагается, что у вас включена автоматическая компоновка), так как мы пропустили импорт. Щелкните правой кнопкой в редакторе Java и выберите Источник => Упорядочить Импорт, как показано на рисунке 42.
Рисунок 42. Упорядочивание импорта
Разрешите интерфейс BOFactory на com.ibm.websphere.bo, как показано на рисунке 43.
Рисунок 43. Разрешение BOFactory
Разрешите интерфейс Сервиса на com.ibm.websphere.sca, как показано на рисунке 44.
Рисунок 44. Разрешение импорта сервиса на com.ibm.websphere.sca
Сохраните редактор сборки.
Теперь мы готовы протестировать наше решение. Перед интеграцией модулей, каждый модуль должен быть протестирован поэлементно. Мы предположим, что различные команды разработчиков (CreditHistory и CreditAgency) должным образом протестировали свои компоненты.
Добавьте все три модуля к WebSphere Process Server:
В WebSphere Integration Developer перейдите к отображению Серверы, щелкните правой кнопкой WebSphere Process Server и выберите Добавить/Удалить Проект (Рисунок 45).
Рисунок 45. Добавление и удаление проектов в WebSphere Process Server
Выберите Добавить Все, чтобы добавить все SCA модули к серверу (Рисунок 46).
Рисунок 46. Добавление всех модулей
Нажмите Готово.
Запустите сервер через инструмент компонентного тестирования WebSphere Integration Developer.
- Из редактора сборки модулей CreditApproval щелкните правой кнопкой компонентCreditApproval и выберите Протестировать Компонент, как показано на рисунке 47.
Рисунок 47. Запуск функции Тестирование Комонентов
Перейдите к закладке Конфигурации и удалите два эмулятора, как показано на рисунке 48. Эмуляторы позволяют вам имитировать партнера, если он не доступен, но так как у нас есть настоящие компоненты, нам не нужно имитировать их.
Рисунок 48. Удаление эмуляторов
Вернувшись обратно на страницу Событий, введите какие-нибудь входные данные в параметрах предварительного запроса, как показано на рисунке 49, а затем нажмите Продолжить.
Рисунок 49. Запуск компонентного тестирования
В диалоге Место Развертывания, выберите WebSphere Process Server v6.0. (Рисунок 50)
Рисунок 50. Выберите рабочий цикл WebSphere Process Server
- Из редактора сборки модулей CreditApproval щелкните правой кнопкой компонентCreditApproval и выберите Протестировать Компонент, как показано на рисунке 47.
Давайте исследуем процесс и результаты вызова.
Вернитесь в закладку События. Выберите последний Возврат из пути вызова, чтобы увидеть результаты, как показано на рисунке 51.
Рисунок 51. Выбор Возврата
Вы получите результат, похожий на изображенный на рисунке 52.
Рисунок 52. Результаты
Если вы изучите порядок вызова, вы увидите асинхронный вызов: вместо запрос-ответ-запрос-ответ, мы имеем асинхронный запрос-запрос-ответ-асинхронный ответ. (Рисунок 53)
Рисунок 53. Путь асинхронного вызова
Закройте редактор тестирования без сохранения и остановите сервер.
Импорт и экспорт позволяют нам выставлять наши решения сервис-ориентированном способом. В данной статье мы изучили, как интегрировать решения SCA, используя SCA импорт и экспорт. В Части 4 мы изучим интегрирование с другими решениями с использованием некоторых других связок, таких как Web сервисы и JMS.
Авторы хотели бы поблагодарить Эрика Хернесса за проверку статьи.
| Описание | Имя | Размер | Метод загрузки |
|---|---|---|---|
| Code sample | SCAArticleSeries3.zip | 37 KB | HTTP |
- Оригинал статьи
IBM WebSphere Developer Technical Journal: Building SOA solutions with the Service Component Architecture -- Part 3.
-
Ресурсы WebSphere Service Integration Bus
- Информация о продуктах WebSphere Enterprise Service Bus
- Построение Enterprise Service Bus при помощи WebSphere Application Server V6
- Развертывание компонентов, управляемых сообщениями JMS приложений в Service Integration Bus
- Развертывание приложений публикации и подписки в Service Integration Bus
- Практическое введение в сферу сообщений
-
WebSphere Process Server: Новое основание IBM для SOA
-
Введение в Объекты Сервисных Данных
-
Упрощенный доступ к данным с SDO
-
IBM WebSphere: Развертывание и дополнительные конфигурации
Роланд Барсиа (Roland Barcia) - дипломированный специалист по информационным технологиям для IBM Software Services for WebSphere в районе New York/New Jersey Metro. Он является соавтором IBM WebSphere: Развертывание и дополнительные конфигурации. Чтобы узнать больше о Роланде, посетите его Web сайт.