2011-05-21 98 views
10

在擴展我的知識方面,我想嘗試製作一個SaaS應用程序。我真的不關心應用功能,但我想了解它背後的技術。所以我的問題是,會有人如此善良,並告訴我從哪裏開始?一些很好的閱讀,教程,文章或書籍?我最感興趣的是:SaaS應用程序從零開始

  • 每個用戶,登記後,有在username.domain.com
  • 應用程序應該使用某種類型的主腳本的系統將生成內容爲所有用戶自己的遊樂場
  • 什麼是這樣的應用程序的陷阱?
  • 需要什麼技術後端?

我對Ruby on Rails解決方案開放。對不起,我的英語不好,希望我能說清楚。謝謝

+1

首先,「軟件即服務」不是一種商業模式,可以用各種技術來實現嗎?我聽說過在一臺機器上安裝OpenOffice,並讓幾百個用戶可以從遠程機器上使用OpenOffice。閱讀更多:[Wikipedia](http://en.wikipedia.org/wiki/Software_as_a_service) – Tadeck 2011-05-21 13:29:25

+0

[什麼是SaaS?](http://izlooite.blogspot.com/2009/05/what-is-saas。 html) – 2011-06-10 12:15:01

回答

8

您想構建一個多租戶解決方案。

有些事情要考慮:

  • 用戶的每個人都應該有一個獨立的數據庫。這意味着您需要選擇可以在運行時切換數據庫的數據庫驅動程序。數據庫的ID可以基於域的用戶部分。

  • 您可以使用Devise + cancan進行註冊。但是您需要重新定義一些Devise控制器,以便它們考慮數據庫。

  • 您可能會考慮使用Paul Dix的Ruby和Rails閱讀面向服務的設計。它有很多有趣的想法,可以用來構建一個高效的面向服務的應用程序,這無疑是您應該努力創建的那種架構。

  • 我建議你使用Heroku來託管你的應用程序。 MongoHQ對於數據庫來說是非常好的 - 他們有一個API來以編程方式對數據庫進行CRUD。

  • 最後,請記住要全面測試您的應用程序。用於集成測試的Capybara加牛排,用於模型和控制器的RSpec以及用於Javascript的Jasmine。

  • 此外,不要實現自己的支付系統。有很多提供商可以使用,如http://recurly.com/

1

您可能希望如果你喜歡它建立你的自我,看看http://www.chargify.com處理您的支付看一看滑軌套件在http://railskits.com/saas/

+0

Rails套件的+1。我做了購買,這可能是我所做過的最好的購買之一。節省了很多時間! – 2013-04-20 23:00:22