Как вы думаете, какая часть неверна? Часть, с которой вы должны обращаться к веб-сервису, или часть, с которой вы напрямую обращаетесь к базе данных?
SOA — это скорее руководство по проектированию API, а не методология разработки. Это не просто реализовать, но награда за повторное использование часто того стоит.
См. Сервисно-ориентированная архитектура расширяет представление о веб-службах или любых технических книга по SOA. Простое объединение вызовов функций с веб-вызовом не делает его сервис-ориентированной архитектурой. Идея SOA заключается в создании повторно используемых сервисов, а затем вы создаете сервисы более высокого уровня (например, веб-сайты) путем компоновки или оркестровки базовых низкоуровневых сервисов. На самом низком уровне вы должны сосредоточиться на таких вещах, как безгражданство, слабая связанность и детализация. Современные фреймворки, такие как Microsoft WCF, поддерживают протоколы проводки, такие как SOAP, REST и более быстрые двоичные файлы.
Если ваше приложение предназначено для работы в Интернете, вам следует помнить о проблемах с задержкой в сети. В традиционном клиент-серверном приложении, развернутом в локальной сети, поскольку задержка составляет менее 10 мс, вы можете обращаться к базе данных каждый раз, когда вам нужны данные, не прерывая работу пользователя. Однако в Интернете нередко бывает задержка в 200 мс, если вы используете прокси-серверы или океаны. Если вы нажмете на базу данных 100 раз, это добавит до 20 секунд паузы. В SOA вы попытаетесь упаковать все это в один документ и обмениваться документами туда и обратно, подобно тому, как налоговая подается с использованием формы 1040, если вы живете в США.
Вы можете сказать, что проблема задержки не имеет значения, потому что веб-служба используется только уровнем вашего веб-приложения. Но вы можете запустить веб-службу из браузера, используя AJAX для перезагрузки данных, что должно сократить время отклика пользователя.
person
Eugene Yokota
schedule
19.04.2010