Миграция приложений с платформы Oracle WebLogic Integration на платформу IBM Business Process Manager Advanced: Часть 1. Введение

Это первая статья в цикле из четырех частей, посвященном миграции приложений с платформы Oracle® WebLogic Integration (WLI) на платформу IBM Business Process Manager (BPM). В ней описываются инструменты и методики, которые успешно применялись для миграции бизнес-процессов платформы WLI и связанных с ними артефактов на платформу BPM.

Дональд Вайнз, ведущий ИТ-архитектор, IBM  

Дональд Вайнз (Donald Vines) работает в IBM ведущим ИТ-архитектором и отвечает за подразделение миграции на WebSphere в Северной Америке. В настоящее время он работает над разработкой архитектурных решений для крупнейших клиентов IBM и является наставником для проектировщиков и разработчиков ПО в SOA и в проектах по модернизации предприятий. В прошлом он был техническим представителем группы OMG, самого крупного в мире комитета по стандартам, и занимался разработкой протокола взаимодействия ORB в сетях TCP/IP (IIOP), который теперь используется в Интернете. Дон имеет сертификаты сертифицированного бизнес-архитектора компании Sun, сертифицированного Java-программиста компании Sun и сертифицированного специалиста по UML2 от OMG.



Майк Цай, старший ИТ-специалист, IBM

Mike Cai photoМайк Цай (Mike Cai) был принят на работу в IBM после окончания колледжа в 2001 г. в качестве ИТ-специалиста группы по разработке корпоративных приложений в составе подразделения GBS (Global Business Services), где специализировался на создании Java/J2EE-приложений для различных заказчиков. Затем М. Цай перешел в группу по интеграции корпоративных приложений в качестве старшего ИТ-консультанта, где занимался преимущественно интеграцией больших корпоративных систем и приложений с использованием J2EE-платформ и таких технологий, как WebSphere Application Server, WebSphere MQ, WebSphere Lombardi Services, JMS, SOAP, BPEL, Service Bus, WebSphere Service Registry and Repository и т.д. Кроме того, М. Цай имеет опыт практической работы на самых различных должностях (архитектор, проектировщик, разработчик, технический руководитель, бизнес-аналитик, менеджер по дефектам и т.д.). В последние пять лет М. Цай специализируется преимущественно на таких пакетных продуктах, как BEA/Oracle WebLogic, Oracle Fusion, WLS, WLI, OSB, ODI и WLP. Он имеет опыт создания всего спектра компонентов, включая фронтальные JSP-компоненты, компоненты связующего уровня (JPD-компоненты и OSB-сервисы посредничества/преобразования) и серверные компоненты (веб-сервисы на базе SOAP и JMS).



Дэйв Малли, специалист по информационным технологиям, Systems Documentation, Inc. (SDI)

Дэйв Малли (Dave Mulley) - специалист по информационным технологиям в группе IBM Software Services for WebSphere Enablement в Raleigh, North Carolina. Дэйв работает в IBM с 1999 года, где занимается семейством продуктов WebSphere Business Integration. Связаться с ним можно по адресу dmulley@us.ibm.com



Дэвид ВандеПол, ИТ-специалист, IBM

David VandePol photoДэвид ВандеПол (David VandePol) работает в IBM с 2008 г. Сначала он занимался разработкой в составе группы по установке продукта WebSphere версий v7 и v8, а с момента основания в январе 2012 г. группы Competitive Migration Team является ее членом. Д. ВандеПол обладает глубокими знаниями по всем операционным системам, которые поддерживаются продуктами семейства WebSphere. В качестве специалиста по миграции Д. ВандеПол принимал участие в разработке учебных семинаров по миграции с конкурирующих серверов приложений и по миграции с версии на версию. Он провел множество таких семинаров в Канаде и в США. Д. ВандеПол успешно выполнил большое количество миграций с продуктов JBoss, WebLogic, Oracle Application Server и Tomcat для многочисленных заказчиков в разных странах мира.



18.02.2014

Введение

