收藏 分销(赏)

基于echange-server的企业应用系统设计和开发(终稿).doc

上传人:精*** 文档编号:2453416 上传时间:2024-05-30 格式:DOC 页数:38 大小:240KB
下载 相关 举报
基于echange-server的企业应用系统设计和开发(终稿).doc_第1页
第1页 / 共38页
基于echange-server的企业应用系统设计和开发(终稿).doc_第2页
第2页 / 共38页
基于echange-server的企业应用系统设计和开发(终稿).doc_第3页
第3页 / 共38页
基于echange-server的企业应用系统设计和开发(终稿).doc_第4页
第4页 / 共38页
基于echange-server的企业应用系统设计和开发(终稿).doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、基于ExchangeServer的企业应用系统设计和开发(一)潘爱民-MicrosoftExchangeServer是Microsoft的BackOffice套件产品中面向企业应用的群件系统。在当前的企业应用市场上,主流的群件产品为ExchangeServer和LotusNotes,这两个产品的功能相仿,我们很难说孰优孰劣,但是它们的应用开发模式差异很大,用户使用起来也会有完全不同的感受。本文重点讨论ExchangeServer以及用ExchangeServer作为平台建立起来的企业应用系统设计方案,并涉及了若干相关的技术、相关的软件系统,以及这些系统的协作方案。-为了便于说明,我们把用Exc

2、hangeServer作为平台建立起来的企业应用系统简称为ExchangeServer企业系统或者ExchangeServer企业应用。对于小型的企业应用,也许一台服务器就可以满足需要,但是对于规模较大的企业来说,往往需要多台服务器、甚至多套企业应用系统才能保证企业的计算机系统正常运行,而现代的大型企业更要求这些企业系统分布在不同的物理区域,区域之间可能通过慢速网络连接起来。ExchangeServer的基本结构是客户服务器(ClientServer)模型,但是它所支持的企业系统可以是分布式的,而且这种分布式特性对于系统管理员和用户是透明的,这使得ExchangeServer的使用更为简单,而

3、且对于大型企业有更好的适应性。-由于ExchangeServer系统的特殊性,ExchangeServer企业应用的开发与一般的ClientServer应用有所不同。一方面,ExchangeServer已经为企业应用提供了大量的常规服务,例如邮件系统、地址簿管理、任务管理等,Client端应用Outlook是用户的桌面办公系统,几乎不用做任何开发,ExchangeServer和Outlook就已经构成了一个完整的企业应用系统;另一方面,ExchangeServer允许用户在它本身提供功能的基础上进行定制或增加新的应用逻辑,得到功能更为强大、更适合于特定企业的应用系统。这就是ExchangeSe

4、rver企业应用的基本特点,本文将着重讨论这类企业应用的设计和开发。一、ExchangeServer介绍-MicrosoftExchangeServer既可以作为企业的Internet邮件系统,也可以作为企业内部的消息系统平台。1997年11月Microsoft发布了ExchangeServer5.5版本,该产品在功能和性能方面都非常优秀,为Windows操作系统提供了良好的企业应用基础平台,而随后在1998年发布的ServicePack1使其更趋完善。-ExchangeServer内部建立了一套功能强大的消息传递机制,同时也提供了它与其他许多系统之间的透明连接。其总体结构框架如图1所示。图1

5、ExchangeServer结构框架-ExchangeServer作为一个消息系统平台,它包含一系列与消息有关的服务,图1给出了基本的结构图。ExchangeServer的核心包括4个系统服务:信息存储服务、目录服务、消息传输代理和系统助理服务,当我们在服务器上安装了ExchangeServer之后,这些服务会自动被启动。以后客户连接到ExchangeServer时,这些服务协同完成客户的请求。其功能分别如下:-信息存储服务(InformationStore):它提供对消息数据库的存储和读取访问,ExchangeServer的信息存储分为公共信息存储和私有信息存储。公共信息存储包含所有的公共文

