В компьютерной науке , запрос-ответ или запрос-ответ является одним из основных методов компьютеры используют для общения друг с другом в сети , в которой первый компьютер посылает запрос на некоторые данные и второй откликается на просьбу. Более конкретно, это шаблон обмена сообщениями, в котором запрашивающая сторона отправляет сообщение запроса системе-ответчику, которая принимает и обрабатывает запрос, в конечном итоге возвращая сообщение в ответ. Это аналог телефонного звонка, в котором вызывающий должен дождаться ответа получателя, прежде чем что-либо будет обсуждаться. Это простой, но мощный шаблон обмена сообщениями, который позволяет двум приложениям поддерживать двусторонний диалог друг с другом по каналу ; это особенно часто встречается в архитектурах клиент-сервер . [1]
Для простоты этот шаблон обычно реализуется чисто синхронным образом, как в вызовах веб-службы по протоколу HTTP , который удерживает соединение открытым и ожидает, пока не будет доставлен ответ или истечет период тайм-аута . Однако запрос-ответ также может быть реализован асинхронно , когда ответ будет возвращен в неизвестное позднее время. Когда синхронная система взаимодействует с асинхронной системой, это называется «синхронизация через асинхронность» или «синхронизация / асинхронность». [2] Это обычное явление в реализациях интеграции корпоративных приложений (EAI), где необходимо выполнить медленное агрегирование , требующие много времени функции или человеческий рабочий процесс , прежде чем можно будет создать и доставить ответ.
Напротив, односторонняя компьютерная связь, аналогичная функции push-to-talk или «вторжения», которая есть на некоторых телефонах и двусторонних радиостанциях , отправляет сообщение, не дожидаясь ответа. Отправка электронной почты является примером односторонней связи, а другим примером являются датчики fieldbus , такие как большинство датчиков CAN-шины , которые периодически и автономно отправляют свои данные, независимо от того, прослушивают ли их какие-либо другие устройства на шине. (В большинстве этих систем используется протокол «слушай перед разговором» или другой протокол, основанный на конкуренции, поэтому несколько датчиков могут передавать периодические обновления без какой-либо предварительной координации.)
Смотрите также
Рекомендации
- ^ Хохпе, Грегор. Шаблоны корпоративной интеграции: проектирование, создание и развертывание решений для обмена сообщениями . ISBN 0-321-20068-3 . п. 184
- ^ «Коммутатор Sync-over-Async - блог поддержки продуктов IBM Business Process Management» . 2009-10-20.