В июле 2008 г. компания Oracle опубликовала свой перспективный план по приобретению продуктов компании BEA. Старший вице-президент Oracle Томас Куриан (Thomas Kurian) в своем онлайновом выступлении объяснил, что Oracle разделила продукты BEA на три категории (стратегические продукты 1, развивающиеся и сближающиеся продукты 2, поддерживаемые продукты 3). После этого он классифицировал каждый продукт BEA по принадлежности к одной из этих категорий. Продукт WLI (WebLogic Integration) был включен в категорию "развивающиеся и сближающиеся продукты" и с тех пор не рассматривается в качестве стратегического продукта. Это означает, что в выпуске WLI 10gR3 будут реализованы постепенные расширения, сближающие продукт WLI с продуктом Oracle BPEL Process Manager. Фактически для многих из предшествующих выпусков WLI расширенная поддержка уже прекращена. Дополнительную информацию можно получить в следующем документе компании Oracle: Oracle Information Driven Support: Lifetime Support Policy.

Поскольку компания Oracle больше не считает WLI стратегическим продуктом, все клиенты WLI будут в конечном итоге вынуждены осуществить миграцию своих бизнес-процессов и приложений с платформы WLI на альтернативную платформу, такую как Oracle BPEL Process Manager или IBM BPM Advanced.

Клиенты Oracle, использующие версию WLI 10gR3, могут отложить принятие этого решения на несколько лет, поскольку расширенная поддержка версии 10gR3 будет действовать до января 2017 г. Однако большинству клиентов Oracle, бизнес-процессы которых исполняются на более ранних версиях продукта WLI, придется принять это решение в ближайшее время. При принятии этого решения они могут исходить из двух возможных вариантов, а именно.

  • Миграция на версию WLI 10gR3 сейчас, а затем миграция на альтернативную платформу через несколько лет.
  • Миграция на альтернативную платформу сейчас и, соответственно, избежание расходов при последующей миграции на версию 10gR3.

Если клиент примет решение о миграции на альтернативную платформу, он может воспользоваться продуктом Oracle BPEL Process Manager, который предоставляет стандартные инфраструктурные сервисы (создание, развертывание, управление) для бизнес-процессов, описанных на языке BPEL. Oracle располагает инструментами для поддержки миграции бизнес-процессов и приложений продукта WLI.

Однако для WLI имеется и другая стратегическая замена — это IBM BPM Advanced, полнофункциональный BPEL-продукт с инструментами для поддержки миграции с платформы WLI (результаты сравнительного анализа этих продуктов показаны ниже).

Примечания.

1 Стратегические продукты — эти продукты станут ведущими предложениями Oracle в соответствующих классах. В некоторых случаях это означает, что Oracle объединит свои собственные продукты с соответствующими продуктами BEA в следующие 12 — 18 месяцев. Однако Т. Куриан подчеркнул, что не будет никаких принудительных миграций с таких объединенных продуктов на предложения BEA.

2 Развивающиеся и сближающиеся продукты — эти продукты обладают определенными возможностями, которые Oracle хочет включить в свой стек программного обеспечения связующего уровня. Соответственно Oracle постепенно перепроектирует эти продукты с целью их интеграции с семейством Oracle Fusion Middleware. Кроме того, Oracle будет поддерживать нынешние выпуски этих продуктов как минимум следующие девять лет.

3 Поддерживаемые продукты — к этой категории относятся продукты, о завершении срока службы которых компания BEA объявила еще до ее приобретения компанией Oracle. Oracle будет соблюдать контракты компании BEA на поддержку этих продуктов на протяжении следующих пяти лет.