6、件夹信息,私有信息存储包含当前服务器上的所有用户的邮箱信息。-ExchangeServer是一个半结构化的信息存储系统,它可以保存各种类型的信息,如各种文档、消息、会议请求、联系人信息、普通文件、多媒体资料等。信息存储服务是ExchangeServer最基本的服务,其他几乎所有的服务都建立在信息存储服务的基础上。所以ExchangeServer对信息存储服务进行了优化处理。一方面,所有的消息采用单实例存储机制,以便节约存储空间;另一方面,信息存储服务对最近访问过的消息做了缓存处理,以便提高平均响应速度;最后,信息存储服务对创建消息、删除消息或者修改消息采用了事务机制,既提高了性能也增强了可靠性

7、。-2目录服务(DirectoryService):ExchangeServer的目录机制为我们管理ExchangeServer的内部对象提供了一致的层次结构。其中包括ExchangeServer组织(Organization)、站点(Site)和服务器(Server)的所有配置信息,目录也包含了地址簿信息。利用目录服务,管理员可以查找到所有的邮箱信息。-目录机制是ExchangeServer中信息的组织结构,而目录服务保证了这套机制能够有效地把大量的信息甚至是分布式的信息管理起来。ExchangeServer中的所有信息都通过目录结构呈现在用户或者管理员面前,这为用户查询信息或者管理员管理信

8、息都提供了极大的方便。-当我们在分布式系统中使用ExchangeServer时,目录信息自动复制到所有的服务器上,以便保证所有的ExchangeServer服务器有同样的配置信息。目录信息的一致性是ExchangeServer信息位置透明性的基础。同一个站点内的服务器上的目录信息总是可以及时同步,因为同一站点内的服务器往往通过快速网络连接起来,而不同站点之间的服务器必须通过目录桥服务器保证目录信息的复制,系统管理员可以配置复制计划,以便在网络速度和复制效率之间做一折中。-3消息传输代理(MessageTransferAgent,MTA):MTA是ExchangeServer中消息流动的基础。它

9、既对站点内部的服务器传输消息,同时也为其他站点的服务器传输消息。MTA作为ExchangeServer的内部消息传递机制,它提供了很强的控制功能,比如管理员可以控制消息的大小、消息传送的路由表等。-4系统助理(SystemAttendant):系统助理是个辅助性的服务,但是ExchangeServer的许多工作由它来完成,列举如下:-(1)当管理员添加新邮箱时,系统助理会产生与邮箱有关的目录地址和E-mail地址。-(2)MTA传输消息时可能会用到系统助理来解析收件人地址,或者把目录中的分发表(DistributionList)展开成一组收件人地址。-(3)检查目录复制的一致性。-(4)保存和

10、管理邮箱的数字签名和加密信息。-(5)为MTA创建路由表。-ExchangeServer的核心服务是系统正常运转的基础,当我们在一台服务器上安装了ExchangeServer之后,这些服务都会自动启动。以后我们就可以使用ExchangeServer作为我们的消息平台了。但是在实际使用时,情况往往要复杂得多,ExchangeServer还需要与其他的系统交换信息,比如我们要通过ExchangeServer收发Internet邮件,或者利用ExchangeServer作为企业的讨论公告区,这时我们就需要其他一些可选服务。ExchangeServer支持大多数标准的或者常见的消息系统,从图1我们也可

11、以看到这一点。-常用的可选服务有以下一些:邮件服务:利用此服务,ExchangeServer的用户可以收发Internet邮件。新闻服务:提供基本的新闻服务,企业可以利用新闻服务建立内部讨论组或公告牌。事件服务:事件服务是运行在ExchangeServer服务器上的代理系统,它可以监测到对一个目录中消息的操作情况,比如新建消息、删除消息、修改消息或者定时消息。我们可以利用ExchangeServer的事件服务实现复杂的业务逻辑。钥匙管理服务:管理组织中用户的数字签名和加密消息的安全信息。一组连接器服务:包括X.400连接器、CCMail连接器、MSMail连接器、LotusNotes连接器、I

