- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子商务网站Web IM系统设计和实现
电子商务网站Web IM系统设计和实现
摘要:针对新兴电子商务网站首选开放的XMPP协议作为IM系统的需求,分析XMPP、BOSH协议及技术特点,给出Web IM系统总体架构设计,并选择Strophe.js库对Web IM系统客户端进行详细的设计与实现。
关键词:Web IM;XMPP协议;BOSH协议;Strophe
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)14-3461-04
Abstract: For emerging e-commerce site choice open XMPP protocol as IM system requirements, analysis of XMPP, BOSH protocol and characteristics of the technology, the overall architecture design of Web IM systems, and select the Strophe. Js library to Web IM system detailed design and implementation of the client.
Key words: Web IM; XMPP protocol; BOSH protocol; Strophe
随着互联网的飞速发展,Internet上的用户数成几何级数增长,越来越多的人加入到以网络为媒介的网际交流活动中,其中即时通信(Instant Messaging,简称IM[1])工具尤其受到网络用户的青睐,它能够实时的传输文本、图片、文件,以及语音、视频等,因而成为网络用户使用频度最高的软件之一。
由于即时通信系统的众多优势,己逐步成为网络经济新的增长点,并在网络经济时代的各个新兴行业中不断壮大。目前,各大软件厂商都已纷纷加入IM的竞争行列,先后推出了自己的IM产品,出现了多元化的竞争状态。由于出于各自利益的考虑,大部分IM产品采用了私有的通信协议,不开放,这在一定程度上阻碍了不同即时通信系统之间的互通。
对于新兴的电子商务企业,急需提供IM服务以方便与客户之间的即时交流,若使用已有的厂商提供的IM产品,则受制于人,不方便业务的快速发展。所以选择开放协议、开源架构进行二次开发,将是这些电商企业的首选。该文拟结合“一呼百应电子商务平台”,选择XMPP、BOSH协议开发嵌入电商平台的Web IM系统。
1 相关协议介绍
1.1 XMPP协议
XMPP(Extensible Messaging and Presence Protocol) [2-3]可扩展消息与出席协议,是一种基于可扩展标记语言XML的开放式协议。XMPP协议可用来处理实时性的消息请求和响应服务,利用它还可以实现不同服务的即时通信系统间互相通信。
1.2 BOSH协议
BOSH(Bidirectional-streams Over Synchronous HTTP, 基于同步HTTP的双向流)[4]是一种传输协议。它可以利用同步的HTTP协议模拟两个实体(例如客户端-服务端)双向流传输,而不需要轮询或异步组件。
对于那些同时需要“推”和“拉”技术的应用程序,BOSH明显比AJAX[5]等基于HTTP协议的技术更高效,更节约资源。相比HTTP轮训技术(如Comet[6-7]技术),BOSH有着更高的效率和更低的延迟。到目前为止,BOSH主要用于Jabber/XMPP客户端-服务器之间的数据传输(如web端和手机客户端之间的通讯)。然而BOSH并非为XMPP定制的,它也可以用于别的传输。
BOSH定义了相关标准,用于XMPP数据传输,这个方案主要是为了解决HTTP协议无法保持TCP长连接的问题。其流程如图1所示。
2 系统总体设计
系统总体架构如图2所示。
1) 系统集成一呼百应B2B电子商务平台,提供pc到pc、pc到android、android到android多种平台交流方式,让用户随时随地跟踪掌握电子商务平台客户访问情况,及时沟通交流。
2) 发送给目标用户的消息,由发起用户经IM服务器转发给目标用户。
3) IM服务器采用Openfire进行二次开发部署。Openfire是采用Java开发,开源的实时协作(RTC)服务器,是基于开放的XMPP协议的IM服务器端的一个实现[9]。
4) 由于IM Web客户端嵌入到电子商务网页中,以便用户在浏览网页时随时与商家进行沟通交流,因此,需在Web服务器端处理IM Web客户端用户的相关操作以及与IM服务器的通信,实现与IM服务器的对接。为保证原有
文档评论(0)