В настоящее время я работаю над небольшим проектом, посвященным веб-сервисам в.NET, моя проблема заключается в следующем.
У меня есть Bank WebService, который "обрабатывает" перевод денег, а еще одну услугу "Предложение", что я хотел бы сделать, чтобы Банковский сервис сообщал мне свою услугу предложения, когда происходит какой-то денежный перевод. Одним из решений было бы прямо позвонить в службу обслуживания, но это не лучшее решение. Я думал о UDDI, но это слишком много работы, я думаю. Насколько я понимаю, ESB можно использовать здесь, но, честно говоря, я понятия не имею, как его использовать. Я имею в виду, как я могу позвонить в службу обслуживания из банковского обслуживания без прямого звонка.
Возможно, NServiceBus можно использовать здесь, но опять же не знаю, как заставить его работать с WCF. Есть предположения?
Edit: Ok, чтобы сделать его более ясным, я хотел бы знать, как я мог бы пользователь ESB или другая инфраструктура/служба развязать WebServices, чтобы тот не вызывал напрямую другого.
Одним из решений было бы прямо позвонить в службу обслуживания, но это не лучшее решение.
Зачем? Это хорошее решение. Многие системы работают так. Я не уверен, почему вы думаете, что обмен сообщениями волшебным образом разрешит эту проблему. Фактически, обмен сообщениями - это еще один тип общения.
Вы должны использовать одну и ту же технологию связи для вызова одной службы в другую службу. Это уменьшает сложность. Меньше вещей, чтобы учиться, меньше мест для того, чтобы что-то пошло не так, и, что более важно, тот же API связи, когда вы используете Bank WebService, Offer Service или и то, и другое.
Вам также может потребоваться использование транзакции или распределенной транзакции. Локальная транзакция намного проще реализовать и является предпочтительным способом защиты операций ".