12、BMSNADS连接器等,通过这些连接器,ExchangeServer组织中的用户可以与其他系统中的用户互相交换信息。-从ExchangeServer的框架结构我们可以看出,ExchangeServer本身是一个功能强大的分布式消息系统,同时它也可以与其他的消息系统互操作,外挂式的连接器保证了一个企业中可以有多个消息系统存在。-下面我们来看看ExchangeServer客户端的情况。ExchangeServer的标准客户软件为Outlook,Outlook不仅是ExchangeServer的基本客户软件,同时也是ExchangeServer企业应用的开发环境,管理员的某些日常管理工作也可以通过O

13、utlook来完成。Outlook和ExchangeServer构成了标准的客户服务器模型,它们之间直接通过RPC进行通信。ExchangeServer的用户也可以使用其他的通用客户软件,因为ExchangeServer支持常见的Internet协议,如LDAP(目录服务访问协议)、SMTP(简单消息传输协议)、POP3和IMAP4(收取邮件协议)、NNTP(新闻传输协议)。利用这些协议我们可以访问ExchangeServer上相应的服务,但是ExchangeServer上有些功能只能使用Outlook才能实现,比如日历功能、任务管理等专用于企业内部的、Internet标准协议不能实现的特性。

14、图2ExchangeServer系统服务示意图-ExchangeServer的所有服务均以系统服务的形式存在,所以我们可以通过WindowsNT的服务管理器检查ExchangeServer的服务活动情况,如图2所示。管理员通过ExchangeServer的管理程序配置组织和站点,也可以用它来管理邮箱,实际上我们可以用ExchangeServer管理程序管理组织中的整个目录。管理程序的用户界面如图3所示,左边的树状窗格就是整个组织的目录结构,在组织中的任何一台ExchangeServer服务器上都会看到同样的树状目录结构,右边的窗格对应于左边被选中项的详细信息。图3ExchangeServer管

15、理程序用户界面-以上是ExchangeServer的基本结构和服务,最后我们来看一下ExchangeServer的几个与企业应用相关的特性:分布式特性:分布式特性是实现大型复杂企业应用的保证,ExchangeServer中目录对象的位置透明性简化了系统的管理。与操作系统的紧密结合:这可能是ExchangeServer的最大优势。一方面,ExchangeServer的服务都以系统服务的形式实现,提高了系统的处理效率;另一方面,ExchangeServer中的所有用户都与NT的域用户绑定,直接利用了操作系统的安全机制。与操作系统提供的许多工具紧密结合:比如实时备份、错误日志、性能监测等等,除此之外

16、,ExchangeServer也提供了其他一些管理工具。可伸缩性:ExchangeServer的信息存储服务支持16TB的存储容量,我们几乎可以认为这是一个无限的数据容器。而单实例存储又节约了大量的存储空间。在性能方面,ExchangeServer内置了SMP支持。高可靠性:一方面,ExchangeServer支持群集特性,保证了系统可以不间断工作;另一方面,MTA采用了事务机制保证操作的可恢复性,而且,ExchangeServer中的邮件总是可靠递交的。-在介绍了ExchangeServer的功能和特性之后,下一部分我们将讨论如何以ExchangeServer作为平台建立企业应用,以及建立什

17、么样的企业应用。-(未完待续)-(作者地址:北京大学计算机科学技术研究所,100871)基于ExchangeServer的企业应用系统设计和开发(二)潘爱民-二、用ExchangeServer建立企业应用方案-企业应用不同于一般的应用系统,它不仅要满足企业的基本应用需要,也要满足企业发展的需要,所以我们在选择企业应用平台时要充分考虑平台系统的开放性和可扩展性。ExchangeServer作为Windows平台上的群件系统,它不仅提供了基本的企业应用特性,也具有很好的可扩展性。-首先我们来看一看现代企业应用的一般性要求。大致来说,可以分成以下5类:-1消息传递系统:消息系统是企业运作的基础。现代

