Как можно разбить монолитное приложение на веб-сервисы? - PullRequest
2 голосов
/ 17 марта 2009

Не много занимаясь созданием веб-сервисов, ни с нуля, ни с помощью разрыва существующего приложения, с чего начать? Должен ли веб-сервис инкапсулировать сущность, как это делает класс, или сервис должен иметь больше / меньше этого?

Я понимаю, что многое из этого основано на индивидуальном анализе того, каковы потребности, но есть ли какие-либо общие руководящие принципы или лучшие практики или даже небольшие кусочки информации, которые ветераны веб-службы могут передать родственнику новичок?

Ответы [ 3 ]

1 голос
/ 17 марта 2009

Наши веб-сервисы построены вокруг функциональных областей. Иногда это только для одной сущности, иногда это нечто большее.

Например, если у вас есть CRM, одна из ваших веб-служб может вращаться вокруг управления контактами. Создание, обновление, поиск и т. Д. Если вы выполняете какой-либо тип обработки пакета, может существовать веб-служба для создания и отправки задания.

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

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

Конечно, вам нужно проанализировать ваше приложение, чтобы увидеть, где на самом деле существуют узкие места. В некоторых случаях это не имеет смысла. Например, если у вас есть одно приложение, которое не разделяет свой код и / или узкое место в основном связано с базой данных.

0 голосов
/ 17 марта 2009

Вопрос номер 1: с какой целью вы реорганизуете функциональность своего приложения, чтобы использовать его как набор веб-сервисов?

0 голосов
/ 17 марта 2009

Веб-сервисы - это то, что звучит как Сервисы для Интернета.

Веб-сервис должен быть построен как API для сервисного уровня вашего приложения.

Сервис обычно инкапсулирует сущность, превышающую один класс.

Чтобы узнать больше о сервисных слоях и рефакторинге для добавления сервисного слоя, прочитайте о DDD.

Удачи

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