Базовая транзакция Ping
Целью базовой транзакции IOTP Ping является проверка коннективности между торговыми ролями, принимающими участие в транзакции. Это позволяет приложению IOTP сделать следующее:
определить, работает ли приложение IOTP другой торговой роли;
проконтролировать, могут ли торговые роли работать с цифровыми подписями.
Например, эта транзакция может быть использована продавцом, чтобы определить, функционирует ли кассир или агент доставки, прежде чем запускать транзакцию, требующую участия этих торговых ролей.
Торговыми блоками, используемыми транзакцией Ping, являются:
блок запроса Ping (смотри раздел 8.14),
блок отклика Ping (смотри раздел 8.15) и
блок Signature (смотри раздел 8.16).
Сообщения PING
На рис. .33 отображен обмен сообщениями прибазовой транзакции Ping.
1. | Приложение IOTP первой торговой роли решает проверить, находится ли в рабочем состоянии соответствующее приложение партнера. Оно генерирует блок запроса Ping, опционный блок подписи и шлет их другой торговой роли. |
1 а 2 | Запрос PING. IotpMsg: блоки Trans Ref; подписи (опционный); запроса Ping |
2. | Вторая торговая роль, которая получает блок запроса Ping, генерирует блок отклика Ping и посылает его отправителю исходного запроса Ping, с блоком подписи, если это требуется. |
1 Я 2 | Отклик PING. IotpMsg: блоки Trans Ref; подписи (опционный); отклика Ping |
3. | Первая торговая роль проверяет блок отклика Ping и выполняет необходимые действия, если это требуется |
Рис. .33. Базовые сообщения транзакции Ping
Верификация того, что подписи могут обрабатываться, осуществляется отправителем блока запроса Ping путем включения:
компонентов Organisation, которые идентифицируют себя и предполагаемого получателя блока запроса Ping;
блок подписи, который гарантирует корректность и целостность запроса Ping.
Получатель запроса Ping таким образом:
знает, кто послал запрос Ping и может следовательно верифицировать подпись запроса;
знает, кто должен генерировать подпись отклика Ping.
Заметим, что запрос Ping:
не влияет на выполнение транзакций;
в отличии от других сообщений IOTP, таких как TPO или статусный запрос, не запускает новых транзакций IOTP.
Все приложения IOTP должны присылать отклики Ping отправителю запросов Ping, сразу по получении.
Базовый запрос IOTP Ping может также содержать опционный блок подписи.
Приложение IOTP может, например, использовать блок подписи для проверки того, способен ли получатель этого запроса формировать и верифицировать цифровые подписи. Для каждой транзакции Ping, каждая роль IOTP может устанавливать различные транспортные сессии. Любая торговая роль IOTP может посылать запрос Ping любой другой торговой роли. Сообщение Ping имеет свой собственный IotpTransId, который отличается от соответствующего параметра других транзакций. Блок ссылок транзакции IotpTransId транзакции Ping должен быть уникальным и отличать данную транзакцию от любых других. Блок запроса PING Если транзакция Ping является анонимной, тогда в блок запроса Ping включается компонент no Organisation (смотри раздел 8.7). Если транзакция Ping не анонимна, то блок запроса Ping содержит компоненты Organisation для:
- отправителя блока запроса Ping;
- верификатора компонента подписи.
- один компонент Signature (смотри раздел 7.19)
- один или более компонентов Certificate, если они требуются.
- компонент Organisation отправителя сообщения-отклика Ping
- копии компонентов Organisation, содержащиеся в блоке запроса Ping.
- один компонент Signature (смотри раздел 7.19);
- один или более компонентов Certificate, если они нужны.