18、企业中员工的行为往往是相互关联的,随着社会信息化的不断深入,员工之间的协作越来越重要。消息系统是保证协作的基础,任何其他的通信系统(比如电话系统)都比不上消息系统的灵活和高效。ExchangeServer的核心就是一个消息系统,它为企业员工之间的通信提供了安全、可靠、快速的途径,而且通过Internet邮件服务连接器,企业的消息系统可以扩展为Internet邮件系统。-2流程管理系统:流程管理是现代企业的办公业务需要,它往往建立在企业的消息系统基础之上,同时也要涉及到企业的业务规则,例如企业的采购流程、报账流程、报文审批等。-3知识库管理系统:知识库是现代企业快速发展的经验宝库,企业应用中的知

19、识库系统可以有效地提高企业对现有知识和经验的利用水平。ExchangeServer提供的公共信息存储可以作为知识库管理系统的基础,配合Outlook提供的表单定制和消息检索功能,我们可以快速实现一个知识库管理系统。-4企业的地址簿管理:企业的地址簿系统也是企业协作系统的基础。地址簿包括企业内部员工的个人信息,包括家庭地址、电话、电子邮件地址、职衔等信息。地址簿的结构往往反映了企业的组织结构形式。地址簿也可以包括企业的外部联系信息,例如客户信息、合作部门信息等等。ExchangeServer的目录结构可以有效地把企业组织的地址簿建立起来,而且ExchangeServer目录的全局一致性和位置透明

20、性使企业用户使用和管理地址信息都非常方便。-5企业的实时应用系统:我们知道,基于网络的应用分为同步和异步两种方式。异步方式使得应用非常灵活,用户可以不受时间、地点限制;而同步方式限定通信双方必须同时进入现场操作。虽然同步方式的灵活性要差一点,但对于一个企业应用系统来说,同步的、实时的部分也是必不可少的,例如,网络会议、对话服务等。-ExchangeServer较好地满足了这些需要,而且在使用方便性和系统扩展能力方面还有所增强。在使用ExchangeServer平台建立的企业应用中,管理员日常管理工作的多数操作可以在客户端软件Outlook中完成;而且开发人员大量的开发工作也可以在客户端软件Ou

21、tlook中完成,比如表单制作,甚至连服务器端的脚本代码也要在Outlook程序中导入。所以我们在提起ExchangeServer企业应用时,总是离不开Outlook。尽管我们在ExchangeServer企业应用中看到的大多数特性都是在Outlook中体现的,但这些特性的本质仍然在于ExchangeServer,这就如同客户/服务器模型的数据库系统的服务器程序决定了数据库的基本功能和特性,数据库客户程序只是操作数据库中的数据而已。图1ExchangeServer企业应用框架结构-首先我们看一看ExchangeServer企业应用的基本框架结构,如图1所示。-企业应用往往需要管理大量的数据,从

22、应用逻辑来讲,这些数据可以分成两种:一种是结构规则的永久数据,通常是我们存放在关系型数据库中的记录数据;另一种则是结构不很规则甚至经常可能发生变化的数据,这些数据在企业应用的运行过程中往往短程有效,比如流程活动过程中的消息。在图1给出的企业应用框架中,前一种数据往往保存在后台数据库系统中,比如SQLServer或者Oracle等专门的数据库系统,这样做的好处是,应用系统可以充分发挥数据库系统的索引检索功能、高效率批量访问等优势;后一种数据往往直接存放在ExchangeServer的信息存储中,因为不但ExchangeServer非常适合于处理这种半结构化的数据,而且ExchangeServer

23、中的许多业务处理也需要直接访问这些数据,尤其是流程信息,更是离不开这些短程数据。-ExchangeServer可以通过两种不同的途径访问后台数据库,可以直接通过ADO(ActiveDataObject)访问数据库中的记录,或者通过Active对象访问数据库中的记录。ExchangeServer作为企业应用的基础平台,大量的业务处理工作是由各个子系统自动完成的,一般情况下我们并不需要对这些子系统进行扩展,比如MTA子系统会自动为我们传递消息,但是,在某些情况下我们也可能会要求加入自己的业务处理操作,比如在事件服务子系统中加入对某个公共文件夹的事件处理。ExchangeServer的扩展支持Scr

