2013-01-04 74 views
0

我們有一個使用以下技術開發SaaS應用程序的想法。使用ExtJS + Spring + MySQL的Saas

前端HTML5 UI框架 - ExtJS的
後端應用 - 彈簧+ JPA
數據庫 - MySQL的

請說明下面的東西。

  1. 考慮到「現代Web應用程序應該是無狀態的」這個事實,爲了擴展目的,我如何在這種情況下管理會話?

  2. Spring Security是否足夠成熟以支持SaaS應用程序。作爲一個SaaS應用程序,我需要爲每個租戶進行大量的自定義(即在表單中顯示自定義字段,在表格中顯示自定義列)。推薦的方法是什麼?

  3. 根據用戶的登錄類型,我需要不同的應用外觀和感覺。假設我需要根據用戶角色顯示/隱藏選項卡。如何實現這一目標?是否需要將這些角色下載到瀏覽器並根據用戶角色切換用戶界面元素?

  4. 我選擇使用單獨的模式Multitenancy。 Hibernate是否可行?或者我可以使用任何JPA(EclipseLink)?

  5. 任何其他技術限制,我需要知道這種組合。

任何輸入信息會對您有所幫助。

感謝, 約翰

回答

1

1:我反對的前提是「現代Web應用程序應該是無狀態」,我想看到一些引用了這句話。您可以在完全的應用程序中實現可擴展性,因爲您可以構建一個根本無法擴展的無狀態應用程序。

2:這更多的問題是「商業應用程序足夠成熟嗎?」我會說是,是的。根據您的應用程序的實際要求,它可能適用也可能不適用,但這與成熟度不如功能相關。

3:很難說基於提供的非常有限的信息。從創建自定義視圖實例(jsps,velocity-files,JSF2視圖或使用哪種視圖技術)到動態的,數據庫驅動的視圖到全面的CMS平臺。

4:參見上面的答案3。但我總的來說,你以這樣的方式構建視圖,即用戶無權查看的元素不會被渲染。 Spring-security具有此類功能的標籤庫

5:同樣,沒有足夠的信息。 Hibernate 4表面上支持多租戶,但您必須驗證它是否滿足您的特定要求。 AFAIK,在JPA標準(尚未)中沒有多租戶概念。

6:毫無疑問,但不能根據您提供的信息說什麼。您提到的技術之間沒有固有的不兼容性,但始終存在侷限性。春天不能煮咖啡。 JPA很難讓你的孩子上學。