机关办公自动化系统
第一章 机关办公自动化功能需求及其对系统平台的要求
机关办公自动化系统是实现机关内部各级部门之间以及机关内外部之间办公信息的收集与处理、流动与共享、实现科学决策的具有战略意义的信息系统。它的总体目标是:“以先进成熟的计算机和通信技术为主要手段,建成一个覆盖政府办公部门的办公信息系统,提供政府与其他专用计算机网络之间的信息交换,建立高质量、高效率的政府信息网络,为领导决策和机关办公提供服务,实现机关办公现代化、信息资源化、传输网络化和决策科学化。”
因此,如何选择一个合适的应用系统平台,在其上建立适应办公自动化需求的功能强大的、应用开发容易的、方便管理的、界面友好的各种应用,是政府机关办公信息系统成功的关键。
基于对机关用户需求的认识,以及在这一领域的成功经验,我们建议采用Lotus公司著名的邮件、群件与Web应用开发平台产品Notes/Domino作为办公系统的基本软件平台,结合必要的相关系统、产品与工具,构筑机关办公自动化系统。
第一节 办公自动化系统功能需求分析
尽管各个机关单位的业务和职能各不相同,因此对于办公自动化系统的需求也存在差异。但是一般而言,机关办公自动化系统均以公文处理和机关事务管理为核心,同时提供信息通讯与服务等重要功能,因此,典型的办公自动化应用包括收发文审批签发管理、公文流转传递、政务信息采集与发布、内部请示报告管理、档案管理、会议管理、领导活动管理、政策法规库、内部论坛等等应用。
如果我们从系统功能角度对上述办公自动化应用做一粗浅的分析,就会发现办公自动化应用需求以及办公人员对信息处理的操作方式方面有着以下共同特点,这些功能需求是我们选择办公自动化应用系统的开发与使用平台时必须考虑的判断依据:
一、提供电子邮件功能是办公自动化系统的基本需求。
信息是办公自动化、决策科学化的基础。电子邮件系统(以及更加广泛意义上的报文传递系统)作为信息传递与共享的工具和手段,满足办公自动化系统最基本的通信需求。换言之,电子邮件系统作为办公自动化的通信基础设施,主要提供了办公自动化系统“两方面的功能:
(1)直接作为一种应用提供人与人之间通信的手段,适应随时需要的电子化通信要求。
(2)为各种应用提供通用的通信平台,灵活适应不同应用系统对通信平台的要求。”
正如道路、桥梁、港口、机场等是提供货物运输的基础设施一样,网络化的电子通信系统与电话系统一样正在成为企业内部、企业与企业之间、企业与社会之间不可缺少的实现信息传递与共享的通信基础设施。
在上述两种办公自动化的基本通信需求中,前一种往往代表的是一种不规律的、随意性很大的通信需求,比如工作人员之间互相发送电子邮件,传送对方某种信息,或者是向工作人员临时发出一项通知等等,所传递的信息内容和传递的时间往往是无规则的。而后一种需求的特点则是比较具有规律性的,两个应用系统之间按照某种条件传递符合某种规范的信息内容。在办公自动化系统的建构和实际使用中,这两种需求是同样重要和必须的。
从信息技术的角度出发,电子邮件功能是一种“推”技术,即发送方(人或应用)将信息通过存储转发技术推给接收方(人或应用)。
从用户使用习惯出发,电子邮件功能是办公自动化系统的“门户”。因为工作人员很容易养成一种工作习惯,每日查看自己的电子邮件信箱,阅读处理有关信件;而且功能高级完整的电子邮件系统一般都具备新邮件到达提示功能。因此,办公自动化应用系统可以利用电子邮件系统的特点将每一项需要工作人员处理的信息或通知,制成电子邮件,直接投递到工作人员的电子邮件信箱。工作人员通过电子邮件信箱的声光提示信息(甚至可以通过电子邮件系统和无线寻呼系统的连接,用户通过BP机的寻呼信号获得电子邮件的到达通知和摘要信息),可以及时打开自己的电子邮件信箱,阅读有关邮件,并通过该邮件的指示(链接指针、URL等)自动打开相关的办公自动化应用系统,进行下一步的工作。
在一个办公自动化系统中,针对不同的业务需求,通常包含了多个应用子系统,如发文、收文、信息服务、档案管理、活动安排、会议管理等等,可以将电子邮件信箱作为所有这些办公应用子系统的统一“门户”,每一个用户通过关注自己的电子邮件信箱就可以了解到需要处理的工作,而不必经常性地来回检查不同的应用系统,看看哪些是需要处理的工作(在这种情况下,如果由于某种人为原因,没有及时查阅某个应用系统,就可能造成工作的延误)。办公自动化应用系统以电子邮件作为统一入口的设计思想,可以大大提高系统的用户的友好性和易用性,减少培训的工作量。
二、办公自动化系统处理的信息内容包括了大量的复合文档型的数据。
复合文档型数据不同于传统数据类型。所谓的传统的数据类型是指数值型、正文型数据。用传统数据类型在表达信息时要求信息具有严格的长度和格式(即所谓“结构化数据”),在处理信息时以关系运算和数学运算为特色。办公自动化所处理的信息的一部分符合传统数据类型的特点。
但是,必须指出的是,办公自动化对信息的表达与处理方式的要求,是不同于传统数据类型的。办公自动化所处理信息的载体大多是以文件、报表、信函、传真等形式出现,因此办公自动化系统是典型的文档处理系统。在这样的文档处理系统中,要处理的信息除包括传统数据类型外,更多的是以各种格式化数据(如经过排版的文字)混合存在的形式出现的,如在行文中包含文字、图形、表格,分成各种段落等等,很难将这些数据信息限定长度和格式(如果是那样的话必然是以降低系统的功能为代价);而且随着办公需求的进一步发展,多媒体信息(对象)也逐渐成为越来越重要的办公数据信息;同时办公自动化系统作为机关核心应用系统,必然需要和机关工作人员日常使用的桌面应用系统如Ms Office以及机关其他业务信息系统(如MIS与数据挖掘系统)、Web资源等等紧密集成,也就是说办公自动化系统所处理的信息还包含了各种各样的数据对象(如Word文件、1-2-3工作表等等)。这些区别于传统数据类型的信息,如果用一个概念来统一表示,就是“非结构化数据”、“复合文档数据”或“对象数据”。
对“复合文档数据”或“对象数据”的表示和存储管理是数据库技术领域的新领域。一般认为,关系数据库系统(如Oracle、DB/2、SQL Server、Foxpro等)适合传统数据类型(结构化信息)的表示和存储,但是对复合文档数据的处理就有“削足适履”之感,并非能够完全表达信息和存储效率最高。因此,“文档数据库”或“对象存储”的概念就被引入数据库领域,其目标就是针对新出现的需求,高效率地表达和存储管理“复合文档数据”。
更重要的是,用户在使用办公自动化系统(或文档处理系统)时,对信息的处理方式是不同于他们在使用主要是处理传统数据类型的应用系统时的。例如,用户在使用办公自动化系统时对信息的查询方式,除了像在使用传统数据类型系统时输入一些选择条件如范围、大小等等从而获得查询结果外,还需要有“全文检索”的查询方式,因为用户往往很难明确给出对文档(特别是文档内容)的查询条件,只能是以可能出现在文档中“词汇”作为查询条件,这就需要数据库系统提供对所有存储信息的全文检索引擎。此外,这些不同的信息处理方式还包括信息录入、输出的方式等等,如电子邮件、扫描仪、传真等均是系统输入输出的重要方式。
当然,传统数据的存储和处理也是办公自动化系统经常不可或缺的。虽然文档数据库一般都包含了对传统数据类型的存储、处理运算能力,但是大量、高强度的数据统计和运算、分析能力往往是其不足之处。因此,必须针对办公自动化的具体需求,必要时需要集成关系数据库,充分发挥各自的长处,提供最终用户完整高效的数据存储和处理能力。
一言以蔽之,办公自动化系统由于其对复合文档数据的处理要求,必须以文档数据库为核心建立,同时选择性地结合关系数据库。
从信息技术的角度出发,数据库技术代表了“拉”技术,即信息共享技术。信息被集中存储管理,当用户需要信息时,主动地将数据库中的信息“拉”到自己的工作站上进行处理。
三、办公自动化应用是典型的工作流自动化应用。
所谓的工作流就是一组人员为完成某一项业务所进行的所有工作与工作转交(交互)过程。几乎所有的业务过程都是工作流,特别是办公自动化应用系统的核心应用——公文审批流转处理、会议管理等。每一项工作以流程的形式,由发起者(如文件起草人)发起流程,经过本部门以及其他部门的处理(如签署、会签),最终到达流程的终点(如发出文件、归档入库)。
工作流程可以是互相连接、交叉或循环进行的,如一个工作流的终点可能就是另一个工作流的起点,如上级部门的发文处理过程结束后引发了下级部门的收文处理过程。工作流程也可是打破单位界限的,发生于机关以及与机关的相关单位之间。
工作流自动化的目标就是要协调组成工作流的四大元素,即人员、资源、事件、状态,推动工作流的发生、发展、完成,实现全过程监控。信息技术不仅应该管理工作流全过程的所有信息和操作,而且还应该主动推进工作流程的实现,如及时地收回和赋予不同人员的操作权限(如起草人起草文件完毕即不可修改文件内容,而其上级领导获得文件的签署权或对内容的修改权)、主动提示和催促工作人员实现某一阶段的处理,从而整体提高工作流处理的效率。
工作流自动化有三种实现模式。即:
基于邮件的。
基于共享数据库的。
基于邮件和共享数据库结合模式(即“群件模式”)的。
基于邮件的工作流应用,就是通过邮件将数据表单从一个人邮箱传送到另一个人邮箱。其特点是模式简单。但是,最大的弊病是无法实行监控,没有一个管理者可以随时掌握工作流的动态。其它问题包括:难以实现自动化处理如通过代理催办、集中归档、统计;数据容易出现多份拷贝,难以控制安全性和准确性;大量的邮件传输引发大量的网络流量。
基于共享数据库的工作流应用,可以克服上述基于邮件的工作流缺点。如信息单一存储,自动处理,安全性更好,容易实现监控。但是,工作流的驱动成了一个问题,因为缺乏信息通讯机制,无法主动通知有关人员进行下一步的工作。
而基于邮件和共享数据库结合模式(“群件模式”)的工作流应用,结合了上述二者的优点。通过数据库管理工作流信息,通过电子邮件推动工作流程,即所谓的“跟踪-通知”模型。