24、ipt语言,VBScript或者JavaScript均可,只要服务器上安装有相应的脚本引擎。在这些脚本代码中,我们可以通过自动化(Automation)技术访问ADO对象或者Active自动化对象,从而达到访问数据库的目的。因此,ExchangeServer企业应用中的数据库支持技术并不复杂,对开发人员的技术要求并不高。-然后我们再看一看客户端如何与ExchangeServer协同工作。首先,Outlook是ExchangeServer企业应用的标准客户端程序,也是这种应用的开发环境。Outlook中复杂的功能体现了ExchangeServer的强大协作能力,这些功能可以分为两类:基于邮件的功

25、能和信息管理功能。分别列举如下:-邮件功能:邮箱别名解析、邮件重要性级别支持、邮件跟踪、HTML邮件、邮件附件支持、多种协议的支持(POP3,IMAP4,LDAP,NNTP,MAPI)等。-信息管理功能:日历、全球地址簿、任务管理、日记、服务器端和客户端的规则、邮件检索等。图2在InternetExplorer中访问ExchangeServer示意图-使用Outlook作为ExchangeServer企业应用的客户端软件可以全面发挥ExchangeServer的功能,而且软件厂商对其所作的开发与ExchangeServer几乎完全融合在一起,用户在使用时感觉不到二次开发的痕迹,这是Exchan

26、geServer企业应用的特殊性。概括起来说,ExchangeServer为企业应用提供了一种通用的模式,软件商可以根据应用的特点对ExchangeServer进行扩展,配置或者添加业务规则,为企业用户提供通用或者专用的功能。-当然用户也可以不使用Outlook作为客户端软件,特别是当用户通过慢速网络访问Exchange服务器的情况下,用户可以使用通用的邮件客户软件,比如OutlookExpress或者NetscapeMessenger等,通过POP3或者IMAP协议访问用户的邮箱,通过LDAP协议访问目录服务。受到这些标准协议功能的限制,这时ExchangeServer提供的功能并不能完全发

27、挥出来,但用户可以完成一些基本的邮件操作。-访问ExchangeServer的另外一条途径是使用ExchangeServer提供的OWA(OutlookWebAccess)模块。OWA是一个IIS(MicrosoftInternetInformationServer)目录,它与ExchangeServer可以运行在不同的服务器上。实际上,OWA也是一个ASP工程,它把Web客户的访问请求转移给ExchangeServer,再把ExchangeServer的响应结果返回给Web客户。由于OWA返回给客户的是包含JavaScript的HTTP页面,所以大多数的浏览器都可以通过OWA访问Exchan

28、geServer。但是由于HTTP描述数据能力的限制以及浏览器中页面交互操作的局限性,OWA并不能实现Outlook的所有功能。图2是在InternetExplorer中访问ExchangeServer的界面示意图。(未完待续)基于ExchangeServer的企业应用系统设计和开发(三)潘爱民-ExchangeServer不仅提供了强大的协作功能,而且也提供了访问这些功能的编程接口-CDO(CollaborationDataObject)。与ADO类似,CDO也是一套自动化对象库,它完全暴露了ExchangeServer的功能。我们可以用脚本语言访问CDO对象,OWA就是利用CDO来访问Ex

29、changeServer的。CDO的底层是MAPI(MessagingApplicationProgrammingInterface),MAPI是一组供低级语言(如C/C+语言)调用的接口和函数以及相关的常数和数据结构等,它涵盖了ExchangeServer的所有功能。因为CDO和MAPI是公共的编程接口,有详细的文档和众多例程,如果软件商觉得Outlook不能满足应用的需要,或者需要在其他的系统中访问ExchangeServer的功能,可以直接利用CDO或者MAPI进行客户端程序的开发。-最后,我们总结ExchangeServer企业应用的一些特点:-1ExchangeServer和Outl

30、ook奠定应用的基本框架,并且ExchangeServer和Outlook又提供了非常灵活的扩展机制,所以最终的企业应用将是ExchangeServer+Outlook与扩展部分的紧密结合。-2ExchangeServer的目录结构不仅简化了企业中地址簿的管理,也简化了企业中所有信息的管理。远程客户可以通过LDAP访问目录信息,应用程序也可以通过ADSI(ActiveDirectoryServiceInterface)访问目录信息。-3提供强大的信息处理机制。ExchangeServer内置的邮件功能以及公共文件夹功能可为企业应用提供足够灵活的信息处理能力,ExchangeServer与关系型

