Содержание


Использование MDM Application Toolkit для создания MDM-центричных бизнес-процессов. Часть 3

Управление иерархиями MDM в BPM с помощью инструментария Application Toolkit

Comments

Серия контента:

Этот контент является частью # из серии # статей: Использование MDM Application Toolkit для создания MDM-центричных бизнес-процессов. Часть 3

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Использование MDM Application Toolkit для создания MDM-центричных бизнес-процессов. Часть 3

Следите за выходом новых статей этой серии.

В статье рассматриваются сервер REST и компонент MDM Tree Coach View, входящие в состав инструментария MDM Application Toolkit. Сервер REST используется для поиска и извлечения данных из рабочего сервера. MDM Tree Coach View используется в среде BPM Coach для взаимодействия с сервером REST и отображения данных в виде иерархической структуры. Инструментарий Application Toolkit также включает в своем составе интеграционный сервис для сохранения любых изменений, выполняемых с использованием MDM Tree Coach View.

Из этой статьи вы узнаете, как использовать конфигурационный XML-файл для настройки сервера REST, предназначенного для извлечения данных из виртуальной машины (virtual engine). В статье будет также описано, как использовать компонент MDM Tree Coach View в Example MDM Human Service для создания «человеческого сервиса» Human Service, который отображает основные данные, считанные из рабочего сервера, в иерархической форме.

Конфигурирование и развертывание REST-сервера Application Toolkit

Предварительно созданный EAR-файл включен в состав Application Toolkit. EAR-файл скопирован в локальную файловую систему; путь к файлу: <MDM_INSTALL_HOME>/MDMApplicationToolkit/MDMAT_BPM_REST_EAR.ear. Этот EAR-файл является REST-сервером Application Toolkit. Вы должны отредактировать конфигурационный файл в архиве EAR, прежде чем разворачивать EAR-файл на сервере приложений IBM WebSphere® Application Server, в среде которого вы выполняете процессы BPM. Конфигурационный файл может быть отредактирован после распаковки EAR-файла.

Распаковка EAR-файла сервера REST

Существует два способа распаковки EAR-файла. Вы можете либо использовать программу архивирования для распаковки содержимого архива, либо импортировать EAR-файл в рабочую область интегрированной среды разработки (IDE), такой как Eclipse, Rational® Application Developer (RAD) или Rational Software Architect (RSA).

Распаковка EAR-файла с использованием программы архивирования

  1. Используйте программу архивирования для распаковки EAR-файла в новую папку. После распаковки, в новой папке вы найдете архивный WAR-файл с именем MDMAT_BPM_REST_EAR.war.
  2. Используйте программу архивирования для распаковки WAR-файла в новую папку.
  3. После того как вы распаковали REST-сервер, вам нужно отредактировать конфигурационный XML-файл REST с именем BPMConfig.xml. Путь к этому XML-файлу:
    MDMAT_BPM_REST_EAR/MDMAT_BPM_REST/WEB-INF/classes/BPMConfig.xml.

Импорт EAR-файла в интегрированную среду разработки (IDE)

  1. Импортируйте EAR-файл в выбранную вами интегрированную среду разработки. Функция импорта создает два проекта:
    • MDMAT_BPM_REST_EAR
    • MDMAT_BPM_REST
  2. Отредактируйте конфигурационный XML-файл REST. Путь к файлу BPMConfig.xml:
    MDMAT_BPM_REST/Java Resources/src/BPMConfig.xml.

Конфигурирование BPMConfig.xml

Используйте XML-файл для настройки поведения REST-сервера Application Toolkit. XML-файл содержит пример описаний адаптеров. Адаптеры применяются для определения пути к сервису REST, который может быть использован для поиска и извлечения основных данных из рабочего сервера. Каждый элемент Adaptor в XML-файле состоит из описания деталей соединения с сервером и определения объектов (entities), которые могут быть возвращены адаптером.

Вам нужно сконфигурировать адаптер, который будет возвращать данные из виртуальной машины (virtual engine) на рабочем сервере. Вы можете либо создать свой собственный элемент Adaptor, либо отредактировать элемент Adaptor в XML-файле с путем к сервису VirtualRelationship. Структура адаптера представлена в Листинге 1.