基于群件的工作流自动化系统充分利用了邮件和数据库的特点。通过可开发的应用设计工具可以开发出包含并优于前两者模式的工作流应用。
从信息技术的角度出发,群件模式结合了“推”、“拉”技术,充分发挥了不同技术的优点,克服了其缺点,是理想的办公自动化流程处理模式,也使办公自动化人员拥有了完整的信息技术工具。
四、办公自动化系统应能支持协同工作和移动办公。
传统上的管理信息系统或办公自动化应用将重点放在信息的输入输出、存储和检索。这无疑是十分正确的,但是传统应用系统在帮助用户“产生”和利用信息则支持不够,不能满足办公自动化的全部功能要求。
在日常办公中,办公人员需要花费大量的时间进行讨论和交流意见,才能作出某种决策(即“产生”信息的过程)。而这种在群体中互相沟通、合作的工作方式就是所谓的“协同工作”(工作流是其中一种相对有序的协同工作方式)。随着网络技术的发展,异步协作方式如电子邮件、网络论坛等,以及同步协作方式如网络实时会议正在逐渐成为除了人们面对面开会之外的新的工作方式,它们打破了时间、地域的限制,使人们可以随时随地参加到协同工作中去,大大提高了工作效率。
移动办公也是办公自动化的重要手段。传统的办公自动化系统限定了最终用户只有在办公室里才能访问和利用信息。可是,办公人员特别是领导由于其工作性质,需要经常外出,此时他就无法享受到信息技术带来的好处,甚至还可能造成工作的延误。例如,我们经常会遇到某项重要工作需要领导最终决策的情况,可是由于领导没有上网的手段或者应用系统不支持远程拨号连接,领导无法及时得到所有信息因而造成不必要的耽搁甚至损失。所谓的“移动办公”就是提供办公人员在办公室以外的办公手段,他可以远程拨号或登录到出差地的网络,通过电话线或广域网络,随时可以访问到办公自动化系统;为提高工作效率和减少费用,办公人员还可以选择“离线”工作方式,即将需要处理的信息先下载到本地便携机上,然后切断连接,“离线地”处理信息(例如他可以在旅途中批阅公文,起草电子邮件等),工作完毕才再次接通连接将自己的工作结果发出以及再次下载新的待办信息。
在网络时代,对信息的利用已不仅仅只是关注于信息本身了,为提高信息的利用率,必须而且也有了充分的技术可能性可以更好地支持人们的工作手段和习惯。所以办公自动化系统作为网络应用系统应提供用户协同工作支持和移动办公支持。
五、办公自动化系统要求完整的安全性控制功能
办公自动化系统所处理的信息一般涉及机关的机密,而且不同的办公人员在不同的时刻对办公信息的处理权限也是不同的,因此安全性控制功能成为办公自动化系统得以投入使用的先决条件。
机关办公自动化的安全性控制要求一般包括防止非法用户侵入、权限控制、存储和传输加密以及电子签名。这些手段必须足够强大,难以被攻破,而且也必须足够灵活,方便使用者掌握和利用。
当然,安全性的完整实现有赖于制定和执行严格的规章制度与管理规程。
六、办公自动化系统应能集成其他业务应用系统和Internet。
办公自动化系统决不是独立的应用系统。在任何一个单位内部都存在着其他业务应用系统,如MIS、专业应用系统等等,它们与办公自动化系统是互相联系的,例如专业应用系统的统计结果报表成为办公自动化应用系统的一项办公信息,反之办公自动化系统的一项输出如正式公文是专业应用系统的信息计算与处理依据。因此办公自动化系统必须能够集成单位内部的其他业务应用系统。
此外,随着Internet技术的普及和应用,办公自动化系统作为Intranet的重要应用必须能够与Internet相连接,包括电子邮件、Web发布等等,这不仅沟通了机关内外的信息、对外宣传了机关单位,而且还可以进一步提供网络服务,实现电子商务与参与电子社区。
事实上,从用户使用角度出发,“数据存访中心”的概念可以最大限度地提高应用系统的友好性和易用性。也就是说,用户只需要访问一个系统,就可以访问到所有他所需要的信息,包括办公信息、业务数据、Internet数据。我们认为办公自动化系统应该成为这样的“存访中心”,也只有办公自动化系统可以承担这样的角色。无疑,办公自动化系统的发展一定是既从功能上逐渐完善、强大,而且从易用性上也越来越友好和方便。
第二节 办公自动化系统对系统平台的需求分析
为实现上一节中办公自动化的功能需求,信息技术必须提供坚实的基础和充分的技术手段。也就是说,机关办公自动化系统平台应具有内置的、与生俱来的特殊功能,能够很方便地实现:
应用系统的开发。只有拥有简单易学、快速灵活的开发手段才能开发出符合业务需要的而且是需求多变的应用。而且这样的应用适应办公业务应用的流程化处理特点。
应用系统的集成。包括办公系统各子系统之间的数据集成,以及办公系统与从不同职能部门系统之间信息双向传递的数据集成能力。特别需要强调的是,这些相关的系统可能是完全异构的、分散的系统。
应用系统的管理。由于涉及重要的政务办公信息,信息系统的的安全性与完整性、强壮稳固、可配置管理是随时应该考虑的特性。
应用规模。政府机关单位是一类地域分布广泛的分布式信息系统用户群。适应这样的特殊应用要求的邮件骨干网与信息传递通道应具备大规模信息交流与共享的能力。
技术的符合标准与先进性。这是应用系统开放、具有强大生命力的保证。
第三节 为什么推荐Lotus Notes/Domino?
Lotus Notes/Domino是业界公认的群件“鼻祖”和事实标准。自1989年12月发布第1.0版以来,已具备9年的发展历史,积累了丰富的经验。在电子邮件与群件市场,拥有最大的客户群或最大的市场份额。累计到1998年第一季度末,全世界已有三千万个客户使用Lotus Notes/Domino,与去年同期比较,增长率是80%。
Lotus公司在电子邮件市场拥有丰富的经验,其拥有的另外一项著名产品是Lotus cc:Mail。cc:Mail在全球的用户数达到一千二百万,是基于局域网的电子邮件系统产品之冠。Lotus正在将其在优点推广到基于广域网的邮件、群件产品的开发与推广之中,其中以Lotus Notes/Domino为代表,继续保持了在这一领域的领先地位。目前,国内许多政府机关和企事业单位都采用Lotus Notes/Domino作为办公自动化系统的基础平台。
Lotus Notes/Domino是电子邮件、文档数据库、快速应用开发技术以及Web技术为一体的电子邮件与群件平台。其目的是跨越地域、部门之间的界限,使得各行各业的工作人员传递、共享信息与知识,从而提高群组的工作效率。Lotus Notes/Domino的主要功能可以概述为:
电子邮件与报文传递。 Lotus Domino/Notes是客户机/服务器结构的报文传递系统。Notes/Domino的电子邮件与报文传递功能通常被称为Notes Mail。Notes Mail提供最终用户一个非常简单易学的邮件系统,其中还包含日历与日程管理的功能;同时还提供可以与应用系统集成的、以支持工作流应用为特点的群件应用开发能力。
文档数据库系统。 Lotus Domino/Notes是一个文档数据库管理系统。Notes的数据库不仅可以包含结构化的数据信息,而且还可以存储、管理关系型数据库或者其它数据库系统无法存储与管理的非结构化数据。对于这些以非结构化或半结构化为特征的“文档型”数据的处理,Lotus Domino/Notes还提供了全文搜索、版本控制、文档链接等等信息检索、处理手段。
交互式的Web服务器。 Lotus Domino/Notes完全支持Internet标准,可以发布或浏览Web 信息。所有的应用系统信息都可以在安全机制的控制下,动态发布给Internet 或Intranet用户,同时通过Internet/Intranet收集信息。
网络应用开发工具、集成工具与实施工具。 Lotus Domino/Notes提供了一整套集成的、面向网络应用的开发工具。它包含有多个层次的开发手段,提供初学者到专业编程人员适应不同应用需求的开发手段,如宏公式语言与LotusScript。通过这些编程开发工具以及相关的软件产品或工具,开发者还可以集成其它信息来源,如通过ODBC标准或NotesPump产品与关系数据库系统双向交换数据。需要特别提出的是,开发出来的Domino/Notes应用是通过Domino/Notes本身的手段通过网络安装到每一个服务器上的,客户端基本不需要相应修改什么,因此Domino/Notes解决了困扰应用系统管理员的项目实施、管理问题。
利用Domino/Notes建立的机关办公信息系统,具有以下鲜明的特点:
集成性。最终用户使用的邮件与群件应用系统是一套统一的应用系统,使用同一套应用软件。在相同的、唯一的界面下,用户可以获得邮件信息、办公信息、专业应用信息、关系数据库信息、Internet信息等各个方面的信息。这种集成能力是在软件平台一级获得的,而不是通过二次开发“强加”上去的。 这大大减少开发的工作量,提高了应用系统的可靠性。而且对最终用户来说,不需要在几个客户端软件或是应用程序之间、几个服务器系统或数据源之间来回切换。
开发快捷、实施容易。应用系统的推出与使用是投资得以回报的关键。电子邮件功能是Domino/Notes的基本功能,在开始系统实施的很短时间内,就可以建立起电子邮件网,马上见到效益。而群件系统的应用或者办公自动化应用则可以利用Notes/Domino的快速开发、实施能力在较短的时间内实现。这非常适应办公自动化需求多变、繁杂的特点。
管理容易、机制完整。由于采用单一的软件系统,所有的应用开发都建立在统一的平台之上,主要的维护工作集中在应用管理一级,管理工作的难度与工作量大大降低。对于安全性管理、系统可靠性管理等重要工作,管理人员可以使用Notes/Domino完备的管理手段。如果管理人员希望借助其他软硬件系统如网管系统,实现统一的管理,Notes/Domino提供这样的手段和接口,如基于SNMP网管协议的NotesView软件;或者使用Windows NT的用户管理手段。
保有费用低。应用系统的保有费用包含了购买费用、管理维护费用、应用开发实施费用、系统集成费用等等。由于采用了功能强大的单一产品,本系统的总体保有费用在各方面都会降低。同时由于Notes/Domino的可开发特点,本系统的后续增值空间巨大。
适应大规模、跨企业和机关部门的应用。建立在Notes/Domino之上的机关办公信息系统,是一个分布式的客户机/服务器系统。可以根据信息量的大小选择不同规模档次的服务器系统(如UNIX或PC,SMP或单CPU的服务器),同时还可以利用Notes/Domino群集技术提高系统的吞吐量和高可靠性。
开放性。IBM/Lotus积极参加Internet/Intranet标准的制定,同时在自己的产品中遵循支持标准的原则。Notes/Domino支持几乎所有的网络协议标准、邮件与报文传送标准、安全性标准、编程开发标准。机关办公信息系统是一个内部互连的,又是一个可以与Internet互连的系统,并且随着技术的不断更新,自身也不断采纳新的技术成果,不断成长的生命力的系统。
可以获得厂商的丰富经验与支持。Notes/Domino是一个成熟的产品,在国内外电子邮件与群件领域始终居于领先地位,Lotus与IBM以及代理商具备丰富的成功经验。以Lotus Notes/Domino开发与实施的办公自动化系统以成功地应用在各个领域、行业和不同规模的机关中。Lotus及其合作伙伴愿意与各个机关单位密切合作,充分利用已经积累宝贵经验和教训,确保各个机关办公信息系统的成功建设。
结语
本章主要阐述了办公自动化系统的功能需求,以及对系统平台的要求。Lotus Notes/Domino是理想的、充分满足系统需求的办公自动化系统开发和使用平台。
在以下的章节中,我们将比较详细地介绍机关自动化的典型应用,以及Domino、Notes以及相关产品和开发工具。
第三章 办公自动化系统的应用
Notes是一个应用系统开发、运行平台。邮件应用是最基本的应用,机关办公系统的建设从邮件系统开始,应该作为第一步的应用,尽快投入使用。除此之外,应组织应用开发人员调查群件应用需求,分阶段逐步投产各种群件应用。
群件应用系统开发、运行可以在各级部门层次上进行。由相应层次的单位管理与实施。
机关办公应用系统主要组成部分包括电子邮件、文件传输、综合办公、综合信息服务、综合办公系统、决策支持等部分,其中综合办公系统包括公文管理、政务信息管理、签报、报告管理、会议系统等子系统。
应用之一:电子邮件和文件传输
由于Notes是一个基于客户机/服务器体系结构的具有存储转发功能的电子邮件系统,所以系统安装完毕以后,即可以用它收发邮件。这样的邮件体系具有良好的用户界面、可定制的邮件风格和可管理的邮件信息。
在文件传输方面,邮件系统提供了通过附件邮寄文件(或报表)的服务,也可以通过Lotus Domino/Notes提供的应用程序接口(Notes API)自动地转交应用系统产生的实际数据。
系统在提供邮件或文件传递的过程中,可以向发送者返回传递过程信息和对方收件情况。这样,我们能够保障资料是否确且被对方收到。
1应用之二:综合信息服务
由于Lotus Domino/Notes对平台、网络和数据的开放性,可成为企业级事实上的信息存访中心(即所有的信息通过Notes获得)。因此,我们可以开发和提供综合的信息服务。就其来源和用途的区别,可以分成以下几类:
动态公共信息。如新华社的每日电讯、国家信息中心的每日信息等。
一般静态公共信息。如国家的法规和条例,列车和航班信息等。
内部公共信息。如规章制度、文件、机构分布信息、人事信息和联系电话等。
党务政务信息等。
综合信息服务系统的开发工作,应当反映其“综合”和“服务”两个特点。具体地,该系统应具备以下特征:
全面。尽可能全面地涵盖各类信息来源。
及时。尽可能快捷地反映国家和各级政府的方针政策。
支持交互处理。允许相应领导或办公人员在浏览信息的同时进行相应的处理。
应用之三:综合办公系统
由于办公业务涉及面广且影响到长期形成的工作习惯,所以,应尽量简化办公自动化的运行过程,以此保障该应用系统可以为多数人接受。开发的模块应当易于维护、易于扩充和修改,并且更重要的是,易于使用。
综合办公系统包括以下几个模块:
电子报刊与公告牌。重要办公消息可以在指定的地方向预定的范围内工作人员发布,这类公告牌实际上是广播型电子邮件的演变,但是更加正式和庄重。
问题研讨。包括问题的提出和答案的征集,这是让人们参与的有效方式。
建议和意见。可以创建建议/意见、对其答复和对答复的答复。
人员日程安排。在部门内或机构内,按照指定的权限,可以查阅有关人员的行程、去向和日程安排。
任务追踪。按照上下级的隶属关系,可以提供领导追踪某项任务完成的情况或目前所处的状态。
公文管理(包括形成,编辑,收发等)。公文管理是一项非常典型的工作流,从草拟到编辑,到领导批阅,到发放,到归档。这样的流程涉及对文书(非结构信息)的管理、编辑和查询,涉及到按权限审核和批准的过程。对这样的流程的自动化管理是信息部门长期追求的目标,也将大大提高文书档案的处理效率。
会议系统。主要包括会议的计划,人员安排和会议资料的整理和管理。
出差申请。在这里,涉及到出差的目的、日程和费用情况。
其它审批过程。
应用之四:Internet连接
目前机关办公系统可以提供以下涉及国际互联网的服务:
浏览资源管理。将Internet上有关站点的信息统一下载到服务器上,使用Domino /Notes 的自动页面更新功能以维护这样的信息。由于Notes是一个文档数据库系统,信息在其中可以在必要的情况下转换为数据库形式,以得到高效的检索和查询等操作。
发布信息管理。统一组织和发布需要向Internet上公开发布的信息。
来自办公信息网外部的邮件的管理。可以增强系统的安全性,以防止诸如邮件炸弹的袭击。
显然,Internet连接和应用将是办公自动化应用最激动人心的发展方向。
第三章 Domino—Web应用与报文服务器
在Intranet中提供信息采集、处理、传递、发布等Web、报文传递、目录服务与安全管理等最主要服务功能的是Domino 服务器。本章将介绍Domino服务器的功能、体系结构与竞争优势。
第一节 Domino的功能
Domino是Web应用与报文(messaging)服务器,它内置集成了一系列服务功能,提供使用者方便快捷的手段,在Internet与企业内部Intranet上建立满足业务需要的、安全的、交互式的应用系统。
Domino提供的功能服务是由它的内部功能部件组成决定的。如下图所示,Domino主要包含了以下几个组成部分:

