我正在寻找一个允许与Web应用程序紧密集成的消息传递平台(如XMPP)

时间:2010-05-14 12:09:00

标签: python pylons couchdb xmpp ejabberd

在我工作的公司,我们正在构建一个用于协作的Web应用程序集群。会计,账单,客户关系管理等等。

我们正在使用RESTfull技术:

  1. 对于数据库,我们使用CouchDB
  2. 不同的应用程序通过http。
  3. 相互通信并与数据库通信
  4. 此外,我们在解决方案上有一个单点登录,因此当您在一个应用程序中登录时,您将自动登录到另一个应用程序。
  5. 对于所有应用,我们都使用Python(Pylons)。
  6. 现在我们需要向堆栈添加即时消息。 我们需要支持Web和桌面客户端。但只是能够聊天是不够的。 我们需要能够实现以下所有(以及更类似的事情)。

    1. 当某人被分配到某个任务时,他们必须收到一条消息。我想这可以通过一些系统守护进程实现。
    2. 必须有一个选项,可以通过许多不同的属性自动将人群分组。例如,必须按地理位置,公司划分,工作类型(来自不同城市和不同公司部门的所有程序员必须组成一个组)划分组,以便可以将群发消息发送给一组选择。
    3. 应自动创建和销毁房间。例如,当多个人访问同一张发票时,必须自动创建一个房间(并且他们必须自动加入)。当所有人都离开发票时,必须销毁房间。
    4. 我们的应用程序的身份验证和授权。
    5. 我可以使用自定义解决方案来实现此功能,例如hookbox http://hookbox.org/docs/intro.html 但是在支持桌面客户端时我会遇到很多问题。

      我以前没有使用即时消息的经验。我最近一直在读这个。我一直在寻找像ejabberd这样的东西。但这是一段艰难的时期,我无法找到我想要的是否可能。

      如果有这方面经验的人能帮助我提供一些建议,文章,可能的故事等,我会很高兴。

2 个答案:

答案 0 :(得分:1)

就像上面提到的frx一样,StropheJS人员有一本关于web + xmpp编码的优秀书籍,但是既然你提到你没有这种编码的经验,我建议你和一些人交谈:)它会节省你的时间从长远来看 - 不是说我不会尝试实施frx概述,它可能是一个有趣的项目:)

我知道有一个团队已经实现了类似的东西,并与他们聊天将有助于巩固你的想法:http://andyet.net/(除了XMPP开发社区这一事实之外,我根本不隶属于他们很小,我们往往互相认识:)

答案 1 :(得分:0)

所有目标都可以通过ejabberd,strophe和小型服务器端脚本来实现

  1. 当某人被分配到任务时,服务器端脚本可以轻松地向xmpp服务器进行身份验证,并将消息节发送到指定的JID。这是一项微不足道的任务。
  2. 要将不同的人分组,可以通过网络聊天应用轻松完成,如果这些用户属性存储在某个地方。只需在身份验证后将其加入特定的多用户聊天室。
  3. Ejabberd可以自动创建和销毁房间。
  4. Ejabberd有各种授权方法,包括数据库和脚本auth
  5. 你可以看看StropheJS库,他们发行了很棒的书(平装)。建议您阅读本书http://professionalxmpp.com/