OData - это протокол без состояний протокол , то есть сервер отвечает на ваш запрос, а затем забывает, что вы когда-либо были там.По определению, это не позволяет переносить содержимое основной памяти из одного запроса в другой.
Пользовательские интерфейсы, с другой стороны, обычно требуют состояния.Его можно получить с помощью одной из следующих опций:
Пользовательский интерфейс с отслеживанием состояния
Как отмечает Haojie, одним из решений является сохранение данных, выбранных в пользовательском интерфейсе, и передача их в видекритерий фильтра обратно на сервер со следующим запросом.Наличие пользовательского интерфейса с отслеживанием состояния является стандартным решением для серверных приложений без сохранения состояния.
Сохранение с сохранением состояния
Другой вариант - постоянное хранение данных в базе данных сервера, предпочтительно в ABAP, в бизнес-объекте.Этот объект имеет уникальный идентификатор, возможно, GUID, на который вы можете ссылаться в своих запросах, чтобы идентифицировать процесс, над которым вы работаете.
Черновое сохранение
Если не вся информация доступна за один шаг, например, в многошаговом мастере, не должен сразу становиться «активным», или вы хотите иметь возможность переключать устройства во время работы над многоступенчатым процессом, черновики являются опцией.Черновики - это обычные бизнес-объекты, единственной особенностью которых является то, что они остаются инертными до тех пор, пока пользователь не выполнит последний шаг активации.
Мягкое состояние
Для оптимизации производительности вы можете взглянуть на Режим мягкого состояния SAP Gateway , который позволяет буферизовать некоторые данные, чтобы иметь возможность быстрее реагировать на связанные запросы.Это, как правило, не рекомендуется, так как противоречит парадигме OData без состояния.
Протокол с отслеживанием состояния
В некоторых случаях протоколы без сохранения состояния, такие как OData, не являются правильным способом.Например, банковские приложения по-прежнему предпочитают сохранять состояние, чтобы избежать бесконечного входа пользователей в систему и, таким образом, стать уязвимыми для таких атак, как CSRF.Если это так, вам следует взглянуть на ABAP WebDynpro для вашего пользовательского интерфейса.Как правило, серверные протоколы с сохранением состояния считаются низшими, поскольку они связывают множество серверных ресурсов в течение длительного времени и, следовательно, не могут обрабатывать большее количество пользователей.