在我工作的公司,我们正在构建一个用于协作的 Web 应用程序集群。诸如会计,计费,CRM等之类的东西。
我们正在使用 RESTfull 技术:
- 对于数据库,我们使用 CouchDB
- 不同的应用程序通过 http 相互通信并与数据库通信。
- 此外,我们有单点登录解决方案,因此当您登录一个应用程序时,您会自动登录到另一个应用程序。
- 对于所有应用程序,我们都使用 Python(Pylons)。
现在我们需要将即时消息添加到堆栈中。我们需要同时支持 Web 和桌面客户端。但仅仅能够聊天是不够的。我们需要能够实现以下所有(以及更多类似的事情)。
- 当某人被分配到一项任务时,他们必须收到一条消息。我想这可以通过一些系统守护进程来实现。
- 必须有一个选项可以通过许多不同的属性自动将人员分组。例如,必须有按地理位置、按公司分部、按工作类型划分的组(所有来自不同城市和不同公司分部的程序员必须组成一个组),以便可以向选择的组发送大量消息。
- 房间应该自动创建和销毁。例如,当几个人访问同一张发票时,必须自动为他们创建一个房间(并且他们必须自动加入)。而当所有的发票都离开时,房间必须被销毁。
- 来自我们应用程序的身份验证和授权。
我可以使用 hookbox http://hookbox.org/docs/intro.html之类的自定义解决方案来实现这一点 ,但是在支持桌面客户端时我会遇到很多问题。
我以前没有使用即时消息的经验。我最近一直在读这个。我一直在看像 ejabberd 这样的东西。但那是一段艰难的时期,我根本找不到我想要的东西是否可能。
因此,如果在该领域有经验的人可以帮助我提供一些建议、文章、关于可能发生的事情的故事等,我会很高兴。