SOA-сервис, перезванивающий клиента - PullRequest
1 голос
/ 21 сентября 2010

Это скорее теоретический вопрос, чем практический, но, учитывая, что я понимаю принципы SOA, я все еще немного не уверен, можно ли это применить к любому приложению.

Обычный пример - это когдаклиент хочет узнать что-то от сервера, поэтому мы реализуем сервис, который может предоставлять эту информацию по запросу клиента, он может быть без состояния или с состоянием и т. д.

Но что происходит, когда мы хотим получать уведомления, когда что-то происходит?на сервере, возможно, мы вызываем службу для регистрации поиска и хотим получать уведомления, когда на сервер поступает новый элемент, который соответствует или выполняет поиск.Конечно, это можно реализовать с помощью опроса и использовать это с использованием длинных тайм-аутов, но я не вижу способа в обычных протоколах получать события с сервера, не позвонив и не спросив.

Если вы можете указать мнек примеру, или скажите мне архитектуру, которая могла бы поддерживать тогда, вы сделали мой день.

Ответы [ 2 ]

0 голосов
/ 17 октября 2011

Вы хотите использовать дизайн публикации-подписки.Если вы используете WCF checkout Программирование WCF от Juval Lowery.В приложении он показывает, как построить систему Pub-Sub, которая на самом деле полностью Per-Call.Он даже не полагается на CallbackContracts и сохраняет открытыми долго работающие каналы, поэтому не требует никакой логики переподключения, когда связь нарушена ... не говоря уже о необходимости какого-либо опроса.

0 голосов
/ 01 октября 2010

Рассматривали ли вы pub-sub (т.е. WS-Eventing, WS-Notification)?Это обычные средства распространения информации на заинтересованных потребителей / подписчиков.

...