Листинг 1. Структура виртуального адаптера
<Adaptor servicePath="" adaptorClass="">
  <Server> //To enable encryption add the "usessl=true" attribute
    <Host> Host name/IP for the operational server </Host>
    <Port> WC_defaulthost port for the operational server </Port>
    <Auth>
      <userid> Server username </userid>
      <password> Server password </password>
    </Auth>
    <pool> //Connections are pooled, so you need to configure the pooling
      <initialSize> Defines the initial number of connections to create.
        -1 means do not create any connections initially. </initialSize>
      <maxSize> Max number of connections </maxSize>
      <maxWaitMillis> Max time to wait for a connection. 
        -1 means to wait forever </maxWaitMillis>
    </pool>
    
    <tree>
      <entities>
        <entity type="" cvw="">
          <nodeLabel></nodeLabel>
          <attributeCategory attribute="" categoryLabel="">
            <nodeLabel></nodeLabel>
          </attributeCategory>
          <relationship type="" direction="" categoryLabel="" />
          <suspectedDuplicate show="" />
        </entity>
        <entity>
          ...
        </entity>
      </entities>
    </tree>
</Adaptor>

Определение элемента Adaptor

С помощью атрибута servicePath определите путь, который использовался иерархическим деревом в вызовах REST. Это путь, определяемый пользователем. Используйте атрибут adaptorClass для выбора класса адаптера Java, который преобразует ответ от рабочего сервера в ответ REST JSON. REST-сервер Application Toolkit поставляется с четырьмя адаптерами:

  • com.ibm.im.mdm.apptoolkit.bpm.rest.toolkitdataadaptors.MDMSToolkitAdaptor – используется для извлечения реляционных данных из физического сервера; содержит атрибуты, связи и предполагаемые дубликаты.
  • com.ibm.im.mdm.apptoolkit.bpm.rest.toolkitdataadaptors.MDMHierarchyAdaptor – используется для извлечения иерархических данных из физического сервера с помощью сервисов иерархии.
  • com.ibm.im.mdm.apptoolkit.bpm.rest.toolkitdataadaptors.MDSToolkitDataAdaptor – используется для извлечения реляционных данных из виртуального сервера; содержит атрибуты, связи и предполагаемые дубликаты.
  • com.ibm.im.mdm.apptoolkit.bpm.rest.toolkitdataadaptors.MDSHierarchyAdaptor – используется для извлечения реляционных данных из виртуального сервера и отображения в формате, имитирующем физическую иерархию. Адаптер VirtualHierarchy будет отображать только одну связь и не поддерживает атрибуты или предполагаемые дубликаты.

В рамках темы этой статьи мы будем взаимодействовать с виртуальной машиной и отображать реляционные данные. Мы будем использовать адаптер com.ibm.im.mdm.apptoolkit.bpm.rest.toolkitdataadaptors.MDSToolkitDataAdaptor.

Определение объекта (entity)

Используйте элемент entity для определения объекта, который будет отображаться в иерархическом дереве. Используйте атрибут type для определения типа объекта, как это установлено в конфигурации рабочего сервера. Используйте атрибут cvw для определения составного отображения (composite view), как это установлено в конфигурации хаба.

Определение отображаемого обозначения узла

Используйте элемент nodeLabel для определения обозначения, которое отображается для объекта в иерархическом дереве. Для задания обозначения используется шаблон для подстановки {Segment Attribute Code:Attribute Name}. Например:

<nodeLabel>{PERLEGALNAME:lastname}, {PERLEGALNAME:givenname1}</nodeLabel>

Определение категорий атрибута

Используйте элемент attributeCategory для определения категории, которая будет отображаться в иерархическом дереве. Таким способом можно сгруппировать вместе все экземпляры атрибута. Используйте атрибут attribute для определения атрибута виртуального объекта, который будет выбираться для категории. Используйте атрибут categoryLabel для определения обозначения, которое отображается в иерархическом дереве для контейнера категорий.

Элемент attributeCategory требует вложенного элемента nodeLabel. В отличие от элемента nodeLabel, определенного для объекта, это обозначение узла иерархического дерева использует атрибут categoryLabel из элемента attributeCategory в качестве кода сегмента атрибута. Для определения обозначения этого узла используется шаблон для подстановки {Attribute Name}. Например:

