Протоколы Internet


Открытый торговый протокол Интернет– IOTP версия 0 - часть 33


4.4. Idempotency, последовательность обработки и поток сообщений

IOTP-сообщения представляют в действительности комбинацию блоков и компонентов, как это описано в 3.1.1 (Структура сообщений IOTP). В будущем при расширении IOTP разнообразие таких комбинаций еще более расширится. Важно, что многократные приемы/передачи одного и того же запроса изменения состояния имеют тот же результат, как и однократная передача/прием этого запроса. Это называется идемпотентностью. Например, покупатель, оплачивая заказ, желает оплатить его только раз. Большинство сетевых транспортных механизмов имеют определенную вероятность доставки одного сообщения несколько раз или не доставить ни разу, что потребует позднее повторной передачи. С другой стороны, запрос состояния можно повторять и при этом каждый раз должно обрабатываться вновь полученное значение. Правильная реализация IOTP может моделироваться по разному различными процессами.

4.5. Последовательность обработки для роли сервера

"Роли сервера" – это любые торговые роли, несовпадающие с ролью Покупателя. Они являются "ролями сервера", так как они обычно получают запросы, которые они должны обработать и посылать на них отклики. Однако Роли сервера могут также инициировать транзакции. Более конкретно роли сервера должны быть способны:

o

Инициировать транзакцию (смотри раздел 4.5.1). Это могут быть:

 

-

платеж, связанный с транзакцией;

&nbsp

-

инфраструктурные транзакции.

o

Принять и обработать сообщение полученное от другой торговой роли (смотри раздел 4.5.2). Сюда относится:

 

-

идентификация, если сообщение принадлежит транзакции, которая была запущена ранее;

 

-

обработка сообщений-дубликатов;

 

-

генерация переходных ошибок, если сервер, который обрабатывает входные сообщения перегружен;

 

-

обработка сообщения, если оно лишено ошибок и авторизовано, и при благоприятном исходе, послать отклик отправителю сообщения.

o

Аннулировать текущую транзакцию, если поступил такой запрос (смотри раздел 4.5.3)

o

Повторно передать сообщение, если ожидается отклик, который не поступил за определенный период времени (смотри раздел 4.5.4).

<


Начало  Назад  Вперед