Таблица 1. Сравнение характеристик: IBM BPM Advanced V8 и Oracle Weblogic Integration 10gR3
IBM BPM Advanced V8.0 Oracle WebLogic Integration 10gR3
Совместимость с WebSphere Process Server в процессе исполнения (BPEL) Интеграция процессов
Process Designer (BPMN) Аналог отсутствует
Integration Designer (BPEL / SOA) IDE-среда на базе Eclipse
Совместное редактирование / немедленное воспроизведение Аналог отсутствует
Интерактивные пользовательские интерфейсы типа "process coach" Аналог отсутствует
Правила процессов на базе ILOG Аналог отсутствует
Process Portal Администрирование и управление
Мониторинг и отчетность в реальном времениАдминистрирование и управление
Анализ и оптимизация производительности Администрирование и управление
Performance Data Warehouse Аналог отсутствует
Process Center /репозитарий совместно используемых активов Аналог отсутствует
Неограниченное количество авторов процессов и конечных пользователей Аналог отсутствует
Высокая готовность: кластеризация и неограниченное количество ядер WebLogic Server: высокая готовность и кластеризация
Встроенная корпоративная сервисная шина (enterprise service bus, ESB) Интеграция с сервисной шиной AquaLogic Service Bus
Поддержка транзакций Stateless-процессы и stateful-процессы
Интеграционные адаптеры Интеграция с торговыми партнерами
Интеграция с серверными системами Интеграция с торговыми партнерами
Расширенная поддержка операционных платформ: (Linux on System z®, IBM AIX®, Solaris) Аналог отсутствует
Lombardi Process Portal Интеграция с пользователем
Пользовательский интерфейс Business Space Интеграция с пользователем

Обзор цикла

В этом цикле статей описывается весь процесс экспорта BPEL-описаний и вспомогательных артефактов с платформы WLI на платформу IBM BPM Advanced, а также соответствующие инструменты для поддержки этого процесса. Такой подход с использованием вспомогательных инструментов позволяет вам создать полную копию своего WLI-приложения для исполнения на платформе IBM BPM Advanced. Для оптимального использования новых функций, предоставляемых этой платформой, можно осуществить редактирование в ручном режиме. Чтобы получить миграционные инструменты, описанные в этом цикле, обращайтесь непосредственно к его авторам.

В этом цикле статей не проводится детальное сравнение продуктов Oracle BPEL Process Manager и IBM BPM Advanced. Если такое сравнение необходимо, обратитесь в торговое представительство IBM. Применительно к этому циклу статей достаточно сказать, что по своим характеристикам и функциям продукт IBM BPM Advanced полностью перекрывает продукт WLI (см. таблицу 1) и соответственно представляет собой более чем адекватную альтернативу этому продукту.

В состав этого цикла входят следующие статьи.

  • Часть 1. "Введение". В этой части описываются инструменты и методики, которые успешно применялись для миграции бизнес-процессов платформы WLI и связанных с ними артефактов на платформу BPM. Основная часть данной статьи состоит из следующих разделов.
    • Артефакты: описание WLI-артефактов, из которых состоят бизнес-процессы.
    • Инструментарий: описание инструментов, которые можно применять для миграции этих артефактов.
    • Процесс миграции: общее описание процесса экспорта и миграции этих артефактов.
  • Часть 2. "Преобразования данных". В этой части описываются различные преобразования, которые могут потребоваться для повторного использования бизнес-логики, инкапсулированной в артефактах платформы WLI.
  • Часть 3. "Миграция Control-компонентов платформы WLI на платформу IBM BPM". В этой части описывается преобразование Control-компонентов платформы WLI в компоненты SCA (Service Component Architecture), исполняемые на платформе IBM BPM.
  • Часть 4. "Миграция процессов платформы WLI (JPD-файлов) на платформу IBM BPM". Обобщающая статья, в которой демонстрируется преобразование бизнес-процесса, исполняющегося на платформе Oracle WLI, в бизнес-процесс, исполняющийся на платформе IBM BPM.

Рассмотренные в этом цикле темы непосредственно применимы к миграции приложений с продукта Oracle WebLogic Integration версий V8.x, V9.x и V10.x на продукт IBM BPM Advanced версий V7.0, V8.0 и V8.5. Большая часть изложенной информации применима и к предшествующим версиям продукта WLI.


Артефакты

В этом разделе описываются артефакты, из которых состоит WLI-приложение.