<attributeCategory attribute="PERPRIMERRES" categoryLabel="Address">
  <nodeLabel>{addrline1}, {provstate}, {postalcode}</nodeLabel>
</attributeCategory>

Определение связей

Используйте элемент relationship для определения связей, которые будут отображаться в иерархическом дереве. Используйте атрибут type для определения типа связи, как это установлено в конфигурации рабочего сервера. Используйте атрибут direction для определения «обратной» связи (right-to-left – справа налево) или правой части двунаправленной связи; значение атрибута должно быть "inverse".

Если атрибут direction не используется, предполагается, что эта связь – «прямая» (left-to-right – слева направо), или что это – левая часть двунаправленной связи. Используйте атрибут categoryLabel для определения обозначения, которое отображается для контейнера связей в иерархическом дереве. Например:

<relationship type="employer" direction="inverse" categoryLabel="Employer"/>

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

Используйте элемент suspectedDuplicate для отображения в иерархическом дереве предполагаемых дубликатов. Если атрибут show опущен или имеет значение "true", то предполагаемые дубликаты отображаются. Если для этого атрибута установлено значение "false", то дубликаты не отображаются.

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

Развертывание сконфигурированного сервера REST

Теперь, когда вы сконфигурировали сервер REST, вы должны выполнить его развертывание. Существуют два способа развертывания сервера, применение которых зависит от того, распаковывали ли вы архив EAR с помощью программы архивирования или импортировали EAR-файл в интегрированную среду разработки (IDE).

Развертывание после использования программы архивирования

На этом этапе вам нужно воссоздать первоначальную структуру папок архива EAR, прежде чем вы сможете развернуть сервер REST:

  1. Используйте программу архивирования для создания WAR-файла с именем MDMAT_BPM_REST.war и содержимым папки MDMAT_BPM_REST.
  2. Убедитесь, что WAR-файл содержит полное содержимое папки, а не единственную корневую папку.
  3. Используйте программу архивирования для создания EAR-файла с именем MDMAT_BPM_REST_EAR.ear и содержимым папки MDMAT_BPM_REST_EAR/META-INF и файлом MDMAT_BPM_REST.war.
  4. Убедитесь, что EAR-файл содержит указанное содержимое, а не единственную корневую папку.
  5. Выполните развертывание обновленного файла MDMAT_BPM_REST_EAR.ear с помощью консоли администрирования сервера приложений IBM WebSphere Application Server, в среде которого вы запускаете ваши процессы.

Развертывание после использования интегрированной среды разработки

  1. Используйте инструменты интегрированной среды разработки для экспорта проекта MDMAT_BPM_REST_EAR в виде EAR-файла.
  2. Выполните развертывание обновленного файла MDMAT_BPM_REST_EAR.ear с помощью консоли администрирования сервера приложений IBM WebSphere Application Server, в среде которого вы запускаете ваши процессы.

Тестирование развернутого сервера REST

В веб-браузере выполните запрос с помощью следующего URL:
http://<имя хоста BPM WAS>:<порт BPM WAS>/MDMAT_BPM_REST/rest/app/<servicePath адаптера>/<тип объекта>/<идентификационный номер объекта>

Если ваш сервер REST работает правильно, вы получите JSON-ответ, представляющий запрошенный объект. При наличии какой-либо проблемы проверьте системные журналы (log-файлы) WebSphere Application Server на возникновение любых ошибок в процессе работы сервера REST. В качестве примере ниже приводится Листинг 2.

Листинг 2. Пример JSON-ответа для http://localhost:9080/MDMAT_BPM_REST/rest/app/id/6145
{
	"customProperties" : {
		"readOnly" : "false"
	},
	"label" : "GOLDSTEIN, PATRICIA",
	"hasChildren" : true,
	"type" : "mdmper",
	"id" : "mdmper\/6145",
	"children" : [{
			"customProperties" : {
				"readOnly" : "true",
				"parentNodeID" : "16145",
				"treeParentID" : "mdmper\/16145",
				"relTypeNo" : "1",
				"relDirection" : "L"
			},
			"label" : "boss of",
			"hasChildren" : true,
			"type" : "Container",
			"id" : "Container\/16145_1_L",
			"children" : [{
					"ref" : "mdmper\/14622",
					"customProperties" : {
						"readOnly" : "false"
					},
					"label" : "SMITH, TIMOTHY",
					"hasChildren" : true,
					"type" : "mdmper",
					"id" : "mdmper\/14622"
				}
			],
			"contains" : "mdmper"
		}
	]
}

