Выбор системы обмена сообщениями через веб-сервисы, такие как SOAP - PullRequest
1 голос
/ 10 сентября 2010

В данный момент я работаю над проектом, который предусматривает создание системы совместно с другим техническим партнером.Система обеспечит функциональность типа «мониторинг», и операции будут выполняться долго, а многочисленные «события» будут возвращаться и обрабатываться / возвращаться пользователю.

Моей первоначальной реакцией было создание веб-службы, которая выполняла всю эту обработку, помещала результаты в базу данных и позволяла запрашивать ее у другого технического партнера (через некоторый интерфейс службы .NET WCF).,Это то место, где у меня больше всего опыта создания таких решений в прошлом.Это выглядит довольно глупо, хотя в этом случае общение происходит путем прикрепления чего-либо в базе данных и предоставления доступа другому процессу к ним.

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

Есть ли у кого-нибудь мысли / опыт, чтобы сделать этот тип выбора?Также целесообразно использовать комплексные подходы в рамках одного решения?

1 Ответ

0 голосов
/ 13 сентября 2010

Краткий ответ: все подходы приемлемы, если предположить, что существует множество контекстов, которые определяют их необходимость.

Если уместен синхронный вызов (возможно, это веб-интерфейс?) тогда я хотел бы, чтобы веб-сервис был «лучше»;если асинхронный более уместен, тогда очередь сообщений может показаться естественным ответом.

С WCF вы можете выбирать между несколькими различными типами привязки - включая веб-службы, обмен сообщениями и удаленное взаимодействие - так что теоретически вы можете изменитьтип привязки через config всякий раз, когда вы хотите.

Естественно, есть некоторые ошибки, однако: при вызове службы не должно ожидаться возвращаемое значение;NetMsmqBinding поддерживает только одностороннюю связь.

Это может представлять интерес при использовании WCF: Таблица решений по привязке WCF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...