图3-1 Domino的Web功能结构
Notes服务:提供对象存储、目录服务、安全性控制、复制与报文传递等功能服务。这部分实际上是功能强大的、已经有九年成功市场销售历史的Notes Server的的发展延续,是Domino最核心的组成部分,提供了Domino所有功能服务的基础。
HTTP服务功能:提供HTTP服务。这部分实际上是在Domino Go Web Server上集成了动态HTML(及其它Internet数据表示标准)转换引擎(称为Domino引擎),可以将Notes服务所管理的对象(Notes数据库中的数据与应用逻辑、安全性控制等)动态地转换成HTML,满足Web浏览器需要;反之,可以将Web浏览器提交的数据(HTML等)动态地转换成的Notes服务管理的对象。Domino Go Web Server即原 Internet Connection Services(ICS),是在市场上主要的Web服务器产品之一。所以,Domino HTTP服务还可以象其它Web服务器那样提供对HTML文件、CGI/PERL、Java等的支持(如下图所示)。为保证安全性,Domino HTTP服务支持除了可以利用Notes服务提供的安全性控制之外,还可以支持SSL、X.509等Internet安全性标准或协议。

图3-2 Domino Web工作原理
l SMTP/IMAP4/POP3/LDAP服务:提供标准的Internet报文传递与服务。任何支持SMTP、IMAP4、POP3与LDAP的客户机或服务器,都可以直接与Domino服务器直接相连,接受Domino服务器的报文传递和服务。
l NNTP服务:提供标准的Internet新闻讨论组服务,可以直接连接任何NNTP客户机与服务器。
l 其他服务:如对网络交谈iChat的支持、对Java与COBRA、IIOP等对象互操作协议的支持等。随着Internet标准的不断丰富和完善以及用户需求的不断增加,Domino还会不断地在内部集成更多的功能模块,以针对性地提供新的服务。
简言之,Domino 是真正的Internet/Intranet应用与报文服务器,不仅支持功能强大的、不断开放的Notes客户机,还支持各种Internet标准和各种通用客户机或浏览器、新闻组前端、Chat客户机。
Domino技术实际上是一种把Notes 转换成 Internet 应用程序服务器的服务器技术。这样,Domino 把Internet 标准和协议的开放式联网技术环境与Notes的强大功能结合起来,使用户可以充分利用Notes丰富快捷的开发手段和强大的数据集成能力,在Internet 和Intranet上开发、部署实施、维护更广领域内的业务应用。
以下简要地列举Domino服务器的主要功能:
l 对象存储:Domino利用Notes文档数据库管理文档。在文档中可以包含任意数量的对象和数据。数据类型可以是文字、RTF、数字、结构化数据、图象、图形、声音、录影、文件附件、连接/嵌入的对象与Java Applet与ActiveX Control。内置的全文搜索引擎可以索引和快速检索文档中的数据。对象存储可以根据变量(如用户不同的身份、用户不同使用设置、用户输入数据、时间等)动态地提交信息,给各种客户机与服务器。
l 目录:Domino提供单一的全局目录,管理所有的资源目录信息,如服务器与网络配置、应用管理、安全性等等。Domino目录支持LDAP,并可与NT目录同步。由于目录是系统管理和安全性的基础,所以Domino单一的目录模式使得Internet/Intranet管理与安全性控制更简单、方便。
l 安全性:Domino安全性机制提供用户身份认证、数字签名、方便灵活的权限控制、加密等功能,是Internet/Intranet应用得以建立和运行的必要条件。
l 复制:双向复制技术可以自动分布与同步位于不同地理站点的信息与应用。由于Internet或Intranet上的站点在地理上是广泛分布的,而网络带宽受到限制,可以充分利用复制技术,使数据与应用在这些站点上分布式地存放和管理,而这些站点上的信息又能自动保持同步,这将大大地提高用户访问的效率,以及站点管理的效率。
l 报文传递:Domino提供先进的客户机/服务器模式的报文传递系统,其中内置了日历与日程管理功能。不管是在Intranet还是在Internet用户可以充分利用报文传递交换信息。用户可以任意选用邮件客户机,不管是功能强大的Notes客户机,还是功能相对单一的客户机——POP3、IMAP4、MAPI等。Domino内置集成了各种MTA(邮件转发代理),可以与其它邮件服务器或系统的直接无缝连接,这些MTA包括:SMTP/MIME MTA、X.400 MTA、cc:Mail MTA。
l 企业集成:Domino及Domino相关产品NotesPump提供了一系列Domino与关系数据库、事务处理系统及企业资源规划系统(ERP, Enterprise Resource Planning)相集成的手段和工具。数据集成可以是实时的,或是批量传输模式的。Domino企业集成使得企业各种Internet/Intranet应用系统互相连接,成为一个整体;同时,还将人力与IT系统相连接,改善业务流程的效率。
l 工作流:Domino结合报文传递与对象管理的工作流引擎技术可以分布、转发、跟踪工作流程中涉及的文档。用户可以很容易地根据业务流程的需要自定义工作流自动化应用。Domino工作流特性可以连接Intranet内的业务流程以及Internet上与相关业务伙伴的业务流程为一个完整的过程。
l 代理(Agent):代理可以自动执行和处理重复性的事件,减少烦琐的日常管理工作,加速业务流程的实现。代理的触发机制包括时间、事件等。
l 功能强大的应用开发:与Domino结合使用的Notes Designer for Domino,是一个集成式的Web应用的开发环境,可以充分利用Domino的应用开发功能。开发者还可以利用市场上流行的HTML创作工具、Java开发工具等开发丰富的Web页面和应用,存放在Domino上,由Domino提供给用户使用。Lotus BeanMachine for Java, NetObject Fusion等就是由Lotus提供的Java Applet与HTML站点创作与管理、维护工具。
l 伸缩性与可靠性支持:Domino群集等技术可以将多达6台的Domino服务器(可以是不同平台的)连接起来组成群集(Cluster),实现群集成员之间的负载均衡与失效转接,最大限度地保证服务器的可用性与可靠性。群集成员之间采用的是实时复制技术保证数据与应用的一致性。
第二节 Domino的体系结构
任何一个软件产品都面临着一个挑战,即随着用户需求的不断增加、新的技术与标准的不断涌现,软件产品如何适应这些变化发展的问题。相应的解决办法有两种:建造足够灵活的产品内核因应各种需求与技术的变化,或者是不断“粘合”新的功能部件。前者显然要优于后者,因为按照后者的思路,不断增加的产品功能之间缺少集成性,最终导致产品整体性能下降、易用性降低。
Domino同样面临上述挑战,但采用了前一种解决问题的思路。通过在功能强大的Notes Server基础上发展出来的内核设计,Domino可以不断通过对新技术、新标准的接口设计,支持不断增加和变化的用户需求。
Domino的这种体系结构使产品本身既成熟又足够稳定,可以适应未来的变化。经过长达九年的市场的检验,Notes技术以日臻完善,被认为是支持通讯、协作、协调的最佳软件平台,其结合文档数据库、邮件、与开发环境的整体集成功能是其最突出特点,产品功能的丰富性可以解决以工作流自动化为特点的协作型应用中所遇到的所有挑战。而通过在Notes技术上增加对标准协议的支持,就可以将Notes的这些强大的功能应用于Internet、Intranet的应用之中。尽管新的技术标准和需求不断涌现,Domino都可以通过增加新的对象服务与接口实现。
Domino的体系结构可以通过下图表示:

图3-3 Domino的内部体系结构
在Domino体系结构中起决定性作用的是最核心的对象存储机制。对象存储机制有时称为对象存储(体)。Domino的对象存储是一个具有高度适应能力的、经过优化的容器,可以存储、管理、检索数据类型复杂的数据对象,以及表单和页面。任何一种形式的多媒体信息都可以很容易地存储、管理和检索,手段可以是通过链接或通过操作,可以由用户、代理或程序实现这种存储、管理和检索。
以用户或应用开发者的立场来看,Domino的对象存储提供了企业所有信息的集中存取点,即通过Domino的对象存储可以访问和操作到企业所有信息。Domino的对象存储的另一大特点是它使得Web应用的设计、部署实施更加容易(通过Domino复制)。
Domino对象存储可以存放的对象包括:
l Domino应用的基本对象即页面或文档。这是Domino数据库与其他数据库的重大区别,而Domino的这种基于页面的数据库正好与Web应用基于页面的处理模式相吻合。
l Domino页面可以包含其它对象,如预先定义的字段和应用对象(如Java Applets, ActiveX Controls)等等。任何数据类型都可以存储在页面中,如格式化的数据(可能是来自关系数据库或电子表格)、经过排版的文字,Web页面、图形、连接或嵌入的对象或多媒体对象(如扫描图象、传真、声音或影象)。
1l 字段、视图与表单。Domino对象存储使用字段的概念管理对象,即页面的内容通过字段表示。字段使得可以按照某种规则排序页面(举例而言,按页面创建的时间、作者,处理的状态等),从而实现页面的有效管理和维护。这种排序页面的对象载体就是视图,创建与修改视图都是非常容易和直接了当的。表单是信息输入和显示的载体对象,定义了页面的格式,通常页面总与相应的表单相联系的。
l 应用逻辑与安全性控制信息。应用逻辑存放在字段、视图、表单、页面等对象之中,是和页面本身内容共同存储的。应用逻辑实现了对页面内容的自动控制和处理,而所有操作都是在安全性控制允许的前提下进行的。
从上所述,对象存储将应用逻辑、结构化和非结构化的数据、应用设计元素集成在一起,形成单一的、完整的体系。同样重要的是,对象存储是可编程的。编程定义的操作和应用逻辑可以按照特定字段的内容或页面状态等自动执行某种操作。
对象服务是Domino体系结构的第二层,是充分利用和操纵Domino对象存储的手段。对象服务是一组内置的协议、构件(construct)和方法,可以操作对象存储,是对象存储的增值。这些对象服务包括:安全性(加密/数字签名、权限控制等)、复制、报文传递与工作流、目录服务、Script引擎、视图索引、全文索引、文档编辑与提交、日历等等。
通过体系结构的第三层对象服务API (应用编程接口),Domino将其丰富的功能服务于各种客户机,其方式是通过对标准协议的支持。Domino通过标准协议响应客户机的请求,对象服务API将请求转换成对Domino对象服务的请求,然后通过对象服务操纵Domino对象存储体。
举例而言,一个用Domino开发运行的银行客户服务系统,开发人员在Domino数据库(即对象存储)里定义了问题查询表单,及自动运行代理。实际运行时,客户通过Web 浏览器填写查询表单,实际上是传递了一篇Web页面给服务器。Domino Web服务器通过HTTP协议接口(即对象服务接口),由安全性控制与文档编辑与提交等对象服务响应,然后存储为对象存储中的一篇文档(页面)。对象存储中的代理可以自动根据查询的内容转发(即通过对象服务——邮件路由与工作流引擎)给银行内部有关人员,让他们迅速回答客户的问题,方法可以是创建回答(即新的Web页面)或者是通过电子邮件等手段。
任何应用,包括Web应用归根结底都是对数据对象的操作。因此,对数据对象的存储与操作、管理是服务器的核心功能。由于Domino对象存储对数据对象广泛的支持能力、基于页面与字段的操作管理模式以及可编程控制等强大功能,使Domino的体系结构有了坚实的核心或基础。
服务器的服务功能是由对象服务实现的。Domino的对象服务体系是模块化和完整的,对象服务之间各自独立又密切集成,与对象存储体紧密配合。当新的需求提出时,Domino可以通过增加新的对象服务接口,相应地增加新的对象服务模块或是充分利用现有对象服务模块的功能,得以实现。新的对象服务功能增加时并不要求根本改变对象存储的结构,反而可以充分利用对象存储的丰富功能。 因此,Domino能够适应不断变化、增加的需求,同时保证产品的稳定性和性能。
例如,在Domino 4.5版时增加的HTTP服务,就是在服务器内部增加相应的对象服务模块与服务接口如Domino自动转换引擎及HTTP服务(Domino Go)。又如SMTP MTA 是在4.0版时增加的Internet邮件转发对象服务模块,是独立于原有的Notes邮件路由器的又一对象服务模块。所有这些模块都充分借助了Domino的对象存储机制,而不必引入新的数据对象存储管理机制。
对象服务之间功能是互相配合的,这是Domino集成性带来的主要优点。例如,浏览器用户的HTTP请求被Domino自动转换引擎响应后,可以利用全文索引快速检索页面,通过权限控制实现信息安全等。
第三节 Domino的优势
Domino的竞争优势是由于其先进的体系结构,其基石是Domino对象存储。
尽管Internet上有许多成熟的标准,但是并没有对象存储管理的标准,所以多数Web服务器包括Microsoft IIS、Netscape Enterprise Server、Lotus Domino Go Web Server等采用文件系统作为对象存储的手段。文件系统数据操作依赖于操作系统的特性、平面式的存储、只能依据文件标题作为信息管理检索手段的等等缺陷,都是无法与Domino以文档数据库为基础的对象存储管理相比拟的。
例如依赖文件系统的Web服务器,一篇页面通常是一个文件,通过文件标题互相链接起来。每次修改一篇页面都必须重新编辑、存储该文件,而不能只修改其中的某些数据片段(在数据库中可以容易地随时修改字段级的数据内容,无需操作系统文件一级的操作)。当文件标题发生变化时(如删除),就必须找到所有引用该文件标题的链接处(存在于众多的页面或文件中),逐一删除。又如,站点内容是成百上千甚至更多的页面构成,用文件系统来管理页面时,由于文件系统的平面化(尽管是可以是层次化的,但层次之间缺乏必然联系),而且缺乏文件内容一级的页面管理手段,所以站点的维护是一项繁琐的工作,虽然市场上有一些站点管理工具,如NetObject Fusion与Microsoft Frontpage等,并不能根本改变这一状况。与此相对应地,Domino以文档数据库为基础的对象存储可以在字段一级实现数据对象的存储、管理与操作,页面内容的操作、维护更加“颗粒化”。通过字段、表单、视图等编程部件可以将页面内容自动组织起来,页面之间的关系是由数据库自动实现的,因此,在很大程度上站点内容的维护人员不必关心复杂繁琐的链接维护。
以数据库为基础的对象存储具有如此突出的优点,所以Microsoft与NetScape都宣布计划发展各自类似的对象管理机制。
Domino服务器是从功能上超越其它Web服务器解决方案的。由于Domino服务器同时既是Web服务器,又是邮件服务器、目录与安全服务器、管理监控服务器、全文检索服务器等,一机多能。由于这些功能是一个Internet站点、特别更是Intranet应用系统不可或缺的功能,比较其他竞争对手的多服务器解决方案(如Microsoft与Netscape的解决方案),Domino解决方案大大降低了用户的集成与开发费用、购置成本、维护费用,即大大降低了站点的整体保有费用(Cost of Ownership),同时从技术上也大大降低了风险。
以下简要列举Domino服务器比较其他Web服务器的竞争优势: l 数据库管理:用户可以用数据库形式管理Web站点页面及内容,而不仅仅是存储。Domino数据库自动维护信息之间的链接关系,使站点维护更简单。
l 安全性控制。任何对Web信息的访问都受到安全性的控制,确保合适的人访问合适的信息。
l 基于目录。Domino本身提供了目录服务,目录是安全性控制的基础,同时目录帮助Internet/Intranet信息系统跟踪与管理人、信息、网络等资源,提供最终用户方便的检索功能。
l 内置集成电子邮件系统。电子邮件是Intranet/Internet信息系统不可缺少的组成部分。不仅传送电子邮件,而且可以转发Web页面等等。
l 支持工作流自动化。Domino结合电子邮件与工作流引擎、安全与目录服务、代理等一系列支持工作流的功能,使Intranet的工作流自动化更加完善而且延伸到Internet上,实现跨企业的协作型应用,真正使Intranet与Internet融为一体。
l 支持快速应用开发与维护工具。Domino的应用快速开发与维护的特点、丰富完整的开发手段、企业级数据集成能力使得Intranet/Internet应用可以迅速大量地投入使用。
l 可以分布式实现Web站点信息创作与管理。页面作者和管理者都可在安全性控制之下,使用Notes客户机或浏览器各自创作和维护自己的页面。
l 具有丰富的系统监控与管理工具。Domino本身具有管理进程、日志与管理数据库等工具并可结合NotesView、Tivoli等其他网管工具。
第四章 Lotus Notes 作为Intranet客户端
当Intranet的基本框架已搭建完毕,Intranet的核心—服务器产品也已选定,那么下一步要考虑的就是应该选定哪一种产品作为Intranet的客户端软件。
对于Intranet的最终用户来说,客户端是他们对整个网络价值有一个感性认识的第一窗口。给最终用户一个功能强大、易于操作、易于管理、界面美观简洁,而又不占用过多硬盘空间的客户端软件,对提高整个Intranet的使用效率,降低保有维护费用,缩短投资回收周期有着极其重大的意义。
第一节 Intranet客户端应具有的特性和功能
一、Intranet客户端首先应具备基本的信息浏览功能
Intranet 的一个重要的功能就是使企业内部信息得到最大程度的共享。在构建Intranet时,企业内部的大量可存取的共享信息遵循统一的标准(如HTTP,HTML,GIF等标准格式)发布在WEB或应用服务器上,尤其在目前,针对企业内部的具体应用也越来越多地被移植到Web上,企业内Intranet的用户通过浏览器所执行的功能已不仅仅只局限于对Web页面的存取,而更多的事物性处理工作也将集中在浏览器界面中来做。势必,Intranet客户端所具有的浏览器功能将越来越得到强化。
二、Intranet客户端是电子邮件处理器
几乎每一个目前在网络上工作和娱乐的人都是从收发电子邮件来 认识和熟悉Internet和Intranet的。网络发展到今天,电子邮件已成为信息社会不可或缺的内容。而在Intranet的基本架构中,电子邮件的地位亦极其重要。通过电子邮件,企业各部门之间和职员之间对突发性事件或有计划性的事件进行快速高效的安排处理。电子邮件在业界所提倡的3C(Communication通信、Coordination协作 ,Collaboration协调)过程中所起到的作用功不可没。
Intranet的客户端能够及时有效地处理大量的Internet/Intranet邮件至关重要。
三、Intranet客户端需支持协作和讨论
在企业员工之间,尤其是在同一部门,从事同一课题和同一性质业务处理的员工之间,建立良好的协作和讨论关系,提高工作效率,加快业务流程,最大程度地创造经济效益,是Intranet构建的核心目的所在。支持协作和讨论的Intranet客户端正是业务主管们关注的焦点。
四、Intranet客户端需支持工作流
构建Intranet的一个主要的目标就是在企业内实现自动办公(OA)。自动办公有时又被称为无纸办公。很显然,自动办公有利于提高工作效率,节省办公开支。
自动办公是目的,工作流是实现的手段,支持工作流的客户端是工具。
五、Intranet客户端应具备强大的Web应用和其他应用的开发能力
Intranet上所实现的功能决不仅仅是发发邮件,看看广告(浏览信息),Intranet相对Internet来说,有更多的针对客户特点的具体的应用,正是这些具体的应用(如财务管理,项目管理,自动办公系统,电子商务,Vitural Bank等)给企业带来了直接的经济效益,成为Intranet回报用户的主要渠道。也正是这些应用决定了,在构建Intranet选择产品时,在强调标准的同时,更应注重产品是否具有更强的应用开发能力。
第二节 Lotus Notes作为intranet客户端的优越性
Lotus Domino/Notes是一个典型的Client/Server结构的应用系统。Notes作为客户端软件已被认为是业界功能最强的Internet/Intranet客户机。Notes在客户端为用户提供了一个高集成度的服务和应用体系,它支持几乎所有的Internet/Intranet标准和传统的协议标准,具有浏览器、邮件工具、日历日程安排和支持工作流的特性,而且还是一个针对Internet/Intranet应用的强大的开发工具。
一、Notes的特性
跨平台
Notes支持多种操作系统平台:Windows NT,Windows 95,Window3.1,OS/2,UNIX(Sun Solaris,HP-UNIX, AIX),Macintosh(Power PC,680x0)
开放性
Notes客户机支持几乎所有的Internet标准和协议:TCP/IP,SMTP/MIME,NNTP,HTTP/SHTTP,HTML,SSL,FTP/FINGER/VRML,POP3,SMTP,Java...
一致性和高度集成性
对于Notes用户来说,无论他工作在何种计算机类型或操作系统上,他看到的始终是一个统一的Notes平台,即统一的三窗格的界面,统一的应用开发框架,统一的的本地存储机制。
高度安全性
Domino/Notes一贯以自己完善的安全机制著称于业界。它独特的七层安全机制使企业内部信息网能够有效地防止黑客的入侵和Internet病毒的进入,并可对网上信息的存取权限进行有效的管理和控制(详细内容请参见安全性一章)。并且在客户端同样具有安全防范措施(执行控制表ECL)。
易安装和易管理性
Notes的开放性和跨平台性,使Notes的安装在任何操作系统平台上都是同样的步骤和界面。通过联机帮助文档,可以使用户在不参考任何安装手册时,成功完成Notes客户端的安装。
DominoServer提供的目录服务,使得Intranet的管理和维护费用都保持在一个较低的水平上。
二、Notes 作为Intranet客户端
作为WEB浏览器
支持标准的Web协议:HTTP,HTML,FTP...
Notes将浏览和计算结合,实现了交互式的数据访问
支持离线阅读
Notes浏览器将HTML文本和文档数据库紧密结合,提供层次的基于应用逻辑的查询和全文检索
Notes浏览器中融合了其卓越的邮件传输功能,在浏览Web页面的同时,可以提供灵活方便的手段,将Web上查询到的有价信息与企业内部的更多人共享
通过可执行代理自动检索和存取网上信息
通过可执行代理,自动检测网上内容是否已有更新,如有更新则自动通知使用者
内部集成的IE、Navigator提供给用户更多的选择Web浏览的方式 作为邮件处理器
支持VIM,MAPI,SMTP,POP3,IMAP4和X.400
可定制的邮件风格和丰富多彩的邮件内容,包括语气戳、附件、图片、嵌入对象、热点操作、文档链接、数据库链接、URL链接...
提供邮件的投递确认、读确认功能
最佳择径投递功能
邮件跟踪功能
多级别的安全控制机制
与cc:mail一致的风格 支持协作和讨论
Notes的讨论数据库(Discussion Database)使企业内部达到信息共享和讨论功能
Notes支持NNTP,通过Domino提供的Internotes News服务,利用Notes提供的View工具、全文检索和多层索引浏览功能快速浏览新闻,并加入实时讨论
日历与日程安排
可客户化地定制用户自己的日历和日程安排
支持移动计算和复制技术
Notes支持移动用户,这一功能方便了远程拨号用户和出差在外的用户访问本地信息和数据
用户通过一次拨号连结即可访问分布在Intranet上的所有服务器
先进的复制机制保障移动用户的大部分操作可以在本地执行
断点处恢复的复制功能保障有效利用信息传输带宽
通过本地场所的设置,使用户方便地在不同地地理位置选择与服务器的链接方式
支持远程访问协议(PPP,NT RAS等) 工作流的支持
Notes内置层次化的工作流自动开发环境,开发结果运行在宿主系统之上,避免了脆弱性、多样性、和专有性
强大的应用开发功能
Notes 开发版软件(Notes Designer for Domino)为用户提供集成的Web应用开发环境
Notes Designer向Web开发人员提供直观灵活的Web应用程序设计元素
捆绑了Notes Global Designer和Lotus BeanMachine可视化Web应用程序开发工具
有关Notes的应用开发在下面的章节中会有详细的介绍
第三节 Notes客户机与其他客户机的比较
目前,在业界流行的Intranet客户端主要有三个厂家的产品:Lotus Notes ,Netscape Communicator,Microsoft Outlook
Netscape一直在积极地推行一套所谓的Intranet的标准,那种要把Intranet和Internet死拉硬拽靠在一起的劲头,使用户在头脑里形成了一个十分错误的概念—Intranet和Internet仅仅是一“墙”之隔(防火墙)。实际上,Intranet在追求标准化和开放性的同时,更应关注的是实际的应用和企业内部网络安全性的考虑上。
而Microsoft的整个Intranet解决方案看起来就象一个软件的大集合,在集成性、跨平台和可用性方面很差。
Web浏览器的比较
由于与Notes对象存储、复合型文档数据库和复制技术的紧密结合,Notes客户端软件内部集成的个人Web浏览器,不仅仅是一个单纯意义上的Web浏览器,它还是一个直接将Internet/Intranet内容导入到Notes文本数据库的工具。
通常意义上的浏览器(如Netscape Navigator,MS IE)仅仅是一个对Internet信息的浏览即Browser。对于那些有价值的信息只能由用户手工存储,而存储的格式仍然是HTML 或GIF等标准格式,而这些信息和用户原有信息系统的融合必将又是一个开发课题(尤其目前正在构建Intranet的用户,往往是在企业内部已拥有大量的非标准应用),最终,这些 Web信息的再利用过程也只能是由用户再重新浏览一遍。
Notes内置的个人Web浏览器汲取了大量Notes的技术特性,提供了方便灵活的存储机制,由于浏览的Internet信息可以导入并转换成Notes数据库格式,有利于与原有的OA系统或在Notes上开发的其他应用相结合,加强了对Web内容的应用和管理。
和其他类型的客户端比较,Notes在安全控制方面有独到之处
Netscape由于过分注重Intranet的开放性和标准性,未免在网络的安全性方面就做得稍欠火候。如他的用户在登录时只有一道防线—用户口令,当这个口令被盗取或被截取破译后,持有口令的任一用户都可以得到网上的信息。
而Notes的到字段一级的加密措施,逐层深入的存取访问控制使网上黑客无隙可入。
较其他客户端,Notes在数据处理方面有相当的优势
交互性:Notes提供的模板和开发工具能够更快地开发HTML文档和链接管理设置,更迅速地开发交互式应用程序。
企业内部连结性:Notes特有的复制机制和对工作流的支持,不仅加强了企业内部各部门之间的联系,而且也加强了企业与其外部机构诸如分支机构,供应商、经销商甚至最终客户的联系。
第五章 Intranet的系统管理
由于Intranet主要服务于企业内部,系统管理作为保障全网的正常、安全运作是最关键的环节,也是Intranet有别于Internet的重要原因。Intranet系统是一个非常复杂的环境,拥有大量设备,多种平台的操作系统,各种复杂的应用系统,而且整个环境是多层次、分布式的结构,地域分布广泛。对于如此庞大而复杂的环境,如果没有效的管理手段,势必带来混乱和管理工作的难度。因此必须为各种管理人员提供相应的管理工具,适当分布管理权限,克服系统的复杂性,以提高管理的效率,保证Intranet的正常运行。
第一节 Intranet中的系统管理任务
按照国际标准化组织ISO的定义,网络管理是指关于规划、监督、设计、和控制网络资源的使用和网络的各种活动,网络管理的目标是使网络的性能达到最大限度的优化。
Intranet中的管理任务至少应包括几个方面:
1. 故障管理,即故障的检测、隔离和纠正等;
2. 配置管理,即管理网络的拓扑结构、连接方式和参数设置,收集有关的状态信息等;
3. 性能管理,资源的使用状况及效率等,如:网络信息流量;
4. 安全管理,即保护网络资源不被非法访问以及对加密机制中的密钥进行管理;
5. 服务器管理;
6. 用户管理(包括证书管理等);
7. 应用系统管理(包括信息管理等); 通过对所有资源有效而简便的管理,应能做到:
* 有效的对网络上各系统进行监控
* 减少网络故障而造成系统延误的损失
* 能够自动进行一些故障的检测和处理
* 单点控制——统筹管理Intranet上的各种系统,操作人员的效率得以提高
* 实现系统资源有效、优化的分配
* 完整的安全策略与管理体系。
第二节 Intranet中的网络系统管理
Intranet的建设规模较大,各个局域网之间的广域连接,使得分布式网络管理显得越来越关键。 分布式网络管理和智能分布在Intranet内部,更加接近Intranet本身,这样可以降低解决故障所需的时间并减少由管理系统本身所产生的网络负荷。
TME10 NetView是目前唯一真正的分布式网络管理平台。它对网络进行主动监视,自动进行故障的检测、关联和解决,并通过分布式中级管理器Mid-Level Manager进行调节,使网络故障延误时间减少,提高系统性能和工作效率。对于各局域网通过Mid-Level Manager后台自动进行本地管理,TME10 NetView只与 Mid-Level Manager进行通信,既减少了管理人员的要求,又节省了广域网带宽。
真正的分布式网络管理的一个主要优势是可以在整个企业内部优化智能和自动化操作。 TME10 NetView Mid-Level Manager 允许用户将网络可用性管理分布到资源附近,执行诸如查询、设置阀值、事件自动化、自动检测设备增减等任务。通过这种方式,管理系统生成的网络业务就减少了,许多故障可以通过本地自动操作加以解决,降低了增加结点的管理工作强度。
因此建议可以采用TME10 NetView 和Mid-Level Manager完成对整个Intranet的管理,并由此减少由于管理造成的网络流量。
第三节 现有Domino系统的管理
Domino/Notes将网络的管理和监控功能集中化,同时将较为普通的管理功能分散化,从而会降低我们维护Intranet和系统的费用。也就是说,在定义管理模式时,Domino/Notes给我们一个相对灵活的选择,既可以采用集中的管理方式,也可以采用分散的管理方式;目前的Domino/Notes系统采取的方式是是二者的折中——集中分散式结构,管理的对象主要包括:用户管理、服务器管理、数据库(应用)管理、邮件管理、复制管理、日程表信息管理、验证(证书)管理、性能监视等。
用户管理:
1). 用户注册管理:用户注册由掌管认证标识符的管理员完成。
2). 系统的访问权限:系统管理员可以任意指定用户可以访问那些服务器和其上的数据库,甚至数据库中的文档。
3). 系统资源的占用:管理员可以根据需要定义用户对系统公共资源的使用界限,如邮箱的大小、是否可以在服务器上创建数据库、可否通过一台服务器访问另外的服务器等等。
4). 用户的移动:系统管理员可以借助管理进程的帮助任意在系统内移动用户或用户更名。
服务器管理:
服务器管理任务包括监视服务器的运行状态,监视负载、内存、磁盘空间等信息,出现问题时进行必要的修复工作,以及数据备份等。
数据库(应用)管理:
包含数据库设计的管理,内部文档的管理,容量的限制,用户权限的定义,信息的维护等等。Domino/Notes系统中绝大多数的管理工具都是针对数据库操作的。
邮件管理:
邮件管理包含邮件的拓扑结构设计,邮件路由选择,邮件流量的监视,用户邮箱的监控,与外部组织机构间的邮件投递管理等。管理员可以十分方便地利用Domino/Notes提供的管理功能,方便地管理诸如邮件路由选择,邮件的投递限制,用户邮箱大小的限制等等。
复制管理:
复制包括工作站和服务器之间的复制,服务器和服务器之间的复制。工作站和服务器之间的复制主要由用户自己管理,管理员不应干预,而只须限制服务器上信息的访问权限即可。服务器之间的复制是Domino/Notes系统实现信息发布共享的极其重要的工具。复制管理中包括复制的拓扑结构,复制的时间安排,所使用的通讯链路,复本的管理,复制冲突的解决等。
日程表信息管理:
日历是一种可以在任何 Notes 数据库中创建的视图。用户可以用个人日历来安排和管理他们的时间。用户邮件数据库的日历可以跟踪众多用户共享的日程安排信息。普通用户在他们的邮件库中保存一个“日历简要表”文档后便可以进行日程安排。
“空闲时间”系统的日程表管理器会更新用户邮件服务器上的“空闲时间”数据库(日程表管理器第一次启动时建立),这就保证了服务器上的“空闲时间”数据库与用户的日历保持同步。每当用户对他们的日历进行了改动,日程表管理器都会把这些改动记录到“空闲时间”数据库中。
“资源预定”数据库允许用户安排并管理会议资源。其中包括会议室和各种设备,如投影机和录象机等,使得用户可以为会议选择特定的资源并预定一段时间,或者也可以选择一个时间并要求“资源预定”数据库帮助用户查询这段时间里哪些资源是可用的。
验证管理:
验证管理包括用户的注册、服务器注册、组织机构的生成、公共密钥的管理、私人密钥的生成与发放、不同组织之间的交叉验证等。验证管理实际上是一种相互信任过程的管理,其中有对人的信任、对机器的信任、和对验证者的信任等过程。Domino/Notes可以使这种信任管理受到良好的监控,从而不至于滥用信任关系。
系统性能监视:
性能监视包括对系统所使用的资源状况的监控,及时报告系统运行的潜在问题,并随时解决已经出现的突发事件。Domino/Notes系统在运行时可以随时记录下每一发生事件,提供统计信息供管理员分析,并按照管理员的指示提供各种事件报告或预警消息,也可根据设置自动采取行动。
第四节 NotesView辅助管理工具
Lotus Domino内置了系统管理与用户管理功能,用户可以使用Domino本身实现几乎所有的管理工作。此外,为了与企业级网管工具如Tivoli TME-10或HP Openview等相结合,Lotus Domino提供相关工具与接口,允许用户充分利用现有的管理工具、资源与经验,甚至开发自己的Domino管理工具,形成统一、完整、集中的网管。其中,Lotus NotesView就是一个Lotus提供的实现集中式监控Domino网络的手段。
Lotus NotesView是图形化的网管应用。用户利用NotesView可以从单台、基于SNMP的管理工作站,集中监测、控制企业级的Domino网络。NotesView可以运行在 NetView for AIX等网管系统上,监控Domino以及Notes第3版以上的服务器。
NotesView不仅是检测与管理工具,它同时也是规划和分析的工具。用户可以利用NotesView收集历史数据、画出服务器在不同用途和时间下的运行状况图。用户可以据此分析服务器的性能趋势、制定优化的计划和办法。
NotesView可以高度控制:
Domino与Notes服务器
复制
邮件路由传递
Domino数据库
NotesView可以自动创建Domino网络拓扑结构的地图。例如,用户可以创建一个服务器以及与之相连的任何服务器的复制或邮件路由拓扑结构图。在图示中,用颜色区分服务器的不同状态,及时将状态变化通知管理员。其目的是在网络问题尚未影响到关键的应用或用户时及时提醒管理员立刻响应。
管理员可以设置阀值,如服务器磁盘空间、邮件大小、用户所用空间等。当阀值超过时,NotesView自动通过带颜色的报警系统发出通知。颜色的变化反映到不同的NotesView地图中,提供用户Domino或Notes服务器的实时与综合的图象状态。用户于是可以很快地集中监控相关的服务器,并可使用鼠标拖拉操作图标更好地显示有关状态。
NotesView地图包括:
网络拓扑地图。显示服务器正在使用的所有网络协议与连接状态。
复制地图。包括四种显示实时的复制的情况图。
1. 复制拓扑地图。显示网络域中所有的服务器复制路径以及与其他网络域的复制路径。
2. 任一特定服务器与其他服务器的复制接收/发出路径。
3. 任意两个服务器之间的复制图,供用户确定最短的复制路径。
4. 数据库复制件地图,显示在同一个网络域中包含此数据库以及复本的所有服务器。
邮件路由地图。包括三种实时的路由情况图。
1. 邮件拓扑结构地图。
2. 任一特定服务器与其他服务器的路由路径。
3. 被监控的邮件地图,显示运行NotesView mail reflector Agent的所有服务器。
独立地图。按照可配置的条件,用户自己可以定义的地图。如工作小组与物理位置图。