Использование MDM Tree Coach View

Application Toolkit включает в своем составе пример человеческого сервиса Example MDM Human Service, который использует MDM Tree Coach View, как показано на рисунке 1. Example MDM Human Service размещен в разделе пользовательских интерфейсов Application Toolkit в библиотеке BPM Process Designer.

Example MDM Human Service состоит из пяти узлов. Coach-элемент View Entity используется для отображения объекта (entity). Coach-элемент View Changes используется для сравнения серверной версии объекта с измененной версией. Узел принятия решения Check Server Type предлагает возможность переключения (выбора) между сохранением на виртуальном или физическом сервере. Интеграционные сервисы для сохранения на каждом из серверов также присутствуют.

Рисунок 1. Человеческий сервис Example MDM Human Service, использующий MDM Tree Coach View
A screenshot of the Example MDM Human Service with five nodes: view entity, view changes, check server type, save virtual and save physical.
A screenshot of the Example MDM Human Service with five nodes: view entity, view changes, check server type, save virtual and save physical.

Вставка и настройка MDM Tree Coach View

MDM Tree Coach View используется в Coach-элементах View Entity и View Changes человеческого сервиса Example MDM Human Service. На рисунке 2 показан пример. MDM Tree Coach View содержится в палитре (palette) Coach View под тегом фильтра MDM. После вставки MDM Tree Coach View в Coach нужно выполнить настройку Coach View.

Рисунок 2. MDM Tree Coach View, используемый в Coach-элементе View Entity человеческого сервиса Example MDM Human Service
A screenshot showing the MDM Tree Coach View in the 'View Entity' Coach screen

Есть три необходимых параметра для настройки MDM Tree Coach View: rootNode или rootNodeId, restContext и service. Альтернативные параметры persist и iconClasses, показанные на рисунке 3, являются дополнительными (опциональными) и будут рассмотрены в этой статье ниже.

Рисунок 3. Конфигурация MDM Tree Coach View (раздел Configuration)
A screenshot of the MDM Tree Coach View configuration panel with six options: persist, rootNode, rootNodeId, iconClasses, restContext and service
A screenshot of the MDM Tree Coach View configuration panel with six options: persist, rootNode, rootNodeId, iconClasses, restContext and service

Для настройки:

  • MDM Tree Coach View требует, чтобы либо бизнес-объект MDM_Entity был представлен параметром rootNode, либо строка идентификатора ID была представлена параметром rootNodeId. В примере человеческого сервиса Example MDM Human Service используется вариант rootNodeId. Идентификатор ID вводится по шаблону: {тип объекта (определенный в файле BPMConfig.xml)}/{идентификационный номер объекта}.
  • Параметр restContext – это строка (String), которая определяет путь к серверу REST. При выполнении сервиса Human Service контекстом браузера является строка <сервер BPM>:<порт>/teamworks. Сервер REST развернут в контексте <сервер BPM>:<порт>/<контекст REST>>, так что параметр restContext должен быть представлен как ../<контекст REST>. Если значение не предоставлено, то для MDM Tree Coach View по умолчанию устанавливается вариант ../MDMAT_BPM_REST.
  • Параметр service – это строка (String), которая указывает на желаемый для использования adaptor REST, который указан в конфигурационном файле BPMConfig.xml.

При желании, компонент MDM Tree Coach View может быть привязан к экземпляру бизнес-объекта MDM_Tree. Это позволит MDM Tree Coach View регистрировать изменения, выполненные в выбранном узле, и, тем самым, вести запись любых проведенных изменений.

Взаимодействие с отображаемым иерархическим деревом

Вы можете перемещать или удалять связи в иерархическом дереве. Эти действия также могут быть отменены (undo) или выполнены повторно (redo). Можно выполнять фильтрацию по категориям. И, наконец, иерархическое дерево может быть экспортировано в виде файла формата CSV (текстовый файл, в котором значения данных разделены запятыми).

Удаление связи

