且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

基于Exchange Server Web Service开发协作、应用平台

更新时间:2022-09-17 17:11:07

Exchange 2007 API: 全新的Web services API-->提供了Exchange的Web Services实现  在开发应用程序时能够使用Web Service 技术带来的可扩展性和丰富功能
                           基于准标的Web Service实现-->HTTP / XML / SOAP / WSDL
不再推广和支持的开发技术: Exchange providers for WMI 
                                 Collaboration Data Objects for Exchange Management(CDOEXM)
                                 Collaboration Data Objects for Exchange
                                 Workflow(CDOWF)
                                 Exchange Web Forms
                                 Outlook Web Access Themes documented in Exchange Server 2003
为什么要使用Web Service?  随处可以使用、无论是在内部网络、Internet
                                   统一完整的存储访问-->代替CDO、WebDav以及OWA URL命令
                                  提供强类型对象
                                 提供远程的访问-->ExOLEDB and CDOEX只能提供本地的部署
CAS与Web Service: Exchange 2007中的Web Service-->AutoDiscover  Exchange Web Service  UM Web Service
                          EWS虚拟目录-->Services.wsdl 描述客户端和服务器之间的约定  Messages.xsd 定义请求和响应的SOAP  Types.xsd 定义了在SOAP消息中使用的元素
使用Web Service: Web Service调用过程-->见下图:
基于Exchange Server Web Service开发协作、应用平台
Web Service消息循环-->见下图:
                                                   基于Exchange Server Web Service开发协作、应用平台
操作Operations: 操作(Operations)-->在EWS中操作是对服务所提供动作的抽象描述  操作是描述在WSDL中用以说明在服务器之间发送和接受的消息  Exchange 2007提供了29个操作对应与29个由客户端访问服务器所提供的.Net Web方法 
EWS操作(1)-->见下图:
       基于Exchange Server Web Service开发协作、应用平台
EWS操作(2)-->见下图:
          基于Exchange Server Web Service开发协作、应用平台
Proxy Objects: 代理对象(Proxy Objects)-->是充当EWS服务接口的可编程对象  提供对所有EWS列出的类型的访问
                    生成代理对象-->wsdl.exe  在VS中添加Web引用  见下图:
                                                  基于Exchange Server Web Service开发协作、应用平台
编写简单的EWS客户端应用: 1.创建代理对象引用参考 
                                  2.设置ExchangeServiceBinding代理类[ExchangeServiceBinding esb = new ExchangeServiceBinding();esb.Credentials = new NetworkCredential("Peter","password","contoso");esb.Url = @https://mail.contoso.com/ews/exchange.asmx;
                                 3.调用操作发送请求并处理响应[CreateItemResponseType createItemResponse = esb.CreateItem(createEmailRequest);
EWS API提供的功能: Exchange 2007中的Web Service包括: 对Outlook PIM对象的高效访问  事件和提醒  消息同步  可用性服务  自动发现服务  E-mail生存周期管理  OWA Web Parts
响应对象: 响应对象-->Indicate available methods other than modify or delete,e.g. reply, accept 
                           Point to method schema supported for each item
                          Allow responses to messages and calendar items in a single,efficient roundtrip
提醒: 由客户端或者服务器初始化    
       能够提供有用的数据
      灵活
     容错-->代替WebDav提醒和异步存储事件(onSave,OnDelete...)
提醒的"Push"场景-->见下图:
                    基于Exchange Server Web Service开发协作、应用平台
提醒的"Pull"场景: 松散偶合  紧偶合  -->见下图:
               基于Exchange Server Web Service开发协作、应用平台
同步: 通过同步实现简化的文件夹使用  基于Exchange ActiveSync  常时间活动连接订阅
E-mail生存周期的管理: 用户使用托管文件夹分类管理电子邮件  配置策略  生成汇总报表  Enhanced search with an export tool
OWA Web Part: 收件箱、日历、联系人和任务组件
                     灵活性--&gt;在SharePoint中使用或直接在浏览器中  /owa/?cmd=contents&module=inbox∂=1">/owa/?cmd=contents&module=inbox∂=1"&gt;/owa/?cmd=contents&module=inbox&part=1"&gt;https://<server>/owa/?cmd=contents&module=inbox&part=1
可用性服务: 忙/闲状态信息  外出办公室  代替了OWA URL命令("?cmd=freebusy")  与Outlook 2007使用的是相同的API
实现工作流: 构建基于WWF的工作流应用--&gt;平台技术  今后所有的工作流都将迁移到WWF
               Agent--&gt;开发基于事件的应用  "event sink"-&gt;Agent  Microsoft.Exchange.Data.Transport.NET  仍然需要注册并运行在Exchange Server
Exchange Server 2007 SDK--&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=5c11fa93-13c5-49f7-bf3c-3e9fcb2b9707&DisplayLang=en

本文转自 叶俊生 51CTO博客,原文链接:http://blog.51cto.com/yejunsheng/161344