一、JSO(Jabber Stream Objects)
JSO是一个java实现的操纵Jabber流的对象库。JSO提供了对Jabber/XMPP协议基础的低层支持,又是一个完全可操纵的流连接接口。它的目的是提供一个构建基于Jabber的应用程序的高可定制和灵活通用的平台,在所有层次上(客户端,组件,服务端)。
JSO提供一个流接口,在执行所提供的命名空间”jabber:client”,”jabber:component:accept”,”jabber:component:connect”,和”jabber:server”之上。也出于对plug-n-play流元素工厂的考虑,提供自定义数据类型和处理过程。最后,提供一个StreamSource对象对通用输入/输出机制进行抽象(基础socket,基于http的轮询,和其他)。
功能:
1、支持大部分的IETF标准XMPP内核和XMPP-IM协议
2、设计基于j2se1.4的channel-based I/O(阻塞和非阻塞)
3、广泛使用java的Collections结构
4、流的用户可控制操作非常简单(单线程模式)
5、“routing”和”dispatching”分离,通用设计的考虑
6、特定的”stream”对象模式,支持自定义接口和执行
7、灵活和可扩展的导入/导出选项,内建支持导入/导出 XML格式文本和W3C DOM 结构。
8、完全支持Xpath 1.0
详细内容可参考官方网站:
http://jso.jabberstudio.org/
二、XPath
XPath 是一种用于对 XML 文档的元素进行查询的一种语言,设计为 XSLT 和 XPointer 使用。
XPath 是努力给 XSL 转换XSLT和 XPointer的共享功能提供一个共用的句法及语义的结果。XPath的主要目的是用于对 XML 文档元件进行查询。在支持这个主要目的的同时,它也为字符串,数字和布尔的操作提供了基本手段。XPath 使用简明的、非 XML 句法以便于在 URIs 和 XML 属性值以内使用 XPath,XPath 对 XML 文档的抽象的、逻辑的结构而非它的表面句法进行操作,XPath 的名字源于它在 URL 中用作对 XML 文档的层次的结构进行导航一个路径标志。
除了用做寻址外,XPath 也被设计成以便它有能被用于匹配的一个自然的子集(测试一个节点是否匹配一个模式;XSLT中描述了 XPath 在这方面的使用。
详细内容可参考官方网站:
http://www.w3.org/TR/xpath
三、Muse
Echomine Muse 提供一组易于使用的java API,让你快速、简单但功能强大地使用网络协作服务。确切的,它允许你和XMPP/Jabber服务器通讯,在一个安全、实时的环境里完成即使通讯和出席管理。
Muse是一个访问远程XMPP/Jabber服务器的客户端程序库。开发者使用它可以实现以下功能:
1、IM客户端,建立GUI/Swing应用程序来访问IM网络。
2、基于Web服务器的IM客户端,建立基于浏览器的IM客户端来为用户发送和接受IM消息。
3、SOAP和Web Services客户端,建立Web Services来发送和接受IM消息通过XMPP/Jabber网络。
4、自定义事务工作流处理,建立自定义扩展特殊的你的商业需求,需要一个消息路由系统。
5、聊天,实现实时的聊天在你现有的企业应用中,例如为你的客户提供一个产品新特性,或者用来实现客户服务。
6、实施整合,Muse可以帮助你整合你当前的商业应用使用实时XMPP/Jabber服务器。
7、SOA插件,给你的SOA平台写一个简单的插件,你就可以立即访问一群IM服务器。
8、错误通告,当你的工作流处理发生错误时通报给管理员或开发者,例如:CVS更新,网页,计划任务,备份。所有这些都是实时的,因此错误可以被及时地发现,从而降低成本,减少失去商业客户的机会。
Muse 允许你建立桥梁和扩展在你的应用中使用流行的IM服务器通过internet。Muse超出了IM功能。给予你的企业最有力的支持,在实施商业需求上花最少的精力。
有关Jabber的详细内容可参考官方网站:
http://www.jabber.org
有关Jabber开发可参考官方网站:
http://www.jabber.org/software/libraries.shtml