В чем разница между веб-сервисом и прикладным уровнем кода на сервере приложений? - PullRequest
7 голосов
/ 18 января 2011

Здравствуйте, я новичок в n-уровневой архитектуре и пытался выяснить разницу между тем, что делает сервер приложений, на котором размещается прикладной уровень кода, и тем, что делает веб-служба?

Так что я будуРасскажите людям о моем понимании всей концепции n-уровня: у нас есть пользовательский интерфейс -> веб-сервер -> бизнес-логика / логика приложения на сервере приложений -> сервер базы данных.(Конечно, балансировщики нагрузки и несколько экземпляров сервера также могли бы существовать для закрепления и сохранения состояния процессов)

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

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

Может кто-нибудь объяснить, если чтоЯ только что объяснил выше, верно?И, как я уже упоминал ранее, я новичок в этом, поэтому, если это звучит глупо или наивно, пожалуйста, не ругайте меня :)

1 Ответ

19 голосов
/ 18 января 2011

Вот краткое, грязное и очень общее объяснение 4-уровневой архитектуры, которое, как я полагаю, лучше всего применимо к вашему приложению:

Уровень представления : интерфейс длявнешний мир (веб-сайт) Уровень приложений : Механика, необходимая для создания интерфейса (ов) с внешним миром (фреймворки веб-приложений, веб-сервисы) Уровень бизнес-логики : Фактическая логика, которая воплощает / имитирует / эмулирует процессы и рабочие процессы вашего бизнеса (алгоритмы, преобразования, процессы утверждения и т. Д.) Уровень базы данных : База данных и логика, необходимые для запроса информации из нее

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

Веб-службы, уровни приложений и бизнес-логика удачно сравниваются с Coca-Cola и ее бизнесом.Бутылки и банки, как правило, - это то, как Джо Блоу потребляет продукт Coke (например, веб-сайт на уровне презентации), но другие компании хотят иметь возможность предлагать Coca-Cola своим клиентам, поэтому Coke позволяет им использовать газированную воду и Coca-Cola.сироп (например, веб-сервисы на уровне приложений).Секретная формула Coke (например, уровень бизнес-логики) и процессы распространения Coke, чтобы доставить его в магазин (например, уровень приложения), скрыты от потребителя.Джо Блоу не волнует, как он попадет в магазин, он просто знает, что может получить колу из различных источников (веб-сайт, мобильный клиент и т. Д.).И кока-кола не хочет, чтобы люди знали ее секретную формулу (бизнес-логику).Если вы хотите колу, вам нужно пройти через магазин или ресторан (одобренные интерфейсы).

...