Связи сгруппированы в папки по типу связи, установленному в файле BPMConfig.xml. Иерархическое дерево может быть использовано для удаления конца связи, но не начала связи. Вы можете удалить связь, щелкнув левой кнопкой мыши по значку удаления («крестик»; см. рисунок 4); щелкнув правой кнопкой мыши и выбрав пункт Delete Node (Удалить узел) в контекстном меню (см. рисунок 5); или выбрав узел и нажав клавишу Del на клавиатуре.

Рисунок 4. Удаление связи с помощью пиктограммы удаления («крестик»)
A screenshot showing the delete icon used to delete a relationship
Рисунок 5. Удаление связи с помощью контекстного меню
A screenshot showing the context menu used to delete a relationship
A screenshot showing the context menu used to delete a relationship

Перемещение связи в иерархическом дереве

Вы можете переместить связь с помощью операций "drag-and-drop" («перетащить и оставить»), как показано на рисунке 6, или с помощью клавиатурных комбинаций CTRL+X («вырезать») и CTRL+V («вставить»). Перемещен может быть конец связи, но не начало связи. После начала операции перетаскивания (drag), изменение цвета строки связи будет указывать, можно ли перемещаемый узел разместить (drop) в данном месте иерархического дерева. Связи могут быть размещены только в раскрытую папку, которая определяет соответствующую связь. На рисунке 7 показан отказ в размещении.

Рисунок 6. Разрешение операции размещения (drop)
A screenshot showing the indicator for a permitted drop
Рисунок 7. Запрещение операции размещения (drop)
A screenshot showing the indicator for a refused drop

Отмена и повтор изменений

Иерархическое дерево поддерживает функции отмены (undo) и повтора (redo) любых выполненных изменений. Соответствующие пункты представлены в меню Options (Опции) и контекстном меню, вызываемом щелчком правой кнопки мыши. На рисунках 8 и 9 показаны примеры активации этих функций. Для функций отмены (undo) и повтора (redo) также определены клавиатурные комбинации CTRL+Z и CTRL+Y соответственно.

Рисунок 8. Использование меню Options для вызова функций отмены (undo) и повтора (redo)
A screenshot showing the options menu with undo and redo actions
A screenshot showing the options menu with undo and redo actions
Рисунок 9. Использование контекстного меню для вызова функций отмены (undo) и повтора (redo)
A screenshot showing the context menu with undo and redo actions
A screenshot showing the context menu with undo and redo actions

Фильтрация в иерархическом дереве

Меню Options иерархического дерева содержит функцию фильтрации папок, отображаемых в иерархическом дереве. Примеры показаны на рисунках 10 и 11. Эта функция может быть полезна, когда нужно скрыть в иерархическом дереве тот или иной объект, содержащий большое количество связей и атрибутов.

Рисунок 10. Меню фильтрации с отображением всех папок
A screenshot showing the filter menu with all folders displayed
A screenshot showing the filter menu with all folders displayed
Рисунок 11. Фильтрация папки
A screenshot showing the filter menu with all folders except the Reports To folder displayed
A screenshot showing the filter menu with all folders except the Reports To folder displayed

Экспорт в CSV-файл

Меню Options иерархического дерева содержит также функцию экспорта всего иерархического дерева в виде файла формата CSV (см. рисунок 12). Кроме того, щелчок правой кнопки мыши по выбранному узлу вызывает контекстное меню с аналогичным пунктом, который позволяет экспортировать только этот узел иерархического дерева (см. рисунок 13).

Рисунок 12. Экспорт всего иерархического дерева в CSV-файл с помощью меню Options
A screenshot showing the export hierarchical tree option menu item
A screenshot showing the export hierarchical tree option menu item
Рисунок 13. Экспорт отдельного узла иерархического дерева в CSV-файл с помощью контекстного меню
A screenshot showing the export node context menu item
A screenshot showing the export node context menu item

В листинге 3 показан пример экспорта в CSV-файл