31、数据库的有机结合是企业应用的最佳存储体系。-4提供多协议的支持。-5直接建立在WindowsNT的安全机制基础上。-6可建立分布式企业应用系统。位置透明的特性使得管理更加简便,利用站点建立起来的数据复制体制能很好地适应复杂的网络环境。-7提供客户端的灵活选择。用户除了选择Outlook作为客户端软件之外,也可以选择Internet浏览器或者邮件客户软件作为客户软件,还可以开发自己的客户软件。三、用Outlook开发ExchangeServer企业系统中的协作应用-在客户/服务器结构的企业应用系统中,业务逻辑既可以在客户方完成,也可以在服务器方完成。ExchangeServer企业应用的大量业务

32、逻辑位于服务器方,因为基础消息平台是ExchangeServer的主要功能特征。尽管如此,客户程序是企业应用的关键,因为最终用户面对的只是客户程序,应用的效率和功能都通过客户程序体现出来。Outlook不仅是ExchangeServer的标准客户软件,也是ExchangeServer企业应用的开发环境,所以,这一部分我们讨论使用Outlook(本文统一使用Outlook98)开发企业系统中协作应用的全过程。-在讨论Outlook开发之前,我们先简单看一下协作应用的基本模型,如图1所示。图1协作应用基本模型-任意一个有相应权限的用户都可以给指定的公共文件夹发送请求消息,公共文件夹是服务器上的消息

33、处理器,它接收到用户的请求后,根据消息中的内容执行有关的处理。对应于不同的业务规则,消息的处理过程有所不同,典型情况有:消息处理器根据一定的规则直接把消息转送到指定角色的用户邮箱中;消息处理器对接收到的消息进行预处理,并生成新的消息提交给其他用户;消息处理器根据原始消息中的指定名单或者内置的流程名单使消息顺序流动。把公共文件夹当作消息中心处理器,我们几乎可以实现各种形式的协作应用,其不同仅在于用户发送给公共文件夹的消息种类和公共文件夹的业务逻辑规则。-协作应用可以有两种不同的使用模式:-1群组工作模式用户直接把消息发送(POST)到公共文件夹中,消息可以采用自定义表单,也可以使用系统的标准表单

34、。这种模式与新闻组的张贴工作方式类似。比如,投票选举就可以采用这种工作模式。-2工作流模式用户利用一个自定义的表单,把消息发送(SEND)到一个公共文件夹中,自定义表单可以把发送的目标文件夹路径隐藏起来,用户不必关心公共文件夹的位置。公共文件夹会按照指定的业务规则处理用户的请求。从而实现工作流模式的协作应用。-协作应用的开发包括两部分内容:-1表单的设计表单的设计完全在Outlook中完成,在设计过程中允许为消息添加自定义的域,也允许把域与界面上的控制元素绑定在一起。读表单和写表单分离设计。在表单设计时可能也需要编写一些脚本代码。-2文件夹的设计文件夹的设计包括视图设计、业务规则定义和访问控制

35、。视图设计比较简单,通过对话框操作就可以完成;业务规则要复杂一些,涉及到服务器端的脚本代码;访问控制比较容易实现,只要指定相关的访问权限即可。-下面我们分别讨论表单的设计和文件夹的设计。在进入表单设计模式之前,我们先打开或者新建一个消息,Outlook已经为我们提供了一组标准表单,通常我们创建的新表单以某一个标准表单为基础,到底以哪个表单为基础取决于协作应用的类型。比如我们选择邮件表单作为基础,那么我们可以新建一个邮件。在邮件的表单窗口中,我们选择菜单命令工具*窗体*进入该窗体,于是进入表单的设计状态。如图2所示。图2进入设计状态的表单窗口-在设计表单过程中,我们必须清楚两个概念-域和控制,它