JPD
Продукт WLI представляет свои потоки работ в виде файлов с расширением jpd. JPD — это Java-файл с дополнительными Javadoc-аннотациями, которые определяют логику оркестровки.
WSDL
Продукт WLI использует язык WSDL для описания интерфейса к JPD и к другим артефактам.
XQuery
Продукт WLI представляет XQuery-выражения в виде файлов с расширением xq.
DTF
DTF-файл (Data Transformation File) — это Control-компонент платформы WLI, вызов которого может осуществляться JPD-файлом. DTF-файлы имеют расширение dtf. DTF-файл содержит определение преобразования данных, которое может быть вызвано из JPD-файла. В общем случае эти Control-компоненты извлекают некоторые данные из XML-документа посредством XQuery-вызова (который использует XPath-выражения для обращения к определенным частям XML-документа).
JCS
JCS-файлы (Java Control Source) — это Java-компоненты, создаваемые разработчиками с целью представления бизнес-логики и обращения к другим Control-компонентам. Эти файлы имеют расширение jcs. Их вызов осуществляют JPD-файлы. JCS-файлы могут хранить состояние для каждого процесса, а также могут обращаться к сотрудничающим элементам от имени соответствующего JPD-файла.
JCX
JCX-файлы (Java Control Extension) действуют как обертки для модулей-адаптеров к ресурсам Java EE; эти файлы имеют расширение jcx. Их вызов осуществляют JPD-файлы.
XMLBeans
Продукт WLI использует технологию XMLBeans для генерации типов Java из WSDL-файлов и из XSD-файлов. Эти типы Java используются в качестве параметров во многих вышеупомянутых артефактах платформы WLI.

Инструментарий

В этом разделе описывается установка и конфигурирование миграционных инструментов.

BPEL 2.0 Importer

Базовые сведения

BPEL 2.0 Importer — это Eclipse-плагин для импорта определений процессов на языке WS-BPEL 2.0 в инструмент IBM Integration Designer версии V8.0 или V7.5 (или в инструмент WebSphere® Integration Developer версии V7.0) с целью последующего исполнения этих процессов в среде IBM BPM. Платформа IBM BPM поддерживает большую часть стандарта WS-BPEL 2.0, однако некоторые языковые элементы в BPM все еще используют синтаксис, определенный в предварительной спецификации BPEL4WS 1.1. Инструмент BPEL 2.0 Importer обрабатывает эти языковые различия посредством выполнения серии XSLT-преобразований. Он даже позволяет разработчику добавлять новые XSLT-преобразования в случае необходимости.

Установка

Инструкции по установке инструмента BPEL 2.0 Importer описаны в размещенной на сайте developerWorks статье под названием: Importing WS-BPEL 2.0 process definitions (Импорт определений процесса, написанных на языке WS-BPEL 2.0).

BPEL 2.0 Importer — адаптация для платформы WLI

Базовые сведения

Как указывалось выше, инструмент BPEL 2.0 Importer был создан для импорта элементов на языке WS-BPEL 2.0, а затем был расширен для учета языковых различий. Это расширение оказалось весьма полезным, поскольку некоторые части языка WLI BPEL являются нестандартными. С этой целью IBM создала несколько дополнительных XSLT-преобразований, изменяющих диалект WLI BPEL для обеспечения его соответствия диалекту BPM BPEL. Эти преобразования по своей в природе являются синтаксическими и не влияют на семантику этапа исполнения.

Перечислим некоторые из этих дополнительных преобразований.

  • Преобразование конструкций вида if-else/if-else версии BPEL v2.0 в конструкции вида switch-case версии BPEL v1.1.
  • Преобразование узлов <empty>, <scope>, <sequence> под основным элементом if.
  • Преобразование атрибутов condition или/и узлов condition.
  • Преобразование условий для XPath-выражений и для Java-фрагментов.
  • Преобразование узлов <empty> с потомком <jpd:javacode> в узел <invoke>.
  • Преобразование узлов <jpd:javacode> в узлы <wpc:javaCode>.
  • WLI-элементы <jpd:javacode> обертывают код Java-фрагмента в блок метода с именем этого метода и фигурными скобками. Для конструкций Java-фрагментов продукта BPM осуществляется обратное развертывание этих блоков.
  • Добавление в Java-код комментариев TODO для напоминания разработчикам о необходимости просмотреть и если нужно, преобразовать этот код с целью обеспечения совместимости с продуктом BPM или с продуктом WebSphere Process Server.
  • Удаление несовместимых узлов, связанных с XQuery.
  • Присвоение уникальных имен узлам <scope>, <sequence>, <assign>.
  • Преобразование переменных с инициализируемыми значениями (на данный момент поддерживаются только типы Integer и String).
  • Преобразование PartnerLinkType.

