Формулировка проблемы:
Настройка интеграции DT-INT, как на стороне настройки взаимодействия, так и на уровне конфигурирования ARTA Synergy, сейчас является довольно сложной, что влечёт за собой частые ошибки в конфигурировании этого проектными офисами и клиентами ARTA.
Интерфейс рассылки справочников организаций dtint-control сейчас
написан на языке Python
, который не является
основным языком разработки в компании, что влечёт за собой
проблемы с его поддержкой и исправлением в нём ошибок. Кроме
этого, в нем имеются недоработки - например, часть параметров
задаётся в конфигурационном файле, а остальное настраивается
через пользовательский интерфейс.
Решение:
Проект dtint-control
должен быть переписан на
языке Java
с использованием
Google Web Toolkit
и библиотеки графических
компонентов Synergy Components 3
.
При сохранении вновь добавленной либо редактируемой организации или группы организаций необходимо проверять её идентификатор на предмет уникальности.
Поле Email
должно быть валидным адресом
электронной почты.
Следующие поля не должны быть пустыми:
Id
- идентификатор участника
Name
- название
на русском языке
на казахском языке
на английском языке
DecMail
- почтовый адрес организации
IsGroup
- переключатель
"организация/группа"
В случае невыполнения каких-либо из вышеперечисленных условий необходимо выдавать соответствующее предупреждение и вернуть пользователя к редактированию.
Поле кода типа для входящих документов
DocTypeCode
может быть пустым. В этом случае
считается, что код типа документа для организации
"вшит" в форму исходящих документов всех остальных
участников обмена (см. ниже "Валидация организаций").
В пользовательском интерфейсе dtint-control должны быть реализованы следующие настройки:
Адрес отправителя - поле ввода текста (значение будет
подставлено во From:
исходящего
письма). Значение по умолчанию:
admin@dtint-control
Тип сервера - выпадающий список с одним значением
SMTP
Адрес сервера - поле ввода текста, не может быть пустым.
Значение по умолчанию: smtp.arta.kz
Порт - числовое поле, не может быть пустым. Значение по
умолчанию: 25
.
Авторизация - флажок, выключен по умолчанию. Если флажок включен, активируются следующие опции:
Имя пользователя - поле ввода текста (не может быть пустым)
Пароль - поле ввода пароля (не может быть пустым)
Использовать шифрование - флажок, выключен по умолчанию. Если флажок включен, активируется следующая опция:
Тип соединения - выпадающий список с вариантами
SSL
и TLS
(по
умолчанию)
Тип сервера - выпадающий список со значениями
IMAP
(по умолчанию) и
POP3
Адрес сервера - поле ввода текста. Значение по умолчанию:
imap.arta.kz
Порт - числовое поле Значение по умолчанию:
Для выбранного IMAP
-
143
Для выбранного POP3
-
110
Имя пользователя - поле ввода текста, не может быть пустым.
Пароль - поле ввода пароля, не может быть пустым.
Использовать шифрование - флажок. Если флажок включен, активируется следующая опция:
Тип соединения - выпадающий список с вариантами
SSL
и TLS
(по
умолчанию).
Интервал проверки (в секундах) - числовое поле, не может
быть пустым. Значение по умолчанию: 30
.
Максимальное время ответа на запрос валидации (в секундах)
- числовое поле, не может быть пустым. Значение по
умолчанию: 300
(5 минут).
Теперь перед синхронизацией справочников организаций будет происходить также валидация параметров каждой организации, участвующей в обмене документами. В связи с этим необходимо проделать следующее:
Для каждого из пунктов основной таблицы dtint-control, соответствующих организации, необходимо добавить:
Отображение статуса валидации/синхронизации в виде пиктограммы, означающей один из нижеследующих статусов:
Валидация/синхронизация не производилась
Валидация/синхронизация в процессе
Валидация/синхронизация завершилась неудачно
Валидация/синхронизация завершилась успешно
Валидация/синхронизация считается успешной, если каждое из нижеперечисленных условий верно:
получен положительный результат валидации
если среди организаций есть хотя бы одна, для которой не
указан код типа входящего документа, то значение поля формы
исходящего документа <DocDataType/>
у каждой из организаций, участвующих в обмене документами,
должно равняться DocInc
получен положительный результат синхронизации
Валидация/синхронизация считается неуспешной, если:
Получен отрицательный результат валидации
Получен отрицательный результат синхронизации
Ответ на запрос синхронизации/валидации получен в некорректном формате (например, ответ от почтового сервера о несуществовании ящика)
Превышено время ответа на запрос синхронизации/валидации
Кроме этого, в дополнение к вкладкам "Справочники" и "Организации" необходимо добавить новую вкладку "Результат синхронизации", отображающую диагностические сообщения, полученные в процессе валидации и синхронизации.
Отдельный пакет для обработчика dt-int
(arta-synergy-dtint
) должен быть
ликвидирован, а он сам - включён в общую поставку ARTA Synergy.
При этом необходимо:
Добавить необходимые очереди в конфигурационный файл
standalone-onesynergy.xml
по умолчанию
Удостовериться в том, что диагностические сообщения обработчика попадают в общий лог сервера приложений JBoss
Добавить необходимые записи в файл
docflow-observer-configuration.xml
по
умолчанию
Добавить конфигурационный файл dti.xml
и
его схему
Добавить необходимый лог-провайдер в базу данных по умолчанию
Добавить образцы форм в пакет по пути
/opt/synergy/utils/dt-int/example-forms
Необходимо модифицировать текущий запрос на синхронизацию справочников таким образом, чтобы перед проведением синхронизации ещё производилась валидация этой организации.
Запрос на синхронизацию организации должен иметь следующие входные параметры:
Идентификатор проверяемой организации
Код типа входящего документа (может быть пустым)
При получении запроса на валидацию/синхронизацию обработчик dt-int должен произвести проверку следующих условий:
Идентификатор организации
organization-id
в файле
dti.xml
соответствует переданному
идентификатору
Имеется неудалённый тип для исходящих документов со следующими параметрами:
Код типа документа равен
ExtDtiOutDocInc
либо
ExtDtiOutDocInc-идентификатор организации
Настроена форма старого образца
(XForms
)
Привязан журнал типа Исходящий
Имеется неудалённый тип для входящих документов со следующими параметрами:
Код типа документа равен переданному, либо, если
переданный код пуст, то код типа документа должен быть
равен (ExtDtiInDocInc
)
Настроена форма старого образца
(XForms
)
Привязан журнал типа Входящий
Пользователь с идентификатором, указанным в поле
configuration
→
synergy
→ in
→
user
файла
dti.xml
, имеет право на запись в
этот журнал
На адрес отправителя запроса должен быть отправлен ответ, содержащий:
Результат валидации - успешно либо неуспешно
Результат синхронизации справочников - успешно либо неуспешно
Значение поля <DocDataType/>
формы, привязанной к типу для исходящих документов (если
поле отсутствует, считаем, что значение пустое).