Ваш сеанс в WebService представлен некоторым идентификатором SessionID, который вам нужно сохранить / pool. Так что вам в основном нужно объединить ответ WebService (или его часть), который возвращается операцией входа в систему. Этот ответ может остаться в пуле не более, чем время ожидания сеанса на стороне WebService.
Если ваш сеанс WebService действителен в течение нескольких дней на стороне сервера, и вы хотите восстановить открытые сеансы, например, после. сбой на стороне клиента, или вы хотите разделить открытые сессии между несколькими клиентами через БД, тогда я бы использовал БД.
В противном случае, если у вас есть только один клиент, или все в порядке, что у каждого клиента есть свой небольшой кэш, я бы использовал пул в памяти. В качестве альтернативы вы можете подумать о совместном использовании этого пула между клиентами / несколькими приложениями с помощью Ehcache / Terracotta . И, между прочим, эти кэши позволяют вам выгружать содержимое содержимого пула на диск, что может быть хорошей альтернативой готовой БД.