Листинг 3. Пример экспорта в CSV-файл
level,id,parent id,label
1,id/6145,,"GOLDSTEIN, PATRICIA"
2,Container/6145_50_L,id/6145,"boss of"
3,id/4622,Container/6145_50_L,"SMITH, TIMOTHY"
2,Container/6145_51_B,id/6145,"friend of"
3,id/4096,Container/6145_51_B,"SMITH, ELSA"
2,Container/3d4f6f31-607a-42b9-a59f-c76dcfe9fc3d,id/6145,"Address"
3,3cd4a384-ab4b-49e8-8737-d9cce093acf5,Container/
3d4f6f31-607a-42b9-a59f-c76dcfe9fc3d,"4955 S IDAHO ST., MS, 38601"

Сохранение изменений, выполненных с помощью иерархического дерева

Когда компонент MDM Tree Coach View привязан к экземпляру бизнес-объекта MDM_Tree, все изменения, выполненные с использованием иерархического дерева, сохраняются в параметре changeHistory. Связанный бизнес-объект может, затем, использоваться в качестве входных данных для интеграционного сервиса, который может сохранить изменения на рабочем сервере. Application Toolkit содержит два интеграционных сервиса: Save Physical Relationship Changes и Save Virtual Relationship Changes (см. рисунок 14). Человеческий сервис Example MDM Human Service поддерживает как виртуальный, так и физический механизм MDM, и использует параметр serverType в MDM_Connection для переключения между сохранением изменений в том или ином типе (виртуальном или физическом) механизма MDM.

Рисунок 14. Интеграционные сервисы Save Relationship Changes в примере человеческого сервиса Example MDM Human Service
A screenshot showing the Save Relationship Changes integration services used in the Example MDM Human Service
A screenshot showing the Save Relationship Changes integration services used in the Example MDM Human Service

У интеграционных сервисов Save Relationship Changes есть две входные переменные: tree (MDM_Tree) и connection (MDM_Connection) (см. рисунок 15).

Рисунок 15. Согласование входных данных (Input Mapping) для интеграционных сервисов Save Relationship Changes
A screenshot showing the input mapping for the Save Relationship Changes integration services
A screenshot showing the input mapping for the Save Relationship Changes integration services

Переменная, соответствующая tree, должна быть бизнес-объектом, который привязан к компоненту MDM Tree Coach View и использовался для выполнения изменений. Во второй статье данного цикла публикаций было описано, как создать экземпляр бизнес-объекта MDM_Connection. Вы можете выполнить те же шаги для создания экземпляра бизнес-объекта MDM_Connection с целью привязки к входной переменной connection для интеграционного сервиса. Интеграционный сервис будет сохранять все изменения связей, сохраненные в параметре changeHistory, в бизнес-объекте, привязанном к tree.

Расширенные возможности MDM Tree Coach View

До сих пор мы исследовали пример человеческого сервиса Example MDM Human Service и объясняли, как использовать компонент MDM Tree Coach View для отображения иерархии, чтобы просматривать и изменять основные данные. MDM Tree Coach View также содержит дополнительные функции, которые вы можете использовать для усовершенствования своих приложений.

Работа с несколькими иерархическими деревьями MDM

В один Coach-элемент могут быть вставлено несколько компонентов MDM Tree Coach View. Каждый компонент MDM Tree Coach View должен быть привязан к разному экземпляру бизнес-объекта MDM_Tree. Новая связь может быть создана в web-браузере перетаскиванием совместимого объекта из одного иерархического дерева в папку связей второго (целевого) иерархического дерева – при условии, что оба компонента MDM Tree Coach View совместно используют один и тот же конфигурационный параметр servicePath.

Интеграционные сервисы Save Relationship Changes могут сохранять новые связи, когда конфигурационный параметр servicePath для Coach View указывает на адаптер PhysicalRelationship, VirtualRelationship или VirtualHierarchy в файле BPMConfig.xml. Как показано на рисунке 16, в примере человеческого сервиса Example MDM Human Service для демонстрации включения нескольких иерархических деревьев в один Coach-элемент использован Coach-элемент View Changes.

Рисунок 16. Несколько компонентов Multiple MDM Tree Coach View в Coach-элементе View Changes
A screenshot showing two MDM Tree Coach Views being used in one Coach
A screenshot showing two MDM Tree Coach Views being used in one Coach

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

Экземпляр бизнес-объекта MDM_Tree, который привязан к MDM Tree Coach View, сохраняет изменения, выполненные с использованием иерархического дерева. В дополнение к применению бизнес-объекта для сохранения изменений, связанный бизнес-объект может также быть использован для отображения изменений с помощью нового экземпляра MDM Tree Coach View.