图5-1 NotesView服务器管理工具
管理员可以查阅、操作众多的Domino管理信息。如:
服务器统计。通过服务器属性框,提供最新的统计数据,如当前任务、磁盘空间与用户。用户还可以打开控制窗口。
邮件监控。 通过邮件属性框,提供最新的邮件数据,如邮件大小、待发邮件、死信与其他信息。用户还可以强制邮件传递、修复中转邮箱、关闭与打开邮件路由器任务。
邮件探测。监测与控制邮件探测器。探测器提供连续的Domino邮件系统的状态与性能统计。
复制。用户可以查看复制的时间趋势,监控复制器的状态,强制复制、关闭与打开复制器任务。
数据库。客户可以监控系统中的任意一个Domino数据库信息,如存放在哪些服务器上,并运行“Compact”实用程序。
网络。通过网络属性框,提供每一个服务器的网络配置信息,如协议以及收到和发出的数据包数量。
Internet。可以检查Web Retirever的工作状态,包括HTTP, Gopher及FTP请求,以及失效的URL。 NotesView Poller可以实现自动的状态报告,按照一定的时间间隔通知管理员。Poller是可配置的,以收集不同的信息。管理员还可以要求Poller执行一系列诊断测试,以检测服务器连接、端口与任务。
NotesView包含了NotesView Management Station软件与NotesView Agent软件两部分。后者是可选的。
NotesView Management Station。运行在HP OoenView for Windows以及 NetView for AIX上的图形化界面,显示并监控Domino或Notes服务器的状态。
NotesView Agent运行在Domino或Notes服务器上,包括:
NotesView SNMP Agent。这个Agent支持SNMP操作,通过安装在Domino服务器上的Lotus Management Information Base(MIB)。Lotus MIB中包含了从Domino统计信息中收集的信息,同时还包含了控制Domino服务器所需要的信息。通过基于SNMP的功能手段,该Agent实现对Domino与Notes服务器的实时监控。
NotesView Mail Reflector Agent。为实现邮件探测而提供的可以收集、传递综合统计报告的代理,其目的是诊断邮件路由的状态。

