使用Web存储系统设计知识管理解决方案WalsonLeeMicrosoftCorporation2000年10月摘要:本文概述了使用Web存储系统开发高效的知识管理解决方案的设计过程。目录简介Web存储系统用作开发平台建立KM解决方案Microsoft解决方案框架:基于服务的应用程序模型MSF设计过程KM解决方案设计模型设计用户服务的最佳方法设计业务服务的最佳方法设计数据服务架构的最佳方法Web存储系统文件夹结构的最佳方法SQL与Web存储系统物理设计考虑因素安全模型性能可伸缩性与可用性指南回顾分类的实现与业务范围应用程序的集成结论简介Microsoft®Exchange2000Server是引入一种新的称为Web存储系统的存储技术的第一个Microsoft产品。Microsoft的Web存储系统提供许多新的开发功能,例如Web存储系统事件与窗体、工作流引擎、内容索引以及搜索文件夹。这些功能特别适用于知识管理(KM)解决方案。但是,KM解决方案的开发人员开始时需要经过一个学习过程,才能理解这些功能,并逐个理清Web存储系统提供的许多个设计选项的作用。本文着重讲解了有关开发KM解决方案的设计方面的知识,并讨论了最佳方法、设计模式以及设计过程中的考虑因素。其中展示了基于服务的应用程序模型和基于Microsoft解决方案框架(MSF)的设计过程。这个设计过程是专为使用Web存储系统建立KM解决方案量身定做的。设计过程包含了概念设计模型、逻辑设计模型以及物理设计模型。本文重点讲述针对Web存储系统的物理设计模型的设计考虑因素:用户服务—数字仪表板和Web存储系统窗体业务服务—工作流和事件设计数据服务—存储架构设计安全模型性能可伸缩性与可用性分类的实现与业务范围(LOB)应用程序集成本文旨在提供一种设计基于Web存储管理系统技术的KM解决方案的正确方法。它所面向的读者是KM解决方案的构建或设计人员。其他开发人员也能从本文阐述的基本设计概念中获益。Web存储系统用作开发平台Web存储系统是Microsoft为体现它的“不受限制的知识工作者”理念而宣布的四项创意之一。这些创意的主要目的是消除当今知识工作者面临的妨碍相互协作的障碍。Web存储系统将文件系统、Web以及协作服务器的功能组合到一个位置,以便存储、访问、管理信息以及建立和运行应用程序。Web存储系统中的每一项都是可用URL寻址的,并且完全支持半结构化数据,如文档、联系人、消息、报告、HTML文件以及ActiveServerPages(ASP)。Web存储系统提供与MicrosoftOffice2000的高性能集成。它为信息管理(包括一致搜索和数据分类)建立了一个平台。图1阐释了Web存储系统的编程模型。从图中可看出它支持不同的协议、数据访问方式和事件模型。对Web存储系统的数据访问包括对OLEDB和ActiveX®DataObjects(ADO)的支持。Web存储系统还提供通过HTTP协议进行访问的功能。WebDAV规范(英文)增强了这一功能,使它可支持另一组协议命令。此外,该存储系统本身还支持可扩展标记语言(XML)。Web存储系统还包括一些新的功能,如Outlook®Web访问、Web存储系统窗体、事件、工作流、内容索引、搜索文件夹以及即时消息传送。这些功能为开发人员建立KM解决方案带来了很大的灵活性,也更容易实现。有关Web存储系统的详细资料,请参见Exchange2000SDK以及MSDNExchangeServer开发人员中心(英文)。图1.Web存储系统编程模型建立KM解决方案对企业中的每一个业务问题,知识管理(KM)通过选择解决问题的正确模块而不断更新。根据不同的组织方式和技术,每一模块都有自己的特性。下面列出了一些典型特性:扩充客户/合作伙伴/雇员的知识快速学习并重复利用知识提高知识产权的价值为产品和服务提供特别的附加值建立新知识共享工作过程和质量革新的知识图2.KM启用模块有两项技术是所有KM系统的基础:完全Intranet和消息传送及协作。这些技术构建的基础结构支持对信息进行有效传输、架构、访问和协同管理。其余的KM启用模块把这一基础结构扩展成一个复杂的KM系统,该系统包含各种服务(如内容管理、各种信息传递以及数据分析等)。其它服务(如数据跟踪、工作流过程)也包含在该系统和这些模块中。实现KM启用模块可以是即插即用的。虽然某些模块得益于先前某一模块的实现,仍可按与要开发的特定业务案例之间的相对顺序选择它们。例如,象视频会议这样的实时协作服务,可以很容易地包含在必备技术的上层,但要通过内容管理模块中提供的元数据服务才能得以增强。图3.可能的知识管理平台分层结构Microsoft当前的KM平台是MicrosoftBackOffice®系列。它提供的服务能够:建立KM先决条件(消息传送及协作和完全Intranet),通过实现所有的KM启用模块(内容管理、团体和组、入口和搜索、数据分析以及实时协作)将它们扩展成KM解决方案。除了这些服务,BackOffice还提供与先前信息或知识源集成和连接的接口。在未来的几个月内,Microsoft将发布.NETEnterpriseServer,它包含SQLServer™2000、BizTalk™Server、CommerceServer2000、HostIntegrationServer2000、InternetSecurity&AccelerationServer2000、Exchange2000Server以及ApplicationCenter2000。设计这些组件的目的是通过它们的紧密协作来建立下一代的Web应用程序。本文的重点是Web存储系统,它是Exchange2000以及Microsoft未来产品的基础存储技术。Web存储系统是建立和提供以下关键知识服务所需的一个开发平台:搜索与传递协作文档管理跟踪和工作流有关详细信息,请参考建立知识管理解决方案白皮书(英文)。Microsoft解决方案框架:基于服务的应用程序模型为了奠定一个基础,以便您掌握下面关于如何设计KM解决方案的讨论,我们将根据Microsoft解决方案框架(MSF)白皮书,简要概括MSF的基于服务的应用程序模型。有关详细信息,请参考Microsoft解决方案框架白皮书(英文)。MSF提倡使用基于服务的应用程序模型来设计和实现分布式组件和业务解决方案。“基于服务的应用程序模型”是指应用程序的功能定义为一组服务集合。按照MSF的观点,一个应用程序是由服务的使用者与提供者组成的逻辑网络构成的。在这一模型中,使用者可以是一个用户或另一个服务组件。这些服务可以跨越物理和功能的边界,满足各种不同应用程序的需求。什么是服务?服务就是一组应用程序逻辑,它针对对象实现操作、功能或转换。服务可以执行业务规则,计算或管理数据,提供输入、检索、查看或修改信息等功能。为进一步精确说明服务网络的分布特性,MSF应用程序模型定义了组成一个应用程序的三类服务:1.用户服务是提供应用程序接口的应用程序逻辑单元。应用程序的用户可以是一个用户或另一个应用程序。因此,应用程序的接口可以是图形用户界面(GUI)和/或应用程序编程接口(API)。2.业务服务这种应用程序逻辑单元用于控制业务规则的先后顺序和执行,并且可以保证所执行操作的事务完整性。通过应用恰当的业务规则,业务服务可将数据转换成信息。3.数据服务是提供最低提取可见级别的应用程序逻辑单元,用于操作数据。数据服务维护作为公司资产的永久和非永久数据的可用性和完整性。它们提供创建、读取、更新和删除服务,这样业务服务(数据服务的使用者)就不需要了解数据的位置、实现方式和访问方式了。MSF设计过程设计业务解决方案的过程可与设计建造一座建筑物相比。好的建筑师只有了解了客户的需求才真正了解了客户。在系统设计中,可有多个视角描述最终产品,这与建筑是一样的。每一个视角都是为不同的受众准备的,它们的详细程度也不尽相同。KM解决方案的设计也是这样—应用程序有不同的重点和技巧。设计人员专注于用户界面、业务过程或数据库问题,我们需要为他们提供一种途径来协调和同步他们的工作,使他们能高效地、有组织地利用他们的专业技能完成全面平衡的设计。MSF设计过程分三个阶段:1.概念设计2.逻辑设计3.物理设计概念设计概念设计是指确切了解要解决的问题,然后以管理方和用户都能理解的方式构架出问题的解决方案。与单纯收集需求相比,它的范围要广得多。这个阶段还需要根据具体环境来处理这些需求,从而合理决策。概念设计提取出要执行业务活动所需的本质任务和信息,从而按照既紧密围绕过程,又以用户为中心的方式看待解决方案。在MSF中,方案是概念设计过程的关键结果。一个方案描述在某种业务环境中用户执行的与行为相关的一系列任务或事务。方案必须根据负责这项工作的用户的需要(以用户为中心)来提取业务解决方案的需求(围绕过程)。逻辑设计逻辑设计是指通过定义系统各部分及它们间相互作用的方式来描述解决方案的过程。这一过程组织新系统的逻辑结构并阐释该系统的组成方式以及它与外部世界的接口。在逻辑设计过程中,必须加深项目组对系统的认识。这是确定设计的详细程度的主要考虑因素。逻辑设计提供的组织和结构规则必须满足各个独立的组成员同时高效工作的要求,还要奠定与外部项目和构架进行协作的基础。逻辑设计提供了评价各种物理设计选项的基础。通过不同的物理设计都可能实现对逻辑元素的组织。在一个反复的过程中,进行逻辑设计会与进行物理设计有部分相重叠。这样整个小组才能够逐步优化系统。逻辑设计旨在列出系统中的各部分、描述它们的相互联系并定义使用这些部分可以达到什么目的。请记住概念设计与逻辑设计是紧密相关的。逻辑设计描述系统如何配合每一个概念设计方案。设计组可以从定义系统的主要模块开始逻辑设计过程。模块表示协同工作完成某项任务的一些过程的集合。设计组必须确定每一个元素、每个元素的职能以及每个元素如何与其它元素相互作用。这个阶段的结果包括:核心的功能区域或元素这些区域的活动或功能区域间联系物理设计物理设计是从开发小组的角度描述解决方案的组件、服务以及技术的过程。物理设计旨在根据现实的技术局限性分析逻辑模型,包括实现情况和性能方面的考虑。物理设计过程的结果是一组组件、特定平台的用户界面设计以及物理数据库设计。物理设计为功能规格提供基础。开发小组、测试小组以及部署小组都可使用这一功能规格作为质量保证的基础。物理设计过程包含几个步骤:研究、分析、合理化以及规范化:物理设计的研究步骤包括确定基本结构的物理局限性以及解决方案的物理需求,并处理物理局限性与需求之间可能产生的冲突。物理设计的分析步骤包括选择备选的实现技术并草拟由网络、数据、组件拓扑结构组成的初步部署模型。物理设计的合理化步骤包含确定打包方式和分布策略、将对象分解成基于服务的组件、在拓扑结构中分布组件以及进一步改进打包和分布方式。物理设计的规范化步骤包括确定编程模型、指定组件接口和了解组件结构的考虑因素。KM解决方案设计模型到此,我们已经分析了建立KM解决方案、MSF应用程序模型和设计过程的关键概念。现在该将它们综合起来集中学习如何按照MSF设计过程设计KM解决方案了。我们将使用MSF基于服务的应用程序模型作为以下论述的基本方针。设计典型的KM解决方案时,我们必须仔细考虑以下问题:我们设计的目的是什么?我们是否定义了获取用户和业务需求的方案?我们是否有足够的信息来定义一组服务以及它们的接口?一旦我们确定了实现技术,基本结构和技术方面将存在哪些局限性?我们是否定义了对象模型?下表阐释了一个KM解决方案设计模型的示例,它是基于一个虚构的Exchange2000示例应用程序的。表1.知识管理解决方案设计模型服务层次概念设计(方案)逻辑设计(对象/服务)物理设计(组件/技术)用户服务示例方案:建立社区论坛,通过动态地、根据需要添加论坛来实现它的灵活性。一个基于Web的虚拟社区,包括以下服务: