SOA: WCF и веб-приложение - накладные расходы на связь - PullRequest
2 голосов
/ 25 августа 2011

Я работаю над архитектурой системы крупного предприятия. Есть требования иметь несколько мобильных клиентов, веб-интерфейс и API для внешних приложений. Итак, очевидно, что мы должны реализовать сервис-ориентированную архитектуру. Мы будем использовать WCF в качестве сервисного уровня и ASP.Net MVC в качестве платформы для веб-приложения.

Мне интересно, как реализовать взаимодействие между веб-приложением и сервисным уровнем. В большинстве случаев они будут размещены на одном сервере. Только крупные клиенты могут использовать отдельные серверы для уровня обслуживания и веб-приложения. Использование http-привязки для взаимодействия между сетью и сервисом выглядит с точки зрения производительности очень плохой идеей. Можно ли использовать WCF, размещенный на том же сервере (или даже внутри того же процесса .Net), что и приложение MVC, без затрат на связь?

Ответы [ 2 ]

1 голос
/ 25 августа 2011

Если вы общаетесь с WCF, всегда будут накладные расходы. Поэтому я думаю, что более уместным является вопрос о том, можно ли справиться с этими накладными расходами или нужно ли их смягчать другими способами.

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

1 голос
/ 25 августа 2011

Вы можете попробовать привязку межпроцессного взаимодействия , которая считается самой безопасной (не принимает вызовы с другого компьютера) и самой быстрой (легче, чем TCP) привязки, которую поддерживает WCF.

...