图5-2 NotesView工作方式
可以在总行安装一台NotesView管理工作站,集中监控系统中所有Domino服务器,随时监控运行状态,收集运行信息供日后优化系统配置。其它Domino服务器可选择安装NotesView Agent,建议在重点服务器如Hub服务器、总行服务器、网关服务器等上安装,以实现通过SNMP的遥控操作以及邮递路径探测。其他服务器也可不安装NotesView Agent,NotesView管理工作站可以通过Notes API Calls直接收集服务器的运行状态信息(但不能遥控)。
第 1 页
第六章 Domino Intranet网络的安全性
任何信息系统都必须考虑安全性要求,信息安全是应用系统成功的必要条件,特别是对于当今以网络计算为特点的Intranet/Internet系统。Intranet/Internet应用必然涉及重要的金融信息,因此安全性更应该成为信息网络系统首先考虑的因素。本章讨论信息系统安全性控制的需求,以及Domino/Notes安全性解决方案的功能与特点。
第一节 信息系统安全性需求
尽管每一个信息系统对安全性的需求不尽相同,但是根据ISO 7498安全性标准,它们都可以归类到以下的几个方面:权限控制、身份识别与验证、保密性、数据完整性与不可篡改性。一个信息系统只有完整地满足上述安全性要求,才可以被认为是安全的(从技术上),换句话说,安全性信息系统必须提供上述几种安全性控制服务。即:
l 权限控制(Access Control):即只允许经过授权(Authorized)和经过验证(Authenticated)的用户存取某一信息资源,不管信息资源是在服务器上,还是在个人工作站里。对资源存取控制可以由资源拥有者赋予,或者是由信息系统根据某种规则赋予。权限控制的内容包括:谁可以存取、存取方式、何时存取、存取条件等。
l 身份识别与验证(Identification and Authentication): 目的是确认访问者的身份。访问者可能是人或者程序,识别与验证就是验证它们提交的身份识别标志。验证的过程最简单的是单向的,即系统验证访问者的身份;也可以是双向或三方的,用于分布式环境下对于客户机与服务器的身份验证。身份验证是权限控制的基础和必要条件。身份识别与验证的技术包括:口令字、智能令牌(Smart Token)、智能卡(Smart Card)和生物测量法(如指纹、基因等)。
l 保密性(Confidentiality):目的是保护敏感信息。当敏感信息被保存在本地时,必须使用权限控制或加密技术,使之得以保护;当敏感信息在网络上传输时,应该被加密。
l 数据完整性(Data Integrity):目的是保证信息未经非授权的修改。用户或程序在使用数据时,或者数据在网络上传输时,必须有手段保证和检测信息未被非法修改过。非法修改的可能性有两种:硬件或传输错误,和受到攻击。相应地,为保证数据完整性,采用各种校验技术和产品以及网络协议确保存储与传输正确,采用符合国际标准的密码技术保证不受到别有用心者的攻击。
l 不可篡改性(Non-repudiation):可以看成是身份识别与验证的延伸。一般情况下用于电子传输,目的是确认信息传送双方,即保护信息的接收方防止发送人否认已发出信息,保护信息的发送方防止接收方否认已收到信息。如同手写体签名用于确认重要的法律文件,不可篡改性服务在电子信息上附加特定人的个人信息。
第二节 Domino/Notes安全机制
Domino/Notes从产品的第一版起即提供保证信息系统安全性完整的技术与手段,至今已经过近九年的发展和完善。业界公认, 安全性是Domino/Notes最有价值的特性之一。
Domino/Notes中每一项数据操作都在安全性控制之下,符合本章第一节中信息系统安全性的所有要求。Domino/Notes的安全性控制手段包括:
l 身份识别与验证:Domino提供基于工业标准RSA的Notes公共密钥基础架构(Public Key Infrastructure, PKI ),即层次化或平面化的验证字发放与验证、交叉验证体系。Domino服务器与Notes客户机均需要在系统中注册,获得合法的ID文件。ID文件具有口令保护(可以是多重的),而且具有时效性。在通讯和访问时,需要首先通过公共密钥/私用密钥验证技术,由系统验证双方身份。系统认为合法和真实身份后,才能进行下一步的操作。浏览器用户的身份验证则通过口令字与SSL认证实实现。浏览器用户可以注册到Domino目录里(否则视为匿名用户),每一次访问时必须输入口令,当口令准确无误时,Domino服务器认可浏览器用户在本信息系统的身份;或者采用更安全有效的SSL认证机制。Domino服务器支持SSL V3,利用标准的X.509数字证书为身份识别与验证的凭据。Domino可作为X.509证书的CA(发放与认证机构),也可接受由其他CA发放的X.509证书。一旦Domino服务器与浏览器用户可以验证通过对方的X.509证书,即可建立保密的通讯通道供信息的安全传输。Domino/Notes的下一版将统一Notes公共密钥基础架构与X.509公共密钥基础架构。
l 权限控制:包括服务器访问权限、数据库访问权限、表单与视图访问权限、文档访问权限、文档字段访问权限、区段与字段访问权限控制等多个级别。这些权限控制手段按层次逐渐细化,需要的话可以对Intranet/Internet系统中的每一个数据或设计元素控制访问权限。
l 数字签名:数字签名技术保证了数据的完整性和不可篡改性。数字签名过程简要说明如下:首先 根据数据内容生成一个128位的密文,并使用作者(签名者)的私人密钥来加密之,然后将加密过的密文附加到数据上,同时将签名者的公共密钥和验证字信息附加到数据上。当其它人访问签字后的数据时,Domino/Notes首先确认签字人的验证字是否可信,如果成功Domino/Notes使用与签名时使用的私人密钥相对应的公共密钥进行解密,如解密成功则表明确认此数字签名。 数字签名过程中使用了数据内容和时间等参数,不管是数据或签名在存储还是传输过程中受到损坏或被恶意篡改,都可以通过数字签名技术验证出来。
l 加密机制: Domino/Notes提供双密钥加密技术与单密钥加密技术。前者使用RSA算法,后者使用RC2与RC4算法。可以对数据字段、数据库文件存储加密,以及在报文传递与网络通讯时加密处理。此外,Domino支持SSL,可以加密保护服务器与服务器、服务器与浏览器(即端对端)的会话层数据传输通讯。
l 日志与审计功能:Domino的日志记录非常广泛,任何对服务器的操作都可以记录下来,用于分析和统计、审计。通过这个办法,可以检测所有尝试过的恶意攻击,不管是来自Notes客户机的还是浏览器的。
l ECL(执行控制权限表):Internet技术包括电子邮件、Java与HTML都可以包含内嵌对象(程序)。这些对象可以是邮件炸弹、特洛伊木马(非法驻留窃听程序)或病毒,一旦对象运行即对计算机与信息的安全性构成威胁。ECL可以控制这些内嵌对象的运行,从而保证安全性。
Domino的安全性控制可以用以下图示表明,用户只有经过多层次的认证与权限控制允许后才能访问到想要访问的信息。

图6-1 Domino的多级别安全保护
Domino提供的这些安全性控制手段,必须合理地运用于Intranet/Internet应用的开发和管理中,使之发挥效力。
第三节 其它安全机制与安全管理制度
必须认识到,物理和网络的安全性控制是同样重要的。尽管Domino的安全性控制能够确保保存在Domino数据库里(服务器或工作站上)的信息的安全性以及部分的网络通讯时的安全,即使非法侵入者已破坏了物理与网络的安全。但是,作为一个完整的信息系统,因为许多信息是保存或传输在文件系统、硬盘、网络服务器等等存储与传输介质上,所以,物理与网络的安全性控制也是必须考虑的。
l 物理安全性控制谁可以直接操作机器以及能执行何种操作。
l 网络安全性管理谁可以通过网络端口访问操作系统。
l Domino安全性控制谁可以访问Domino服务器、服务器上的数据库以及数据库里的数据等。
对于物理安全性,应该采用下列手段:
l 服务器放置在安全的环境内,一般情况下只有系统管理员才能接触,房间加锁。
l 硬件加锁。应利用服务器硬件上的机器锁、硬盘锁等设施。
l 操作系统权限管理。如加入屏幕保护口令、启动口令等等。
网络安全性控制是通过网络软件和协议来控制对服务器的网络访问。Intranet/Internet系统采用TCP/IP协议构建,而该协议本身的安全性控制是很弱的。因此本系统应该采取下列几方面措施限制将本系统中的服务器的访问。
l 防火墙与网络缓冲隔离。放火墙用以隔离Intranet与Internet,防止来自外部的非法访问。防火墙技术通常包括三种:Packet Filtering,Socks Server与Proxy Agents。在Intranet与Internet之间设置缓冲网络区段(也称为非军事区,DMZ)。
l 远程服务器。外界用户可能通过拨号方式访问服务器,必须设置必要的权限控制加以控制。
l 用口令等管理的办法,限制Telnet、FTP、共享目录NFS等网络操作。
l 加密网络通讯与使用SSL。目的是防止线路窃听。
第四节 Domino安全性机制的优势
不同的厂家采用不同的安全性策略,由于各自不同的产品策略。Domino安全性是产品功能的一部分,与其他功能紧密集成,使安全性机制完整、有效。比较其它厂家的安全性解决方案,Domino具有以下突出特点:
l 基于信息的访问权限控制。Domino的权限控制是针对信息(如数据库里的字段)本身的,不同于其他Web服务器是基于资源的,即权限控制只针对文件或文件目录。基于资源的安全性模型缺乏灵活性,并且是有限的。Domino基于信息的权限控制是一致的,不管信息位于哪个服务器或物理位置;Domino通过复制技术自动维护安全性定义,使得安全性控制可以集中式地统一管理;而且不管是任何信息,Domino安全性管理工具界面都是一致的、直观的,并且独立于应用逻辑的设计。 相反,其他基于资源的权限控制很难作到手段、界面的一致性,和同样信息在多服务器上存放时权限控制的一致性。
l 单一的安全性控制模式和手段。Domino的所有服务包括Web服务、文档数据库、电子邮件、企业数据集成等等均采用相同的安全机制,因为Domino采用相同的对象存储。Domino开发的所有Internet/Intranet应用采用了相同的安全性控制模式,管理成本下降。而其它解决方案要求不同的安全性控制手段,如操作系统、文件系统、应用程序等,造成多点管理,难度与成本大大提高。
l 权限控制“颗粒化”。Domino的权限控制是多层次的,最小层次可以是字段级的,而且权限控制的范围完整,包括了数据与设计元素。其它解决方案由于是基于资源的,只能在资源一级控制,如果想要对资源内的数据进行权限控制,就必须进行复杂的、适应性不好的程序设计;而且权限控制的范围并不完整。
第 1 页
第七章 Domino企业级信息集成
三层次Client/Server体系结构代表了Internet/Intranet应用技术的发展趋势。在三层次结构中应用服务器层承担了应用逻辑的表示和对第一层通用客户机前端的服务响应,而第三层是承担数据存储的数据库服务器。三层次结构使信息的存储与信息的处理、表示相隔离,各层次之间相对独立,使信息系统建设者可以灵活地选择适应自己需要的、不同厂家的产品和工具,而且可以采用循序渐进的分阶段方法建设自己的信息系统。由于三层次结构的优点,Intranet/Internet也将逐步采用这一先进的体系结构模式。
不言而喻,在三层次Client/Server中,应用服务器的功能和应用开发手段、数据集成能力具有关键的作用,决定了后端数据服务器与应用系统的集成以及前端客户机数据表示的成功和性能。Intranet/Internet系统采用Lotus Domino作为主要的应用服务器,通过Domino服务器把重要的企业级数据资源包括各个相关的银行业务系统、各个重要的关系数据库集成在统一的Intranet系统中,与业务流程自动化、报文传递、办公自动化、信息服务等Intranet应用联系起来,并逐步与服务银行客户的Internet应用系统相连接。
本章将介绍Domino的企业级信息集成能力,即Domino与其他数据源特别是关系数据库的集成能力。
第一节 Domino企业信息集成手段
Domino的企业信息集成手段对应于企业信息资源,可以分为以下手段:
与关系数据库的连接
NotesPump
NotesSQL
LotusScipt Data Object (LS:DO)
DB2 LSX
Oracle LSX
ODBC
JDBC
与事务处理(Transaction)系统的连接
MQSeries & CICS Connection for Domino(MQSeries LSX与MQEI)
与ERP应用系统的连接
SAP LSX
上述手段如果技术角度分类可以大致划分为两类,即LSX类,包括LS:DO,DB2 LSX,Oracle LSX,MQSeries LSX,SAP LSX等;以及企业级数据分布服务器NotesPump。此外Domino支持ODBC、JDBC等标准数据库连接手段,NotesSQL是NotesSQL即是Domino的Windows ODBC驱动程序。
第二节 NotesPump
NotesPump是企业级的数据分布服务器(Enterprise-scale Data Distribution Server),用于在不同的数据源(Domino数据库、关系数据库、传统数据源、Internet数据源等)之间双向读写交换数据。
NotesPump是企业级的数据访问解决方案。其产品定位是解决以下业务需求:在异类数据库(源)之间大批量地传送数据;提供最终用户直接的、交互式的对企业数据库的访问能力;可以在企业网络环境下管理。
使用NotesPump可以在不同数据源之间传送或同步数据,按照时间或其他事先制定的调度计划进行,或者是基于某些条件进行,也可以按照前端客户机的命令实时进行。
NotesPump直接支持的数据源包括:Domino、 DB/2、 Oracle 7/8、Sybase 10/11、Text/ASCII、HTML、CGI,此外,通过ODBC以及EDA/SQL支持多达七十余种的传统和顺序文件资源。用户可以通过NotesPump API开发,支持其它种类的数据源。
NotesPump同样是跨平台的,包括Windows NT,OS/2, HP-UX,Sun Solaris, AIX等。
NotesPump包括三个组成部分:
l NotesPump 服务器,是一个多任务的数据传送引擎,可以同时在多个数据源之间同时执行多个数据传送操作。NotesPump服务器可以单独运行在一台机器上(推荐),也可与Domino服务器同时运行。
l NotesPump管理数据库以及NotesPump日志(均为Domino数据库),用于配置、管理、记录NotesPump服务器的任务与操作。管理数据库是NotesPump服务器的“控制中心”,控制指令以Notes文档的形式由NotesPump的管理员根据需要建立,分为三类:配置文档、连接文档与操作文档。配置文档定义NotesPump服务器的系统环境,连接文档定义所有源数据库(源)与目的数据库(源)的名称与网络地址,而操作文档具体定义NotesPump服务器在各个源与目的之间的各种数据传送操作内容和运行调度方式、条件等。NotesPump管理数据库存放在Domino服务器上,可同时管理多个 NotesPump服务器。
l NotesPump开发客户机(根据需要设立),是NotesPump开发人员使用的Notes客户机,即在Notes客户机中安装NotesPump客户机应用,开发人员可以进行NotesPump LotusScipt程序的编制以及交互式数据源字段映射操作。
下图显示NotesPump的一般配置安装示意,图中包括一台NotesPump管理员使用的一般Notes客户机。

