Оптимизация рабочей области MDM Server при помощи бинарных модулей

Использование бинарных модулей для ускорения процесса разработки расширений для MDM Server

При разработке расширений для сервера MDM Server наличие большого количества проектов в рабочей области может стать проблемой. В данной статье рассказывается об использовании бинарных модулей для уменьшения рабочей области и ускорения процесса разработки.

Кэтрин Гриффин, инженер-программист, IBM

Кэтрин Гриффин (Catherine Griffin) – ведущий разработчик IBM InfoSphere Master Data Management Server Workbench в лаборатории IBM Hursley Laboratories в Великобритании.



25.01.2013

Введение

IBM InfoSphere® Master Data Management Server предоставляет полную модель данных для мастер-данных Party, Account и Product, а также большое количество сервисов (называемых транзакциями) для их запроса и изменения. Поддерживаются различные механизмы расширений, позволяющих настраивать поведение модели данных и транзакций или добавлять при необходимости совершенно новые транзакции.

MDM Server содержит инструментальную среду MDM Server Workbench, позволяющую разрабатывать расширения для MDM Server. Эта среда позволяет определить нужные модель данных и транзакции, а также сгенерировать код, необходимый для реализации расширений MDM Server.

Среда MDM Server Workbench устанавливается в виде дополнения (add-on) к Rational® Application Developer (RAD). Для разработки расширений MDM Server необходимо импортировать в рабочую среду RAD архив MDM Enterprise Application Archive (EAR).

Установка среды разработки по умолчанию приводит к созданию в рабочей области большого числа проектов. При импорте MDM EAR создается пятьдесят пять проектов, не считая создаваемых вами дополнительных проектов для расширений.

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

В данной статье рассказывается, как можно уменьшить количество проектов в рабочей области путем замены некоторых из них на бинарные модули. Приведенные ниже инструкции применимы для рабочей среды MDM Workbench версии MDM Server 9.0.1 (версия для WebSphere®) на RSA 7.5.5.4. Для других версий описанный подход должен работать, но возможны некоторые отличия пользовательского интерфейса.


Установка среды разработки

Для установки среды разработки используйте мастер MDM Workbench Development and Test Environment Setup. После завершения установки в рабочей области появятся 55 проектов. Некоторыеиз них используются для первоначальной установки MDM Server, но не входят в состав MDM EAR. После установки среды разработки наличие их в рабочей области не является обязательным.

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

  • InstallVerification. Этот проект содержит программу Install Verification, которую использует мастер Development Environment Setup для выполнения задания Validate Installation.
  • ManagementAgent. Этот проект содержит программу ManagementAgent, которую использует мастер Development Environment Setup для выполнения задания Deploy Configuration.
  • ManagementConsole. Этот проект содержит программу ManagementConsole, которую использует мастер Development Environment Setup для выполнения задания Deploy Configuration.
  • MDMDatabase. Этот проект содержит сценарии создания базы данных, которые использует мастер Development Environment Setup для выполнения задания Create Application Database.

Закрытые проекты остаются в файловой системе, но по умолчанию они не видны в рабочей области. Возможно, впоследствии их придется открыть, если понадобится частичное или полное повторение процесса установки.

Фильтрация содержимого в рабочей области

Для управления видимостью проектов используется пункт меню Customize View в представлении Enterprise Explorer (для доступа к меню щелкните левой кнопкой мыши на маленькой пиктограмме с изображением стрелки вниз, расположенной на панели инструментов View).

Рисунок 1. Пункт меню Customize View
Пункт меню Customize View

Элементы, отмеченные в диалоговом окне Customize View, невидимы в представлении Enterprise Explorer.

Рисунок 2. Диалоговое окно Customize View
Диалоговое окно Customize View

При использовании вместо Enterprise Explorer представлений Project Explorer, Navigator или Package Explorer этот пункт меню может называться иначе, но будет содержать аналогичную функциональность.

Разрешение использования бинарных модулей

Теперь создайте файл под названием com.ibm.etools.j2ee.teamshare в папке MDM/.settings. Это маркерный файл, содержимое которого не имеет значения - важно только его название. Если папка .settings не видна в рабочей области, необходимо сделать видимыми ресурсы .*, выполнив инструкции, приведенные в следующем разделе.

Рисунок 3. Создание маркерного файла в MDM
Создание маркерного файла в MDM

Использование бинарных модулей

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

При экспорте или публикации MDM EAR-файла на сервере исходные проекты из рабочей области компонуются в JAR-файлы, которые перезаписывают все JAR-файлы с такими же именами в MDM-проекте.

Обычно при удалении из рабочей области проекта, являющегося EJB-модулем, web-модулем или utility-модулем, модуль удаляется из EAR-файла. Но если имеется маркерный файл teamshare, удаление проекта не приведет к удалению его из EAR-файла. До тех пор, пока JAR-файл модуля присутствует в EAR, EAR-файл будет функционировать как и прежде.

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

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