36、们分别与消息和表单相对应。表单的作用是表达消息,是暂时存在的,而消息是永久的,它存在于某个公共或者私有文件夹之中。域是消息的数据属性,有如数据库中的域与数据表的关系一样,每个标准表单所对应的消息都有一套标准域。比如,邮件消息包含收件人、发件人等域;而控制则是表单的组成元素,一个不包含任何控制的表单是没有意义的,控制与域不一定要有对应关系,但表单中总有一些控制是反映域的,比如,邮件表单中的收件人编辑框反映了邮件消息的收件人域,正文编辑框反映了邮件消息的内容。-当我们从一个邮件表单进入到设计状态之后,我们实际上继承了邮件消息的所有域。现在我们可以添加新的域、删除原有的域,每一个域都有一个字符串域名

37、作为域的标识,域的类型可以是字符串、整数、布尔型等。在表单设计过程中,对域的增、删、改操作比较容易实现,直接利用域工具箱(如图2所示)即可,也可以创建自定义域。-在设计表单过程中,我们往往需要在标准表单的基础上新增加一些自定义域,这些域可以在消息的流动过程中传递信息。一条基本原则是,我们应该尽量使用标准表单提供的域,既可以是当前表单所继承的标准表单,也可以是其他标准表单。-然后我们设计表单的界面布局,这个过程与VisualBasic的表单设计或VisualC+中对话框的设计非常类似,利用控制工具条上提供的各种工具,在表单中增加控制,并调节控制的位置,使表单的总体布局尽可能美观、合理。值得注意的

38、几点是:-1在控制的属性对话框(如图3)中,我们可以为控制设置初始值,也可以使控制与某个域绑定。控制与域的绑定功能对表单设计非常有意义,一旦绑定之后,控制就代表了域的值,控制的初值就是域的初值,表单执行了保存命令之后,控制的值自动会保存到域中。图3表单设计过程中控制的属性对话框-2表单是针对消息而设计的,但是由于消息是流动的,同样的消息可能会面对不同的用户,用户对消息的操作也会不同。典型情况下,发送邮件的用户使用的表单与阅读邮件的用户使用的表单是不同的,所以,在Outlook中设计的表单允许读操作使用的表单与写操作使用的表单分离开,相当于设计两个不同的表单供同一个消息使用。菜单命令窗体*分离读

39、写版面可以帮助我们实现这一点,工具条上的编辑撰写页和编辑阅读页按钮可让我们在两个表单之间进行切换。-3表单可以是多页的,利用菜单命令工具*显示该页我们可以决定是否显示当前页。页标签带有圆括号表示该页不显示。在表单窗口中,我们除了可以看到表单中指定的控制之外,在工具条上我们还可以看到一些按钮,这些按钮代表各种不同的动作,比如发送、答复、转发等。我们在设计表单时,有一页名为动作,可对每个动作的属性进行定义。(未完待续)基于ExchangeServer的企业应用系统设计和开发(四)潘爱民-对于简单的表单,按上期讲座中所述的步骤就可以完成设计工作。但是对于复杂的表单,或者有特殊要求的表单,我们还需要编

40、写一些脚本代码,以便实施更为精细的控制。利用表单的脚本支持,我们可以在某些控制点上加入脚本代码,比如,在消息被发送之前检查各个域的数据有效性,或者当打开表单时显示或者隐藏某些特殊的控制。脚本代码的编写如同我们在VisualBasic中编写事件处理函数类似。-Outlook提供了一套对象库,如图1所示。我们在表单的事件处理函数中,可以通过这套对象库访问到表单、视图对象,乃至Outlook当前应用实例中任何一个可通过对象库到达的对象。图1Outlook对象库-当我们设计完成表单之后,最后需要做的工作是将表单发布到合适的地方,对于以公共文件夹为消息处理中心的协作应用来说,我们既可以把表单发布到公共文

