1、基于echange server的企业应用系统设计和开发终稿基于ExchangeServer的企业应用系统设计和开发(一)潘爱民-MicrosoftExchangeServer是Microsoft的BackOffice套件产品中面向企业应用的群件系统。在当前的企业应用市场上,主流的群件产品为ExchangeServer和LotusNotes,这两个产品的功能相仿,我们很难说孰优孰劣,但是它们的应用开发模式差异很大,用户使用起来也会有完全不同的感受。本文重点讨论ExchangeServer以及用ExchangeServer作为平台建立起来的企业应用系统设计方案,并涉及了若干相关的技术、相关的软件
2、系统,以及这些系统的协作方案。-为了便于说明,我们把用ExchangeServer作为平台建立起来的企业应用系统简称为ExchangeServer企业系统或者ExchangeServer企业应用。对于小型的企业应用,也许一台服务器就可以满足需要,但是对于规模较大的企业来说,往往需要多台服务器、甚至多套企业应用系统才能保证企业的计算机系统正常运行,而现代的大型企业更要求这些企业系统分布在不同的物理区域,区域之间可能通过慢速网络连接起来。ExchangeServer的基本结构是客户服务器(ClientServer)模型,但是它所支持的企业系统可以是分布式的,而且这种分布式特性对于系统管理员和用户是
3、透明的,这使得ExchangeServer的使用更为简单,而且对于大型企业有更好的适应性。-由于ExchangeServer系统的特殊性,ExchangeServer企业应用的开发与一般的ClientServer应用有所不同。一方面,ExchangeServer已经为企业应用提供了大量的常规服务,例如邮件系统、地址簿管理、任务管理等,Client端应用Outlook是用户的桌面办公系统,几乎不用做任何开发,ExchangeServer和Outlook就已经构成了一个完整的企业应用系统;另一方面,ExchangeServer允许用户在它本身提供功能的基础上进行定制或增加新的应用逻辑,得到功能更为
4、强大、更适合于特定企业的应用系统。这就是ExchangeServer企业应用的基本特点,本文将着重讨论这类企业应用的设计和开发。一、ExchangeServer介绍-MicrosoftExchangeServer既可以作为企业的Internet邮件系统,也可以作为企业内部的消息系统平台。1997年11月Microsoft发布了ExchangeServer5.5版本,该产品在功能和性能方面都非常优秀,为Windows操作系统提供了良好的企业应用基础平台,而随后在1998年发布的ServicePack1使其更趋完善。-ExchangeServer内部建立了一套功能强大的消息传递机制,同时也提供了它
5、与其他许多系统之间的透明连接。其总体结构框架如图1所示。图1ExchangeServer结构框架-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
9、):MTA是ExchangeServer中消息流动的基础。它既对站点内部的服务器传输消息,同时也为其他站点的服务器传输消息。MTA作为ExchangeServer的内部消息传递机制,它提供了很强的控制功能,比如管理员可以控制消息的大小、消息传送的路由表等。-4系统助理(SystemAttendant):系统助理是个辅助性的服务,但是ExchangeServer的许多工作由它来完成,列举如下:-(1)当管理员添加新邮箱时,系统助理会产生与邮箱有关的目录地址和E-mail地址。-(2)MTA传输消息时可能会用到系统助理来解析收件人地址,或者把目录中的分发表(DistributionList)展开成
10、一组收件人地址。-(3)检查目录复制的一致性。-(4)保存和管理邮箱的数字签名和加密信息。-(5)为MTA创建路由表。-ExchangeServer的核心服务是系统正常运转的基础,当我们在一台服务器上安装了ExchangeServer之后,这些服务都会自动启动。以后我们就可以使用ExchangeServer作为我们的消息平台了。但是在实际使用时,情况往往要复杂得多,ExchangeServer还需要与其他的系统交换信息,比如我们要通过ExchangeServer收发Internet邮件,或者利用ExchangeServer作为企业的讨论公告区,这时我们就需要其他一些可选服务。ExchangeS
11、erver支持大多数标准的或者常见的消息系统,从图1我们也可以看到这一点。-常用的可选服务有以下一些:邮件服务:利用此服务,ExchangeServer的用户可以收发Internet邮件。新闻服务:提供基本的新闻服务,企业可以利用新闻服务建立内部讨论组或公告牌。事件服务:事件服务是运行在ExchangeServer服务器上的代理系统,它可以监测到对一个目录中消息的操作情况,比如新建消息、删除消息、修改消息或者定时消息。我们可以利用ExchangeServer的事件服务实现复杂的业务逻辑。钥匙管理服务:管理组织中用户的数字签名和加密消息的安全信息。一组连接器服务:包括X.400连接器、CCMai
12、l连接器、MSMail连接器、LotusNotes连接器、IBMSNADS连接器等,通过这些连接器,ExchangeServer组织中的用户可以与其他系统中的用户互相交换信息。-从ExchangeServer的框架结构我们可以看出,ExchangeServer本身是一个功能强大的分布式消息系统,同时它也可以与其他的消息系统互操作,外挂式的连接器保证了一个企业中可以有多个消息系统存在。-下面我们来看看ExchangeServer客户端的情况。ExchangeServer的标准客户软件为Outlook,Outlook不仅是ExchangeServer的基本客户软件,同时也是ExchangeServ
13、er企业应用的开发环境,管理员的某些日常管理工作也可以通过Outlook来完成。Outlook和ExchangeServer构成了标准的客户服务器模型,它们之间直接通过RPC进行通信。ExchangeServer的用户也可以使用其他的通用客户软件,因为ExchangeServer支持常见的Internet协议,如LDAP(目录服务访问协议)、SMTP(简单消息传输协议)、POP3和IMAP4(收取邮件协议)、NNTP(新闻传输协议)。利用这些协议我们可以访问ExchangeServer上相应的服务,但是ExchangeServer上有些功能只能使用Outlook才能实现,比如日历功能、任务管理
14、等专用于企业内部的、Internet标准协议不能实现的特性。图2ExchangeServer系统服务示意图-ExchangeServer的所有服务均以系统服务的形式存在,所以我们可以通过WindowsNT的服务管理器检查ExchangeServer的服务活动情况,如图2所示。管理员通过ExchangeServer的管理程序配置组织和站点,也可以用它来管理邮箱,实际上我们可以用ExchangeServer管理程序管理组织中的整个目录。管理程序的用户界面如图3所示,左边的树状窗格就是整个组织的目录结构,在组织中的任何一台ExchangeServer服务器上都会看到同样的树状目录结构,右边的窗格对应
15、于左边被选中项的详细信息。图3ExchangeServer管理程序用户界面-以上是ExchangeServer的基本结构和服务,最后我们来看一下ExchangeServer的几个与企业应用相关的特性:分布式特性:分布式特性是实现大型复杂企业应用的保证,ExchangeServer中目录对象的位置透明性简化了系统的管理。与操作系统的紧密结合:这可能是ExchangeServer的最大优势。一方面,ExchangeServer的服务都以系统服务的形式实现,提高了系统的处理效率;另一方面,ExchangeServer中的所有用户都与NT的域用户绑定,直接利用了操作系统的安全机制。与操作系统提供的许多
16、工具紧密结合:比如实时备份、错误日志、性能监测等等,除此之外,ExchangeServer也提供了其他一些管理工具。可伸缩性:ExchangeServer的信息存储服务支持16TB的存储容量,我们几乎可以认为这是一个无限的数据容器。而单实例存储又节约了大量的存储空间。在性能方面,ExchangeServer内置了SMP支持。高可靠性:一方面,ExchangeServer支持群集特性,保证了系统可以不间断工作;另一方面,MTA采用了事务机制保证操作的可恢复性,而且,ExchangeServer中的邮件总是可靠递交的。-在介绍了ExchangeServer的功能和特性之后,下一部分我们将讨论如何以
17、ExchangeServer作为平台建立企业应用,以及建立什么样的企业应用。-(未完待续)-(作者地址:北京大学计算机科学技术研究所,100871)基于ExchangeServer的企业应用系统设计和开发(二)潘爱民-二、用ExchangeServer建立企业应用方案-企业应用不同于一般的应用系统,它不仅要满足企业的基本应用需要,也要满足企业发展的需要,所以我们在选择企业应用平台时要充分考虑平台系统的开放性和可扩展性。ExchangeServer作为Windows平台上的群件系统,它不仅提供了基本的企业应用特性,也具有很好的可扩展性。-首先我们来看一看现代企业应用的一般性要求。大致来说,可以分
18、成以下5类:-1消息传递系统:消息系统是企业运作的基础。现代企业中员工的行为往往是相互关联的,随着社会信息化的不断深入,员工之间的协作越来越重要。消息系统是保证协作的基础,任何其他的通信系统(比如电话系统)都比不上消息系统的灵活和高效。ExchangeServer的核心就是一个消息系统,它为企业员工之间的通信提供了安全、可靠、快速的途径,而且通过Internet邮件服务连接器,企业的消息系统可以扩展为Internet邮件系统。-2流程管理系统:流程管理是现代企业的办公业务需要,它往往建立在企业的消息系统基础之上,同时也要涉及到企业的业务规则,例如企业的采购流程、报账流程、报文审批等。-3知识库
19、管理系统:知识库是现代企业快速发展的经验宝库,企业应用中的知识库系统可以有效地提高企业对现有知识和经验的利用水平。ExchangeServer提供的公共信息存储可以作为知识库管理系统的基础,配合Outlook提供的表单定制和消息检索功能,我们可以快速实现一个知识库管理系统。-4企业的地址簿管理:企业的地址簿系统也是企业协作系统的基础。地址簿包括企业内部员工的个人信息,包括家庭地址、电话、电子邮件地址、职衔等信息。地址簿的结构往往反映了企业的组织结构形式。地址簿也可以包括企业的外部联系信息,例如客户信息、合作部门信息等等。ExchangeServer的目录结构可以有效地把企业组织的地址簿建立起来
20、,而且ExchangeServer目录的全局一致性和位置透明性使企业用户使用和管理地址信息都非常方便。-5企业的实时应用系统:我们知道,基于网络的应用分为同步和异步两种方式。异步方式使得应用非常灵活,用户可以不受时间、地点限制;而同步方式限定通信双方必须同时进入现场操作。虽然同步方式的灵活性要差一点,但对于一个企业应用系统来说,同步的、实时的部分也是必不可少的,例如,网络会议、对话服务等。-ExchangeServer较好地满足了这些需要,而且在使用方便性和系统扩展能力方面还有所增强。在使用ExchangeServer平台建立的企业应用中,管理员日常管理工作的多数操作可以在客户端软件Outlo
21、ok中完成;而且开发人员大量的开发工作也可以在客户端软件Outlook中完成,比如表单制作,甚至连服务器端的脚本代码也要在Outlook程序中导入。所以我们在提起ExchangeServer企业应用时,总是离不开Outlook。尽管我们在ExchangeServer企业应用中看到的大多数特性都是在Outlook中体现的,但这些特性的本质仍然在于ExchangeServer,这就如同客户/服务器模型的数据库系统的服务器程序决定了数据库的基本功能和特性,数据库客户程序只是操作数据库中的数据而已。图1ExchangeServer企业应用框架结构-首先我们看一看ExchangeServer企业应用的基
22、本框架结构,如图1所示。-企业应用往往需要管理大量的数据,从应用逻辑来讲,这些数据可以分成两种:一种是结构规则的永久数据,通常是我们存放在关系型数据库中的记录数据;另一种则是结构不很规则甚至经常可能发生变化的数据,这些数据在企业应用的运行过程中往往短程有效,比如流程活动过程中的消息。在图1给出的企业应用框架中,前一种数据往往保存在后台数据库系统中,比如SQLServer或者Oracle等专门的数据库系统,这样做的好处是,应用系统可以充分发挥数据库系统的索引检索功能、高效率批量访问等优势;后一种数据往往直接存放在ExchangeServer的信息存储中,因为不但ExchangeServer非常适
23、合于处理这种半结构化的数据,而且ExchangeServer中的许多业务处理也需要直接访问这些数据,尤其是流程信息,更是离不开这些短程数据。-ExchangeServer可以通过两种不同的途径访问后台数据库,可以直接通过ADO(ActiveDataObject)访问数据库中的记录,或者通过Active对象访问数据库中的记录。ExchangeServer作为企业应用的基础平台,大量的业务处理工作是由各个子系统自动完成的,一般情况下我们并不需要对这些子系统进行扩展,比如MTA子系统会自动为我们传递消息,但是,在某些情况下我们也可能会要求加入自己的业务处理操作,比如在事件服务子系统中加入对某个公共文
24、件夹的事件处理。ExchangeServer的扩展支持Script语言,VBScript或者JavaScript均可,只要服务器上安装有相应的脚本引擎。在这些脚本代码中,我们可以通过自动化(Automation)技术访问ADO对象或者Active自动化对象,从而达到访问数据库的目的。因此,ExchangeServer企业应用中的数据库支持技术并不复杂,对开发人员的技术要求并不高。-然后我们再看一看客户端如何与ExchangeServer协同工作。首先,Outlook是ExchangeServer企业应用的标准客户端程序,也是这种应用的开发环境。Outlook中复杂的功能体现了ExchangeS
25、erver的强大协作能力,这些功能可以分为两类:基于邮件的功能和信息管理功能。分别列举如下:-邮件功能:邮箱别名解析、邮件重要性级别支持、邮件跟踪、HTML邮件、邮件附件支持、多种协议的支持(POP3,IMAP4,LDAP,NNTP,MAPI)等。-信息管理功能:日历、全球地址簿、任务管理、日记、服务器端和客户端的规则、邮件检索等。图2在InternetExplorer中访问ExchangeServer示意图-使用Outlook作为ExchangeServer企业应用的客户端软件可以全面发挥ExchangeServer的功能,而且软件厂商对其所作的开发与ExchangeServer几乎完全融合
26、在一起,用户在使用时感觉不到二次开发的痕迹,这是ExchangeServer企业应用的特殊性。概括起来说,ExchangeServer为企业应用提供了一种通用的模式,软件商可以根据应用的特点对ExchangeServer进行扩展,配置或者添加业务规则,为企业用户提供通用或者专用的功能。-当然用户也可以不使用Outlook作为客户端软件,特别是当用户通过慢速网络访问Exchange服务器的情况下,用户可以使用通用的邮件客户软件,比如OutlookExpress或者NetscapeMessenger等,通过POP3或者IMAP协议访问用户的邮箱,通过LDAP协议访问目录服务。受到这些标准协议功能的
27、限制,这时ExchangeServer提供的功能并不能完全发挥出来,但用户可以完成一些基本的邮件操作。-访问ExchangeServer的另外一条途径是使用ExchangeServer提供的OWA(OutlookWebAccess)模块。OWA是一个IIS(MicrosoftInternetInformationServer)目录,它与ExchangeServer可以运行在不同的服务器上。实际上,OWA也是一个ASP工程,它把Web客户的访问请求转移给ExchangeServer,再把ExchangeServer的响应结果返回给Web客户。由于OWA返回给客户的是包含JavaScript的HT
28、TP页面,所以大多数的浏览器都可以通过OWA访问ExchangeServer。但是由于HTTP描述数据能力的限制以及浏览器中页面交互操作的局限性,OWA并不能实现Outlook的所有功能。图2是在InternetExplorer中访问ExchangeServer的界面示意图。(未完待续)基于ExchangeServer的企业应用系统设计和开发(三)潘爱民-ExchangeServer不仅提供了强大的协作功能,而且也提供了访问这些功能的编程接口-CDO(CollaborationDataObject)。与ADO类似,CDO也是一套自动化对象库,它完全暴露了ExchangeServer的功能。我们
29、可以用脚本语言访问CDO对象,OWA就是利用CDO来访问ExchangeServer的。CDO的底层是MAPI(MessagingApplicationProgrammingInterface),MAPI是一组供低级语言(如C/C+语言)调用的接口和函数以及相关的常数和数据结构等,它涵盖了ExchangeServer的所有功能。因为CDO和MAPI是公共的编程接口,有详细的文档和众多例程,如果软件商觉得Outlook不能满足应用的需要,或者需要在其他的系统中访问ExchangeServer的功能,可以直接利用CDO或者MAPI进行客户端程序的开发。-最后,我们总结ExchangeServer企
30、业应用的一些特点:-1ExchangeServer和Outlook奠定应用的基本框架,并且ExchangeServer和Outlook又提供了非常灵活的扩展机制,所以最终的企业应用将是ExchangeServer+Outlook与扩展部分的紧密结合。-2ExchangeServer的目录结构不仅简化了企业中地址簿的管理,也简化了企业中所有信息的管理。远程客户可以通过LDAP访问目录信息,应用程序也可以通过ADSI(ActiveDirectoryServiceInterface)访问目录信息。-3提供强大的信息处理机制。ExchangeServer内置的邮件功能以及公共文件夹功能可为企业应用提供
31、足够灵活的信息处理能力,ExchangeServer与关系型数据库的有机结合是企业应用的最佳存储体系。-4提供多协议的支持。-5直接建立在WindowsNT的安全机制基础上。-6可建立分布式企业应用系统。位置透明的特性使得管理更加简便,利用站点建立起来的数据复制体制能很好地适应复杂的网络环境。-7提供客户端的灵活选择。用户除了选择Outlook作为客户端软件之外,也可以选择Internet浏览器或者邮件客户软件作为客户软件,还可以开发自己的客户软件。三、用Outlook开发ExchangeServer企业系统中的协作应用-在客户/服务器结构的企业应用系统中,业务逻辑既可以在客户方完成,也可以在服务器方完成。ExchangeServer企业应用的大量业务逻辑位于服务器方,因为基础消息平台是ExchangeServer的主要功能特征。尽管如此,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1