@startuml
box "APO2\nOsopo"
participant "Главная\nформа" AS APO2
participant "Процесс\nвзаимодействия\nс АРМ4" AS Process
database "БД\nAPO2" AS db
end box
participant "<b>АРМ4</b>\nWeb Services" AS ARM4
participant "<b>SPLUNK</b>" AS Splunk
APO2 -> Process : Загрузить договор в ARM
activate Process
Process -> ARM4 : createAgentStatement
alt нет соединения
Process -> Splunk : ошибка <b>нет соединения</b>
else получен валидный ответ
ARM4 --> Process : createAgentStatementResponse
alt status != 18
Process -> Process : отчет агента не создан
Process -> Splunk : ошибка <b>ОА не создан</b> (+ подробности)
else status == 18
loop timeout && status != F*
Process -> ARM4 : getResultProcessing
ARM4 --> Process : getResultProcessingResponse
end
Process --> APO2 : статус загрузки ОА
deactivate Process
alt status == F0
APO2 -> APO2 : ОА загружен
APO2 -> Splunk : успешно загружен договор OSOPO в АРМ4
else status != F0
APO2 -> APO2 : ошибка загрузки ОА
APO2 -> Splunk : ошибка при загрузке договора OSOPO в АРМ4 (+ подробности)
end
end
end
APO2 -> db : сохранить xml-файлы сеанса связи с АРМ4\n(запросы и ответы)
@enduml