Опыт работы с одним экземпляром мультитенантного веб-приложения в Seam? - PullRequest
2 голосов
/ 24 мая 2009

Есть ли у вас опыт работы с Seam в мультитенантной установке с одним экземпляром? Шов подходит для этой установки? Как ты это понял? Каковы были расходы?

Наша ситуация: веб-приложение SaaS Seam 2.1 (POJO, без EJB). Имеющийся бюджет на разработку вынудил нас перейти к упрощенной схеме «один экземпляр на каждого арендатора». Приложение еще не запущено, но почти готово.

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

Ответы [ 2 ]

2 голосов
/ 26 мая 2009

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

Единственной функциональной возможностью, которая может быть полезна, являются фильтры гибернации (например, иметь идентификатор компании на каждой таблице и устанавливать для нее фильтр гибернации). Означает, что к каждому запросу автоматически добавляется этот идентификатор.

0 голосов
/ 02 сентября 2009

У меня есть класс с именем User, и он имеет в качестве членов все эти данные пользователей. Так, например, существует отношение один ко многим от пользователя к задаче. Тогда мой запрос для всех пользовательских задач просто: select task from Task task, User user where user.id = #{user.id} and task member of user.taskList. Я мог бы также использовать фильтры, как уже упоминал другой. Тем не менее, поскольку объект # {user} создается при входе в систему, он доступен посредством анализа шва строки EL. Довольно удобно. Так что, хотя в Seam нет ничего, что поддерживало бы мультитенант, это довольно легко сделать.

...