41、件夹中,也可以把表单发布到团体表单库中。如果我们把表单发布到某个公共文件夹中,那么以后当我们在文件夹视图窗口中选中该文件夹时,Outlook的动作菜单中会出现新建此类消息的菜单项。如果我们把表单发布到团体表单库中,那么所有的用户都可以通过团体表单库新建此类消息。表单的发布对话框如图2所示。图2表单发布对话框-上面我们介绍了表单的设计和发布,现在我们来讨论协作应用的表单应该如何设计。首先,协作应用的原始表单应该由用户发送到公共文件夹中,所以我们在表单的收件人域中指定为目标文件夹的名称,而且这个域所对应的控制不可编辑,用户不能改变域的值。其次,用户可能会根据需要添加新的动作,比如递交或者同意等面向

42、应用本身的动作,而其他一些邮件标准动作如答复、转发等可能并不需要,我们可以删除这些动作,或者禁止这些动作。再次,协作应用的表单最后发布到团体表单库中,所有的用户不必关心消息的中心文件夹到底在哪里。当然,这要求表单设计者拥有对团体表单库的操作权限。-表单设计完成以后,我们再进一步考虑Outlook的视图设计。视图设计比表单设计要简单得多,首先我们从菜单视图*当前视图中选择自定义当前视图或者定义视图命令。自定义当前视图更为简捷的操作是,在当前视图的列上右键点击,从弹出的菜单中选择各种操作即可。如图3所示。图3自定义当前视图-当我们选择了菜单命令定义视图后,我们就可以利用视图定义对话框定义各个视图,

43、或者增加、删除视图。-视图定义完成之后,我们就可以改变当前文件夹的视图了。我们也可以为该公共文件夹指定初始视图,操作非常简单,打开公共文件夹的属性对话框,在管理页面上选择文件夹的初始查看方式即可,如图4所示。图4在公共文件夹的属性对话框中选择初始视图-以上我们介绍了Outlook协作应用的表单设计和视图设计,限于篇幅,我们仅仅介绍了设计过程的基本要点。由于Outlook提供的开发环境并不要求设计人员必须具有专业的开发技术,只要有一些基本的Windows应用设计概念就可以胜任这项工作。当然,如果设计人员有一定的VisualBasic开发经验,那是再好不过的了。-到现在为止,我们还只是完成了协作应

44、用的客户端部分,客户端部分是消息的表现形式,要想使消息流动起来还需要服务器端的配合。下一部分讨论协作应用在服务器端的开发。四、ExchangeServer企业系统中协作应用的服务器部分-协作应用的服务器部分并没有涉及到用户界面,ExchangeServer也没有提供专门的开发工具,但是ExchangeServer仍然提供了很好的扩展机制,允许开发人员把自己的代码插入到ExchangeServer的消息处理逻辑中。-ExchangeServer的服务器逻辑扩展也是以文件夹为基础,它所提供的事件服务与MTA紧密联系起来。MTA在传输消息的过程中,根据文件夹的属性设置,有选择地激发某些事件,包括新建

45、消息事件、删除消息事件、修改消息事件和定时事件。ExchangeServer处理事件的机制如图5所示。图5ExchangeServer事件机制结构图-所以,我们要在ExchangeServer服务器端添加业务逻辑,实际上就是添加针对文件夹的事件处理函数。在添加事件处理函数之前,我们首先要保证设计人员或者管理人员具有添加事件的权限,这可以通过ExchangeServer的管理程序来完成,如图6,我们在管理程序的左边窗格的目录中选择PublicFoldersEventsRoot目录下对应于某台服务器的EventConfig_XXX目录,然后在目录的属性对话框中,利用ClientPermissions按钮添加适当的权限。图6ExchangeServer管理程序中EventsRoot目录-我们再回到Outlook中来。为了在Outlook中看到公共文件夹的事件属性,要求在Outlook中安装服务器脚本运行加载项(可通过Outlook的选项对话框的高级选项中的加载项管理器添加得到)。一旦我们安装了服务器脚本运行加载项,并且具有脚本添加权限之后,我们在Outlook的文件夹列表中选择待添加事件的文件夹。打开其属性对话框,就可以看到,在属性对话框上,新增加了代理页,如图7所示。图7公共文

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服