图7-1 NotesPump安装、工作示意
NotesPump的功能(即NotesPump操作的种类,操作都是在Domino安全性控制之下的)如下:
l 实时操作。在Domino应用与NotesPump支持的后端数据源之间建立持续的、同步的连接,使得Notes客户机或Web浏览器客户实时地“按指令”直接读写访问后台数据源。
l 直接传送。即在数据源与目的之间按调度计划进行数据传送。传送条件由SQL请求、Notes公式和其他数据源指令定义。数据传送可以是周期性的,或由人工触发。
l 探询(Polling)或事件监控,即在数据源中定义条件或事件,如对RDBMS表或Domino数据库的一个插入操作。当条件满足时,NotesPump立即启动指定的数据交换操作。
l 复制。 即在不同类型数据库之间做复制,以保证相互的数据同步。使用每个数据库共同的一个或多个关键字段作为依据,可以定时交换数据,以保持彼此信息一致。还可使用时间标记字段改进这一操作,每次仅交换两个数据源中上次操作以后更新的数据记录。
l Java。在Java编制的应用之间按调度计划传送数据。
l DPropR。可以将 DPropR系统中的数据迁移到NotesPump支持的数据源中。
l 编程控制(Scripted)。NotesPump开发人员使用NotesPump LotusScipt对象类编制客户化的数据传送、条件处理、报文传递等操作,从而扩展了NotesPump服务器的功能。
l 指令。在NotesPump服务器控制台上直接执行数据库服务器或操作系统的指令。
l 归档操作。即从源数据源到目的数据源的定期归档操作。
NotesPump解决方案的突出优点包括:
l 不需编程即可在不同数据源之间传送数据。
l 容易管理。通过NotesPump管理数据库的文档可以很容易、友好地配置NotesPump服务器的操作。
l 可伸缩性。新的数据源、连接与操作可以通过管理数据库很方便地加入,不必中断NotesPump的运行。此外,可以通过开发支持更多的数据源和操作种类。
l 可管理性。NotesPump服务器支持网管协议SNMP,可以用网管工具管理;还提供Java远程控制台,用Web浏览器实现远程监控。
l 负载平衡。支持多个NotesPump服务器之间的任务分配,和多任务操作设置。
l 抗错(Fault resilience)性。NotesPump操作中可以设置重试周期,确保操作的完成。此外,NotesPump日志可以用来考核系统的运行状况。
l 具有电子邮件通知手段。管理员可以通过Notes电子邮件获得NotesPump的运行状况。
. 第三节 LSX编程
LSX,即LotusScipt Extension,是LotusScript语言的对象类。在LotusScript程序设计时,只要使用命令“USELSX”即可引入,和LotusScript固有的对象类一样使用。
Domino内置了LotusScript,使用LS:DO、DB2 LSX、Oracle LSX等LSX即可实现对企业内其他数据源的存取。使用时,这些LSX可以用于任何LotusScript事件,如单击一个按钮、离开一个字段或打开一个文档,从而触发对数据源数据的实时访问。在Domino服务器和Notes客户机上都可以应用LSX。
LSX的实时数据存取经常用于以下方面:
优化数据登记(即时查找、立即更新、输入合法性检查和避免重复登记等)。许多设计者使用Notes作为一个应用的数据登记入口,要求与RDBMS保持数据同步或者将RDBMS作为长期的数据存储。LSX可以即时地提供以下功能:
即时查找:如客户服务系统中,一旦用户输入了一个客户的名字并用TAB键或鼠标点击退出该字段时,LotusScript程序代码可以立即执行一个SQL查询,将符合该名字的客户记录提取出来,并自动填充表单中的剩余字段,如:地址、电话和联系人姓名。
立即更新:可以在保存一个Notes新文档时或按指定间隔进行批处理时更新RDBMS中的信息。
输入合法性检查: 如客户服务系统中,如在 Notes表单中分配给该客户的销售代表是否正确?负责该地区的销售代表是否工作负担过重?LSX可以从RDBMS中提取有关信息,用LotusScript编程对这些数据进行评估并采取适当的处理。
避免重复登记: 如客户服务系统中,一旦用户输入了一个客户名称, LSX会查询后台来验证客户名称的合法性,保证在RDBMS中不会将出现同一个客户不同名称拼写。
移动用户的查询和更新。RDBMS与Domino/Notes相结合的最令人激动的结果之一是可以充分利用Notes对移动计算的支持:移动的Notes用户可以存取RDBMS数据并在旅途中利用这些数据。首先在移动的Notes客户机上的一个应用中构造一个查询请求;然后将该查询复制到Notes服务器上,等在那里的LSX代理(Agent)见到这个新文档、验证并执行查询,把查询结果放在该文档中并将其保存;最后将查询结果复制回本地的笔记本电脑中进行分析和审核。
Web查询。Web浏览器用户将请求发给Domino服务器,Domino服务器利用表单、代理等手段通过LSX,实时访问读写后台RDBMS,实现直接和交互式、动态数据库访问。
LotusScript Data Object(LS:DO)是Domino/Notes产品中附带的LSX,提供了对外部ODBC数据源完全的读写访问。LS:DO 由三个类库构成:ODBCConnection、ODBCQuery、ODBCResultSet,具有一整套属性和方法以及完整的SQL功能。
LS:DO不仅允许用户提交SQL给DBMS,而且还提供其它的数据处理功能。如:连接共享、多查询和result sets、双向 Scrolling Over Result Set、Result set搜索、result缓存、更新服务和与驱动程序无关。
DB2 LSX与Oracle LSX分别是通过LotusScript访问DB2、Oracle数据库的对象类库。不象通用的数据库接口如ODBC(LS:DO), 它们分别使用自己直接的调用接口CLI与OCI,保证了更好的性能和可扩展性。这两个LSX分别由与Oracle编制。
MQSeries LSX与MQEI使Domino应用能与使用MQSeries或CICS的事务处理系统通信。Domino应用可以参加到事务处理系统中,发起执行事务(交易),查询与更新MQ Series与CICS 3270和DPL应用。MQSeries与MQEI均为LSX,类定义与编程容易程度以及适用领域略有不同。
SAP R/3 LSX是通过RFC(Remote Function Calls)访问SAP R/3的手段,实现双向、同步或异步的数据交换,并可通过R/3的Business API(BAPI)支持SAP R/3 Business Objects。
Lotus公司提供的LotusScript ToolKit可以使用户开发自己需要的LSX,以访问特殊的数据源。此外,Lotus与协同主要的数据库或应用系统厂商正在推出一系列连接这些系统的编程类库LSX,如PeopleSoft、Baan等,使Domino企业信息集成能力不断提高。
NotesPump与LSX的解决方案各有特点,用户在使用时可以根据需要选用。简单而言,NotesPump基本不需编程、容易使用,是完全基于服务器的技术;而LSX则需要编程开发,而且如果在Notes客户机端采用则相应地需要在每一个客户机端安装所使用的LSX(只有LS:DO是随Notes附带的),但使用LSX编程可实现较为灵活的和更为“颗粒状”的控制。
第四节 MQ Series 中间件
MQ Series是的商业通讯中间件(Commercial Messaging middleware)产品,提供 一个具有工业标准,安全,可靠的信息传输系统。鉴于国内网络不稳定的现状,以及分布式业务的分散性和随机性,尤其考虑到各种应用的实时的或随机的数据通信,我们推荐的MQ Series中间件产品,特别适合于差异很大的环境之间实现信息沟通。具有多平台(共20多种)支持功能,可以运行于新技术和传统技术组合的非均一环境中,具有简单、灵活的特点,并能满足业务对系统速度、集成性、安全性方面的要求。利用MQSeries,可以:
消除了硬件于网络协议的依赖关系。
确保了信息传输,并且支持异步通讯,无需等待接收者的响应。
易于使用的API,减少了开发时间。
可集成不同结构和设计的应用程序。
易于在分布式处理结构中继续使用传统的系统。
它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递信息完成整个工作流程。MQSeries基本由一个信息传输系和一个应用程序接口组成,其资源是信息和队列(Messaging and Queuing)。
信 息: 一个信息包含两个因素:信息描述(用于定义诸如信息传目标等)和数据信息(如应用程序数据或数据库查询等)。程序之间的通讯通过传递息而非直接调用程序。
队 列: 一个安全的信息存储区。因为信息存放在队列中,所以应用程序以相互独立的运行,以不同的速度,在不同的时间,在不同的地点。
信 息 传 输 系 统: 用于确保队列之间的信息提供,包括网络中不同系统上的远程队列之间的信息提供。并保证网络故障或关闭后的恢复。
应 用 程 序 接 口: 应用程序和信息系统之间通过MQSeries API实现的接口在所有MQSeries平台上是一致的。API只有11个调用,2个关键动词:发送 (PUT)和接收(GET)。
MQSeries 的 工 作 原 理:

