




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、使用 Web 存儲(chǔ)系統(tǒng)設(shè)計(jì)知識(shí)管理解決方案Walson Lee Microsoft Corporation 2000年10月 摘要: 本文概述了使用 Web 存儲(chǔ)系統(tǒng)開發(fā)高效的知識(shí)管理解決方案的設(shè)計(jì)過程。目錄 · 簡(jiǎn)介 · Web 存儲(chǔ)系統(tǒng)用作開發(fā)平臺(tái) · 建立 KM 解決方案 · Microsoft 解決方案框架:基于服務(wù)的應(yīng)用程序模型 · MSF 設(shè)計(jì)過程 · KM 解決方案設(shè)計(jì)模型 · 設(shè)計(jì)用戶服務(wù)的最佳方法 · 設(shè)計(jì)業(yè)務(wù)服務(wù)的最佳方法 · 設(shè)計(jì)數(shù)據(jù)服務(wù)架構(gòu)的最佳方法 · Web 存儲(chǔ)系統(tǒng)
2、文件夾結(jié)構(gòu)的最佳方法 · SQL 與 Web 存儲(chǔ)系統(tǒng) · 物理設(shè)計(jì)考慮因素 · 安全模型 · 性能 · 可伸縮性與可用性 · 指南回顧 · 分類的實(shí)現(xiàn) · 與業(yè)務(wù)范圍應(yīng)用程序的集成 · 結(jié)論 簡(jiǎn)介 Microsoft® Exchange 2000 Server 是引入一種新的稱為 Web 存儲(chǔ)系統(tǒng)的存儲(chǔ)技術(shù)的第一個(gè) Microsoft 產(chǎn)品。Microsoft 的 Web 存儲(chǔ)系統(tǒng)提供許多新的開發(fā)功能,例如 Web 存儲(chǔ)系統(tǒng)事件與窗體、工作流引擎、內(nèi)容索引以及搜索文件夾。這些功能特別適用于知識(shí)
3、管理 (KM) 解決方案。但是,KM 解決方案的開發(fā)人員開始時(shí)需要經(jīng)過一個(gè)學(xué)習(xí)過程,才能理解這些功能,并逐個(gè)理清 Web 存儲(chǔ)系統(tǒng)提供的許多個(gè)設(shè)計(jì)選項(xiàng)的作用。本文著重講解了有關(guān)開發(fā) KM 解決方案的設(shè)計(jì)方面的知識(shí),并討論了最佳方法、設(shè)計(jì)模式以及設(shè)計(jì)過程中的考慮因素。其中展示了基于服務(wù)的應(yīng)用程序模型和基于 Microsoft 解決方案框架 (MSF) 的設(shè)計(jì)過程。這個(gè)設(shè)計(jì)過程是專為使用 Web 存儲(chǔ)系統(tǒng)建立 KM 解決方案量身定做的。設(shè)計(jì)過程包含了概念設(shè)計(jì)模型、邏輯設(shè)計(jì)模型以及物理設(shè)計(jì)模型。本文重點(diǎn)講述針對(duì) Web 存儲(chǔ)系統(tǒng)的物理設(shè)計(jì)模型的設(shè)計(jì)考慮因素: · 用戶服務(wù) 數(shù)字儀表板和 W
4、eb 存儲(chǔ)系統(tǒng)窗體 · 業(yè)務(wù)服務(wù) 工作流和事件設(shè)計(jì) · 數(shù)據(jù)服務(wù) 存儲(chǔ)架構(gòu)設(shè)計(jì) · 安全模型 · 性能 · 可伸縮性與可用性 · 分類的實(shí)現(xiàn) · 與業(yè)務(wù)范圍 (LOB) 應(yīng)用程序集成 本文旨在提供一種設(shè)計(jì)基于 Web 存儲(chǔ)管理系統(tǒng)技術(shù)的 KM 解決方案的正確方法。它所面向的讀者是 KM 解決方案的構(gòu)建或設(shè)計(jì)人員。其他開發(fā)人員也能從本文闡述的基本設(shè)計(jì)概念中獲益。 Web 存儲(chǔ)系統(tǒng)用作開發(fā)平臺(tái) Web 存儲(chǔ)系統(tǒng)是 Microsoft 為體現(xiàn)它的“不受限制的知識(shí)工作者”理念而宣布的四項(xiàng)創(chuàng)意之一。這些創(chuàng)意的主要目的是消除當(dāng)今知識(shí)工作
5、者面臨的妨礙相互協(xié)作的障礙。 Web 存儲(chǔ)系統(tǒng)將文件系統(tǒng)、Web 以及協(xié)作服務(wù)器的功能組合到一個(gè)位置,以便存儲(chǔ)、訪問、管理信息以及建立和運(yùn)行應(yīng)用程序。 Web 存儲(chǔ)系統(tǒng)中的每一項(xiàng)都是可用 URL 尋址的,并且完全支持半結(jié)構(gòu)化數(shù)據(jù),如文檔、聯(lián)系人、消息、報(bào)告、HTML 文件以及 Active Server Pages (ASP)。Web 存儲(chǔ)系統(tǒng)提供與 Microsoft Office 2000 的高性能集成。它為信息管理(包括一致搜索和數(shù)據(jù)分類)建立了一個(gè)平臺(tái)。圖 1 闡釋了 Web 存儲(chǔ)系統(tǒng)的編程模型。從圖中可看出它支持不同的協(xié)議、數(shù)據(jù)訪問方式和事件模型。對(duì) Web 存儲(chǔ)系統(tǒng)的數(shù)據(jù)訪問包括對(duì)
6、 OLE DB 和 ActiveX® Data Objects (ADO) 的支持。Web 存儲(chǔ)系統(tǒng)還提供通過 HTTP 協(xié)議進(jìn)行訪問的功能。WebDAV 規(guī)范(英文)增強(qiáng)了這一功能,使它可支持另一組協(xié)議命令。此外,該存儲(chǔ)系統(tǒng)本身還支持可擴(kuò)展標(biāo)記語(yǔ)言 (XML)。Web 存儲(chǔ)系統(tǒng)還包括一些新的功能,如 Outlook® Web 訪問、 Web 存儲(chǔ)系統(tǒng)窗體、事件、工作流、內(nèi)容索引、搜索文件夾以及即時(shí)消息傳送。這些功能為開發(fā)人員建立 KM 解決方案帶來了很大的靈活性,也更容易實(shí)現(xiàn)。有關(guān) Web 存儲(chǔ)系統(tǒng)的詳細(xì)資料,請(qǐng)參見 Exchange 2000 SDK 以及 MSDN E
7、xchange Server 開發(fā)人員中心(英文)。圖 1. Web 存儲(chǔ)系統(tǒng)編程模型建立 KM 解決方案 對(duì)企業(yè)中的每一個(gè)業(yè)務(wù)問題,知識(shí)管理 (KM) 通過選擇解決問題的正確模塊而不斷更新。根據(jù)不同的組織方式和技術(shù),每一模塊都有自己的特性。下面列出了一些典型特性: · 擴(kuò)充客戶/合作伙伴/雇員的知識(shí) · 快速學(xué)習(xí)并重復(fù)利用知識(shí) · 提高知識(shí)產(chǎn)權(quán)的價(jià)值 · 為產(chǎn)品和服務(wù)提供特別的附加值 · 建立新知識(shí) · 共享工作過程和質(zhì)量革新的知識(shí) 圖 2. KM 啟用模塊有兩項(xiàng)技術(shù)是所有 KM 系統(tǒng)的基礎(chǔ):完全 Intranet 和消息傳送及協(xié)作
8、。這些技術(shù)構(gòu)建的基礎(chǔ)結(jié)構(gòu)支持對(duì)信息進(jìn)行有效傳輸、架構(gòu)、訪問和協(xié)同管理。其余的 KM 啟用模塊把這一基礎(chǔ)結(jié)構(gòu)擴(kuò)展成一個(gè)復(fù)雜的 KM 系統(tǒng),該系統(tǒng)包含各種服務(wù)(如內(nèi)容管理、各種信息傳遞以及數(shù)據(jù)分析等)。其它服務(wù)(如數(shù)據(jù)跟蹤、工作流過程)也包含在該系統(tǒng)和這些模塊中。 實(shí)現(xiàn) KM 啟用模塊可以是即插即用的。雖然某些模塊得益于先前某一模塊的實(shí)現(xiàn),仍可按與要開發(fā)的特定業(yè)務(wù)案例之間的相對(duì)順序選擇它們。例如,象視頻會(huì)議這樣的實(shí)時(shí)協(xié)作服務(wù),可以很容易地包含在必備技術(shù)的上層,但要通過內(nèi)容管理模塊中提供的元數(shù)據(jù)服務(wù)才能得以增強(qiáng)。圖 3. 可能的知識(shí)管理平臺(tái)分層結(jié)構(gòu)Microsoft 當(dāng)前的 KM 平臺(tái)是 Micro
9、soft BackOffice® 系列。它提供的服務(wù)能夠:建立 KM 先決條件(消息傳送及協(xié)作和完全 Intranet),通過實(shí)現(xiàn)所有的 KM 啟用模塊(內(nèi)容管理、團(tuán)體和組、入口和搜索、數(shù)據(jù)分析以及實(shí)時(shí)協(xié)作)將它們擴(kuò)展成 KM 解決方案。除了這些服務(wù),BackOffice 還提供與先前信息或知識(shí)源集成和連接的接口。在未來的幾個(gè)月內(nèi),Microsoft 將發(fā)布 .NET Enterprise Server,它包含 SQL Server 2000、 BizTalk Server、 Commerce Server 2000、 Host Integration Server 2000、 In
10、ternet Security & Acceleration Server 2000、 Exchange 2000 Server 以及 Application Center 2000。設(shè)計(jì)這些組件的目的是通過它們的緊密協(xié)作來建立下一代的 Web 應(yīng)用程序。本文的重點(diǎn)是 Web 存儲(chǔ)系統(tǒng),它是 Exchange 2000 以及 Microsoft 未來產(chǎn)品的基礎(chǔ)存儲(chǔ)技術(shù)。Web 存儲(chǔ)系統(tǒng)是建立和提供以下關(guān)鍵知識(shí)服務(wù)所需的一個(gè)開發(fā)平臺(tái): · 搜索與傳遞 · 協(xié)作 · 文檔管理 · 跟蹤和工作流 有關(guān)詳細(xì)信息,請(qǐng)參考建立知識(shí)管理解決方案白皮書(英文)。
11、Microsoft 解決方案框架:基于服務(wù)的應(yīng)用程序模型 為了奠定一個(gè)基礎(chǔ),以便您掌握下面關(guān)于如何設(shè)計(jì) KM 解決方案的討論,我們將根據(jù) Microsoft 解決方案框架 (MSF) 白皮書,簡(jiǎn)要概括 MSF 的基于服務(wù)的應(yīng)用程序模型。有關(guān)詳細(xì)信息,請(qǐng)參考 Microsoft 解決方案框架白皮書(英文)。MSF 提倡使用基于服務(wù)的應(yīng)用程序模型來設(shè)計(jì)和實(shí)現(xiàn)分布式組件和業(yè)務(wù)解決方案。“基于服務(wù)的應(yīng)用程序模型”是指應(yīng)用程序的功能定義為一組服務(wù)集合。按照 MSF 的觀點(diǎn),一個(gè)應(yīng)用程序是由服務(wù)的使用者與提供者組成的邏輯網(wǎng)絡(luò)構(gòu)成的。在這一模型中,使用者可以是一個(gè)用戶或另一個(gè)服務(wù)組件。這些服務(wù)可以跨越物理和
12、功能的邊界,滿足各種不同應(yīng)用程序的需求。什么是服務(wù)?服務(wù)就是一組應(yīng)用程序邏輯,它針對(duì)對(duì)象實(shí)現(xiàn)操作、功能或轉(zhuǎn)換。服務(wù)可以執(zhí)行業(yè)務(wù)規(guī)則,計(jì)算或管理數(shù)據(jù),提供輸入、檢索、查看或修改信息等功能。為進(jìn)一步精確說明服務(wù)網(wǎng)絡(luò)的分布特性, MSF 應(yīng)用程序模型定義了組成一個(gè)應(yīng)用程序的三類服務(wù): 1. 用戶服務(wù)是提供應(yīng)用程序接口的應(yīng)用程序邏輯單元。應(yīng)用程序的用戶可以是一個(gè)用戶或另一個(gè)應(yīng)用程序。 因此,應(yīng)用程序的接口可以是圖形用戶界面 (GUI) 和/或應(yīng)用程序編程接口 (API)。 2. 業(yè)務(wù)服務(wù)這種應(yīng)用程序邏輯單元用于控制業(yè)務(wù)規(guī)則的先后順序和執(zhí)行,并且可以保證所執(zhí)行操作的事務(wù)完整性。通過應(yīng)用恰當(dāng)?shù)臉I(yè)務(wù)規(guī)則,業(yè)
13、務(wù)服務(wù)可將數(shù)據(jù)轉(zhuǎn)換成信息。 3. 數(shù)據(jù)服務(wù)是提供最低提取可見級(jí)別的應(yīng)用程序邏輯單元,用于操作數(shù)據(jù)。數(shù)據(jù)服務(wù)維護(hù)作為公司資產(chǎn)的永久和非永久數(shù)據(jù)的可用性和完整性。它們提供創(chuàng)建、讀取、更新和刪除服務(wù),這樣業(yè)務(wù)服務(wù)(數(shù)據(jù)服務(wù)的使用者)就不需要了解數(shù)據(jù)的位置、實(shí)現(xiàn)方式和訪問方式了。 MSF 設(shè)計(jì)過程 設(shè)計(jì)業(yè)務(wù)解決方案的過程可與設(shè)計(jì)建造一座建筑物相比。好的建筑師只有了解了客戶的需求才真正了解了客戶。在系統(tǒng)設(shè)計(jì)中,可有多個(gè)視角描述最終產(chǎn)品,這與建筑是一樣的。每一個(gè)視角都是為不同的受眾準(zhǔn)備的,它們的詳細(xì)程度也不盡相同。KM 解決方案的設(shè)計(jì)也是這樣 應(yīng)用程序有不同的重點(diǎn)和技巧。設(shè)計(jì)人員專注于用戶界面、業(yè)務(wù)過程或
14、數(shù)據(jù)庫(kù)問題,我們需要為他們提供一種途徑來協(xié)調(diào)和同步他們的工作,使他們能高效地、有組織地利用他們的專業(yè)技能完成全面平衡的設(shè)計(jì)。MSF 設(shè)計(jì)過程分三個(gè)階段: 1. 概念設(shè)計(jì) 2. 邏輯設(shè)計(jì) 3. 物理設(shè)計(jì) 概念設(shè)計(jì) 概念設(shè)計(jì)是指確切了解要解決的問題,然后以管理方和用戶都能理解的方式構(gòu)架出問題的解決方案。與單純收集需求相比,它的范圍要廣得多。這個(gè)階段還需要根據(jù)具體環(huán)境來處理這些需求,從而合理決策。 概念設(shè)計(jì)提取出要執(zhí)行業(yè)務(wù)活動(dòng)所需的本質(zhì)任務(wù)和信息,從而按照既緊密圍繞過程,又以用戶為中心的方式看待解決方案。在 MSF 中,方案是概念設(shè)計(jì)過程的關(guān)鍵結(jié)果。一個(gè)方案描述在某種業(yè)務(wù)環(huán)境中用戶執(zhí)行的與行為相關(guān)的
15、一系列任務(wù)或事務(wù)。方案必須根據(jù)負(fù)責(zé)這項(xiàng)工作的用戶的需要(以用戶為中心)來提取業(yè)務(wù)解決方案的需求(圍繞過程)。邏輯設(shè)計(jì) 邏輯設(shè)計(jì)是指通過定義系統(tǒng)各部分及它們間相互作用的方式來描述解決方案的過程。這一過程組織新系統(tǒng)的邏輯結(jié)構(gòu)并闡釋該系統(tǒng)的組成方式以及它與外部世界的接口。在邏輯設(shè)計(jì)過程中,必須加深項(xiàng)目組對(duì)系統(tǒng)的認(rèn)識(shí)。這是確定設(shè)計(jì)的詳細(xì)程度的主要考慮因素。邏輯設(shè)計(jì)提供的組織和結(jié)構(gòu)規(guī)則必須滿足各個(gè)獨(dú)立的組成員同時(shí)高效工作的要求,還要奠定與外部項(xiàng)目和構(gòu)架進(jìn)行協(xié)作的基礎(chǔ)。邏輯設(shè)計(jì)提供了評(píng)價(jià)各種物理設(shè)計(jì)選項(xiàng)的基礎(chǔ)。通過不同的物理設(shè)計(jì)都可能實(shí)現(xiàn)對(duì)邏輯元素的組織。在一個(gè)反復(fù)的過程中,進(jìn)行邏輯設(shè)計(jì)會(huì)與進(jìn)行物理設(shè)計(jì)有
16、部分相重疊。這樣整個(gè)小組才能夠逐步優(yōu)化系統(tǒng)。邏輯設(shè)計(jì)旨在列出系統(tǒng)中的各部分、描述它們的相互聯(lián)系并定義使用這些部分可以達(dá)到什么目的。請(qǐng)記住概念設(shè)計(jì)與邏輯設(shè)計(jì)是緊密相關(guān)的。邏輯設(shè)計(jì)描述系統(tǒng)如何配合每一個(gè)概念設(shè)計(jì)方案。設(shè)計(jì)組可以從定義系統(tǒng)的主要模塊開始邏輯設(shè)計(jì)過程。模塊表示協(xié)同工作完成某項(xiàng)任務(wù)的一些過程的集合。設(shè)計(jì)組必須確定每一個(gè)元素、每個(gè)元素的職能以及每個(gè)元素如何與其它元素相互作用。這個(gè)階段的結(jié)果包括: · 核心的功能區(qū)域或元素 · 這些區(qū)域的活動(dòng)或功能 · 區(qū)域間聯(lián)系 物理設(shè)計(jì) 物理設(shè)計(jì)是從開發(fā)小組的角度描述解決方案的組件、服務(wù)以及技術(shù)的過程。物理設(shè)計(jì)旨在根據(jù)現(xiàn)實(shí)的
17、技術(shù)局限性分析邏輯模型,包括實(shí)現(xiàn)情況和性能方面的考慮。物理設(shè)計(jì)過程的結(jié)果是一組組件、特定平臺(tái)的用戶界面設(shè)計(jì)以及物理數(shù)據(jù)庫(kù)設(shè)計(jì)。物理設(shè)計(jì)為功能規(guī)格提供基礎(chǔ)。開發(fā)小組、測(cè)試小組以及部署小組都可使用這一功能規(guī)格作為質(zhì)量保證的基礎(chǔ)。物理設(shè)計(jì)過程包含幾個(gè)步驟:研究、分析、合理化以及規(guī)范化: · 物理設(shè)計(jì)的研究步驟包括確定基本結(jié)構(gòu)的物理局限性以及解決方案的物理需求,并處理物理局限性與需求之間可能產(chǎn)生的沖突。 · 物理設(shè)計(jì)的分析步驟包括選擇備選的實(shí)現(xiàn)技術(shù)并草擬由網(wǎng)絡(luò)、數(shù)據(jù)、組件拓?fù)浣Y(jié)構(gòu)組成的初步部署模型。 · 物理設(shè)計(jì)的合理化步驟包含確定打包方式和分布策略、將對(duì)象分解成基于服務(wù)
18、的組件、在拓?fù)浣Y(jié)構(gòu)中分布組件以及進(jìn)一步改進(jìn)打包和分布方式。 · 物理設(shè)計(jì)的規(guī)范化步驟包括確定編程模型、指定組件接口和了解組件結(jié)構(gòu)的考慮因素。 KM 解決方案設(shè)計(jì)模型 到此,我們已經(jīng)分析了建立 KM 解決方案、 MSF 應(yīng)用程序模型和設(shè)計(jì)過程的關(guān)鍵概念。現(xiàn)在該將它們綜合起來集中學(xué)習(xí)如何按照 MSF 設(shè)計(jì)過程設(shè)計(jì) KM 解決方案了。我們將使用 MSF 基于服務(wù)的應(yīng)用程序模型作為以下論述的基本方針。設(shè)計(jì)典型的 KM 解決方案時(shí),我們必須仔細(xì)考慮以下問題: · 我們?cè)O(shè)計(jì)的目的是什么? · 我們是否定義了獲取用戶和業(yè)務(wù)需求的方案? · 我們是否有足夠的信息來定義一
19、組服務(wù)以及它們的接口? · 一旦我們確定了實(shí)現(xiàn)技術(shù),基本結(jié)構(gòu)和技術(shù)方面將存在哪些局限性? · 我們是否定義了對(duì)象模型? 下表闡釋了一個(gè) KM 解決方案設(shè)計(jì)模型的示例,它是基于一個(gè)虛構(gòu)的 Exchange 2000 示例應(yīng)用程序的。表 1. 知識(shí)管理解決方案設(shè)計(jì)模型服務(wù)層次概念設(shè)計(jì)(方案)邏輯設(shè)計(jì)(對(duì)象/服務(wù))物理設(shè)計(jì)(組件/技術(shù))用戶服務(wù)示例方案:建立社區(qū)論壇,通過動(dòng)態(tài)地、根據(jù)需要添加論壇來實(shí)現(xiàn)它的靈活性。一個(gè)基于 Web 的虛擬社區(qū),包括以下服務(wù): · 業(yè)界新聞 · 協(xié)作 · 最佳方法 · 共享聯(lián)系人 · 易于查找的信息
20、一個(gè)基于 Exchange 2000 的數(shù)字版面,它包含不同的 Web 部件,與邏輯設(shè)計(jì)中定義的服務(wù)相對(duì)應(yīng)。業(yè)務(wù)服務(wù)示例方案:要求引導(dǎo) (RFQ) 文檔綜述和批準(zhǔn)過程。· 生成 RFQ 服務(wù) 在 BizTalk 框架的基礎(chǔ)上將 RFQ 轉(zhuǎn)換成 XML 文檔 · RFQ 批準(zhǔn)過程 · 生成并驗(yàn)證 RFQ 的屬性的事件接收器 · 使用工作流引擎實(shí)現(xiàn) RFQ 批準(zhǔn)過程 · 使用 ServerXMLHTTP、XML DOM、XSLT 實(shí)現(xiàn) RFQ 轉(zhuǎn)換過程 數(shù)據(jù)服務(wù)示例方案: · 一個(gè)中央信息庫(kù),用來容納所有相關(guān)項(xiàng)目文檔以及與工程組織相關(guān)的設(shè)
21、計(jì)文檔。 · 允許小組成員通過適當(dāng)?shù)陌踩P凸蚕砘虿榭次臋n。 以下對(duì)象的邏輯架構(gòu)設(shè)計(jì): · 項(xiàng)目 · 文檔 · 小組成員 基于 Web 存儲(chǔ)系統(tǒng)的物理架構(gòu)設(shè)計(jì): · 文件夾結(jié)構(gòu) · 架構(gòu)文件夾 · 自定義內(nèi)容類及屬性 · 安全 XML 描述符模板 以下是適用于 KM 設(shè)計(jì)模型的一般最佳方法或建議。在下面的部分我們將討論具體的主題。 · 在概念設(shè)計(jì)階段,重點(diǎn)是定義能把握業(yè)務(wù)過程和需求的方案。方案的定義應(yīng)當(dāng)根據(jù)業(yè)務(wù)問題范圍內(nèi)的環(huán)境來進(jìn)行,而不是根據(jù)解決方案范圍內(nèi)的環(huán)境來進(jìn)行。 · 在從概
22、念設(shè)計(jì)到邏輯設(shè)計(jì)的過渡階段中,開發(fā)小組可審核整套方案以應(yīng)用適當(dāng)?shù)拿嫦驅(qū)ο?(OO) 的設(shè)計(jì)技術(shù)(例如用戶案例分析),來確定備選服務(wù)和/或?qū)ο蟆_@些備選服務(wù)/對(duì)象奠定了邏輯設(shè)計(jì)模型的基礎(chǔ)。這通常是個(gè)反復(fù)的過程,即需要往復(fù)幾次才能完成。圖 6 是一個(gè)基于 Microsoft Visio® 2000 聯(lián)機(jī)文檔的示例用戶案例關(guān)系圖。本關(guān)系圖源自 ObjectSpace ()(英文)公司的 Craig Larman 所寫的面向?qū)ο蟮姆治龊驮O(shè)計(jì)材料。 圖 4. 用戶案例關(guān)系圖示例 · 在邏輯設(shè)計(jì)階段,小組應(yīng)專注于設(shè)計(jì)業(yè)務(wù)和對(duì)象,而不考慮技術(shù)和平臺(tái)的因素。對(duì)多數(shù)開發(fā)人員來說,做到這一點(diǎn)比
23、較困難。一些開發(fā)小組可能傾向于干脆跳過邏輯設(shè)計(jì)階段而直接進(jìn)行物理設(shè)計(jì)。這絕對(duì)不是一個(gè)好辦法。邏輯設(shè)計(jì)模型有許多優(yōu)點(diǎn),如: · 為各個(gè)單獨(dú)的小組成員同時(shí)高效工作提供必需的組織和結(jié)構(gòu)規(guī)則。 · 充當(dāng)與外部項(xiàng)目和設(shè)計(jì)人員協(xié)作的基礎(chǔ)。 · 降低復(fù)雜性。 · 提供根據(jù)用戶需求(即方案)優(yōu)化設(shè)計(jì)的機(jī)會(huì)。 · 在從邏輯設(shè)計(jì)到物理設(shè)計(jì)的過渡階段中,開發(fā)小組可以使用邏輯設(shè)計(jì)階段定義的服務(wù)和對(duì)象草稿開始物理設(shè)計(jì)。所有小組成員和該項(xiàng)目涉及的其他人員都應(yīng)當(dāng)首先了解解決方案和整個(gè)系統(tǒng)結(jié)構(gòu)的情況,包括系統(tǒng)中各部分之間的相互聯(lián)系。使用統(tǒng)一建模語(yǔ)言 (UML) 中定義的相互作
24、用關(guān)系圖(順序關(guān)系圖)來獲取系統(tǒng)的動(dòng)態(tài)相互作用關(guān)系是一個(gè)較好的方法。圖 7 是一個(gè)示例順序關(guān)系圖,摘自 Microsoft Visio 2000 聯(lián)機(jī)文檔。本關(guān)系圖源自 ObjectSpace ()(英文)公司的 Craig Larman 所寫的面向?qū)ο蟮姆治龊驮O(shè)計(jì)材料。 · 在物理設(shè)計(jì)階段,開發(fā)小組應(yīng)專注于能優(yōu)化或改進(jìn)設(shè)計(jì)模型的設(shè)計(jì)因素。本文其余部分將集中討論適用于使用 Web 存儲(chǔ)系統(tǒng)進(jìn)行設(shè)計(jì)需要注意的最佳方法。 圖 5. 順序關(guān)系圖示例 用戶服務(wù)設(shè)計(jì)的最佳方法 正如上文所述,用戶服務(wù)是提供應(yīng)用程序界面的應(yīng)用程序邏輯單元。其設(shè)計(jì)活動(dòng)的中心通常是圖形用戶界面 (GUI) 和/或應(yīng)用
25、程序編程接口 (API)。以下是使用 Web 存儲(chǔ)系統(tǒng)設(shè)計(jì)用戶服務(wù)的一組最佳方法:通過考察關(guān)鍵使用方案確定一般用戶服務(wù) 在邏輯設(shè)計(jì)階段,小組要考察各種使用方案,尤其是與用戶(或 UML 中的“操作者”)相互作用的情況。多數(shù)情況下,從方案中確定用戶服務(wù)會(huì)非常容易。但是,要找到可重復(fù)利用的用戶服務(wù)就需要額外的精力和經(jīng)驗(yàn)了。示例:在設(shè)計(jì)雇員 KM 入口 Web 站點(diǎn)時(shí),內(nèi)容搜索用戶服務(wù)和分類選擇用戶服務(wù)可能會(huì)在整個(gè) Web 站點(diǎn)中重復(fù)利用。使用新的數(shù)字儀表板框架 數(shù)字儀表板概述:數(shù)字儀表板是知識(shí)工作者的自定義解決方案,它將個(gè)人、小組、公司以及外部的信息綜合在一起,并很容易使用分析和協(xié)作工具。使用數(shù)字
26、儀表板資源工具包 (DDRK) 2.0(英文),公司很快就能夠建立并部署自定義的數(shù)字儀表板解決方案。DDRK 中包含所有必需的工具和文檔、示例儀表板以及可立即用于各種數(shù)字儀表板的組件。數(shù)字儀表板由 Web 部件(可重復(fù)使用的組件,包含任何形式基于 Web 的信息)組成。 生成 Web 部件很容易;最終用戶可在儀表板中創(chuàng)建簡(jiǎn)單的 Web 部件。開發(fā)人員使用 Web 部件生成器可以創(chuàng)建更加復(fù)雜的 Web 部件。通常數(shù)字儀表板應(yīng)用程序有一個(gè)增強(qiáng)的用戶界面,它將常見的 Microsoft Office 功能與易用的 Web 瀏覽器風(fēng)格的控件相結(jié)合。用戶只需點(diǎn)擊一下,就可使用簡(jiǎn)便的工具來自定義數(shù)字儀表板
27、、創(chuàng)建新的 Web 部件或者從 Internet 或本地 Intranet 上的 Web 部件庫(kù)中導(dǎo)入 Web 部件。圖 8 顯示一個(gè)名為 Adventure Works 的虛構(gòu)的公司的數(shù)字儀表板。這個(gè)數(shù)字儀表板包含的 Web 部件顯示用戶收件箱、MSN Messenger Service、日歷以及有關(guān)該公司的關(guān)鍵信息。圖 6. 數(shù)字儀表板示例實(shí)現(xiàn)用作 Web 部件的一般用戶服務(wù) 數(shù)字儀表板的核心是 Web 部件。Web 部件是可以重復(fù)使用的組件,它包括基于 Web 的內(nèi)容(如 XML、 HTML)和腳本,還包括一組標(biāo)準(zhǔn)屬性,用于控制 Web 部件在數(shù)字儀表板中的顯示方式。這些屬性使 Web
28、部件和儀表板成為中立的存儲(chǔ)空間并且完全可以重復(fù)使用。因?yàn)?Web 部件遵守一般標(biāo)準(zhǔn),您可以把它們存儲(chǔ)在庫(kù)中,從這個(gè)庫(kù)中您可以提取 Web 部件來組成您的組織中的所有數(shù)字儀表板。許多 Web 部件和儀表板都具有用戶專用的屬性,但如果您是管理員,可以控制用戶能夠更改 Web 部件或儀表板的程度。通過 UI 設(shè)計(jì)指南定義一致的外觀 定義一組 UI 設(shè)計(jì)指南是個(gè)好方法。這樣能夠保證 KM 解決方案有一致的外觀。例如,為了使用戶對(duì)您的 KM 入口 Web 站點(diǎn)更加滿意,就要為一般 KM 用戶服務(wù)設(shè)計(jì)一致的 UI,這些服務(wù)包括: · 導(dǎo)航服務(wù) · 內(nèi)容搜索服務(wù) · 分類選擇服
29、務(wù) · 內(nèi)容表示服務(wù) 盡量使用 Outlook Web Access 只需要重復(fù)使用 Outlook Web Access 中的某些部分,您就可創(chuàng)建自定義的 Web 頁(yè)面。這些部分可以嵌入到 Web 頁(yè)面中。可使用表、框架和 iFrame 來安排 Outlook Web Access 的各個(gè)部分。Outlook Web Access 為每天的任務(wù)提供了默認(rèn)視圖 例如,查看收件箱和發(fā)件箱。 通過指定其它參數(shù)可以操作默認(rèn)視圖。例如, Web 頁(yè)面可以包含用戶的收件箱和組日歷。在頁(yè)面的一角可以顯示一個(gè)商標(biāo)或公司標(biāo)識(shí),在另一角有當(dāng)前新聞和與內(nèi)部工具的鏈接。因?yàn)槭褂?Outlook Web A
30、ccess 可以在很大程度上減輕您的開發(fā)工作,您應(yīng)當(dāng)盡可能地使用它。為自定義的內(nèi)容類和屬性使用 Web 存儲(chǔ)系統(tǒng)窗體 如果已經(jīng)設(shè)計(jì)了自定義的內(nèi)容類和屬性,您應(yīng)當(dāng)考慮使用 Web 存儲(chǔ)系統(tǒng)窗體。Web 存儲(chǔ)系統(tǒng)窗體是一種基于 Web 的窗體技術(shù),它建立在 Internet 標(biāo)準(zhǔn)之上。Web 存儲(chǔ)系統(tǒng)窗體是在 Web 存儲(chǔ)系統(tǒng)中注冊(cè)的 Web 頁(yè)面。注冊(cè)本身就是 Web 存儲(chǔ)系統(tǒng)數(shù)據(jù)存儲(chǔ)區(qū)中的一條記錄。Web 存儲(chǔ)系統(tǒng)窗體被設(shè)計(jì)為能夠與符合 HTML 3.2 標(biāo)準(zhǔn)的瀏覽器一同工作。支持那些功能的瀏覽器包括 Microsoft Internet Explorer 3.0 或更高版本以及 Netsca
31、pe Navigator 3 或更高版本。 Web 存儲(chǔ)系統(tǒng)窗體有什么特殊之處呢?Web 存儲(chǔ)系統(tǒng)窗體具有以下特點(diǎn): · 以數(shù)據(jù)為中心:瀏覽器請(qǐng)求存儲(chǔ)區(qū)中某一項(xiàng)的 URL。存儲(chǔ)區(qū)執(zhí)行與所請(qǐng)求的項(xiàng)相對(duì)應(yīng)的窗體。 · 適應(yīng)性強(qiáng):窗體只需要了解如何處理某一特定語(yǔ)言、瀏覽器或操作。存儲(chǔ)區(qū)能夠與請(qǐng)求相適應(yīng)以保證執(zhí)行正確的窗體。 究竟什么是窗體?它是一個(gè)相當(dāng)寬泛的詞匯,通常與通過 HTTP 協(xié)議與存儲(chǔ)區(qū)中數(shù)據(jù)綁定的 HTML 頁(yè)面相關(guān)。根據(jù) Microsoft Exchange 產(chǎn)品組的編程經(jīng)理 Jamie Cool 的說法,更正式的定義為“一個(gè)過程,它使用 HTTP 通信,可通過 H
32、TML 與用戶進(jìn)行交互并操作數(shù)據(jù),從而響應(yīng)用戶的操作。”了解 Web 存儲(chǔ)系統(tǒng)窗體如何工作是必要的。Web 存儲(chǔ)系統(tǒng)中的所有內(nèi)容都是可用 URL 尋址的。從 Web 進(jìn)行訪問時(shí),Outlook Web Access 為 Web 存儲(chǔ)系統(tǒng)中的所有項(xiàng)提供默認(rèn)的顯示方式。窗體注冊(cè)表允許開發(fā)人員覆蓋 Outlook Web Access 中的默認(rèn)顯示方式。Exchange 接收到來自用戶瀏覽器的 HTTP 請(qǐng)求后,該請(qǐng)求即被傳送給 Microsoft Internet Information 服務(wù) (IIS)。 IIS 調(diào)用 ISAPI DLL。這與 Web 存儲(chǔ)系統(tǒng)用來處理所有 HTTP/DAV 請(qǐng)
33、求所使用的 DLL 相同。ISAPI DLL 檢查窗體注冊(cè)表的窗體注冊(cè)。窗體注冊(cè)提供一組針對(duì)窗體的屬性,如內(nèi)容類、用戶操作、語(yǔ)言、瀏覽器類型、項(xiàng)狀態(tài)和兩個(gè)重要屬性: · 執(zhí)行 URL:執(zhí)行該 URL 將顯示窗體。它可能是一個(gè) ISAPI 篩選器(例如:/exchweb/bin/exwform.dll)或一個(gè) ASP 頁(yè)面(例如:process.asp)。 · 窗體 URL:正在處理或顯示的窗體或模板的 URL;當(dāng)前 URL 所表示的項(xiàng)(例如:ExpenseForm.htm、ECOform.ASP)。 處理從 HTTP 請(qǐng)求報(bào)頭讀取的信息,并與存儲(chǔ)在 Browsecap.in
34、i 中瀏覽器的信息相比較,就可以得到瀏覽器的功能信息。ISAPI DLL 使用與窗體注冊(cè)表信息最佳匹配的比較來確定顯示哪一個(gè)窗體。有關(guān) Web 存儲(chǔ)系統(tǒng)窗體的詳細(xì)信息,請(qǐng)參考 Exchange 2000 SDK。設(shè)計(jì)業(yè)務(wù)服務(wù)的最佳方法 正如上文所述,業(yè)務(wù)服務(wù)是一個(gè)應(yīng)用程序邏輯單元,它控制執(zhí)行業(yè)務(wù)規(guī)則的先后順序,保證所執(zhí)行操作的事務(wù)完整性。以下是一組使用 Web 存儲(chǔ)系統(tǒng)設(shè)計(jì)業(yè)務(wù)服務(wù)的最佳方法:通過使用方案確定關(guān)鍵業(yè)務(wù)過程 在邏輯設(shè)計(jì)階段,開發(fā)小組應(yīng)檢查他們?cè)诟拍钤O(shè)計(jì)階段收集的方案以確定業(yè)務(wù)過程,如文檔批準(zhǔn)過程或內(nèi)容變換過程。確定實(shí)現(xiàn)機(jī)制 在物理設(shè)計(jì)階段,開發(fā)小組需要確定這些業(yè)務(wù)過程最合適的實(shí)現(xiàn)
35、機(jī)制。有四個(gè)基本選項(xiàng):工作流引擎、事件接收器、 COM+ 組件和腳本(客戶端或服務(wù)器端腳本)。使用腳本的方法會(huì)造成一些困難,如代碼不易維護(hù)以及腳本的局限性。因此,我們建議采用前三種方法。以下是確定實(shí)現(xiàn)方法的一組指南: · 如果業(yè)務(wù)過程符合以下情況,則使用工作流: · 涉及多用戶和多資源。 · 具有復(fù)雜過程,如批準(zhǔn)或業(yè)務(wù)驗(yàn)證過程。 · 如果出現(xiàn)以下情況,則使用事件接收器: · 只涉及少量的用戶或資源。 · 驗(yàn)證過程簡(jiǎn)單。 · 具有整個(gè)存儲(chǔ)區(qū)范圍內(nèi)的事件。 · 具有定時(shí)器事件。 · 如果使用 Web 存儲(chǔ)系統(tǒng)
36、進(jìn)行的大多是讀取操作而不是更新操作,且不涉及工作流,則使用 COM+ 組件。 設(shè)計(jì)數(shù)據(jù)服務(wù)架構(gòu)的最佳方法 正如上文所述,數(shù)據(jù)服務(wù)是提供最低提取可見級(jí)別的應(yīng)用程序邏輯單元,用于操作數(shù)據(jù)。數(shù)據(jù)服務(wù)維護(hù)作為公司資產(chǎn)的永久和非永久數(shù)據(jù)的可用性和完整性。這一部分我們將討論 Web 存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì),下一部分討論文件夾結(jié)構(gòu)。首先,什么是架構(gòu)?對(duì)于建立在 Web 存儲(chǔ)系統(tǒng)技術(shù)基礎(chǔ)上的整個(gè)物理設(shè)計(jì)模型來說,為什么架構(gòu)設(shè)計(jì)至關(guān)重要?架構(gòu)一詞指的是一種定義和組織數(shù)據(jù)(有時(shí)稱為元數(shù)據(jù))的方法。在結(jié)構(gòu)化查詢語(yǔ)言 (SQL) 關(guān)系型數(shù)據(jù)庫(kù)中,架構(gòu)包括所有的表定義和列定義,以及其它信息(如索引和觸發(fā)器)。對(duì)于存儲(chǔ)區(qū),我們
37、將架構(gòu)設(shè)計(jì)的重心放在內(nèi)容類及與其相關(guān)聯(lián)的屬性集方面。架構(gòu)設(shè)計(jì)對(duì)整個(gè) KM 解決方案是否成功有直接影響,尤其是在性能和可擴(kuò)展性方面。架構(gòu)設(shè)計(jì)通常是定義數(shù)據(jù)服務(wù)模型的第一步。許多設(shè)計(jì)的考慮因素和決策都要依賴架構(gòu)設(shè)計(jì)。下面一段是對(duì) Web 存儲(chǔ)系統(tǒng)架構(gòu)的簡(jiǎn)要介紹。Web 存儲(chǔ)系統(tǒng)可用于為您的應(yīng)用程序定義架構(gòu)。Web 存儲(chǔ)系統(tǒng)架構(gòu)是以內(nèi)容類為中心的。內(nèi)容類為存儲(chǔ)區(qū)中的項(xiàng)/實(shí)例定義架構(gòu)類,是屬性集的邏輯容器。為您的應(yīng)用程序創(chuàng)建架構(gòu)定義時(shí),要定義自定義內(nèi)容類及相關(guān)的屬性。Web 存儲(chǔ)系統(tǒng)含有大量預(yù)定義的內(nèi)容類和屬性。定義自己的自定義內(nèi)容類時(shí),您可以使用或擴(kuò)展(子類)某一預(yù)定義內(nèi)容類。其中包括(但不僅限于)
38、表 2. 所列的內(nèi)容類。表 2. 內(nèi)容類內(nèi)容類說明urn:content-classes:item 存儲(chǔ)區(qū)中各項(xiàng)的基類urn:content-classes:message 消息的基類urn:content-classes:calendarmessage會(huì)議請(qǐng)求和響應(yīng)的基類urn:content-classes:appointment 約會(huì)的基類urn:content-classes:person 聯(lián)系人項(xiàng)的基類urn:content-classes:folder文件夾的基類urn:content-classes:documentMicrosoft Office 文檔的基類Web 存儲(chǔ)系統(tǒng)架構(gòu)
39、的一個(gè)長(zhǎng)處是它們?yōu)榧軜?gòu)感知的應(yīng)用程序和工具提供了一種方法,可用來查找出適用于某一特定應(yīng)用程序的內(nèi)容類和屬性的名稱。與某一特定應(yīng)用程序相關(guān)的架構(gòu)信息是通過文件夾的架構(gòu)范圍來控制的。文件夾的架構(gòu)范圍是一組按某特定順序遍歷的文件夾,它們包含架構(gòu)定義項(xiàng)。通過在 Web 存儲(chǔ)系統(tǒng)(其中存儲(chǔ)您的架構(gòu)信息)中定義文件夾的列表,你可以逐個(gè)文件夾地?cái)U(kuò)展架構(gòu)。范圍可以很簡(jiǎn)單,只包含全局架構(gòu)文件夾;也可以比較復(fù)雜,包含一個(gè)很大的文件夾 URL 的列表。還需要查看以下兩個(gè)屬性來定義架構(gòu)范圍,這兩個(gè)屬性對(duì)整體架構(gòu)設(shè)計(jì) 尤其是文件夾結(jié)構(gòu) 也很重要,我們將在下一部分討論這一主題。 · schema-collect
40、ion-ref (SCR):這一屬性是一個(gè)文件夾的 URL,將在該文件夾中查找內(nèi)容類和屬性定義。這是搜索架構(gòu)定義項(xiàng)的第一個(gè)文件夾,并且總是文件夾架構(gòu)范圍中的第一個(gè)文件夾。如果未設(shè)置這個(gè)屬性,則默認(rèn)為存儲(chǔ)區(qū)的 non_ipm_subtree/Schema 文件夾,其中包含 Web 存儲(chǔ)系統(tǒng)的默認(rèn)架構(gòu)定義項(xiàng)。 · Baseschema:這一屬性是個(gè)多值字符串,包含一個(gè)或多個(gè)文件夾的 URL。通過確定包含架構(gòu)定義項(xiàng)的其它文件夾,可以擴(kuò)展某文件夾的架構(gòu)范圍。 除了定義自定義內(nèi)容類之外,定義自定義屬性是架構(gòu)設(shè)計(jì)的另一個(gè)重要方面。雖然 Web 存儲(chǔ)系統(tǒng)提供許多預(yù)定義的屬性,您可以為每一項(xiàng)存儲(chǔ)任意
41、數(shù)量的其它屬性;這些屬性就稱為自定義屬性。您還可以對(duì)每一項(xiàng)定義一組不同的自定義屬性。自定義屬性與它的關(guān)聯(lián)項(xiàng)一起保存。檢查項(xiàng)時(shí)可以按名稱發(fā)出請(qǐng)求。如果使用 Exchange OLE DB 提供程序或 ADO 直接綁定到項(xiàng)上,或通過 HTTP/WebDAV 協(xié)議發(fā)出一個(gè) 0 深度的 PROPFIND 命令,Web 存儲(chǔ)系統(tǒng)將返回該項(xiàng)的所有自定義屬性。對(duì)于所有深度為 1 的項(xiàng)屬性,自定義屬性對(duì) SQL “SELECT *”語(yǔ)句或 PROPFIND 命令都是不可見的,除非這些屬性被定義為項(xiàng)的內(nèi)容類的一部分。因此,要使架構(gòu)感知的應(yīng)用程序能識(shí)別您的屬性,必須把屬性和內(nèi)容類的定義添加到應(yīng)用程序文件夾的架構(gòu)范
42、圍中。下面我們對(duì)一些通用的架構(gòu)設(shè)計(jì)指南作一總結(jié)。如果您不熟悉 URN、URI 和 URL 這些詞,在繼續(xù)之前建議您看一看下面的定義。URI、URN 和 URL 統(tǒng)一資源標(biāo)識(shí)符 (URI) 就是一個(gè)采用一定格式的字符串,它可用來唯一地標(biāo)識(shí)一個(gè)資源。URI 可以是一個(gè)統(tǒng)一資源定位符 (URL) 或一個(gè)統(tǒng)一資源名稱 (URN)。 · URL 對(duì)定位所標(biāo)識(shí)資源所需的底層協(xié)議進(jìn)行編碼。 · 而 URN 則與位置無關(guān),而且與定位所標(biāo)識(shí)資源要使用的協(xié)議或機(jī)制也毫無關(guān)系。 URL 開頭帶有一個(gè)標(biāo)識(shí)協(xié)議的前綴,接著是一個(gè)針對(duì)協(xié)議的字符串。對(duì)于 HTTP URL,語(yǔ)法如下: "htt
43、p:/" <host> ":" <port> <path> "?" <query><host> 是服務(wù)器的 IP 地址, <port> 是服務(wù)器偵聽的 TCP 端口號(hào), <path> 是在 HTTP 請(qǐng)求中作為請(qǐng)求 URI 傳遞的絕對(duì) URI。可選的 <query> 對(duì)應(yīng)于查詢字符串后綴,即用 & 分隔的關(guān)鍵字/值對(duì)的列表。只有 URL 的主機(jī)部分是必須的。如果未指定端口,默認(rèn)為端口 80;如果未指定路徑,請(qǐng)求 URI 將為“/”。URN 對(duì)
44、建立現(xiàn)代的、適宜 Internet 的應(yīng)用程序是至關(guān)重要的,但人們對(duì)它還遠(yuǎn)遠(yuǎn)不夠熟悉。目前還沒有一種通用的方式來間接訪問 URN 以查找它所標(biāo)識(shí)的資源。URN 的語(yǔ)法結(jié)構(gòu)保證了 URN 跨多個(gè)組織的唯一性。其語(yǔ)法如下所示: "urn:" <NID> ":" <NSS><NID> 是命名空間標(biāo)識(shí)符,<NSS> 是命名空間特定的字符串。如果要標(biāo)識(shí)與位置無關(guān)的內(nèi)容,建議您使用 URN 機(jī)制。對(duì)于還需要包含位置信息的標(biāo)識(shí)符,則建議使用 URL 機(jī)制。架構(gòu)設(shè)計(jì)指南 架構(gòu)設(shè)計(jì)指南的內(nèi)容如下:使用和定義命名空間 (URN
45、) 使用命名空間定義屬性和內(nèi)容類是一種好辦法。命名空間的作用包括: · 有助于確保屬性和類的名稱是全局唯一的;即,解決識(shí)別和沖突的問題。如果您有多個(gè)應(yīng)用程序在同一時(shí)間部署,或者獨(dú)立軟件開發(fā)商 (ISV) 在一個(gè)大型組織中部署他們的應(yīng)用程序時(shí),這一點(diǎn)都是特別重要的。 · 指示“擁有”屬性或類定義的個(gè)體或組織。 在隨 Exchange 2000 提供的預(yù)定義屬性和類中,您會(huì)發(fā)現(xiàn)有許多不同類型的命名空間: · urn:schemas:httpmail: · urn:schemas-microsoft-com:exch-data: · urn:sche
46、mas-microsoft-com:office:office ·第一個(gè)示例是一種通用的廣為接受的命名空間,目的是為了增強(qiáng)各種架構(gòu)感知應(yīng)用程序間的互操作性。 接下來的兩個(gè)是專用 URN。如果您希望為您的應(yīng)用程序創(chuàng)建一個(gè)類似的命名空間,您可以創(chuàng)建 urn:schemas-mycompanysdomain-com:myapplication:。第二個(gè)和第三個(gè)命名空間的差別就在于:第二個(gè)命名空間的結(jié)尾有一個(gè)命名空間分隔符而第三個(gè)命名空間沒有。如果命名空間以分隔符“:”或“/”結(jié)尾,將創(chuàng)建屬性或內(nèi)容類名稱,且屬性名附于命名空間后。例如,第二個(gè)命名空間中的一個(gè)屬性是 urn:schemas-m
47、icrosoft-com:exch-data:ismultivalued。如果命名空間不以分隔符結(jié)尾(如第三個(gè)示例),則該命名空間中將創(chuàng)建屬性名,命名空間與屬性名之間有一個(gè)符號(hào)“#”。例如,第三個(gè)命名空間中的一個(gè)屬性是 urn:schemas-microsoft-com:office:office#Author。最后一個(gè)命名空間示例顯示如何將 URL 用作命名空間。您應(yīng)當(dāng)從您擁有或已注冊(cè)的 URL 中選擇基于 URL 的命名空間。這將有助于保證命名空間的唯一性。URL 用作命名空間時(shí),最后一個(gè)分隔符為字符“/”。不應(yīng)向您不擁有的命名空間中添加屬性或內(nèi)容類。例如,向 或 DAV: 命名空間添加屬
48、性就不好,而應(yīng)當(dāng)為您的內(nèi)容類和屬性創(chuàng)建自己的命名空間。進(jìn)行屬性定義 Web 存儲(chǔ)系統(tǒng)本身對(duì)屬性名稱中可使用哪些字符沒有特殊的限制。但是,最好還是遵守以下一些約定: · 應(yīng)當(dāng)使用命名空間來創(chuàng)建屬性并加上一個(gè)標(biāo)識(shí)符(如上文所述)。例如, urn:schemas-sample-com:engineering:eco. · 屬性應(yīng)當(dāng)是格式正確的 URI。 · 屬性名稱中不應(yīng)有空格,因?yàn)?XML 不支持在元素名稱中使用空格,因此 HTTP-DAV 也不支持。 定義自定義內(nèi)容類 在定義了這些自定義屬性之后,下一步就是定義您的自定義內(nèi)容類。首先,您需要為應(yīng)用程序選擇一個(gè)文件夾,
49、用來存儲(chǔ)架構(gòu)信息。您可以將這些信息存儲(chǔ)在您的應(yīng)用程序數(shù)據(jù)所在的同一文件夾中,但我們強(qiáng)烈建議您使用一個(gè)不同的子文件夾,我們稱之為架構(gòu)文件夾。如果您在正定義的架構(gòu)不是針對(duì)某一個(gè)應(yīng)用程序的,您可以在相關(guān)的公共存儲(chǔ)區(qū)里的高層架構(gòu)文件夾中定義它。存儲(chǔ)架構(gòu)定義的位置和組織架構(gòu)定義的方式由您決定。但是,在下一部分中,我們將推薦一組方式,指導(dǎo)您如何組織文件夾結(jié)構(gòu)以及如何確定對(duì)一組特定應(yīng)用程序數(shù)據(jù)應(yīng)用哪一個(gè)架構(gòu)定義。下面的關(guān)系圖闡釋了使用一個(gè) Exchange 2000 SDK 工具(即:Web 存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì)器)來自定義內(nèi)容類的一個(gè)示例。我們建議您使用該工具或類似工具來定義自定義內(nèi)容類的定義和屬性定義。圖
50、7. 示例:架構(gòu)設(shè)計(jì)考慮內(nèi)容類的繼承性 您當(dāng)然可以從頭開始定義一個(gè)全新的內(nèi)容類。不過,多數(shù)內(nèi)容類都可以擴(kuò)展(“繼承”)現(xiàn)存的內(nèi)容類。擴(kuò)展內(nèi)容類意味著已擴(kuò)展的(派生的)內(nèi)容類實(shí)例的所有屬性也存在于擴(kuò)展中的(基本的)內(nèi)容類實(shí)例中。這一概念與 C+ 這樣的面向?qū)ο?(OO) 的編程語(yǔ)言中類繼承的概念相似。 圖 10 顯示一個(gè)簡(jiǎn)單的繼承方案。擴(kuò)展文檔類意味著任何可在文檔類實(shí)例上執(zhí)行的代碼或操作都可以在 expensereport 類實(shí)例上執(zhí)行。圖 8. 簡(jiǎn)單內(nèi)容類繼承圖 9. 帶有多個(gè)繼承關(guān)系的內(nèi)容類內(nèi)容類也可擴(kuò)展為多個(gè)內(nèi)容類。在圖 11 中,我們還能看到一個(gè) expensereport 類,它具有
51、totalcost 和 approvastate 兩種屬性。但在這一方案中我們希望有作為文檔的一個(gè)特定類的費(fèi)用報(bào)告和作為消息的一個(gè)特定類的費(fèi)用報(bào)告。因此,我們創(chuàng)建一個(gè) exprensereport 類來擴(kuò)展該類。然后創(chuàng)建一個(gè) exprensemessage 類和一個(gè) exprensedocument 類,它們自己沒有其它屬性。Expensemessage 擴(kuò)展了 expensereport 和 message,而 exprensedocument 擴(kuò)展了 exprensereport 和 document。現(xiàn)在,理解 message 類的應(yīng)用程序就可以理解 expensemessage 類的一
52、些屬性,而把其余屬性當(dāng)作自定義屬性。理解 document 類的應(yīng)用程序就可以理解 exprensedocument 類的一些屬性。有關(guān)架構(gòu)設(shè)計(jì)的詳細(xì)信息,請(qǐng)參考 Exchange 2000 SDK 以及白皮書“Web 存儲(chǔ)系統(tǒng)架構(gòu):使用和最佳方法指南。”Web 存儲(chǔ)系統(tǒng)文件夾結(jié)構(gòu)的最佳方法 Web 存儲(chǔ)系統(tǒng)為設(shè)計(jì)文件夾結(jié)構(gòu)提供了很大的靈活性。架構(gòu)定義項(xiàng)可置于特定存儲(chǔ)區(qū)內(nèi)的任一文件夾中,并用于為您的應(yīng)用程序定義架構(gòu)。通過合理設(shè)置不同文件夾的 schema-collection-ref 和 baseschema 屬性,您可以將這些定義引入到范圍中來。為了避免設(shè)計(jì)和管理應(yīng)用程序架構(gòu)太過復(fù)雜,應(yīng)規(guī)劃
53、并組織好您的架構(gòu)信息。例如,可以選擇在您指定為架構(gòu)文件夾的應(yīng)用程序文件夾的頂層下創(chuàng)建文件夾。設(shè)計(jì)文件夾結(jié)構(gòu)有許多種方式。以下步驟概述了這一過程。考慮以下各項(xiàng): · 邏輯模型的復(fù)雜程度:正如上文所述,設(shè)計(jì)存儲(chǔ)區(qū)的架構(gòu)有許多方式。在作出最終設(shè)計(jì)決定前應(yīng)當(dāng)考察所有相關(guān)的信息和設(shè)計(jì)選項(xiàng)。 · 物理模型的復(fù)雜程度:您應(yīng)當(dāng)考慮到維護(hù)復(fù)雜文件夾結(jié)構(gòu)的困難程度。 · 性能影響:將在以后的部分中討論。 · 重復(fù)使用和共享架構(gòu)。 將架構(gòu)文件夾與其它類型的文件夾區(qū)分開來,例如: · 應(yīng)用程序文件夾:包括 ASP 頁(yè)面、HTML 頁(yè)面、Web 存儲(chǔ)系統(tǒng)窗體等等。
54、183; 數(shù)據(jù)(內(nèi)容)文件夾:包括數(shù)據(jù)項(xiàng)或文檔。 · 窗體注冊(cè)文件夾:包括窗體注冊(cè)項(xiàng)。 通常,特定應(yīng)用程序的架構(gòu)定義將置于它們自己的文件夾中。將應(yīng)用程序文件夾和數(shù)據(jù)文件夾分開也是一種好方法。正如上文所述,特定文件夾的 schema-collection-ref (SCR) 和 baseschema 屬性確定架構(gòu)范圍。設(shè)計(jì)文件夾結(jié)構(gòu)有許多靈活的方式。文件夾結(jié)構(gòu)的示例如下:· 一個(gè)簡(jiǎn)單的應(yīng)用程序可以有一個(gè)包含應(yīng)用程序文件(ASP、HTML 頁(yè)面)和數(shù)據(jù)項(xiàng)的文件夾,以及一個(gè)架構(gòu)文件夾。 · 稍微復(fù)雜點(diǎn)的應(yīng)用程序可以分別有單獨(dú)的應(yīng)用程序文件夾、數(shù)據(jù)文件夾和架構(gòu)文件夾。 &
55、#183; 架構(gòu)文件夾可以有不同的級(jí)別,如頂級(jí)架構(gòu)文件夾包含在同一根下運(yùn)行的所有應(yīng)用程序。也可以采用一系列架構(gòu)文件夾,每個(gè)架構(gòu)文件夾通過 SCR 引用另一個(gè)架構(gòu)文件夾。 定義架構(gòu)文件夾。 · 定義常用的內(nèi)容類和屬性定義。 · 定義窗體注冊(cè)。(這可能在一個(gè)單獨(dú)的窗體注冊(cè)文件夾中。) 創(chuàng)建架構(gòu)文件夾時(shí),您必須確定這些文件夾的范圍。即,某一給定的架構(gòu)文件夾適用于哪些數(shù)據(jù)文件夾?任意數(shù)量的數(shù)據(jù)文件夾可以使用一個(gè)架構(gòu)文件夾。反之,在多個(gè)架構(gòu)文件夾中定義的架構(gòu)可以應(yīng)用于一個(gè)數(shù)據(jù)文件夾。正如上文所述,schema-collection-ref 是一個(gè)可在數(shù)據(jù)文件夾上設(shè)置的屬性,用來指示在
56、查找相關(guān)屬性和內(nèi)容類定義時(shí)應(yīng)首先搜索哪個(gè)架構(gòu)文件夾。baseschema 屬性則形成一個(gè)架構(gòu)文件夾的樹形結(jié)構(gòu)來搜索架構(gòu)定義。在這個(gè)架構(gòu)文件夾的邏輯樹中,每個(gè)節(jié)點(diǎn)都可有許多子節(jié)點(diǎn)。這個(gè)架構(gòu)文件夾的邏輯樹可以(并且通常會(huì))與存儲(chǔ)區(qū)中文件夾的物理布局不同。相對(duì)于給定的數(shù)據(jù)文件夾,schema-collection-ref 屬性指示搜索始于哪個(gè)架構(gòu)文件夾。 · 定義應(yīng)用程序和數(shù)據(jù)文件夾。 · 如果需要,將 schema-collection-ref (SCR) 屬性指向架構(gòu)文件夾。 · 使用 baseclass 和 expected-content-class。 SQL
57、與 Web 存儲(chǔ)系統(tǒng) 這一部分我們考察 SQL 關(guān)系型數(shù)據(jù)庫(kù)和 Web 存儲(chǔ)系統(tǒng)間的主要差別;討論何時(shí)使用 SQL 以及何時(shí)使用 Web 存儲(chǔ)系統(tǒng);并提供一套指南,用于從已有的 SQL 數(shù)據(jù)庫(kù)向 Web 存儲(chǔ)系統(tǒng)移植數(shù)據(jù)。表 3 闡釋了 SQL 數(shù)據(jù)庫(kù)與 Web 存儲(chǔ)系統(tǒng)的不同之處。注意 SQL 數(shù)據(jù)庫(kù)與基于 Web 存儲(chǔ)系統(tǒng)的 Microsoft 產(chǎn)品(如 Exchange 2000)有一組相同的服務(wù)。 表 3. SQL 數(shù)據(jù)庫(kù)和 Web 存儲(chǔ)系統(tǒng)SQL 數(shù)據(jù)庫(kù)Web 存儲(chǔ)系統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)類似于對(duì)象數(shù)據(jù)庫(kù)結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)表文件夾(以及內(nèi)容類)列內(nèi)容類和屬性固定行不固定行集中于業(yè)務(wù)智能
58、協(xié)作以事務(wù)為中心以文檔為中心數(shù)據(jù)完整性:主鍵/外鍵無主鍵/外鍵矩形數(shù)據(jù)非矩形觸發(fā)器事件接收存儲(chǔ)過程無可比實(shí)體(與之類似的是事件)如果現(xiàn)有的 KM 解決方案正在從 SQL 關(guān)系型數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),而這些數(shù)據(jù)是典型的非矩形半結(jié)構(gòu)化數(shù)據(jù),您最好考慮將這些數(shù)據(jù)從 SQL 移植到 Web 存儲(chǔ)系統(tǒng)。請(qǐng)參照以下指南,將數(shù)據(jù)從 SQL 移植到 Web 存儲(chǔ)系統(tǒng): · 首先,將 SQL 列映射到屬性,將 SQL 表映射到文件夾和內(nèi)容類。 · 確定表的主鍵和外鍵。根據(jù)邏輯設(shè)計(jì)模型查找與之對(duì)應(yīng)的內(nèi)容類。 · 通過確定一組能生成項(xiàng)的唯一實(shí)例的屬性來模擬主鍵。 · 考慮內(nèi)容類的
59、繼承性。 物理設(shè)計(jì)考慮因素 到此,我們已經(jīng)討論了設(shè)計(jì)用戶服務(wù)、業(yè)務(wù)服務(wù)和數(shù)據(jù)服務(wù)的最佳方法。這一部分我們將集中討論物理設(shè)計(jì)階段針對(duì) Web 存儲(chǔ)系統(tǒng)的設(shè)計(jì)考慮因素。對(duì)每個(gè)設(shè)計(jì)考慮因素主題,我們都將介紹一些重要的概念、討論一些您可以采取的折衷措施,并列出一張清單,供您在考慮各種選項(xiàng)時(shí)參考。安全模型 這一部分中概述了 Web 存儲(chǔ)系統(tǒng)安全模型。除了使用 MAPI 客戶程序(如 Outlook)或 Windows 文件系統(tǒng) API 來控制安全設(shè)置外,您還可以使用基于 XML 的安全描述符來控制對(duì)某一項(xiàng)及其屬性的訪問。使用 Web 存儲(chǔ)系統(tǒng)安全描述符,您可以: · 既可將對(duì)某一項(xiàng)及其屬性的訪問權(quán)授予受托者(具有憑證、正在訪問該項(xiàng)的人),也可以拒絕該受托者進(jìn)行訪問。 · 使用 Microsoft Windows® 安全標(biāo)識(shí)符 (SID) 標(biāo)識(shí)受托者。 · 設(shè)置、檢索和修改 XML 格式的描述符。 · 使用 Microsoft Exchange OLE DB (ExOLEDB) 提供程序和 XML 格式的 HTTP/WebDAV 協(xié)議訪問描述符。 每一項(xiàng)的安全描述符都通過該項(xiàng)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律維權(quán)委托協(xié)議書
- 漁民買賣合同協(xié)議書
- 樓房擴(kuò)建合同協(xié)議書
- 撞車受傷賠償協(xié)議書
- 施工木工安全協(xié)議書
- 扶貧蔬菜采購(gòu)協(xié)議書
- 打羽毛球合同協(xié)議書
- 果園買賣合同協(xié)議書
- 校企合作授權(quán)協(xié)議書
- 無償線下委托協(xié)議書
- 高空作業(yè)安全會(huì)議記錄內(nèi)容
- 00510秘書實(shí)務(wù)-自考整合版
- 護(hù)理研究中的偏倚及控制
- 小學(xué)生的齲齒預(yù)防ppt課件
- [復(fù)習(xí)]邊坡客土吹附施工方案
- 沖壓試題庫(kù)及答案文檔
- 管理人員責(zé)任追究制度
- 自動(dòng)旋轉(zhuǎn)門PLC控制
- 電影場(chǎng)記表(雙機(jī)位)
- 畢設(shè)高密電法探測(cè)及數(shù)據(jù)處理解釋
- 華為保密制度范文
評(píng)論
0/150
提交評(píng)論