0

我们有一个使用以下技术开发 SaaS 应用程序的想法。

前端 HTML5 UI 框架- ExtJS
后端应用程序- Spring + JPA
数据库- MySQL

请澄清以下事项。

  1. 考虑到“现代 Web 应用程序应该是无状态的”这一事实以用于扩展目的,在这种情况下我如何管理会话?

  2. Spring Security 是否足够成熟以支持 SaaS 应用程序。

  3. 作为一个 SaaS 应用程序,我需要对每个租户进行大量自定义(即在表单中显示自定义字段,在表格中显示自定义列)。实现这一目标的推荐方法是什么?

  4. 根据登录的用户类型,我需要不同的应用程序外观和感觉。假设我需要根据用户角色显示/隐藏选项卡。如何做到这一点?这些角色是否需要下载到浏览器并根据用户角色切换 UI 元素?

  5. 我选择使用单独的架构多租户。Hibernate 是要走的路还是我可以使用任何 JPA(EclipseLink)?

  6. 我需要注意这种组合的任何其他技术限制。

任何输入都会有所帮助。

谢谢,约翰

4

1 回答 1

1

1:我拒绝“现代 Web 应用程序应该是无状态的”的前提,我希望看到一些关于该声明的引用。您可以在有状态的应用程序中实现可扩展性,就像您可以构建一个根本无法扩展的无状态应用程序一样。

2:更多的是一个“商业应用是否足够成熟”的问题?我会说是的,是的。根据您的应用程序的实际要求,它可能适合也可能不适合,但这与成熟度的关系不如功能。

3:根据提供的非常有限的信息很难说。从创建自定义视图实例(jsps、velocity-files、JSF2 视图或您使用的任何视图技术)到动态、数据库驱动的视图再到成熟的 CMS 平台。

4:见上面的答案 3。不过,我一般来说,您构建视图的方式是不呈现用户无权查看的元素。Spring-security 具有用于此类功能的标记库

5:同样,没有足够的信息。Hibernate 4 表面上支持多租户,但您必须验证它是否满足您的特定要求。AFAIK,JPA 标准中还没有多租户的概念。

6:毫无疑问,但不能根据您提供的信息说什么。您提到的技术之间没有固有的不兼容性,但始终存在限制。春天不能煮咖啡。JPA 在开车送孩子上学方面很糟糕。

于 2013-01-04T15:08:32.503 回答