如图所示:虽然应用程序A和应用程序B运行于同一系统A,它们不需要直接的通讯。应用程序A向队列1发送一条信息,而当应用程序B需要时就可以得到该信息。
如果信息传输的目标改为在系统B上的应用程序C,这种变化不会对应用程序A产生影响,应用程序A向队列2发送一条信息,系统A的MQSeries发现Q2实际上在系统B,它将信息放到本地的一个特殊传输队列(Transmission Queue )。系统A的MQSeries建立一条到系统B通讯联接,传递这条信息到系统B,并等待确认。只有MQSeries接系统B成功地收到信息的确认后,才从传输队列中移走信息。如果通讯线路不通,或系统B不在运行,信息会留在传输队列中,直到被成功地传送到目的地。这是MQSeries最基本而最重要的技术 — 确保信息传输 。
事实上,MQSeries具有特殊的技术防止信息重复传送,确保信息一次且仅一次 (once-and-only-once) 传 递 。
MQSeries 重 要 特 点:
MQSeries提供给用户许多难得的价值:
统 一 接 口, 跨 平 台. 简 单 的 "PUT" 和 "GET" 动 词在 MQSeries 支 持 20 种 平 台 上 完 全 相 同。 使 得 MQSeries 提 供 了 这 样 的 特 性: 目 标 应 用 程 序 位 置 的 透 明 性( target application location transparency)。 对 于 一 个 应 用 程 序 的 开 发 者,他 需 要 知 道 的 全 部 只 是 队 列 的 名 字, 这 个 队 列 与 一 个 特 定 的 服 务 有 关, 而 与 系 统 的 平 台 或 系 统 在 什 么 地 方 无 关。
使 开 发 人 员 避 开 网 络 的 复 杂 性. 因 为 MQSeries 负 责 处 理 所 有 的 通 讯 , 开 发 人 员 不 必 编 写 任 何 通 讯 方 面 的 程 序。 并 且编 程 和 调 试 非 常 简 单 和 直 接, 不 需 要 具 体 的 系 统 和 通 讯 方 面 的 知 识。 尤 其 在 开 发 客 户 机/ 服 务 器 模 式 的 应 用 时, 开 发 人 员 可 以 集 中 精 力 在 与 业 务 有 关 的 客 户 端 和 服 务 器 端 的 应 用, 而 不 必 考 虑 操 作 系 统 和 通 讯, 特 别 是 底 层 的 网 络 通 讯, 节 省 大 约 50% 到 75% of 通 讯 编 程 工 作。
处 理 不 依 赖 时 间 的 限 制, 意 思 是 说 在 信 息 创 建 和 发 送 时 ,信 息 的 接 收 方 或 到 接 收 方 的 通 道 不 需 要 激 活. 不 受 时 间 的 限 制 增 加 了 处 理 的 灵 活 性, 允 许 事 务 处 理 在 它 们 想 做 或 有 时 间 做 时。 彼 此 通 讯 程 序 可 以 运 行 在 不 同 的 时 间。 这 样 程 序 的 运 行 是 独 立 的, 如 果 逻 辑 允 许, 它 们 不 必 等 待 其 它 程 序 的 应 答 而 继 续 工 作, 利 用 这 种 异 步 处 理 功 能 , 可 以 更 有 效 的 使 用 资 源,更 灵 活 的 处 理 模 式, 应 用 处 理 可 以 是 独 立 的, 并 行 的, 重 叠 的 , 从 而 改 进 用 户 服 务。
给 分 布 式 处 理 提 供 的 强 健 的 中 间 件: 包 括 逻 辑 工 作 单 元 支 持 ( logical unit of work) , 备 份 和 恢 复 机 制, 大 信 息 传 递 和 高 性 能 等 特 点。 其 中 最 重 要 的 是 确 保 信 息 传 输, 意 思 是 一 旦 MQSeries 接 受 一 个 信 息 传 输 的 任 务, 会 确 保 信 息 被 传 送 到 目 标 平 台。 信 息 的 传 输 是 一 次 且 仅 一 次. 另 外,强 健 的 中 间 件 机 制 保 证 业 务 数 据 一 致 性, 并 可 在 系 统 发 生 故 障 时, 及 时 恢 复, 业 务 不 会 受 到 影 响。
第五节 其他信息集成手段
除了以上介绍的两类手段之外,Domino/Notes还可以使用其它其他信息集成手段,适用于一些特定的环境或需要,包括@DB函数、NotesSQL。
Lotus Domino/Notes内置快速开发手段——公式语言。在公式语言中包含的@DB函数,提供了快速易用的存取与ODBC兼容的RDBMS数据的方法,而无须编写LotusScript程序。每个@DB函数都针对一个特定的任务,包括连接外部数据库、执行查询、缓存查询结果和关闭数据库连接。@DB函数主要用于三种常用的查询任务:
1. 产生关键词列表(@DBColumn)
2. 执行查找操作(@DBLookup)
3. 启动存储在外部数据库中的进程和查询(@DBCommand)
NotesSQL是Lotus Notes的Windows ODBC驱动程序,它使与ODBC兼容的RDBMS 和数据查询工具对基于Notes的信息进行存取、查询和汇报。NotesSQL使Notes对SQL工具和应用来说看起来象另一个关系型后台数据源。NotesSQL允许开发者对Notes数据库提交SQL语句,对想在其应用中使用 Notes 数据的开发者来说,NotesSQL是理想的工具。NotesSQL是对Notes的SQL API,与ODBC 2.0 二级完全兼容并具有二级扩展。
此外还有一些工具可以作为Domino与其它应用系统的连接工具,如:Notes CICS Link:它是Notes与 CICS交易处理环境的连接工具。
第八章 应用开发环境与工具
Intranet/Internet的成功取决于应用的成功。更多的、功能强大的、安全的、信息内容丰富的、用户界面友好的应用系统才能真正发挥网络技术进步带来的好处,提高投资回报率。在Intranet/Internet应用领域,用户需求非常广泛,从简单的消息发布、公告版到复杂的、实时、交互式、动态数据处理的电子商务应用,提供这些应用的站点的建立与维护,以及应用本身的设计与维护需要一套完整、易学、易用的可视化开发工具与平台来支撑。
Domino服务器是具有竞争优势的是Web应用与报文(messaging)服务器,它内置集成了一系列强大的服务功能。这些功能可以通过应用开发充分利用,主要工具是集成开发环境Notes Designer for Domino。
利用Domino的功能特性,应用开发者可以快速开发和实施部署Intranet/Internet应用,不仅面向Notes客户机,而且面向Web浏览器。使用Domino为平台的Web开发的优点包括:
l 可以充分利用Domino的集成功能服务。Domino作为开发环境的基本价值在于它的集成服务——复制、安全性、报文传递、目录服务、代理、全文索引、视图索引、企业级信息集成功能等——是任何Web应用成功开发与实施的决定性因素。
l Domino的“(meta-model)”模式非常适合于Web应用。Domino应用是基于采用数据库的,适应于当前快速应用开发和管理,应用开发过程就是实施部署过程。Domino利用模板包含所有的设计元素、安全信息和计算逻辑结构,通过复制和自动设计更新实现应用的快速部署和集中式管理;开发人员可以利用标准的样例模板或现有的应用模板来快速建立自己的应用。
l Domino对于正在发展的各种开发工具是开放的。Lotus把Domino作为Web应用开发平台。对各种开发工具开放它的对象存储和丰富的服务功能是其产品开发计划的重点。对于Web站点的各种开发、维护人员如内容提供者、站点设计者、应用开发者,除了Notes Designer for Domino,0Lotus与提供了一整套创建和维护交互式Web应用、站点管理与Java程序开发工具,适应了不同开发需求。这些工具主要包括:HTML0创作与站点管理工具NetObject Fusion、可视化Java小程序创作开发工具Lotus BeanMachine以及JavaBean部件(Component)产品eSuite DevPack等, VisualAge Java等。
第一节 集成开发环境Notes Designer for Domino
Notes Designer for Domino可以充分利用Domino服务器的强大功能,提供开发者一个集成开发环境,可以快速、容易、可视化地开发动态、交互式的Domino Web应用,开发出来的应用不仅面向Notes客户机,而且面向Web浏览器。
Notes Designer for Domino提供了大量的设计元素和编程手段来帮助开发人员提高开发效率。可以概要归纳如下:
l 表单。它提供了一个应用程序中用于数据输入和显示的模板。表单能定义文档的格式和屏幕布局,它由域、静态文本、图象以及操作按钮组成。比如,应用中登记、录入各种信息的格式就可以用表单来设计,快速且风格优美。
l 视图/文件夹。它依靠特定的标准,提供了不同的方法来浏览部分或全部数据。一个视图/文件夹可以认为是传统关系数据库中的报表。在视图/文件夹中,通常每个文档的显示占一行。一个数据库可以定义多个视图/文件夹,以便能让用户从不同的角度了解、读取数据信息。
l 字段(域)。位于表单中,用来存放某种特定数据类型的数据。
l 导航器。它提供了在不同视图间切换的图形化界面,就象是图形化数据库目录,用它设计出来的用户界面非常友好、观赏性强、易于使用。
l 代理。代理是由开发者或用户预先定义好的程序,用来在应用中自动实现某些功能,如代理可以帮助用户完成批作业。我们只需把设计好的代理放在服务器上或本地,当预设的条件满足或定制的时间到来时Domino/Notes会自动去执行代理。它大大减轻了开发人员的编程负担,优化了代码质量。
l 区段。它定义了表单中的特殊区域,通常包括一组字段或提示信息,能折叠又能打开,同时还能实现权限控制。
l 区域布局。一般可用来制作漂亮的表单背景,可以在这个区域放置静态文本、域、按钮、图片等。
l 简单操作。Domino/Notes提供了许多预先定义的操作来完成一些系统功能,例如编辑、目录化排序文档等等。开发人员不需编写程序代码即可利用。
l 公式语言(@函数与命令)。公式语言是简单的而功能强大的编程工具,实际上是一组函数(宏命令),用它可以完成一部分程序控制,简单易用,书写代码少,此外公式语言可以调用执行所有的菜单命令。
l LotusScript语言。这是Domino/Notes集成开发环境里面提供的一个完备的面向对象编程语言,采用类似VB的语法。LotusScript可用于比较复杂的应用需求编程,因为可以使用Domino/Notes提供的前后端数据对象,直接操作数据结构或界面对象。Domino/Notes提供了大量的可编程对象,共定义了23个类,235个属性,175种成员函数。Domino/Notes开发环境里面设计了若干的事件,这些事件类似于关系型数据库里面定义的存储过程与触发器,但比之要更加丰富。有了这些事件开发人员就可以用它来设计复杂的商务应用程序,设计动态的表单。这些事件包括:应用相关事件、文档相关事件、表单相关事件、域相关事件、Web相关事件。为进行LotusScript编程和调试,Notes Designer for Domino中提供了LotusScript编辑器和调试环境LotusScript Debug。分别如下图所示:

此外,Notes Designer for Domino可以充分利用Java、JavaScript、ActiveX等开发语言或部件工具/标准,使Domino应用功能界面更强大、界面更友好,也充分保护了用户已有的投资:
l Java。开发人员现在可以在Domino应用中使用Java小程序,提高页面的动态特性。未来用户可以具有更多手段,利用Java直接使用Domino内部功能以及与外部系统通讯。Lotus将推出一套Java开发人员可以利用的Domino后台服务的Java类库,可以在任何Java开发环境下访问这些Java类(即支持IIOP/CORBA);将推出共浏览器可以使用的Java小程序,使Web浏览器用户也可利用Domino的强大功能,如日历和空闲时间查询;此外,Notes客户机将成为Java Beans容器,Domino服务器成为JavaBeans发布器。
l Internet编写语言。Domino开发人员现在可以通过Notes Designer使用HTML、JavaScript、VBScript等常用的Internet编写语言,丰富页面特性。
第二节 Web站点创作工具NetObject Fusion
NetObject Fusion是由NetObject公司(参与投资的独立Web工具厂商)提供的可视化Web站点创作与管理工具。其特点是工具完全集成、操作面向站点,它帮助Web站点的设计人员:
l 构思和规划站点结构
l 建立和管理站点页面
l 设计和创作页面内容
l 设计站点图形风格
l 收集、管理、测试站点内容
l 发布站点内容到本地或远程服务器
l 更新与维护站点
NetObject Fusion率先采用了面向站点的方法进行站点设计和发布。设计者可以自顶向下开始设计主页和站点逻辑结构,在设计过程中所有页面以及相关的元素之间的链接由Fusion自动更新。这区别与基于页面的工具,大大降低了复杂性,提高了工作效率。利用NetObject Fusion还可以不必直接进行HTML编程,Fusion将自动生成一系列HTML文件。
为使Domino开发人员充分利用Fusion这一友好的、可视化的站点设计工具,或者使Fusion设计人员充分利用Domino动态Web页面发布、安全性管理、复制技术、工作流等代表新一代Web应用的强大功能,Lotus公司提供了Domino与Fusion的连接产品Lotus Domino and NetObject Fusion Connector。它是一组工具,可以使Fusion设计人员从Fusion设计界面中即可直接利用Domino的设计元素和功能;此外Connector包含一个站点引入工具,使Domino服务器可以将Fusion设计结果引入Domino数据库。Connector的功能包括:
l 在Fusion页面中创建和使用Domino表单
l 在Fusion页面中创建新视图、放置现存视图
l 在Fusion页面中集成Domino导航器
l 在Fusion对象上附加Domino公式语言和命令控制
1l 检索Domino数据库
l 附加文件到Domino文档中。
l 在Fusion页面中加入Domino讨论库功能
l 为Fusion站点增加工作流功能
l 创建和利用Domino文档集数据库
l 使Fusion站点具有邮件功能
通过Domino与Fusion的集成,Web站点的设计人员、应用开发人员有了一整套完整的工具。简单地说,在开发Web站点时,可以利用Fusion进行用户界面和导航器设计,进行站点结构和页面显示框架结构的设计,以及进行站点页面效果测试;而利用Notes Designer for Domino进行应用逻辑设计,实现动态的内容发布和安全性控制、工作流应用等具有更大实质性意义的功能。通过Domino与Fusion的集成,可以使用Domino建立的Web站点更美观;可以升级改造已有的以Fusion建立的Web站点,使之动态、安全。
第三节 Java创作开发工具
作为快速开发手段之一,Lotus和提供了基于Java的部件(Component)创作、开发工具或部件,主要有Lotus BeanMachine for Java、Lotus eSuite Devpack和 VisualAge Java。开发者可以利用这些工具生成Java小程序或Java Bean,或直接利用提供的Java部件,用于Domino Web应用中,丰富Web应用。 Lotus BeanMachine for Java是给Web站点设计人员提供的一个可视化的Java创作工具,开发人员可以用它来为自己的Web站点建立Java小程序(applets)和JavaBeans而无需书写任何Java程序代码。用它建立的Java applets程序可以被插进任意的HTML页面里并且可以运行在任何Web浏览器或支持Java的平台上面。Lotus BeanMachine for Java完全支持JDK 1.1。
eSuite DevPack,是由Lotus提供的一组预先开发的、可重用的、跨平台、内置和基于JavaBean的Java小程序,包括:Spreadsheet, Chart, Word Processor, Presentation Graphics, Calendar, Universal Address Book, Project Scheduler, E-mail Client, SQL/JDBC, CGI。开发者可以使用Lotus Infobus和InfoCenter技术实现小程序的集成和客户化。使用eSuite DevPack的好处包括:快速应用开发,因为这些小程序均具有较强大功能,而且模块化的结构使之可以重用和集成;基于标准的,是100%纯Java的,可以“编写一次,到处使用”;可以集成现有系统,因为InfoBus技术(已被采纳为Java标准)和SQL/JDBC及CGI小程序可以集成关系数据库、文件和Internet信息资源。 VisualAge for Java 是一个完整的Java集成开发环境,它除了包含在目前的任何同类Java集成开发环境所具有的特点以外,VisualAge for Java Enterprise Edition还可以创建JavaBeans去访问关系型数据库,CICS事务,IMS事务,和内置的C与C++服务器。
第四节 其它主要编程工具
Notes API是程序设计语言(C、C++)访问Notes数据库的函数库,也就是程序设计语言与Notes数据库的联系媒介。针对Notes在其桌面状态所能实现的功能,NotesAPI都有与之相对应的函数。开发人员通过NotesAPI不仅能实现Notes数据库本身所具有很强的管理能力,还可以利用程序设计语言的特点,设计成具有不同风格,不同环境下的应用程序。
Lotus Components,是一组小巧快捷、可重复使用的部件程序,这些部件程序大大扩展了Lotus Domino/Notes的功能。它们既可以被Notes的终端用户动态使用,也可被Notes开发人员以嵌入的形式来创建定制的解决方案。它们基于ActiveX嵌入技术,该技术充分利用了Notes 4.1以上版本的32位体系结构的长处,它的界面与Lotus用户界面是一致的。共包括六个部件:Spreadsheet Component、Chart Component、File Viewer Component、Draw/Diagram Component、Comment Componen、Project Scheduler Compone