С сохранением информации по сравнению с веб-сервисами не сохраняющими состояние

Вообразите более сложное Приложение типа 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 

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

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

13
задан Christopher Klewes 6 April 2010 в 21:12
поделиться

3 ответа

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

9
ответ дан 2 December 2019 в 00:45
поделиться

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

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

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

2
ответ дан 2 December 2019 в 00:45
поделиться

В штате также прячется большинство ошибок.

2
ответ дан 2 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: