【发布时间】:2012-04-11 04:08:41
【问题描述】:
我的团队一直在为内部使用的单一 Rails 应用程序开发一堆模块。例如,这些模块是请假请求、员工信息、任务/待办事项等。每个模块都有自己的用途,但以某种方式与员工资料和用户身份验证等公共信息相关联。每个模块都分配了一个开发人员,他们将代码提交到同一个 Rails 应用程序。目前,维护代码和规模非常困难。现在,我正在研究将应用程序分解为小型分布式应用程序,并使它们成为一个生态系统。这是我正在寻找的概念:
- 应该有一个主应用程序来维护其他客户端应用程序的视图。更好的是,它充当其他客户端应用程序插入它的平台。员工登录此主应用以访问客户端应用。
- 主应用程序应使用 AJAX 或其他方式(未决定)呈现客户端应用程序的视图。
- 虽然我想分解应用,但每个应用仍然应该能够从生态系统中的其他客户端应用中查询资源/数据,例如员工档案。
- 其实我还没有决定每个app的交互。向我们思考 RESTful(未决定)。
- 它应该支持每个开发者可以独立开发每个应用程序的开发环境。因此,在自己的 git 存储库中维护自己的代码。这可能是首先分解应用的主要目的。
我正在阅读使用 Ruby on Rails 进行面向服务的设计这本书,但似乎他们专注于将应用程序分解为不同的小型服务,而我想要拥有不同的小型应用程序。只是想知道是否还有其他方法可以做。
抱歉,问题太长了,问的太多了。只是想知道您是否遇到过同样的情况,并且可以指导我阅读一些文章、社区、书籍,以便我可以继续进行更多研究。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1 soa