你错过了一个基于SIP的选项。SIP和XMPP一直被认为有些重叠,尽管XMPP似乎在即时消息的特定情况下胜出。我对SIP上的IM一无所知。
我会选择XMPP,因为:
-
-
有很多现成的客户,包括适合银行客户(AJAX)和适合银行经理(桌面)的客户。
-
IM over XMPP很常见。SIP最常见的情况是VoIP。如果你试图通过SIP获得IM的帮助,大多数SIP专家往往比IM更了解语音。如果你试图通过XMPP获得IM的帮助,XMPP专家一直都在处理这个问题。这同样适用于文档:SIP文档将倾向于围绕VoIP。
-
在我看来,使用不支持XMPP或SIP的解决方案在开发方面是一个死胡同。甚至谷歌和Facebook现在也在使用XMPP。XMPP现在看来是一个经得起未来考验的选项。
-
-
如果您最终定制的东西越来越多,XMPP是精心设计,明确规定和良好的基础开始。您可以增量地替换web客户机、桌面客户机和服务器,而不会造成中断或头痛。
一些可能的警告:
-
XMPP服务器
与其他人交谈,因为协议是设计为联邦的。你必须确保这不会发生。XMPP通常在5222上为客户机服务器和5269上为服务器服务器说话,但也使用SRV。
-
无论你选择哪个客户,情况都一样。您可能需要减少它,以确保用户不能使用更通用的功能,例如添加和删除名册中的用户(更糟糕的是,GTalk上的局外人试图混淆或仿冒您的客户)。
我认为XMPP最大的两个问题是:
-
管理XMPP服务器上的用户和名册,因为它们主要用于一般用途,而不是沙盒环境。服务器将倾向于期望并允许客户机注册、设置密码等,而您可能希望两者都能防止这种情况发生,并自行管理一切。
-
删除所有可能导致问题的额外功能。你大概不想让你的客户互相交谈,传输文件等等。
-
如上所述减少服务器实现。我使用jabberd 1.x,它使用XML文件进行配置。我通过提供已经预填充的花名册XML文件将其与我们的用户数据库集成。理论上,用户可能会弄乱他们的名册,但他们会被服务器覆盖。实际上,这并不是因为客户端软件阻止了它。您可能需要更进一步,但我相信现在有足够灵活的服务器来支持它。
-
获取一个可以自动预配置而不被破坏的客户端实现。我选择并修补了一个特定的客户端(Psi)来添加一个“锁定”模式,该模式可用于删除所有配置相关的UI元素,包括排班管理选项。而是由服务器自动完成配置。用户会有一些简单的东西,他们不必配置,也不会出错。像这样的事情可能对你的银行经理有用-这将节省大量的支持。