Когда экземпляр бизнес-объекта MDM_Tree привязывается к MDM Tree Coach View, любые изменения, выполненные с использованием иерархического дерева, сохраняются в параметре changeHistory бизнес-объекта. Если бизнес-объект затем привязывается к другому компоненту MDM Tree Coach View в новом Coach-элементе, иерархическое дерево отображает любые изменения, сохраненные в параметре changeHistory. В Coach-элементе View Changes примера Example MDM Human Service есть два компонента MDM Tree Coach View рядом друг с другом. Компонент MDM Tree Coach View, расположенный справа, привязан к тому же экземпляру бизнес-объекта MDM_Tree, который был привязан к MDM Tree Coach View в Coach-элементе View Entity. Иерархическое дерево справа отображает любые изменения, выполненные с использованием иерархического дерева в Coach-элементе View Entity.

Примечание: Если изменения были применены из связанного бизнес-объекта, то иерархическое дерево переводится в режим «только для чтения», и связи не могут быть перемещены или удалены.

Настройка пиктограмм узлов иерархического дерева

По умолчанию, отображаемое иерархическое дерево будет использовать стилевую тему DOJO Claro для оформления пиктограмм (иконок) узлов дерева. С MDM Tree Coach View, вы можете отображать пользовательские пиктограммы с помощью конфигурационного параметра iconClasses. Этот параметр используется для построения соответствия String между типом объекта (entity) и префиксом, указывая на набор классов CSS (каскадные таблицы стилей) для визуального представления состояния узлов иерархического дерева. Классы CSS сконфигурированы с использованием атрибута фоновых изображений в CSS, посредством которого определяется требуемый графический файл для каждого состояния узла. Формат конфигурационного параметра следующий:

{тип объекта}:{префикс класса CSS}, {тип объекта}:{префикс класса CSS}

Тип объекта (entity) – это тип, установленный в файле BPMConfig.xml для объекта в адаптере REST. Вам нужно определить три класса CSS для каждого типа объекта, определяющих состояния узла иерархического дерева: развернутый узел, свернутый узел и краевой узел (leaf; лист/ветвь дерева). Имена классов CSS используют следующее соглашение:

.{prefix}Opened, .{prefix}Closed, .{prefix}Leaf

MDM Tree Coach View содержит три набора пиктограмм, показанных в таблице 1, которые вы можете использовать для настройки собственной пользовательской темы и применять в иерархическом дереве.

Таблица 1. Наборы пиктограмм для настройки MDM Tree Coach View
Префикс класса CSSСостояние «узел развернут»Состояние «узел свернут»Состояние «краевой узел» (лист/ветвь дерева)
ЧеловекIcon for an open nodeIcon for a closed nodeIcon for a leaf node
АдресIcon for an open nodeIcon for a closed nodeIcon for a leaf node
КатегорияIcon for an open nodeIcon for a closed nodeIcon for a leaf node

Например, для использования пиктограмм «Человек» (Person) для всех узлов типа id и типа org, строка iconClasses будет:

id:Person, org:Person

Иерархическое дерево будет теперь использовать три класса CSS – .PersonOpened, .PersonClosed и .PersonLeaf – для отображения состояния узла для каждого типа id и org. На рисунке 17 покказан пример.

Рисунок 17. Coach-элемент View Entity с иерархическим деревом, использующим пиктограммы «Человек» (Person) для узлов типа id
A screenshot showing the Person icon being used in a tree in the View Entity Coach

Пользовательские пиктограммы для конфигурирования MDM Tree Coach View

Для настройки MDM Tree Coach View можно использовать пользовательские пиктограммы. Вам нужно создать файл CSS с помощью шаблона, показанного в листинге 4. Используйте атрибут фоновых изображений background-image в CSS для указания требуемого графического файла.

Листинг 4. Шаблон
.{prefix}Opened {
  background-image: url("<относительный путь от файла CSS к изображению пиктограммы>");
  width: 16px;
  height: 16px;
}

.{prefix}Closed {
  background-image: url("<относительный путь от файла CSS к изображению пиктограммы>");
  width: 16px;
  height: 16px;
}

