1. Общее описание
Сервис Формирования документов предназначен для обеспечения возможности формирования документов, в формате XML и PDF, на основе предварительно подготовленных pebble-шаблонов, с возможностью добавления к сформированным документам электронной подписи.
Сервис Формирования документов предназначен для решения следующих задач:
формировать документ, на основе поступившего в Витрину запроса, в формате:
XML;
PDF.
отправлять сформированные документы на подпись в Сервис электронной подписи (например, КриптоПро).
отправлять сформированные и подписанные документы в ПОДД в виде ответа на пришедший запрос.
Формат обмена электронными сообщениями описан в разделе Спецификация модуля «Сервис Формирования документов».
1.1. Общая схема взаимодействия модуля «Сервис Формирования документов»
Рисунок - 1.1 Общая схема взаимодействия модуля «Сервис Формирования документов»
1.2. Процесс обработки запроса через модуль «Сервис Формирования документов»
Запрос на предоставление сформированного документа поступает через Агента ПОДД, в топик report.rq (название топика может быть изменено на этапе внедрения).
ПОДД-адаптер считывает запрос из топика и передает его в Сервис Формирования документов. Сервис Формирования документов запускает соответствующий пришедшему типу документа pebble-шаблон, собирает данные из Витрины (Prostore) и формирует на основании этих данных JSON-файл.
Из содержащейся в JSON-файле информации формируется итоговая форма документа. Для этого используется pebble-шаблон для XML или PDF, предназначенный для генерации документов (см. Pebble-шаблон для формирования XML-документа) и Pebble-шаблон для формирования PDF-документа.
В случае, если электронная подпись не требуется, то PDF-документ сразу пересылается в топик report.rs Kafka ПОДД-адаптера.
Если требуется электронная подпись:
PDF-документ и публичная часть SSH-ключа (pub) будут отправлены в Сервис электронной подписи. Сервис электронной подписи сформирует для этого PDF-документа файл подписи (p7s) и вернет его в Сервис Формирования документов.
Полученный XML или PDF-файл Сервис Формирования документов отправляет в ПОДД-адаптер, в топик report.rs Kafka ПОДД-адаптер.
Агент ПОДД проверяет топик и забирает сформированные документы для передачи в ПОДД.
Внимание
Следует обратить внимание, что при формировании XML-документов используется - присоединенная подпись (подпись содержится в самом XML-документе). Для PDF-документов - отсоединенная подпись (подпись документа формируется отдельным файлом), т.е. при формировании PDF-документа сгенерируется два файла: PDF-документ и файл электронной подписи для этого документа.