После удаления из рабочей области проект при необходимости можно легко воссоздать из бинарного модуля, щелкнув правой кнопкой мыши на проекте MDM и выбрав Java EE > Extract Binary Modules to Projects.

Удаление проектов из рабочей области

Удаление проекта из рабочей области отличается от его закрытия. Закрытый проект все еще существует, и Eclipse знает об этом, поэтому нельзя создать новый проект с таким же именем. Удаленный проект больше не существует, т.е. можно создать новый проект с таким же именем.

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

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


Определение необходимых проектов

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

  • DataServices
  • DataServicesEJB
  • DWLAdminServices
  • DWLAdminServicesEJB
  • DWLAdminServicesWS
  • DWLAdminServicesWS_HTTPRouter
  • DWLAdminServicesWSEJB
  • DWLMessagingAdapter
  • EventManager
  • EventManagerEJB
  • ProductServicesWS
  • ProductServicesWS_HTTPRouter
  • ProductServicesWSEJB
  • TAILMessagingEJB
  • XMLServices

Если вы не меняете по каким-либо причинам содержимое каких-либо из этих проектов, их можно удалить из рабочей области (удалите также файлы из файловой системы).

Поскольку мы добавили маркерный файл teamshare в MDM-проект, удаление этих проектов из рабочей области не изменит сервисы, доступные из MDM-приложения; бинарные модули по-прежнему будут присутствовать и работать.

При разработке расширений MDM Server в рабочей области должны присутствовать следующие проекты:

  • CustomerResources
  • DWLCommonServicesEJB
  • MDM
  • XMLServicesEJB

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

  • BusinessServices
  • BusinessServicesEJB
  • DWLBusinessServices
  • DWLBusinessServicesEJB
  • DWLCommonServices
  • DWLCommonServicesEJB
  • FinancialServices
  • FinancialServicesEJB
  • Party
  • PartyEJB
  • Product
  • ProductEJB

При удалении из рабочей области вспомогательного JAR-проекта (например, BusinessServices) вместе с ним исчезнет и соответствующий EJB-проект. При его повторном добавлении EJB-проект появится тоже.

Web-сервисы

Если вы вообще не намерены использовать Web-сервисы MDM, из рабочей области можно удалить все проекты с названиями, заканчивающимися на WS, WS_HTTPRouter и WSEJB. В дальнейшем при создании новых проектов модулей необходимо запретить генерирование Web-сервисов.

Для этого в файле mdmgen.xml проекта модуля найдите строку:

<target name="all" depends="sql,
    implementation, createReferenceModel, webservices, merge"
    description="--> description">

и измените ее на:

<target name="all" depends="sql,
    implementation, createReferenceModel, merge"
    description="--> description">

Сохраните изменения и сгенерируйте код как обычно.

При использовании Web-сервисов и тестового сервера с отключенной системой безопасности необходимо заменить WSEJB-проекты на соответствующие версии _SecurityDisabled файлов дескрипторов развертывания WebSphere; это означает, что они должны находиться в рабочей области как проекты.

Следует хранить все проекты WS, WSEJB и WS_HTTPRouter для одного и того же модуля в рабочей области или в виде бинарных модулей.

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

  • BusinessServicesWS*
  • DWLBusinessServicesWS*
  • DWLCommonServicesWS*
  • FinancialServicesWS*
  • PartyWS*
  • ProductWS*

Если вы знаете, что не будете использовать Web-сервис CrossDomainServices, все проекты CrossDomainServices можно удалить. Оставьте их в рабочей области, если планируете использовать этот Web-сервис.

Отметим, что для MDM Server 10 был представлен новый набор Web-сервисов, не требующий каких-либо WS-проектов. В приведенных здесь инструкциях подразумеваются Web-сервисы в MDM 9 и более ранних версиях. При использовании версии 10 и только новых Web-сервисов с единственной конечной точкой можно удалить из рабочей области все *WS-проекты (генерирование устаревших Web-сервисов для ваших собственных проектов модулей должно быть запрещено).


Разработка расширений

Создайте новый проект модуля как обычно. Если вы не хотите генерировать Web-сервисы для нового модуля, запретите их генерирование, изменив файл mdmgen.xml до первого генерирования кода.

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

Для восстановления ошибочно удаленного проекта из комплекта поставки щелкните правой кнопкой мыши на MDM-проекте и выберите Java EE > Extract Binary Modules to Projects.

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


Заключение

В данной статье рассматривалось использование бинарных модулей для уменьшения числа проектов в рабочей области MDM Server. Небольшие изменения могут существенно ускорить обычную разработку расширений.

Более подробная информация о бинарных модулях приведена в статье Гэри Карасюка (Gary Karasiuk) и Джейсона Шолля (Jason Sholl) (см. раздел Ресурсы).

Ресурсы

Комментарии

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=Information Management
ArticleID=856175
ArticleTitle=Оптимизация рабочей области MDM Server при помощи бинарных модулей
publish-date=01252013