Совместное использование сессий на море с помощью Gemstone/S

Я пишу веб-приложение, используя VisualWorks Smalltalk, Seaside и Gemstone/S.

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

Я хотел бы понять, возможно ли совместное использование состояния сеанса с помощью базы данных Gemstone/S. Это означает, что можно использовать прямую балансировку нагрузки http, и мне не нужно беспокоиться о сходстве изображений для большого количества пользователей.

Я вижу, что все это делается «бесплатно» с реализацией Seaside в Gemstone, но я хотел бы использовать Visualworks, потому что у него гораздо более мощная IDE, и я уже с ней знаком. Все ссылки, которые я могу найти в Google, предполагают использование Gemstone smalltalk и реализацию Seaside в Gemstone.

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


person rich carter    schedule 25.03.2013    source источник


Ответы (2)


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

person Davorin Ruševljan    schedule 26.03.2013

В нашем приложении используется тот же стек (Seaside, VW, GS), но мы не используем полный интерфейс GBS между VW и GS, который позволяет одному образу VW обслуживать несколько сеансов Seaside. Однако даже в этом сочетании требуется привязка сеанса к каждому образу VW.

Ваши причины для разработки вашего приложения Seaside в VW имеют смысл. Это действительно лучшая среда разработки, но вы можете рассмотреть возможность разделения разработки и развертывания: написать свой код в VW и развернуть в GLASS. Это обычный способ использования GLASS, хотя и с Pharo для разработки.

person Bob Nemec    schedule 26.03.2013