2011-05-21 141 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