Подтвердить что ты не робот

Учет состояния и безстоящих веб-сервисов

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


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

Безстоящие веб-службы, имеющие следующие свойства (в нашем случае):

+ high scalability
+ high availability
+ high speed
+ rapid testing
- bloated contract
- implementing more logic on server-side

Но мы можем перечеркнуть первые две точки, наше приложение не нуждается в высокой масштабируемости и доступности.

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

+ simplifies contract (protocol)
- bad testing
- runs counter to the basic architecture of http 

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

Так почему это плохо для веб-сервисов?

4b9b3361

Ответ 1

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

Ответ 2

Состояние, где большинство ошибок также скрывается.

Ответ 3

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

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

P.S. Я предполагаю, что вы находитесь в контейнере, который позаботится о том, чтобы отслеживать сеансы для вас.