1 / 27

MSG430 采用 AJAX 技术 访问即时通讯( RTC )平台

MSG430 采用 AJAX 技术 访问即时通讯( RTC )平台. 课程内容概述. 本课程介绍了最新的 Microsoft Office Communicator Web Access AJAX 服务。开发人员可以很方便的使用这个服务,将即时消息集成进 Web 应用之中,或者定制个性化的即时消息客户端。 听众范围:开发人员 预备知识 DHTML & CSS JavaScript DotNET & C#. 课程内容安排. AJAX 技术概要 Communicator Web Access 配置与访问

Download Presentation

MSG430 采用 AJAX 技术 访问即时通讯( RTC )平台

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MSG430采用AJAX技术访问即时通讯(RTC)平台

  2. 课程内容概述 • 本课程介绍了最新的Microsoft Office Communicator WebAccessAJAX服务。开发人员可以很方便的使用这个服务,将即时消息集成进Web应用之中,或者定制个性化的即时消息客户端。 • 听众范围:开发人员 • 预备知识 • DHTML&CSS • JavaScript • DotNET&C#

  3. 课程内容安排 • AJAX技术概要 • CommunicatorWebAccess配置与访问 • CommunicatorWebAccessAJAXService程序设计与演示 • 总结与Q&A

  4. AJAX技术概要

  5. AJAX是一种概念 • AJAX概念的提出者Jesse James Garrett认为 • AJAX是Asynchronous JavaScript and XML的缩写 • AJAX并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一起,包括 • 使用XHTML和CSS标准化呈现 • 使用DOM实现动态显示和交互 • 使用XML和XSLT进行数据交换与处理 • 使用XMLHttpRequest进行异步数据读取,XML或纯文本等 • 最后用JavaScript绑定和处理所有数据 • OutlookWebAccess是第一个符合AJAX概念的成功的商业程序

  6. AJAX为什么流行 使用AJAX的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

  7. 数据交换格式:JSON • JavaScriptObjectNotation • 轻量级的数据交换格式,简明易懂,易于使用 • JSON与AJAX无关,是一种独立的数据交换格式 • Microsoft一些项目将它作为AJAX的数据交换格式 • JSON举例 { “Methods”:[ { “Note”:“Text”, “MethodName”:“myMethod” }] }

  8. CommunicatorWebAccess 配置与访问

  9. CommunicatorWebAccess • 类似OfficeCommunicator2005的Web客户端 • 使用CWAAJAXService构建 • 除浏览器外不需要安装任何软件,包括ActiveX Web界面的极致用户体验

  10. CommunicatorWebAccess

  11. 配置CommunicatorWebAccess • 安装LiveCommunicationServer2005SP1 • 企业版或标准版 • 安装CommunicatorWebAccessServer • 安装CWAHotfixKB915066 • http://www.microsoft.com/downloads/details.aspx?familyid=5FFBD0DA-124C-4FFC-A810-4A9E9E50D80D&displaylang=en • 官方CWA部署指南(英文版) • http://www.microsoft.com/downloads/details.aspx?FamilyId=B70782D2-C9AB-423E-A126-9E2882863969&displaylang=en

  12. 体系结构

  13. 访问CommunicatorWebAccess • 登录进入CWAServer而不是LCSServer • 推荐使用HTTPS的方式访问,也允许HTTP方式 • 两种认证方式 • CWA表单认证(FormBasedAuthentication) • IIS集成认证(IntegratedWindowsAuthentication) • 与ActiveDirectory集成进行身份认证 • 需要在IE中将站点设定为可信站点 • 访问URL的设定 • 填写登录信息 https://<cwaServer> • 单点登录 https://<cwaServer>/user@domain.com • 不完全域名 https://<cwaServer>/user

  14. CommunicatorWebAccessAJAXService 程序设计

  15. 建立自己的CWAAJAX应用 • 使用CWA控制台建立新的CWA站点 • 在IIS中添加AJAX extension & filter • 浏览器应用(如JavaScript) • 在此站点/cwa/client目录下建立虚拟目录 • 设定此目录可读与可运行JavaScript权限 • 非浏览器应用(如C#) • 必须能够发送HTTP请求到此站点 • CWA AJAX Service SDK 1.0 • http://www.microsoft.com/downloads/details.aspx?familyid=a839967b-680f-41e6-99b4-f020319bbd88&displaylang=en

  16. CWAAJAXApplication 浏览器·非浏览器

  17. 基本流程 • 用户登录 • FormbasedAuthentication • POST动作 http://<cwaServer>/forms/logon.html • WindowsIntegratedAuthentication • GET动作 http://<cwaServer>/iwa/logon.html?uri=<user>@<domain> • 包含SIP、Domain\User、密码、登录状态、语言 • 缓存Cookie,以后每个Request都要提供Cookie • 注册客户端事件监听 • 等待服务器事件,触发相应客户端事件 • 登出 http://<cwaServer>/cwa/SignoutHandler.ashx/?Ck=<Cookie>

  18. 客户端与服务器交互 • 调用服务器方法 • http://<cwaServer>/cwa/MainCommandHandler.ashx/?Ck=<Cookie> • Request:使用POST方法,ContentType必须设为text/json • 接收服务器事件 • http://<cwaServer>/cwa/AsyncDataChannel.ashx?AckID=<ackID>&Ck=<Cookie>&UA=true • Request:使用GET方法,ContentType同样需要设为text/json • ackID服务器端计数器,用来控制返回大于ackID的所有最新事件 • 返回的事件列表为JSON格式,解析后映射到相应客户端事件 • 服务器要求客户端延时1-3秒后再发送下一个Request

  19. 数据交换格式JSON • 客户端发送请求的数据格式 { “AJAXVersion” : string, “methods“: [ {"RequestId" : string, "MethodName" : "<methodName>", "<paramName>" : <paramValue> }, {"RequestId" : string, "MethodName" : "<methodName1>", "<paramName>" : <paramValue> “<paramName>” : <paramValue> } ] } 服务器端返回事件的数据格式 { "Events": [ {"<EventName>" : { "<ParameterName>" : <parameterValue>, ...}}, ...... {"<EventName>" :{ "<ParameterName>" : < parameterValue >, ...} ] }

  20. API: 能够调用的方法 • 联系人与组 • AddImUser • Contact • Group • ContactGroup • Acl • 选项设置 • Option • Note • PhoneOption • TagOption • 即时消息 • AcceptIm • StartIm • StopIm • SendMessage • NotifyTyping • 在线状态 • Presence • QueryPresence • AppState • 搜索用户 • Search

  21. API: 能够接收的事件 • 主要事件 • AclEvent • ContactEvent • IMEvent • OptionsEvent • PresenceEvent • SearchEvent • 辅助事件 • EpidEvent * • ExceptionEvent • PolicyEvent • TimeoutWarningEvent • RequestEvent • QueryTimeoutEvent * • SessionUpdateEvent *

  22. 即时消息进程举例 服务器 zhao@contoso.com wang@contoso.com 发送即时消息请求 收到即时消息事件 Request MethodName=StartIm URIs=wang@contoso.com Message=Hi IMEvent Action=add Message=Hi IMState=Connecting Inviters=zhao@contoso.com IMEvent Action=addUser URI=zhao@contoso.com 接受即时消息请求 Request MethodName=AcceptIm 状态更新事件 状态更新事件 IMEvent Action=update IMState=Connected IMEvent Action=update IMState=Connected

  23. 同步请求与异步请求 • 同步HTTP请求(synchronous) • HttpWebRequest对象,在C#中 • 必须建立新线程,轮询等待服务器端事件 • 从服务器端取Timeout值,根据服务器负载情况而变 • 异步HTTP请求(asynchronous) • XMLHttpRequest对象,在JavaScript中 • 只需指定事件Handler处理异步响应 • Request.onreadystatechange=handleResponse

  24. 总结 • AJAX带给我们更多的开发潜能 • CWAAJAX服务是我们能将LCS功能集成进Web应之中 • 非Windows应用也能使用CWAAJAX服务来集成LCS

  25. 微软AJAX项目—Atlas • http://atlas.asp.net • JSON官方站点 • http://www.json.org • LiveCommunicationServer开发者站点 • http://msdn.microsoft.com/office/server/livecomm/default.aspx

  26. 填反馈表

More Related