Установка

Когда инструмент BPEL 2.0 Importer будет установлен, можно импортировать BPEL-артефакты согласно документации этого BPEL-плагина. BPEL-определения процесса, импортируемые с помощью инструмента BPEL 2.0 Importer, могут содержать XPath-выражения, которые вызывают XPath-функции, предоставленные продуктом WLI. В этом случае инструмент BPEL 2.0 Importer не вносит в эти XPath- выражения никаких изменений. В случае поступления такого процесса в инструмент IBM Integration Designer вызовы этих нативных XPath-функций продукта WLI помечаются как ошибки, поскольку эти функции неизвестны в среде IBM BPM.

Для обращения с этими нативными XPath-выражениями продукта WLI мы реализовали около 15 XPath-функций, которые встретились нам в BPEL-процессах данного продукта. Эти XPath-выражения заложили основу для расширяющегося репозитария реализаций XPath-функций, которые могут быть повторно использованы при последующих миграциях с платформы WLI. Эти реализации XPath-функции становятся известны инструменту IBM BPEL 2.0 Importer посредством замены XSLT-файла, который поставляется вместе с этим инструментом. Этот файл находится в следующем месте:
{IID_Install_Dir}\p2\cic.p2.cache.location\plugins\com.ibm.wbit.bpel20.importer_{Version#+Release_Date}\xslt\ImportBPEL20.xsl

Миграция проприетарных XPath-выражений продукта WLI более детально будет описана в третьей части данного цикла статей.

Инструмент OpenESB для преобразования из BPEL 1.1 в BPEL 2.0

Базовые сведения

Данный инструмент для преобразования из BPEL 1.1 в BPEL 2.0 представляет собой сторонний продукт, который вы можете загрузить с целью миграции BPEL-описания своего процесса с версии BPEL 1.1 на версию BPEL 2.0. Этот инструмент может потребоваться вам в том случае, если у вас исполняются более ранние версии продукта WLI, которые поддерживают экспорт только в стандарте BPEL 1.1. Инструмент можно получить на веб-сайт Open ESB.

Установка

Инструмент представляет собой исполняемый JAR-файл. Пример использования:
java –jar transform.jar <input folder> <output folder>

Примечание. Каталог <input folder> должен содержать все упоминаемые файлы типа BPEL, XSD, WSDL.

Утилиты для миграции с платформы WLI

В этом разделе описываются миграционные утилиты, которые помогут вам осуществить миграцию своих WLI-приложений на платформу IBM BPM.

JCS migration utility

Утилита JCS Migration Utility осуществляет миграцию JCS-файлов (Java Control Source) в Java-объекты, способные исполняться в среде IBM BPM. В среде WLI такие JSC-файлы представляют собой Java-реализации и имеют расширение jcs. Эта утилита автоматически модифицирует JSC-файлы и их соответствующие интерфейсы, а также преобразует эти файлы в стандартные Java-объекты, которые могут быть использованы продуктом BPM. Эта утилита автоматически осуществляет миграцию JSC-файлов, выполняя следующие шаги.

  • Изменение расширения файла с jsc на java.
  • Изменение интерфейса и реализации с удалением всех проприетарных API-интерфейсов.
  • Создание SCA-реализации, которая может быть использована продуктом BPM

Примечание. Эта SCA-реализация ссылается на несколько библиотек преобразования, которые мы разработали для осуществления преобразования данных между XMLBeans-объектами и SDO-объектами (Service Data Objects). Эти библиотеки также включены в classpath проекта.

Описываемая утилита представляет собой исполняемый JAR-файл, который может быть запущен в командной строке. Пример использования:
java –jar transformationUtil.jar JCStoJAVA <location of jcs>.jcs

В качестве примера предположим, что в каталоге <location of jcs> имелись следующие файлы:

  • Example.java — интерфейсный файл
  • ExampleImpl.jcs — реализация примера и бизнес-логика

Результатом исполнения данной утилиты будут следующие файлы:

  • Example.java — новый интерфейс с удаленными проприетарными API-интерфейсами
  • Example.java.old — первоначальный Java-интерфейс для справочных целей (может быть удален)
  • ExampleImpl.java — реализация Example.java с удаленными проприетарными API-интерфейсами и некоторыми другими изменениями
  • ExampleSCAImpl.java — SCA-реализация, которая осуществляет определенное преобразование данных и вызывает соответствующие методы в ExampleImpl.java. Она может быть использована в среде BPM.
  • ExampleImpl.jcs — Первоначальный jcs-файл (может быть удален)

DTF Migration Utility

Утилита DTF Migration Utility осуществляет миграцию DTF-файлов (Data Transformation File) продукта WLI в Java-объекты, способные исполняться в среде IBM BPM Advanced. Продукт WLI с помощью DTF-файлов помогает XQuery-файлам выполнять преобразования данных. Ссылки на XQuery-файлы определяются как комментарии Javadoc над каждым методом в DTF-файле.

Утилита DTF Migration Utility автоматически модифицирует DTF-файлы посредством их преобразования в стандартные Java-объекты, которые могут быть использованы продуктом BPM. Эта утилита автоматически осуществляет миграцию DTF-файлов посредством выполнения следующих шагов:

  • Изменение расширения файла с dtf на java
  • Удаление определения abstract из имени класса
  • Изменение абстрактных методов на стандартные методы; модифицирование методов с целью исполнения соответствующего XQuery-файла, который был указан в комментариях
  • Модифицирование класса посредством удаления всех проприетарных API-интерфейсов
  • Модифицирование возвращаемого типа в методах с целью возвращения стандартного объекта вида DataObject

Эта утилита представляет собой исполняемый JAR-файл, который может быть запущен в командной строке. Пример использования:
java –jar transformationUtil.jar DTFtoJAVA <location of dtf>.dtf

XQuery Migration Utility

Утилита XQuery Migration Utility автоматически осуществляет миграцию XQuery-файлов продукта WLI таким образом, чтобы они могли исполняться в среде BPM. Эти XQuery-файлы были написаны специально для исполнения в DTF-файлах, поэтому для их приведения к стандартному виду необходимо несколько модификаций. Миграция этих файлов осуществляется посредством выполнения следующих шагов.

  • Добавление деклараций namespace
  • Добавление символа ";" в конце некоторых строк

Эта утилита представляет собой исполняемый JAR-файл, который может быть запущен в командной строке. Пример использования:
java –jar transformationUtil.jar XQueryTranformation <location of xquery>.xq


Процесс миграции

В этом разделе приводится общий обзор основных шагов, выполняемых в процессе миграции с платформы WLI на платформу IBM BPM (см. рис. 1). Эти шаги более детально будут описаны в последующих частях данного цикла статей.

Рисунок 1. Процесс миграции
The migration process

Подготовка

На стадии подготовки производится установка необходимого программного обеспечения (предполагается, что продукт WLI уже установлен), в том числе:

  • IBM Integration Designer V8.0
  • IBM BPM Advanced V8.0
  • BPEL 2.0 Importer
  • Инструмент OpenESB для преобразования из BPEL 1.1 в BPEL 2.0 (при желании)
  • JCS Migration Utility
  • DTF Migration Utility
  • XQuery Migration Utility

Извлечение артефактов

На этой стадии процесса миграции из рабочего пространства продукта WLI извлекаются или экспортируются следующие артефакты:

  • WSDL-описания и веб-сервисы (JWS)
  • Реализации Control-элементов (JCS и JSX)
  • Преобразования данных (DTF и XQ)
  • XML-схемы (XSD)
  • EAR-файлы и JSF-файлы (Java Source File)

Экспорт в стандарте BPEL v2.0

Если вы используете продукт WLI версии v10.x и имеете доступ к инструменту JDeveloper, то вы сможете экспортировать JPD-описания процессов (далее — "JPD-процессы") в стандарте BPEL v2.0 и избежать необходимости выполнения преобразования, описываемого в следующем разделе. Если вы используете продукт WLI версии v7.x, v8.x или v9.x, то вам необходимо экспортировать JPD-процессы в стандарте BPEL v1.1, как описано в следующем разделе.

Экспорт в стандарте BPEL v1.1 и преобразование в стандарт BPEL v2.0

В версиях WLI v7.x – v9.x у вас нет возможности экспортировать JPD-процессы в стандарте BPEL 2.0, поэтому сначала вы должны экспортировать JPD-процессы в стандарте BPEL v1.1, выполнив следующие шаги.

  1. С помощью опцииExport BPEL инструмента WLI Workshop экспортируйте JPD-описание процесса в формате BPEL.
  2. Скопируйте BPEL-файлы, WSDL-файлы и XSD-файлы во временный каталог.
  3. С помощью вышеописанного инструмента OpenESB для преобразования из BPEL 1.1 в BPEL 2.0 приведите описание в соответствие со стандартом BPEL v2.0.

Импорт артефактов в инструмент Integration Designer

Следующая стадия процесса миграции состоит в импорте артефактов продукта WLI в инструмент IBM Integration Designer с помощью мастера BPEL 2.0 Import в диалоговом окне Import.

Миграция XMLBean-объектов

XMLBeans – это конструкция XML-данных (на основе Apache XMLBeans) и технология доступа, которую по умолчанию используют процессы продукта WLI. Многие существующие артефакты платформы WLI, Control-элементы платформы WLI, Java-фрагменты и Java-утилиты содержат XMLBean-объекты. Некоторые из вышеупомянутых артефактов имеют XMLBeans-объекты, которые встроены весьма глубоко; затраты на повторное кодирование таких артефактов оказались бы слишком высоки. С учетом этого вы можете "создать мост" между XMLBeans-объектами и SDO-объектами, выполнив следующие шаги.

  1. Генерация XMLBeans-объектов из существующих XSD-схем с помощью Apache-библиотеки XMLBeans.
  2. Импорт генерированных XMLBeans-объектов в рабочее пространство инструмента Integration Designer.
  3. Выявление существующего кода, в котором используются XMLBeans-компоненты.
  4. Преобразование между XMLBeans и SDO с помощью миграционных утилит WLI (этот процесс преобразования состоит из двух шагов: XMLBeans ↔ XML String ↔ SDO).

Эта стадия будет более детально описана во второй статье данного цикла.

Миграция WSDL-файлов

Для каждого потока JPD-описаний на языке BPEL, экспортированного из продукта WLI, генерируется по два WSDL-файла.

  • Один WSDL-файл (provider WSDL) задает интерфейс для JPD-процесса.
  • Другой WSDL-файл (control WSDL) задает интерфейс для всех внешних сервисов, вызов которых осуществляет этот JPD-процесс. Имя этого WSDL-файла имеет суффикс "_ctrl".

После того как WSDL-файлы будут импортированы в инструмент Integration Designer, могут требоваться определенные изменения:

  • В некоторых случаях может потребоваться коррекция атрибута schemaLocation.
  • Потребуется изменение некоторых типов (например, Exceptions, Objects, xsd:base64binary).
  • В файле provider WSDL может отсутствовать определение типов. В этом случае его можно импортировать из XSD-файла или скопировать из файла control WSDL.
  • Некоторые интерфейсы в файлах control WSDL могут быть заменены первоначальными WSDL-файлами или другими экспортированными WSDL-файлами (например, Control-компонентами веб-сервиса, Control-компонентами процесса и т. д.).
  • Может потребоваться обновление информации о PartnerLink.

Эта стадия более детально будет описана в третьей и четвертой частях данного цикла статей.

Миграция XQuery-преобразований

Продукт WLI использует язык XQuery для преобразования XML-сообщений. Такие XQuery-преобразования широко используются в JPD-процессах продукта WLI. Каждое XQuery-преобразование хранится в виде XQ-файла, а его вызов осуществляется с помощью Control-компонента WLI (хранящегося в виде DTF-файла). Продукт IBM BPM не поддерживает XQuery-преобразований непосредственно (поддержка этих преобразований реализуется с помощью XSLT или Java). Хотя преобразование XQuery в XSLT или в Java в ручном режиме вполне возможно, в некоторых случаях проще использовать существующие XQuery-преобразования посредством вызова компонента WebSphere Thin Client for XML, который поддерживает спецификацию XQuery 1.0. Для реализации XQuery-преобразований с помощью WebSphere Thin Client for XML выполните следующие шаги.

  • Преобразование DTF-файла в java-код, использующий компонент Thin Client for XML, с помощью утилит для миграции с платформы WLI.
  • Преобразование XQ-файлов, обеспечивающее их совместимость с Thin Client for XML, с помощью утилит для миграции с платформы WLI.
  • Создание SCA-компонента на Java с помощью Java-реализации преобразованного DTF-файла.

Эта стадия более детально будет описана во второй статье данного цикла.

Миграция компонентов типа Custom Control

WLI Custom Control — это экстернализированный Java-класс, представленный как Control-компонент платформы WLI, вызов которого осуществляет JPD-процесс платформы WLI. Компонент категории Custom Control нередко реализует сложную функциональность, которую продукт WLI или продукт IBM BPM не поддерживает непосредственно. Такой компонент может иметь большой объем кода, что делает непрактичным его повторную реализацию в процессе миграции. Выполните следующие шаги для миграции Custom Control в среду IBM BPM с максимально возможным сохранением его первоначального кода.

  • Преобразование JCS-файлов компонентов Custom Control в POJO-объекты с помощью миграционных утилит.
  • Создание SCA-компонента на Java с помощью Java-реализации преобразованного DTF-файла.
  • Выполнение в ручном режиме всех модификаций, необходимых для корректного преобразования типов данных в Java-коде преобразованного DTF-файла.

Эта стадия более детально будет описана в третьей части данного цикла статей.

Миграция встроенных Control-компонентов

Control-компоненты, встроенные в WLI — это заранее созданные интеграционные компоненты, которые позволяют JPD-процессу продукта WLI взаимодействовать с внешними корпоративными системами. Эти встроенные Control-компоненты открываются посредством JCX-файлов (Java Control Extension), каждый из которых содержит интерфейс и конфигурационные данные для соответствующего встроенного Control-компонента.

Некоторые встроенные Control-компоненты могут быть заменены встроенными функциями бизнес-процесса IBM BPM (такими как Process Control with Invoke, Timer Control with Expiry/Timer Control with Wait и т. д.), некоторые могут быть заменены компонентом WebSphere Adapter, а для некоторых просто требуется повторная реализация.

Эта стадия будет более детально описана в третьей части данного цикла статей.

Миграция бизнес-процессов

Эта стадия процесса миграции состоит во внесении в BPEL-процесс, экспортированный из WLI, изменений, которые позволяли бы этому процессу гарантированно функционировать в среде IBM BPM. Некоторые из необходимых изменений:

  • Преобразование обработчиков ошибок.
  • Преобразование параллельных конструкций типа or.
  • Задание свойств транзакции.
  • Преобразование Java-фрагментов.
  • Модификация ссылок на партнеров.

Эта стадия будет более детально описана в четвертой части данного цикла статей.

Сборка и связывание компонентов

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

Эта стадия будет более детально описана в четвертой части данного цикла статей.

Развертывание и тестирование

Заключительная стадия процедуры миграции состоит в развертывании и тестировании нового процесса IBM BPM с помощью клиента интеграционного тестирования, предусмотренного в инструменте Integration Designer. Если в этом процессе имеются какие-либо нереализованные компоненты или несвязанные ссылки, они автоматически будут эмулированы. Другими словами, для того, чтобы вы смогли приступить к тестированию, ваш процесс не обязательно должен быть полным.

Эта стадия будет более детально описана в четвертой части данного цикла статей.


Заключение

Миграционные инструменты и стадии миграции, описанные в этом цикле статей, были разработаны на протяжении последнего года с целью облегчения процесса миграции приложений Oracle WLI на платформу IBM BPM Advanced. Эти инструменты были с успехом применены на площадках заказчиков. Чтобы получить эти инструменты, свяжитесь с авторами цикла или с торговым представительством IBM.

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=WebSphere
ArticleID=963141
ArticleTitle=Миграция приложений с платформы Oracle WebLogic Integration на платформу IBM Business Process Manager Advanced: Часть 1. Введение
publish-date=02182014