.{prefix}Leaf {
  background-image: url("<относительный путь от файла CSS к изображению пиктограммы>");
  width: 16px;
  height: 16px;
}
  1. Создайте ZIP-архив с файлом CSS и графикой.
  2. Создайте новый web-файл в вашем приложении процесса BPM и примените ZIP-файл в качестве содержимого web-файла.
  3. Создайте Coach View и добавьте в него CSS-файл, сохраненный в вашем web-файле, используя раздел Included Scripts в окне Behavior, как показано на рисунке 18.
    Рисунок 18. Включение скриптов (сценариев) в Coach View
    A screenshot showing the Behavior panel of a Coach View
    A screenshot showing the Behavior panel of a Coach View
  4. Вставьте Content Box (поле/область блока содержимого) в структуру Coach View. Content Box размещается в категории Advanced палитры (palette) Coach View, как показано на рисунке 19.
    Рисунок 19. Вставка Content Box
    A screenshot showing a Content Box added to a Coach View
    A screenshot showing a Content Box added to a Coach View
  5. Сохраните Coach View.

Content Box не оказывает влияния на конечный пользовательский интерфейс, но позволяет вам вставлять другие элементы Coach View. Таким образом, вы можете использовать Content Box в вашем собственном Coach View для хранения всего содержимого вашего Coach-элемента. Все вложенные Coach View получают доступ к CSS-файлу, включенному в ваше пользовательское представление Coach View.

Ваш Coach View, как показано на рисунке 20, может быть теперь использован для хранения MDM Tree Coach View. Вставьте пользовательский Coach View в Coach-элемент, затем перетащите (drag) MDM Tree Coach View в область для дополнительного содержимого. Отображаемое иерархическое дерево может обращаться к CSS-файлу, включенному в ваш пользовательский Coach View. В область содержимого можно вставлять несколько представлений MDM Tree Coach View. Все иерархические деревья получат доступ к CSS-файлам в пользовательском Coach View.

Рисунок 20. Пользовательское представление Coach View, отображаемое в окне Coach-элементов человеческого сервиса Human Service
A screenshot showing the custom Coach View containing a content box as displayed in the Coaches view in a Human Service

Компонент MDM Tree Coach View можно теперь сконфигурировать, как описано выше в этой статье. Вы можете использовать параметр настройки iconClasses для указания своих собственных, пользовательских префиксов класса CSS (также как и применять имеющиеся классы), и иерархическое дерево будет использовать ваши пиктограммы.

Использование параметра persist

Активация конфигурационного параметра persist в MDM Tree Coach View обеспечит сохранение сеансовых cookie-файлов, которые позволяют иерархическому дереву запоминать, какие узлы были развернуты. После обновления (перерисовки) страницы иерархическое дерево автоматически раскрывает узлы, которые были развернуты до обновления.

Возможность изменений Coach View

MDM Tree Coach View может управлять изменениями в Coach View в режиме Visibility.

  • Параметр Editable (Доступность для редактирования) позволяет иерархическому дереву допускать выполнение операций drag-and-drop (перетаскивание и размещение) из своей структуры и из других иерархических деревьев, а также разрешает удалять связи.
  • Параметр Read Only (Только для чтения) запрещает иерархическому дереву допускать выполнение любых операций drop (размещение); связи также не могут быть удалены или добавлены. Тем не менее, допускается выполнение операций drag (перетаскивание) из иерархического дерева.

Заключение

В этой статье описано, как вы можете настроить и развернуть сервер REST из инструментария MDM Application Toolkit для поиска и извлечения основных данных из виртуального сервера. Мы рассмотрели пример человеческого сервиса, также из комплекта Application Toolkit, и показали, как использовать компонент MDM Tree Coach View для отображения, управления и сохранения основных данных, представленных в форме иерархического дерева. Мы также рассмотрели расширенные функции MDM Tree Coach View, используя несколько иерархических деревьев для дополнительного манипулирования основными данными и настраивая пиктограммы иерархического дерева и его возможности взаимодействия с пользователем.

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


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Information Management
ArticleID=1035001
ArticleTitle=Использование MDM Application Toolkit для создания MDM-центричных бизнес-процессов. Часть 3: Управление иерархиями MDM в BPM с помощью инструментария Application Toolkit
publish-date=07152016