Адаптер предусматривает возможность создания пользовательских
связываний данных в соответствии с потребностями применяемой среды. Пользовательское
связывание данных - это класс Java, предназначенный для преобразования потока
данных в бизнес-объекты в ходе входящей обработки и бизнес-объектов в
поток данных в ходе исходящей обработки.
Операции экспорта и импорта информационной системы предприятия (EIS) и JMS
можно настроить для вызова пользовательских связываний данных.
Описание задачи
Описание задачи
Следующая процедура позволяет создать
пользовательские связывания данных.
Инструкции по выполнению задачи
Шаги этой задачи
- Реализуйте пользовательское связывание данных с помощью
интерфейса commonj.connector.runtime.RecordHolderDataBinding. Этот интерфейс расположен в файле
commonj.connector.jar, который входит в состав
динамических библиотек WebSphere Process Server.
- Создайте пользовательское связывание данных с помощью входящей или
исходящей информации, приведенной ниже.
- Для преобразования потока данных в бизнес-объект в ходе входящей
обработки адаптер вызывает методы public void setRecord(Record arg0) и public
DataObject getDataObject() пользовательского связывания данных. Сначала
вызывается метод setRecord, затем - getDataObject.
- Метод setRecord принимает com.ibm.j2ca.base.UnstructuredRecord в качестве
параметра. Этот класс входит в состав файла Jar основных классов адаптера.
Запись бизнес-объекта в виде текста или массива byte[] отправляется
пользовательскому связыванию данных. Кроме того, отправляется прочая
обязательная информация.
- Метод getDataObject() получает запись бизнес-объекта, выполняет
преобразование данных и возвращает требуемый бизнес-объект.
- Метод getRecordName() в записи без структуры получает полное пространство
имен, с помощью которого можно создать экземпляр бизнес-объекта и извлечь (см. шаг 3)
любые данные ASI, указанные в аннотации.
ASI применяется связыванием данных. Например:
recordName =
http://www.ibm.com/xmlns/prod/websphere/j2ca/ftp/customerwrapperbg/CustomerWrapperBG
namespace
= http://www.ibm.com/xmlns/prod/websphere/j2ca/ftp/customerwrapperbg
object
name = CustomerWrapperBG
- Для преобразования бизнес-объекта в поток данных в ходе исходящей
обработки адаптер вызывает методы public void setDataObject(DataObject
dataObject) и public Record getRecord() пользовательского связывания данных.
Сначала вызывается метод setDataObject, затем - getRecord.
- Метод setDataObject принимает бизнес-объект в качестве параметра. Вывод
метода getRecord должен соответствовать типу
com.ibm.j2ca.base.UnstructuredRecord.
- Информация о приложении извлекается из входного бизнес-объекта (см. шаг 3).
- Метод getRecord выполняет необходимое преобразование и возвращает исходные
данные в формате записи без структуры.
Пример исходных данных EIS в виде текста с ограничителями:
Employee~Create~sarath~IBM~Bangalore~560071
Схема бизнес-объекта:
complexType name="Employee"
sequence maxOccurs="1" minOccurs="1"
element maxOccurs="1" minOccurs="0" name="name" type="string"/
element maxOccurs="1" minOccurs="0" name="company" type="string"/
element maxOccurs="1" minOccurs="0" name="city" type="string"/
element maxOccurs="1" minOccurs="0" name="zip" type="string"/
/sequence
/complexType
- Для обращения к информации о приложении, указанной в аннотации
бизнес-объекта, применяется файл
CWYBS_AdapterFoundation.jar, содержащий класс com.ibm.j2ca.base.AdapterBOUtil. В
состав этого класса входит метод, предназначенный для извлечения из
бизнес-объекта информации о
приложении.
- С помощью методов API бизнес-объектов извлеките из аннотации все значения. Вывод представляет собой бизнес-объект, содержащий информацию о
приложении.
- В случае входящей обработки создайте экземпляр бизнес-объекта на
основе значения recordName, содержащегося в записи без
структуры.
- В случае входящей обработки вызовите
getMetadataForObject() путем передачи бизнес-объекта в
качестве параметра.
Дальнейшие действия
Дальнейшие действия
Настройте пользовательское связывание данных в соответствии с
инструкциями, приведенными в файле
катало-WPS\samples\doc\CustomEISDataBinding\index.html.