国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

開發(fā)合作 Microsoft .NET 解決方案

2024-07-10 13:00:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
開發(fā)合作 microsoft .net 解決方案
michael herman
ec3 enterprise consulting competency centers
microsoft corporation

2000年10月

摘要:本文探討 microsoft .net 平臺(tái),并著重介紹如何使用 .net 平臺(tái)、exchange 2000 server 和 microsoft web 存儲(chǔ)系統(tǒng)構(gòu)建、設(shè)計(jì)和建立合作 web 服務(wù)。

目錄


簡(jiǎn)介
microsoft .net 平臺(tái)
microsoft web 存儲(chǔ)系統(tǒng)
web 存儲(chǔ)系統(tǒng)和 .net 平臺(tái)
聯(lián)合 web 服務(wù)模型
展望
結(jié)論

--------------------------------------------------------------------------------


簡(jiǎn)介

microsoft 正致力于開發(fā)新一代的軟件,即通過革新性的新方法(向開發(fā)人員和最終用戶提供所需工具,對(duì) web 和計(jì)算過程中的其它各個(gè)方面加以改進(jìn)),將 web 計(jì)算和通信融為一體。我們將此技術(shù)稱為 microsoft .net。

通過 microsoft .net 將可以創(chuàng)建真正的分布式 web 服務(wù),它將集成免費(fèi)提供的各種服務(wù)并與這些服務(wù)協(xié)同工作,使當(dāng)今客戶的夢(mèng)想成真。microsoft .net 蘊(yùn)含的基本理念就是將注意力從單獨(dú)的 web 站點(diǎn)和與 internet 相連的各種設(shè)備,轉(zhuǎn)移到由各種計(jì)算機(jī)、設(shè)備和服務(wù)協(xié)同工作的架構(gòu)之上,從而提供涉及面更廣、功能更全面的解決方案。人們將可以控制向這些計(jì)算機(jī)、設(shè)備和服務(wù)提供信息的方式和時(shí)間,以及提供哪些信息。計(jì)算機(jī)、設(shè)備和服務(wù)將能夠彼此協(xié)同工作,而不再是相互隔絕,只能通過 web 沖浪協(xié)同工作。公司提供其產(chǎn)品和服務(wù)的方式將可以令用戶和供應(yīng)商將這些產(chǎn)品和服務(wù)無(wú)縫地嵌入在其自身的業(yè)務(wù)進(jìn)程和日常活動(dòng)的電子架構(gòu)之中。

在 microsoft .net 平臺(tái)中具有 5 個(gè)組件:

microsoft windows® 操作系統(tǒng)服務(wù)平臺(tái)
.net framework
.net building block 服務(wù)
.net orchestration
microsoft .net enterprise server 系列
在 .net enterprise server 系列中,exchange 2000 server 是可靠的、易于管理的消息傳送和合作解決方案,可以將用戶和各方面的知識(shí)和信息結(jié)合在一起。

本文將講解 microsoft .net 平臺(tái),并著重介紹如何使用 .net 平臺(tái)、exchange 2000 server 和 microsoft web 存儲(chǔ)系統(tǒng)構(gòu)建、設(shè)計(jì)和建立合作 web 服務(wù)。同時(shí)還對(duì) microsoft .net 分布式 web 結(jié)構(gòu)以及 microsoft web 存儲(chǔ)系統(tǒng)的主要開發(fā)功能加以說明。

此外,我們將介紹 web 存儲(chǔ)系統(tǒng)和 .net framework 是如何協(xié)同工作,從而構(gòu)建高價(jià)值的合作 web 服務(wù)的。我們將以一個(gè)旅行社的日程安排為例,闡述作為一個(gè) web 設(shè)計(jì)人員和開發(fā)人員,需要考慮的各種實(shí)際的基礎(chǔ)結(jié)構(gòu)和設(shè)計(jì)因素。最后,我們將先睹 exchange 2000 server 開發(fā)小組計(jì)劃在 microsoft web 存儲(chǔ)系統(tǒng)的下幾個(gè)發(fā)行版中提供的新增 .net 功能。

xml

microsoft .net 將有助于促進(jìn) internet 上的變革,人們將看到通過采用可編程的基于 xml 的信息,基于 html 的顯示效果得到極大改善。xml 是由“萬(wàn)維網(wǎng)聯(lián)盟”(world wide web consortium) 定義的得到廣泛支持的行業(yè)標(biāo)準(zhǔn),而正是該組織創(chuàng)建了 web 瀏覽器的標(biāo)準(zhǔn)。xml 提供將實(shí)際數(shù)據(jù)與該數(shù)據(jù)的演示視圖區(qū)分開來(lái)的方法。這種方法將數(shù)據(jù)分發(fā)給各種數(shù)字設(shè)備,從而允許 web 站點(diǎn)通過其選擇采用的基于 xml 的 web 服務(wù)協(xié)同操作。

作為在 xml 和 internet 協(xié)議的標(biāo)準(zhǔn)集成結(jié)構(gòu)基礎(chǔ)上建立的平臺(tái),microsoft .net 平臺(tái)是開發(fā)先進(jìn)的新一代軟件的革新性方法。顯然,microsoft .net 的設(shè)計(jì)理念即在于允許在合作解決方案架構(gòu)內(nèi)集成或協(xié)調(diào) internet 上的任意資源組。當(dāng)前,此類集成極為復(fù)雜并且成本很高。microsoft .net 將使這些類型的合作 web 解決方案的設(shè)計(jì)、實(shí)施和部署更快捷、更簡(jiǎn)單。

web 服務(wù)

松散組合的、基于 xml 的 microsoft .net 平臺(tái)引入了基于 xml 的 web 服務(wù)的概念。鑒于當(dāng)今的 web 站點(diǎn)還是采用人工維護(hù)的方式,并且不進(jìn)行大量的額外開發(fā)就無(wú)法與其它站點(diǎn)協(xié)同工作,microsoft .net 平臺(tái)提供固有的機(jī)制,使任何 web 站點(diǎn)或服務(wù)能夠與其它站點(diǎn)無(wú)縫地協(xié)同工作。

web 服務(wù)最簡(jiǎn)單的定義是,一種可通過標(biāo)準(zhǔn) web 協(xié)議訪問的可編程的應(yīng)用組件。

將向 internet 提供四種 web 服務(wù):

公共 .net web 服務(wù)
商用 .net building block web 服務(wù)
已作好準(zhǔn)備、可立即投入使用的 web 服務(wù)
自定義開發(fā)的 web 服務(wù)
公用 web 服務(wù)將在 internet 上出現(xiàn),并且可以很容易并全面地集成到新的和已有的 web 解決方案中。某些服務(wù)將免費(fèi)提供,而其它一些服務(wù)將需要不同商業(yè)模型的支持。需要商業(yè)模型支持的 web 服務(wù)稱作商用 building block web 服務(wù),并且將由應(yīng)用服務(wù)提供商 (asp) 以及 microsoft 提供。passport 是 microsoft 的第一個(gè) building block 服務(wù),提供單一簽入功能(允許用戶在多個(gè) web 站點(diǎn)上使用單一的名稱和密碼)。以后的 passport building block 服務(wù)將包括電子錢包和公用個(gè)人信息服務(wù)。請(qǐng)?jiān)L問 microsoft passport web 站點(diǎn)(英文),以了解詳細(xì)信息。

通過 .net 平臺(tái),開發(fā)人員還可以在自己的合作解決方案中充分利用由 microsoft 和其它軟件公司提供的準(zhǔn)備好的、可立即投入使用的 web 服務(wù)。

自定義開發(fā)的 web 服務(wù)包括由公司開發(fā)人員和解決方案合作伙伴開發(fā)的、供公司內(nèi)部使用的 web 服務(wù)。

開發(fā)人員將能夠在自己的應(yīng)用程序和服務(wù)中充分利用并自定義各種 microsoft .net building block 服務(wù),從而減少創(chuàng)建具有競(jìng)爭(zhēng)力的解決方案所需的工作量。這些核心 microsoft .net building block 服務(wù)與 microsoft 深入研究的各方面的功能相對(duì)應(yīng),各種開發(fā)人員均可以從中獲益。microsoft 正致力于統(tǒng)一這些開發(fā)人員構(gòu)件,以便提供高度分散、可編程的服務(wù),這些服務(wù)可以在獨(dú)立的機(jī)器上、公司數(shù)據(jù)中心中和 internet 上執(zhí)行。

通過選擇預(yù)訂這些現(xiàn)成的核心 .net building block 服務(wù),對(duì)于想要利用開發(fā)資源的開發(fā)人員而言,他們可以決定“是購(gòu)買還是創(chuàng)建”。某些人可能選擇自己創(chuàng)建基本的服務(wù)功能,而某些人可能更傾向于選擇具有強(qiáng)大開發(fā)工具支持的良好的打包解決方案,這就象許多開發(fā)人員不自己編寫打印機(jī)驅(qū)動(dòng)程序或窗口系統(tǒng),而將主要資源投入到其獨(dú)具特色的高價(jià)值解決方案上一樣。

web 服務(wù)具有以下特點(diǎn):

您可以請(qǐng)求某一站點(diǎn)對(duì)其提供的 web 服務(wù)進(jìn)行說明。
web 服務(wù)按照這些服務(wù)支持的消息的格式和順序定義。
web 服務(wù)用戶使用 xml 發(fā)送和接收消息。
所有這些功能都是使用公開的 internet 協(xié)議建立的。
通過 microsoft .net 平臺(tái)創(chuàng)建的分布式 web 服務(wù)既可以聯(lián)機(jī)使用,也可以脫機(jī)使用。服務(wù)可以在未與 internet 相連的獨(dú)立機(jī)器上調(diào)用,可以由在公司內(nèi)運(yùn)行的本地服務(wù)器提供,也可以通過 internet 訪問。不同的服務(wù)可以通過稱作聯(lián)合的進(jìn)程協(xié)同工作并交換信息,使組織能夠在不影響其對(duì)服務(wù)的控制和訪問的前提下,決定是運(yùn)行其自己的基礎(chǔ)結(jié)構(gòu),還是從外部引入。例如,公司目錄服務(wù)能夠與 internet 上運(yùn)行的其它目錄 web 服務(wù)聯(lián)合使用。

microsoft .net building block 服務(wù)可以在支持 xml 的任何平臺(tái)上使用。windows、exchange 2000 server、microsoft web 存儲(chǔ)系統(tǒng)和 visual studio® 將提供最佳的環(huán)境,以便創(chuàng)建和提供合作 web 解決方案。

web 用戶體驗(yàn)

盡管 web 服務(wù)使開發(fā)人員可以很容易地展示某個(gè)應(yīng)用程序的功能,以便其它服務(wù)器和客戶機(jī)的應(yīng)用程序能夠與其相連,但許多應(yīng)用程序需要通過 web 用戶界面 (ui) 向 internet 和 intranet 用戶展示此功能的全部或部分。

此外,通過 microsoft .net,可以使在 pc 和設(shè)備上運(yùn)行的解決方案能夠與包羅萬(wàn)象的 internet 上的信息和功能緊密結(jié)合使用,包括能夠聯(lián)機(jī)和脫機(jī)工作,并且在使用本地或遠(yuǎn)程應(yīng)用程序和服務(wù)之間可以透明轉(zhuǎn)換。

microsoft .net 將從三個(gè)方面影響 web 用戶體驗(yàn):

在創(chuàng)建新的 web 用戶界面方面革新性的新改進(jìn)。
用戶界面在各種設(shè)備上的透明展示。
我們工作和游戲的方式。
從用戶界面角度而言,microsoft .net 將向用戶和開發(fā)人員提供以下用戶界面技術(shù):

自然界面:一種用來(lái)實(shí)現(xiàn)下一代人機(jī)交互操作的技術(shù)的集合,包括語(yǔ)音、圖像、手寫和通過新“鍵入”框的自然語(yǔ)言輸入。
通用模板:一種 xml 復(fù)合信息體系結(jié)構(gòu),將瀏覽、通信和文檔撰寫集成到一個(gè)統(tǒng)一的環(huán)境中,使用戶能夠以統(tǒng)一的方式合成信息并與信息進(jìn)行交互操作。通用模板是在 xml 架構(gòu)的基礎(chǔ)上建立的,可以將 internet 從只讀環(huán)境轉(zhuǎn)換為可讀/寫平臺(tái),從而使用戶能夠以交互方式創(chuàng)建、瀏覽、編輯、評(píng)注和分析信息。因?yàn)榛A(chǔ)信息是 xml 格式的,所以通用模板能夠?qū)?lái)自世界各地的多個(gè)信息源匯集到一起。
信息代理:管理您在 internet 上的標(biāo)識(shí)和個(gè)人信息,并更好地控制 web 站點(diǎn)和服務(wù)與您進(jìn)行交互操作的方式。與當(dāng)今的 internet 不同,您可以對(duì)自己的個(gè)人信息進(jìn)行控制,決定誰(shuí)可以訪問這些信息。通過信息代理,您只需創(chuàng)建一次自己的個(gè)人首選項(xiàng),然后就可以允許任意 web 站點(diǎn)或服務(wù)使用這些首選項(xiàng)。
smarttags:將 intellisense 技術(shù)拓展到 web 內(nèi)容,使您的 pc 和設(shè)備可以智能地控制來(lái)自 internet 的信息。可擴(kuò)展的基礎(chǔ)結(jié)構(gòu)允許每一用戶創(chuàng)建自適應(yīng)的用戶體驗(yàn)和數(shù)據(jù)處理程序。通過實(shí)際嵌入到每個(gè) microsoft 應(yīng)用程序的內(nèi)部,intellisense 技術(shù)能夠自動(dòng)執(zhí)行重復(fù)的任務(wù)、簡(jiǎn)化復(fù)雜的任務(wù)、使軟件更加個(gè)性化、使產(chǎn)品中的各項(xiàng)功能更易于使用。
為支持 web ui 在任何類型的設(shè)備(包括最新的 internet explorer 和與 html 3.2 兼容的瀏覽器)上透明顯示,.net 平臺(tái)引入了 asp+,即下一代 microsoft 的 active server page 頁(yè) (asp) 技術(shù)。對(duì)于 web 設(shè)計(jì)人員和開發(fā)人員,在充分利用現(xiàn)有開發(fā) asp 應(yīng)用經(jīng)驗(yàn)的同時(shí),設(shè)計(jì)和開發(fā) web ui 將更為容易。對(duì)于 web 主管,部署和管理 web 應(yīng)用程序和服務(wù)將更為容易,并且可擴(kuò)展性、安全性和可靠性均得以提高。

這里使用的主要技術(shù)是 asp+ 服務(wù)器控件,新的 visual studio .net 設(shè)計(jì)器完全支持該技術(shù)。開發(fā)模型與當(dāng)今 visual basic 開發(fā)人員所使用的常用模型完全相同:從工具箱中選擇一個(gè)控件,在 web 窗體上繪制它,在其上雙擊以添加代碼來(lái)響應(yīng)用戶事件,然后編譯您的項(xiàng)目。窗體和代碼被自動(dòng)編譯并部署到您的開發(fā) web 服務(wù)器,在該服務(wù)器中,asp+ 服務(wù)器控件自動(dòng)檢測(cè)用戶的瀏覽器類型,并生成與瀏覽器類型兼容的純 dhtml 或 html 3.2。將隨 visual studio .net 一起提供幾種可擴(kuò)展和可修改的 asp+ 服務(wù)器控件。這些控件類型包括固有的控件(對(duì)應(yīng)于相應(yīng)的 html 控件)、數(shù)據(jù)感知列表控件、功能豐富的日歷和廣告輪播器控件、窗體和字段驗(yàn)證控件。

通過將 .net 平臺(tái)的 web 服務(wù)與各項(xiàng) web ui 功能相結(jié)合,能夠顯著改變我們?cè)?internet 工作和游戲的方式。例如,在計(jì)劃外出旅行時(shí),通常要收集以下幾方面的信息:偏愛的旅行時(shí)間、旅行目的地、特殊的飲食注意事項(xiàng)、是否吸煙、偏愛的租車代理機(jī)構(gòu)、偏愛的飛機(jī)座位、常客獎(jiǎng)勵(lì)帳號(hào)、偏愛的旅館、付款信息等。一個(gè)旅行社也許已經(jīng)掌握了上述某些或全部信息,但是這些信息都是最新的信息嗎?或者您申請(qǐng)了多家旅行社怎么辦?

何必每次都要收集上述這些信息呢?不如簡(jiǎn)單地在 outlook® 日歷中進(jìn)行外出旅行預(yù)訂,讓 exchange 服務(wù)器上運(yùn)行的信息代理與在旅行社的 web 站點(diǎn)上運(yùn)行的 web 服務(wù)自動(dòng)聯(lián)系。對(duì) web 服務(wù)的調(diào)用應(yīng)包括偏愛的旅行時(shí)間和目的地信息。如果旅行社需要與您的旅行偏愛有關(guān)的其它信息,為什么旅行社不簡(jiǎn)單地回調(diào)由您的 exchange 服務(wù)器提供的 web 服務(wù),讓 web 服務(wù)自動(dòng)提供您已經(jīng)授權(quán)與該旅行社共享的信息呢?

一旦旅行社最終設(shè)定好您的度假計(jì)劃,將再次與您的 exchange 服務(wù)器上的 web 服務(wù)聯(lián)系,以更新最初的日歷約會(huì)信息。該約會(huì)可以自動(dòng)與您的 pocket pc 中的日歷保持同步,也可通過無(wú)線 pocket pc 設(shè)備立即獲得這些信息。您可以隨時(shí)隨地獲取有關(guān)度假的詳細(xì)信息。

這就是由 microsoft .net、exchange 2000 server、web 存儲(chǔ)系統(tǒng)和 visual studio 實(shí)現(xiàn)的全新的合作 web 服務(wù)。本文在旅行社合作日程安排示例中闡述了合作性的日程安排。


microsoft .net 平臺(tái)

為 .net 平臺(tái)創(chuàng)建的應(yīng)用程序和 web 服務(wù)的主要特性包括:

它們將自身作為 web 服務(wù)提供,并且具有 web ui。
它們使用公開的 internet 協(xié)議。
它們支持適合于智能客戶機(jī)和設(shè)備的豐富 web 用戶體驗(yàn)。
對(duì)于設(shè)計(jì)人員和開發(fā)人員而言,還可以快速開發(fā)和部署 .net 應(yīng)用程序和 web 服務(wù),并且可以很容易地與其它 web 服務(wù)和現(xiàn)有應(yīng)用程序集成。



圖 1. microsoft .net 平臺(tái)

windows 操作系統(tǒng)服務(wù)

microsoft .net 平臺(tái)是建立在 windows 2000 server 系列的可伸縮性、可靠性、安全性和可管理性基礎(chǔ)之上的。對(duì)于基于 windows 的 .net 服務(wù)器,windows 2000 server 提供高性能的操作系統(tǒng)服務(wù),這些服務(wù)包括:

安全性(包括加密和完整公鑰基礎(chǔ)結(jié)構(gòu))。
完備、高性能、基于標(biāo)準(zhǔn)的 xml 子系統(tǒng)。
在磁盤和內(nèi)存與任意 tcp/ip 連接之間具有極高帶寬的 i/o。
允許同時(shí)運(yùn)行多個(gè)版本的應(yīng)用程序,以進(jìn)行連續(xù)的部署。
高效的線程和光纖支持。
內(nèi)容索引編制、搜索和檢索。
存儲(chǔ)器高速緩存。
進(jìn)程調(diào)度。
對(duì)音頻和視頻協(xié)同工作的 windows 流式媒體支持。
windows 2000 professional、windows nt® workstation 和 windows 的普通用戶版(windows 98 和 windows me)將繼續(xù)附帶 internet explorer,以提供最豐富多彩的 web 用戶體驗(yàn)和 xml 支持。此外,windows ce 將提供在中小型設(shè)備上運(yùn)行的移動(dòng)應(yīng)用程序所需的各種操作系統(tǒng)功能,以支持聯(lián)機(jī)、脫機(jī)和無(wú)線解決方案。

.net orchestration

biztalk server 2000 是一種新的 .net enterprise server,提供各種設(shè)計(jì)工具和運(yùn)行時(shí)環(huán)境,以對(duì)任意業(yè)務(wù)進(jìn)程組和組織內(nèi)以及各組織間的 web 服務(wù)進(jìn)行協(xié)調(diào)。.net orchestration 是 .net framework 的第二個(gè)組件,用于集成 web 存儲(chǔ)系統(tǒng)工作流并將其擴(kuò)展到可伸縮的合作工作流解決方案結(jié)構(gòu)中。

.net orchestration 解決了最為常見的商業(yè)問題之一,即如何才能快速推進(jìn)業(yè)務(wù)進(jìn)程并將其與客戶和業(yè)務(wù)合作伙伴結(jié)合起來(lái),同時(shí)解決由這些進(jìn)程導(dǎo)致的技術(shù)問題,因?yàn)檫@些進(jìn)程分布在運(yùn)行于多個(gè)硬件平臺(tái)(運(yùn)行在多個(gè)客戶、合作伙伴和服務(wù)提供商位置上)的多個(gè)軟件系統(tǒng)上。

用于解決這些問題的 .net orchestration 方案就是將進(jìn)程定義與其基本實(shí)現(xiàn)部分分離。業(yè)務(wù)進(jìn)程專家創(chuàng)建并管理業(yè)務(wù)進(jìn)程的發(fā)展,而開發(fā)人員則將主要精力集中在實(shí)現(xiàn)支持業(yè)務(wù)進(jìn)程的發(fā)展所需的基礎(chǔ)服務(wù)之上。.net orchestration 可視化設(shè)計(jì)器(包括在 biztalk server 中)提供進(jìn)程設(shè)計(jì)和與外部 web 服務(wù)及消息傳送系統(tǒng)集成之間的協(xié)調(diào)點(diǎn)。

使用 .net orchestration 的一種方法是將單獨(dú)的 web 存儲(chǔ)系統(tǒng)工作流集成到更大的合作工作流解決方案結(jié)構(gòu)之中并對(duì)其進(jìn)行擴(kuò)展。

.net enterprise server

.net enterprise server 是 microsoft 的全面服務(wù)器系列中的一種,使您可以快速地建立并管理集成的、具有 web 功能的企業(yè)系統(tǒng)。通過在設(shè)計(jì)中強(qiáng)調(diào)可伸縮性以及以任務(wù)為中心的性能,.net enterprise servers 使用最新的 internet web 和數(shù)據(jù)標(biāo)準(zhǔn)從頭創(chuàng)建,以便實(shí)現(xiàn)互操作性。

.net enterprise server 的七大核心包括:

sql server™ 2000
internet security 和 acceleration (isa) server 2000(以前為 proxy server)
host integration server 2000(以前為 sna server)
exchange 2000 server 和 exchange 2000 conferencing server
commerce server 2000
biztalk server 2000
application center 2000
exchange 2000 server

在 .net enterprise server 系列中,exchange 2000 server 是一種可靠的、容易管理的消息傳送和合作解決方案,可以將用戶和各方面的知識(shí)信息結(jié)合在一起。exchange 2000 conferencing server 提供實(shí)時(shí)聊天、數(shù)據(jù)、音頻、視頻和應(yīng)用程序共享,使用起來(lái)就象通過 outlook 預(yù)訂會(huì)議一樣方便。

exchange 2000 server 發(fā)行版中的一個(gè)主要革新就是其分布式 web 邏輯結(jié)構(gòu)。實(shí)際上,根據(jù)擴(kuò)展用戶連接數(shù)量、中間層處理能力或后端處理需要以及存儲(chǔ)要求,能夠在自己的實(shí)際服務(wù)器上運(yùn)行的前端服務(wù)與后端 exchange 服務(wù)和 web 存儲(chǔ)系統(tǒng)區(qū)分離。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 2. exchange 2000 server 分布式 web 體系結(jié)構(gòu)

前端協(xié)議服務(wù)采用大量 internet 協(xié)議以支持客戶機(jī)應(yīng)用程序以及服務(wù)器到服務(wù)器的通信。客戶機(jī)協(xié)議服務(wù)包括 html/http、pop3、imap4、nntp 和 webdav(基于 http 的 xml)、frontpage 和 office server extensions 協(xié)議、h.323 音頻/視頻會(huì)議和 t.120 數(shù)據(jù)會(huì)議傳送。服務(wù)器到服務(wù)器(和服務(wù)器到 internet)協(xié)議服務(wù)包括 smtp、nntp 和 x.400。

此外,前端協(xié)議服務(wù)支持 outlook web access for exchange 2000 server (owa 2000),它可以將 outlook 2000 功能作為基于 html/http web 組件的 web ui 提供,因此用于 internet 信息查詢、漫游用戶和家庭訪問等情況十分理想。owa 2000 可以用作完備的電子郵件客戶程序,可以訪問電子郵件、日歷約會(huì)和聯(lián)系人,另外還可以訪問個(gè)人和公用文件夾中存儲(chǔ)的所有信息。此外,開發(fā)人員還可以使用 owa 2000 web ui 的每一組件在自己的合作 web 解決方案中自動(dòng)提供功能全面的日歷、聯(lián)系人列表、電子郵件和主題討論。

exchange 服務(wù)實(shí)施核心消息傳送和協(xié)作服務(wù),包括對(duì)前端協(xié)議服務(wù)層、系統(tǒng)管理和服務(wù)器到服務(wù)器復(fù)制的支持。

web 存儲(chǔ)系統(tǒng)采用安全層次結(jié)構(gòu)文件夾模型,用于存儲(chǔ)任何類型的無(wú)特定結(jié)構(gòu)或半結(jié)構(gòu)化的內(nèi)容(電子郵件、文檔、文件、可執(zhí)行文件等),并且通過大量的 api、internet 協(xié)議、一個(gè)支持同步和異步處理的事件模型以及一個(gè)工作流引擎,增加對(duì)訪問和更新這些內(nèi)容的支持。后者使 web 存儲(chǔ)系統(tǒng)能夠成為可令業(yè)務(wù)進(jìn)程自動(dòng)化的、功能強(qiáng)大的合作 web 平臺(tái)。

ado 2.5 是戰(zhàn)略性的 web 存儲(chǔ)系統(tǒng)對(duì)象模型,用于訪問與文件夾以及文件夾中所包含項(xiàng)目有關(guān)的信息,以及單個(gè)項(xiàng)目自身的信息。ado 2.5 隨 windows 2000 附帶,使用新的 web 存儲(chǔ)系統(tǒng) ole db 提供程序。其最主要的優(yōu)點(diǎn)是用唯一的、易于辨識(shí)的 url 標(biāo)識(shí) web 存儲(chǔ)系統(tǒng)中的每一項(xiàng)目。此外,ado 2.5 是可用于 web 存儲(chǔ)系統(tǒng)中文件夾和項(xiàng)目的層次結(jié)構(gòu)遍歷的對(duì)象模型。

一個(gè)新的 ado 2.5 對(duì)象(即 ado 記錄)用于檢索單個(gè)文件夾或項(xiàng)目的屬性,并創(chuàng)建新文件夾和項(xiàng)目。新的流對(duì)象提供對(duì)一個(gè)項(xiàng)目的附件(例如 office 和 xml 文檔)以及音頻和視頻流的有效訪問。傳統(tǒng)的 ado 記錄集用于檢索與項(xiàng)目集合有關(guān)的信息。

新的 web 存儲(chǔ)系統(tǒng)合作數(shù)據(jù)對(duì)象 (cdo) 庫(kù)系列是建立在 ado 和 ole db 的基礎(chǔ)之上的,提供對(duì) web 存儲(chǔ)系統(tǒng)和 exchange 2000 server 中的項(xiàng)目和管理功能的更高級(jí)別的、面向?qū)ο蟮脑L問。(假如 web 存儲(chǔ)系統(tǒng) cdo 是在 ado 和 ole db 的基礎(chǔ)上實(shí)現(xiàn)的,進(jìn)一步強(qiáng)調(diào) ado 在跨 microsoft 平臺(tái)進(jìn)行數(shù)據(jù)訪問時(shí)所起的重要作用)。

為了與現(xiàn)有的電子郵件客戶程序(包括所有版本的 outlook 和 outlook web access for exchange server 5.5)兼容,web 存儲(chǔ)系統(tǒng)還支持 mapi 和 cdo 1.2 api。

為了與最簡(jiǎn)單的桌面應(yīng)用程序兼容,web 存儲(chǔ)系統(tǒng)還提供可安裝文件系統(tǒng) (ifs) 驅(qū)動(dòng)程序,使 web 存儲(chǔ)系統(tǒng)分層文件夾存儲(chǔ)的查看方式類似 windows 資源管理器中的分層文件系統(tǒng)、命令提示或者用來(lái)打開和存儲(chǔ)文檔的標(biāo)準(zhǔn)文件系統(tǒng)對(duì)話框。ifs 驅(qū)動(dòng)程序文件夾還可以象普通文件系統(tǒng)文件夾一樣共享,并使用傳統(tǒng)的服務(wù)器消息塊 (smb) 網(wǎng)絡(luò)文件共享協(xié)議訪問。

此具有大量的 web 存儲(chǔ)系統(tǒng) api 和 internet 協(xié)議的集合將使“tahoe”中提供的新的協(xié)作服務(wù)集得以實(shí)現(xiàn),“tahoe”是 microsoft 的第二個(gè)基于 web 存儲(chǔ)系統(tǒng)的協(xié)作服務(wù)器產(chǎn)品。此外,未來(lái)的 office 版本將附帶某一版本的 web 存儲(chǔ)系統(tǒng),它將運(yùn)行在本地的客戶 pc 機(jī)上,并且支持 active server page 以及與在服務(wù)器上使用的基于 web 存儲(chǔ)系統(tǒng)產(chǎn)品的直接同步和高速緩存。

.net building block 服務(wù)

building block web 服務(wù)是由 microsoft 和其它 internet 服務(wù)提供商提供的商業(yè) web 服務(wù),開發(fā)人員將能夠在自己開發(fā)的應(yīng)用程序和 web 服務(wù)中充分利用這些服務(wù)。核心 microsoft .net building block web 服務(wù)將包括:

標(biāo)識(shí)
通知和消息傳送
個(gè)性化
存儲(chǔ)
日歷
目錄和搜索
動(dòng)態(tài)傳送
“標(biāo)識(shí)”服務(wù)是建立在前面所述的 passport 服務(wù)的基礎(chǔ)之上的。通知和消息傳送是統(tǒng)一的服務(wù),它綜合了即時(shí)消息傳送、電子郵件、傳真、語(yǔ)音郵件和其它形式的通知。個(gè)性化服務(wù)控制發(fā)送通知和消息的方式和時(shí)間,以及在多個(gè)設(shè)備上應(yīng)如何對(duì)信息進(jìn)行協(xié)調(diào)。.net storage 服務(wù)就是 internet 上的數(shù)字存儲(chǔ)服務(wù),相當(dāng)于當(dāng)前銀行的保險(xiǎn)箱服務(wù)。用戶將保留密鑰并控制訪問。

日歷是涵蓋您的工作、社交和家庭日歷的綜合性服務(wù),它與實(shí)時(shí)提供的數(shù)據(jù)相結(jié)合,使其它 web 服務(wù)可以確定您的當(dāng)前情況。通過目錄和搜索,可以查找服務(wù)和人員。此外,開發(fā)人員和應(yīng)用程序?qū)⒛軌蚴褂没诩軜?gòu)的查詢來(lái)詢問與這些服務(wù)有關(guān)的問題。動(dòng)態(tài)傳送服務(wù)使 microsoft、isv、解決方案合作伙伴和其它開發(fā)商在無(wú)需用戶安裝和配置的情況下,能夠根據(jù)要求增加更多級(jí)別的功能并提供可靠的自動(dòng)升級(jí)。

通用說明、發(fā)現(xiàn)和集成 (uddi) 是由 microsoft、ibm 和 ariba 在最近合作開發(fā)的,uddi 是用于 web 服務(wù)的、基于 xml 的分布式信息注冊(cè)的規(guī)格和基準(zhǔn)工具。uddi 注冊(cè)使您可以描述和發(fā)現(xiàn)由一個(gè)組織提供的 web 服務(wù)。每個(gè) uddi 注冊(cè)項(xiàng)目都包括與其提供的服務(wù)有關(guān)的業(yè)務(wù)和技術(shù)信息的說明。請(qǐng)?jiān)L問 uddi web 站點(diǎn)(英文)以獲得更詳細(xì)信息。

.net framework

.net framework 包括開發(fā)人員將對(duì)其進(jìn)行編程的 5 種基本組件:

公共語(yǔ)言運(yùn)行時(shí)
.net 基類
數(shù)據(jù)和 xml 傳輸
web 服務(wù)
web ui

請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 3. .net framework:應(yīng)用程序提供 web 服務(wù)和 web ui

公共語(yǔ)言運(yùn)行時(shí)

公共語(yǔ)言運(yùn)行時(shí) (clr) 的設(shè)計(jì)目標(biāo)是:

極大簡(jiǎn)化應(yīng)用程序的開發(fā)。
提供安全可靠的執(zhí)行環(huán)境。
支持多種編程語(yǔ)言。
簡(jiǎn)化開發(fā)和管理。
公共語(yǔ)言運(yùn)行時(shí)允許所有的編程語(yǔ)言獲得同樣的功能,并且同樣積極參與 .net 開發(fā)環(huán)境。這意味著在 .net framework 上不僅可以運(yùn)行 c++®、visual basic、c#™ 和 jscript® 等功能強(qiáng)大的 microsoft .net 語(yǔ)言,而且 microsoft 合作伙伴還可以在 .net framework 上運(yùn)行 20 多種其它語(yǔ)言。

此開發(fā)工作要借助于兩個(gè)關(guān)鍵的功能。首先,將所有語(yǔ)言編譯成一種中間語(yǔ)言 (il)。與偽代碼或 java 字節(jié)代碼的概念類似,所有語(yǔ)言實(shí)際上編譯成一種元語(yǔ)言。然后,clr 可以隨時(shí)編譯 il(或提前編譯),以便在任何環(huán)境和任何 cpu 上運(yùn)行。此外,支持 clr 的所有語(yǔ)言執(zhí)行工具將自動(dòng)繼承 visual studio .net 的所有功能,包括撰寫、調(diào)試、編譯、對(duì)象模型和新的服務(wù)器資源管理器功能等各項(xiàng)功能,還對(duì)自身的運(yùn)行時(shí)間、.net 基類庫(kù)和第三方調(diào)試程序、橫向全面調(diào)節(jié)器、代碼有效區(qū)域分析器和文檔工具等進(jìn)行了改進(jìn)。

此外,clr 避免了許多不必要的工作,例如組件注冊(cè)、guid、idl 文件、hresult、 iunknown、addref/release 和 cocreateinstance。所有 clr 語(yǔ)言都是面向?qū)ο蟮恼Z(yǔ)言,并且完全支持對(duì)各種語(yǔ)言的繼承,包括對(duì)以前視作非 oo 語(yǔ)言(例如 visual basic 和 cobol)的繼承。這包括從用第二種或第三種 clr 語(yǔ)言編寫的超類中派生用一種語(yǔ)言編寫的類。最后,所有 .net 對(duì)象都是通過新的多代標(biāo)記并壓縮無(wú)用信息收集程序來(lái)自動(dòng)收集無(wú)用信息的。

基類

為了替換在典型桌面計(jì)算機(jī)或服務(wù)器上存在的各種類庫(kù)和應(yīng)用程序框架,已經(jīng)開發(fā)了 .net 基類,用來(lái)為所有 .net clr 語(yǔ)言提供單一的、公用的運(yùn)行時(shí)類集合,并且充分利用 clr 和 .net 平臺(tái)的各種功能。

頂級(jí)基類層次結(jié)構(gòu)包括:

system.web.services
system.web.ui
system.xml
system.data.ado
system.data.sql
system.winforms
system.security
system.io
system.runtime
數(shù)據(jù)和 xml

.net framework 的數(shù)據(jù)和 xml 組件涉及在新的和現(xiàn)有組件、web 服務(wù)和應(yīng)用程序之間傳輸信息的方式。

ado+ 是關(guān)鍵的 .net 革新,同時(shí)還代表對(duì) ado(activex® 數(shù)據(jù)對(duì)象)的重大改進(jìn)。ado+ 是用于創(chuàng)建分布式數(shù)據(jù)共享應(yīng)用程序的標(biāo)準(zhǔn)編程模型。此技術(shù)的核心是 ado+ 數(shù)據(jù)集,可以在內(nèi)存中存儲(chǔ)多個(gè)數(shù)據(jù)庫(kù)表和表關(guān)系。ado+ 表可以作為 xmldatadocument 以及關(guān)系表和 xml dom 對(duì)象同時(shí)訪問(與 ado+ 不同的是,ado 數(shù)據(jù)集更象單個(gè)表,并且只具有有限的 xml 支持)。

數(shù)據(jù)集是與 xml 或數(shù)據(jù)庫(kù)數(shù)據(jù)斷開的視圖(意指數(shù)據(jù)集在內(nèi)存中存在,但沒有與基礎(chǔ)數(shù)據(jù)服務(wù)器的有效連接)。它們可以存入本地?cái)?shù)據(jù)服務(wù)器的高速緩存中,也可以向外擴(kuò)展到您的解決方案體系結(jié)構(gòu)的任意層。如果需要為斷開的脫機(jī)解決方案存儲(chǔ)數(shù)據(jù)集,xml 既可用作傳輸格式,也可用作保留格式。

除了支持?jǐn)?shù)據(jù)向外擴(kuò)展到中間層或客戶機(jī)的高速緩存中,ado+ 還對(duì)基礎(chǔ)數(shù)據(jù)服務(wù)器的所有修改進(jìn)行協(xié)調(diào),包括表創(chuàng)建、架構(gòu)修改、關(guān)系和限制管理、并行性管理和事務(wù)。其它 ado+ 修改包括從表或 xmldatadocument 添加、選擇、編輯、刪除和移去數(shù)據(jù)。

ado+ 數(shù)據(jù)集和基礎(chǔ)數(shù)據(jù)存儲(chǔ)之間的接口或適配器稱作受管提供程序。.net 平臺(tái)將附帶有用于 sql server、xml 和 ado 的受管提供程序。web 存儲(chǔ)系統(tǒng)受管提供程序不久即將提供。

在當(dāng)前技術(shù)上的擴(kuò)展

盡管 .net 平臺(tái)是用來(lái)創(chuàng)建集成的合作解決方案的新平臺(tái),但它是建立在現(xiàn)有技術(shù)的基礎(chǔ)之上的,并且努力簡(jiǎn)化其設(shè)計(jì)、執(zhí)行、部署和管理。下面對(duì)典型的 .net 服務(wù)器或服務(wù)器模型進(jìn)行了說明。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 4. .net 服務(wù)器模型體系結(jié)構(gòu)

此模型體系結(jié)構(gòu)是在當(dāng)前大多數(shù) windows 服務(wù)器中廣泛使用的體系結(jié)構(gòu)。但是,.net 平臺(tái)可以使展示數(shù)據(jù)、xml、web ui 和 web 服務(wù)更容易。.net 公共語(yǔ)言運(yùn)行時(shí)和基類提供了所有 clr 編程語(yǔ)言通用的完全面向?qū)ο蟮氖芄軆?nèi)存環(huán)境,從而更容易、更快捷地創(chuàng)建更為強(qiáng)大的組件、子系統(tǒng)和應(yīng)用程序。ado+ 是在 ado 的基礎(chǔ)上創(chuàng)建的,提供可擴(kuò)展的數(shù)據(jù)集高速緩存和永久存儲(chǔ)模型,用來(lái)管理斷開的聯(lián)機(jī)情況和斷開的脫機(jī)情況中的數(shù)據(jù)。.net 應(yīng)用程序提供與用戶進(jìn)行交流的 web ui 和 web 服務(wù),使開發(fā)人員可以更容易地展現(xiàn)應(yīng)用程序的功能,以便其它服務(wù)器和客戶機(jī)應(yīng)用程序能夠與其相連。


microsoft web 存儲(chǔ)系統(tǒng)

web 存儲(chǔ)系統(tǒng)采用分層文件夾模型,用于存儲(chǔ)任何類型的無(wú)特定結(jié)構(gòu)的或半結(jié)構(gòu)化的內(nèi)容(電子郵件、文檔、文件、可執(zhí)行文件等),并且通過大量的 api、internet 協(xié)議、一個(gè)支持同步和異步處理的事件模型以及一個(gè)工作流引擎,增加對(duì)訪問和更新這些內(nèi)容的支持。

web 存儲(chǔ)系統(tǒng)支持以下 api 和 internet 協(xié)議:

數(shù)據(jù)訪問 api:ado 2.5 和 web 存儲(chǔ)系統(tǒng) cdo
客戶機(jī)訪問協(xié)議:mapi、http、pop3、imap4 和 webdav,以及 frontpage 和 office server extensions 協(xié)議
可安裝文件系統(tǒng) (ifs) 驅(qū)動(dòng)程序,允許作為 m: 驅(qū)動(dòng)器安裝的分層文件系統(tǒng)訪問 web 存儲(chǔ)系統(tǒng)分層文件夾存儲(chǔ)中的文件夾、子文件夾和項(xiàng)目
此外,exchange 2000 server、exchange 2000 conferencing server 和 active directory™ 支持以下 api 和 internet 協(xié)議:

服務(wù)器傳輸協(xié)議:smtp、nntp 和 x.400
實(shí)時(shí)合作:h.323 音頻/視頻會(huì)議、t.120 數(shù)據(jù)會(huì)議傳送、exchange instant messenger 和 exchange chat
目錄協(xié)議和 api:ldap 和 adsi

請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 5. web 存儲(chǔ)系統(tǒng):api 和 internet 協(xié)議

通過此組 api 和 internet 協(xié)議,exchange 2000 server 和 microsoft web 存儲(chǔ)系統(tǒng)成為可提供自動(dòng)業(yè)務(wù)解決方案的功能強(qiáng)大的合作解決方案平臺(tái)。

分層對(duì)象存儲(chǔ)

web 存儲(chǔ)系統(tǒng)中的文件夾可視作:

具有可動(dòng)態(tài)擴(kuò)展和靈活架構(gòu)的數(shù)據(jù)庫(kù)表。
分層文件系統(tǒng)。
分層對(duì)象存儲(chǔ)。
理解這些不同方面的關(guān)鍵是了解有關(guān)文件夾、子文件夾、項(xiàng)目和屬性的基礎(chǔ)知識(shí)。對(duì)于大多數(shù)用戶而言,他們對(duì)文件夾和項(xiàng)目的 web 存儲(chǔ)系統(tǒng)概念的理解是建立在由 outlook 2000 或類似的個(gè)人信息管理器提供的列表和窗體基礎(chǔ)之上的。理解這些概念更基本的含義是十分重要的。

文件夾的層次結(jié)構(gòu)(起始于該層次結(jié)構(gòu)的最頂層文件夾)稱作 web 存儲(chǔ)系統(tǒng)中的頂層層次結(jié)構(gòu) (tlh)。web 存儲(chǔ)系統(tǒng)文件夾用于存儲(chǔ)項(xiàng)目集合。項(xiàng)目具有一組與其相關(guān)的屬性。屬性就是一個(gè)簡(jiǎn)單的 name=value 對(duì),其中的值可以是單值,也可以是多值。屬性的名稱由其所屬的 xml 名稱空間限定,例如 dav: 或 urn:content-classes。項(xiàng)目及其屬性的列表可以作為 ado 數(shù)據(jù)集或 webdav xml 文檔檢索。這就是使 web 存儲(chǔ)系統(tǒng)文件夾近似數(shù)據(jù)庫(kù)表的原因。

此外,文件夾中的每個(gè)項(xiàng)目不必與文件夾中的其它項(xiàng)目的屬性集完全相同。可以將一個(gè)屬性動(dòng)態(tài)添加到任意單獨(dú)項(xiàng)目中,而與該文件夾中的其它項(xiàng)目完全無(wú)關(guān)。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 6. web 存儲(chǔ)系統(tǒng):文件夾、項(xiàng)目和屬性

某些屬性具有特殊的、定義明晰的含義和重要性。一個(gè)主要屬性就是布爾屬性 dav:isfolder。isfolder 屬性決定一個(gè)項(xiàng)目是簡(jiǎn)單項(xiàng)目還是代表更多項(xiàng)目的集合(或子文件夾)。web 存儲(chǔ)系統(tǒng)的分層文件夾存儲(chǔ)就是通過該屬性實(shí)現(xiàn)的。即,文件夾中的某些項(xiàng)目的 isfolder 屬性值為真,表示該項(xiàng)目是邏輯子文件夾。然后,可以在該項(xiàng)目的記錄對(duì)象上調(diào)用 ado getchildren 方法,以返回子文件夾中各項(xiàng)目的列表。

web 存儲(chǔ)系統(tǒng)中的每一項(xiàng)目都具有唯一的、用戶友好的 url,可用于標(biāo)識(shí)和訪問該項(xiàng)目。對(duì)于個(gè)人郵箱中的項(xiàng)目,url 的格式為:

http://server/exchange/userid/folder/.../subject.suffix
對(duì)于 tlh 下的項(xiàng)目,格式為:

http://server/tlhname/folder/.../subject.suffix
項(xiàng)目也可以是任意文檔,包括電子郵件信件、日歷約會(huì)、聯(lián)系人、任意 office 文檔、html 頁(yè)、asp 頁(yè)、xml 文檔或音頻或視頻流。下面介紹一些更貼近現(xiàn)實(shí)生活的例子。

我的個(gè)人收件箱中電子郵件的 url 類似以下形式:

http://ec3-tor-11/exchange/mherman/exchange%202000%20development.eml
公用文件夾中聯(lián)系人項(xiàng)目的 url 類似以下形式:

http://ec3-pfs-04/public/ec3/shared/contacts/michael%20herman.eml
作為可供使用的 web 存儲(chǔ)對(duì)象的項(xiàng)目和內(nèi)容類

另一個(gè)主要項(xiàng)目屬性是 dav:contentclass。對(duì)于在 exchange 2000 server 和 web 存儲(chǔ)系統(tǒng)上建立的大多數(shù)應(yīng)用程序和服務(wù)而言,它們使用一個(gè)項(xiàng)目的內(nèi)容類屬性來(lái)確定該項(xiàng)目所代表的對(duì)象的類型。例如,urn:content-classes:message 的內(nèi)容類值表示該項(xiàng)目是電子郵件信件,并且應(yīng)該從那些適合于電子郵件信件的屬性中選擇其屬性。其它重要的內(nèi)容類包括:urn:content-classes:appointment、urn:content-classes:person 和 urn:schemas-microsoft-com:exchange:workflowprocessdefinition。person 是用于聯(lián)系人項(xiàng)目的內(nèi)容類值。web 存儲(chǔ)系統(tǒng)提供 30 多個(gè)常用對(duì)象內(nèi)容類的架構(gòu)和屬性定義。與屬性名類似,內(nèi)容類名稱也是由其所屬于的 xml 名稱空間(或者是某一固有的 web 存儲(chǔ)系統(tǒng)名稱空間,或者是針對(duì)于您自己的自定義的應(yīng)用程序或組織的名稱空間)限定的。

mapi 應(yīng)用程序(例如 outlook 2000)支持稱作 pr_message_class(正式的介紹在 http://schemas.microsoft.com/exchange/outlookmessageclass(英文))的類似項(xiàng)目屬性。客戶機(jī)應(yīng)用程序可以使用內(nèi)容類屬性來(lái)確定應(yīng)向用戶顯示一個(gè)項(xiàng)目(及其屬性列表)的方式。如果內(nèi)容類是 person,則 owa 2000 使用 html 將該項(xiàng)目作為聯(lián)系人提供,而 outlook 2000 將使用內(nèi)置的 outlook 聯(lián)系人窗體來(lái)顯示該項(xiàng)目的屬性。在 outlook 2000 示例中,等價(jià)的 pr_message_class 值是 ipm.contact。要使 owa 2000 和 outlook 2000 窗體正確用于相同的聯(lián)系人項(xiàng)目集,則該內(nèi)容類和 pr_message_class 屬性值都必須正確設(shè)置。

就 exchange 2000 server 和 web 存儲(chǔ)系統(tǒng)而論,文件夾的內(nèi)容就是項(xiàng)目的列表 — 每個(gè)項(xiàng)目及其相關(guān)屬性的列表。此外,某些項(xiàng)目可能將 isfolder 屬性設(shè)置為 true,表明它們是其它項(xiàng)目的子文件夾。

要避免出現(xiàn)混亂,內(nèi)容類名稱還可用于命名基于 xml 的架構(gòu)項(xiàng)目(稱為內(nèi)容類定義)。內(nèi)容類定義對(duì)文件夾存儲(chǔ)中特定對(duì)象類預(yù)期的屬性列表進(jìn)行定義。客戶機(jī)應(yīng)用程序選擇用來(lái)顯示一個(gè)項(xiàng)目的方式完全適合于該應(yīng)用程序(和標(biāo)準(zhǔn)使用慣例)。一個(gè)項(xiàng)目的內(nèi)容類屬性只是提供該項(xiàng)目的對(duì)象類的名稱。

也可以從固有的內(nèi)容類導(dǎo)出新的針對(duì)解決方案的內(nèi)容類架構(gòu),或者從頭開始創(chuàng)建全新的內(nèi)容類。正如您可能會(huì)猜到的那樣,架構(gòu)和屬性定義自身只不過是具有其自己的特殊內(nèi)容類(urn:content-classes:contentclassdef 和 urn:content-classes:propertydef)的項(xiàng)目。

按照預(yù)想,大多數(shù)應(yīng)用程序可以創(chuàng)建其自己的架構(gòu)文件夾,該文件夾僅對(duì)于此特定解決方案的實(shí)例而言是全局的。

ado 還是 webdav?由您來(lái)選擇

除了使用 url 直接訪問 web 存儲(chǔ)系統(tǒng)中的項(xiàng)目或?qū)ο笸猓€可以對(duì)文件夾存儲(chǔ)執(zhí)行查詢。不管您是選擇使用 ado 還是 webdav 協(xié)議,相同的基本查詢處理器全部可以處理。大多數(shù) windows 開發(fā)人員很熟悉 ado,但對(duì) web 存儲(chǔ)系統(tǒng)的 exchange 2000 server 版本卻并不熟悉,它具有這樣的限制,即只能由與 web 存儲(chǔ)系統(tǒng)在同一臺(tái)計(jì)算機(jī)上運(yùn)行的客戶機(jī)或服務(wù)器應(yīng)用程序使用,因此 web 存儲(chǔ)系統(tǒng) ole db 提供程序不是自然就可以遠(yuǎn)程訪問的。

對(duì)于熟悉 ado 的開發(fā)人員,可以使用稱作 ole db provider for internet publishing (msdaipp) 的提供程序,該程序運(yùn)行在支持遠(yuǎn)程 ado 連接的 webdav(以及 frontpage wec 協(xié)議)的頂層。您可以閱讀關(guān)于 ole db provider for internet publishing 指南(英文)以了解詳細(xì)信息。

注意: cdo 的 web 存儲(chǔ)系統(tǒng)版本不可通過 web 存儲(chǔ)系統(tǒng)或 madaipp ole db 進(jìn)行遠(yuǎn)程訪問。

webdav 是一組對(duì) http 的擴(kuò)展,可以通過定義進(jìn)行遠(yuǎn)程訪問,并且擴(kuò)展請(qǐng)求的參數(shù)格式為 xml 文檔。在查詢處理器對(duì)文件夾存儲(chǔ)執(zhí)行查詢后,它將向發(fā)出請(qǐng)求的應(yīng)用程序返回 xml 文檔形式的結(jié)果。

對(duì)于 ado 和 webdav 查詢,可以使用大家熟悉的 sql 查詢語(yǔ)言語(yǔ)法。支持 select *、like、where、order by、group by、contains、freetext 和列別名,但不支持 join 和 max、min、sum 等。此外,from 子句的 scope 選項(xiàng)可用于指定是只搜索當(dāng)前文件夾(不包含子文件夾),還是搜索當(dāng)前文件夾及其所有子文件夾。前者稱作 shallow 搜索,而后者稱作 deep 搜索。下面是搜索的示例:

select name, workphone, cellphone from scope('deep traversal of "<folder url>"')

拓展 web 存儲(chǔ)系統(tǒng)功能

許多類型的解決方案可以通過前面介紹的數(shù)據(jù)訪問方法進(jìn)行開發(fā)。但是,這通常需要拓展 web 存儲(chǔ)系統(tǒng)的功能。可以通過兩種機(jī)制對(duì)功能進(jìn)行拓展:

傳統(tǒng)的中間層組件(在本文稱作前端 web 服務(wù)組件)
事件驅(qū)動(dòng)的后端組件
前端 web 服務(wù)組件:參見圖 4,中間層或前端 web 服務(wù)組件用于通過附加的功能將任意固有或自定義的對(duì)象放入文件夾存儲(chǔ)中;就 web 服務(wù)而言,通常用于將類或類組的功能作為 .net web 服務(wù)提供。

事件驅(qū)動(dòng)的后端組件:盡管中間層組件可用于強(qiáng)制執(zhí)行業(yè)務(wù)規(guī)則,但它們只適用于實(shí)際調(diào)用中間層組件的那些應(yīng)用程序。一個(gè)更為有效的方法是使用如圖 4 所示的事件驅(qū)動(dòng)的后端組件。

對(duì) web 存儲(chǔ)系統(tǒng)中項(xiàng)目的任何更改,不管該項(xiàng)目是簡(jiǎn)單項(xiàng)目還是一個(gè)文件夾,都可能會(huì)激發(fā)一個(gè)事件,導(dǎo)致執(zhí)行某些自定義的代碼。所執(zhí)行的代碼稱作事件池。在 web 存儲(chǔ)系統(tǒng)的 exchange 2000 server 版本中,事件池作為 com+ 或腳本化的組件執(zhí)行。

當(dāng)事件池被注冊(cè)為特定文件夾中的特定事件時(shí),web 存儲(chǔ)系統(tǒng)傳遞事件信息結(jié)構(gòu),其中包括已創(chuàng)建、更改或刪除的項(xiàng)目的 ado 記錄。此外,事件池注冊(cè)規(guī)定相對(duì)于對(duì)該項(xiàng)目所做的更改,該池是同步執(zhí)行還是異步執(zhí)行。

支持工作流的 web 存儲(chǔ)對(duì)象

除了能夠開發(fā)上述的存儲(chǔ)級(jí)別的事件池外,exchange 2000 server 工作流引擎和 workflow designer for exchange 2000 server 可以協(xié)同工作,執(zhí)行更高級(jí)別的工作流事件服務(wù)集。

工作流引擎

在 web 存儲(chǔ)系統(tǒng)的 exchange 2000 server 版本中,工作流引擎作為 com+ 組件實(shí)現(xiàn)。除了在 com+ 下運(yùn)行工作流引擎固有的性能和易管理優(yōu)勢(shì)外,web 存儲(chǔ)系統(tǒng)充分利用了基于角色的 com+ 的安全模型,以確定誰(shuí)能夠通過工作流激活特定文件夾中的 web 存儲(chǔ)系統(tǒng)對(duì)象。

工作流引擎采用低級(jí)別的存儲(chǔ)事件池界面,以便只要支持工作流的文件夾中發(fā)生更改,就會(huì)調(diào)用該引擎。同時(shí),工作流引擎為 workflow designer 提供一組較高級(jí)別的工作流事件。

workflow designer for exchange 2000 server

workflow designer for exchange 2000 server 是用于通過工作流激活 web 存儲(chǔ)系統(tǒng)文件夾和項(xiàng)目的可視化設(shè)計(jì)器。它作為 microsoft office 2000 developer 1.5 版的一部分提供。設(shè)計(jì)層面用于繪制代表業(yè)務(wù)流程的狀態(tài)轉(zhuǎn)換圖。節(jié)點(diǎn)代表特定項(xiàng)目或文檔在指定時(shí)刻所處的狀態(tài)。如果業(yè)務(wù)流程的角度需要,即應(yīng)在兩種狀態(tài)之間繪制箭頭。箭頭表示從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài)。轉(zhuǎn)換是受一定條件限制的,該條件控制何時(shí)允許一個(gè)項(xiàng)目從當(dāng)前狀態(tài)更改為新狀態(tài)。通常,該條件將測(cè)試所更改項(xiàng)目的 ado 記錄對(duì)象的一個(gè)或多個(gè)屬性,該記錄對(duì)象在激發(fā)工作流事件時(shí)自動(dòng)提供。作為從當(dāng)前狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)的轉(zhuǎn)換進(jìn)程的一部分,可以執(zhí)行 visual basic script 操作腳本來(lái)訪問某些外部功能,例如,發(fā)送電子郵件通知或與 biztalk server 的 .net orchestration 進(jìn)程集成功能相集成。

在移動(dòng)設(shè)備或脫機(jī)解決方案中使用 web 存儲(chǔ)系統(tǒng)

當(dāng)前,web 存儲(chǔ)系統(tǒng)僅作為隨 exchange 2000 server 附帶的服務(wù)器端技術(shù)提供,不過將來(lái)會(huì)在 tahoe 發(fā)行版中提供,tahoe 是 microsoft 的基于 web 存儲(chǔ)系統(tǒng)的合作服務(wù)器產(chǎn)品。

未來(lái)的 office 版本還將包括用于客戶機(jī)的 web 存儲(chǔ)系統(tǒng)版本,它將支持用于服務(wù)器的 web 存儲(chǔ)系統(tǒng)內(nèi)容的自動(dòng)高速緩存,并且還支持通用 web 內(nèi)容。此外,本地 web 存儲(chǔ)系統(tǒng)還將支持基于預(yù)訂的將服務(wù)器內(nèi)容復(fù)制到本地存儲(chǔ)上。另外,本地 web 存儲(chǔ)系統(tǒng)能夠通過在客戶機(jī)上支持 active server page (asp),從而完全動(dòng)態(tài)地保留 web 站點(diǎn)。通過該功能,將能夠利用許多完全可操作的、動(dòng)態(tài)的、未連接的移動(dòng)設(shè)備或脫機(jī)解決方案情況的新類別。

圖片說明

下圖描述了三種類型的客戶機(jī)應(yīng)用程序是如何能夠訪問和更新一個(gè)項(xiàng)目的屬性的。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 7a. 客戶機(jī)功能圖片說明

以 outlook 2000 為例,mapi 客戶機(jī)能夠創(chuàng)建新項(xiàng)目、更新現(xiàn)有項(xiàng)目的屬性、或刪除單獨(dú)的項(xiàng)目或項(xiàng)目屬性。同樣,通過使用 web 存儲(chǔ)系統(tǒng)大量的 api 和 internet 協(xié)議集、傳統(tǒng)的 visual basic 以及 web 服務(wù)器應(yīng)用程序,能夠與完全相同的項(xiàng)目的單個(gè)實(shí)例進(jìn)行交互操作并更改該實(shí)例。

此外,由這些客戶機(jī)應(yīng)用程序進(jìn)行的項(xiàng)目更改能夠觸發(fā)事件驅(qū)動(dòng)的后端邏輯指令,包括在 exchange 2000 server 工作流引擎中執(zhí)行的工作流進(jìn)程。workflow designer for exchange 2000 用于創(chuàng)建并更新在工作流定義 (wfd) 文件中保存的業(yè)務(wù)流程。wfd 文件可以存儲(chǔ)在每個(gè)支持工作流的文件夾中,或者存儲(chǔ)在公用應(yīng)用程序文件夾中(類似于共享內(nèi)容類架構(gòu)項(xiàng)目)。下圖描述了事件驅(qū)動(dòng)的后端工作流邏輯指令如何能夠響應(yīng)創(chuàng)建新項(xiàng)目或更改現(xiàn)有項(xiàng)目的事件。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 7b. 后端事件驅(qū)動(dòng)的圖片說明

當(dāng)用戶雙擊或指出他們想要打開一個(gè)項(xiàng)目時(shí),應(yīng)用程序會(huì)首先查看內(nèi)容類(即 pr_message_class)和瀏覽器參數(shù),以確定使用合適的 web ui 或窗體來(lái)顯示所選項(xiàng)目的屬性。


web 存儲(chǔ)系統(tǒng)和 .net 平臺(tái)

下圖介紹了 web 存儲(chǔ)系統(tǒng)是如何滿足當(dāng)今 .net framework 的需要的。在下一部分前景展望中,概要介紹了一些新 .net 功能,這些新功能預(yù)計(jì)將由 exchange 開發(fā)小組在 web 存儲(chǔ)系統(tǒng)的下幾個(gè)發(fā)行版中提供。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 8. web 存儲(chǔ)系統(tǒng)和 .net 架構(gòu)

web 服務(wù)

soap toolkit for visual studio 6 現(xiàn)在可用來(lái)快速開發(fā)用于 web 存儲(chǔ)系統(tǒng)的自定義 web 服務(wù)。位于 http://msdn.microsoft.com/exchange/(英文)和 http://msdn.microsoft.com/xml/general/toolkit_intro.asp(英文)的 exchange server 下載都是極佳的資源。盡管 soap toolkit 使開發(fā) web 服務(wù)和與 web 服務(wù)建立連接更為容易,但 soap 協(xié)議標(biāo)準(zhǔn)系列不需要特定的工具包或平臺(tái)來(lái)實(shí)現(xiàn) web 服務(wù)的種種優(yōu)點(diǎn)。

在 soap toolkit 中包括在 windows 操作系統(tǒng)上提供 soap web 服務(wù)所需的基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)也是通過 visual studio 6.0 使用這些服務(wù)所需要的。soap toolkit 使創(chuàng)建 web 服務(wù)所需的所有關(guān)鍵步驟自動(dòng)進(jìn)行。

如果已有某個(gè) com 組件,soap toolkit 可以很容易地將該組件轉(zhuǎn)換成 web 服務(wù),并在應(yīng)用程序(例如 visual basic)中使用。soap toolkit 包括將從現(xiàn)有 com 組件中提取類型庫(kù)并將其轉(zhuǎn)換成 soap 協(xié)議語(yǔ)言 (scl) 協(xié)議(代表該組件的功能,例如接口、方法和屬性)的工具。同時(shí)還將生成各種實(shí)現(xiàn)供其它應(yīng)用程序使用的服務(wù)所必需的文件。您還可以手動(dòng)生成此協(xié)議。

一旦您具有協(xié)議,該工具包將包括對(duì) visual studio 的擴(kuò)展,會(huì)自動(dòng)將該協(xié)議轉(zhuǎn)換成一個(gè)代理,您能夠象本地 com 組件一樣對(duì)該代理進(jìn)行編程。該工具包還包含 soap 監(jiān)聽程序,可以接收 soap 調(diào)用并將它們轉(zhuǎn)到相應(yīng)的服務(wù)上。

最為常見的是使用傳統(tǒng)的 soap 遠(yuǎn)程方法調(diào)用協(xié)議對(duì) web 服務(wù)進(jìn)行調(diào)用。以下基于 xml 的標(biāo)準(zhǔn)支持 soap:用于架構(gòu)定義的 xml 架構(gòu)數(shù)據(jù)類型 (xsd)、soap 發(fā)現(xiàn)協(xié)議、服務(wù)協(xié)議語(yǔ)言 (scl) 和簡(jiǎn)單對(duì)象訪問協(xié)議 (soap) 協(xié)議本身。此外,數(shù)據(jù)遠(yuǎn)程 web 服務(wù)使用 xml/http 協(xié)議,例如 webdav。請(qǐng)參見“數(shù)據(jù)和 xml”部分以了解詳細(xì)信息。

web ui

為了支持 web ui 的快速開發(fā),web 存儲(chǔ)系統(tǒng)包括三種主要技術(shù):

web 存儲(chǔ)系統(tǒng)表單,包括 forms registry 和 exwform web storage system forms 表單生成器。
outlook web access for exchange 2000 server web 組件。
outlook 和 instant messenger 查看控件。
表單注冊(cè)屬性存儲(chǔ)在稱作“表單注冊(cè)”的單獨(dú)項(xiàng)目或?qū)ο笾小1韱巫?cè)屬性根據(jù)項(xiàng)目的內(nèi)容類和各種其它條件(包括用戶的瀏覽器類型、請(qǐng)求類型、查詢字符串參數(shù)等)來(lái)決定顯示該項(xiàng)目屬性要使用的 web ui。要使用的 web ui 可以由傳統(tǒng)的 url 或 web 存儲(chǔ)系統(tǒng)服務(wù)器的自定義表單生成器 dll 的路徑標(biāo)識(shí)。自定義表單生成器 dll 作為對(duì) isapi 應(yīng)用程序的擴(kuò)展執(zhí)行,表示它們是可執(zhí)行的并且是可擴(kuò)展的。outlook web access for exchange 2000 server 作為其中一個(gè) dll 執(zhí)行。固有的或自定義的表單提供程序可以訪問 http 請(qǐng)求標(biāo)頭集合,以及由用戶瀏覽器請(qǐng)求的項(xiàng)目屬性的 ado 記錄。

web 存儲(chǔ)系統(tǒng)附帶有固有的表單提供程序 exwform web storage system forms。開發(fā)人員創(chuàng)建 web 存儲(chǔ)系統(tǒng)表單的方式與創(chuàng)建使用 dhtml 動(dòng)態(tài)數(shù)據(jù)綁定的 asp 頁(yè)或 web 頁(yè)相同。exwform 表單提供一組快捷方式,從而減少或避免在頁(yè)中使用任意實(shí)際腳本代碼的需要。所有 web 存儲(chǔ)系統(tǒng)表單提供程序(固有的或自定義的)都在服務(wù)器上執(zhí)行。

最終,owa 2000 將大多數(shù) outlook 2000 的客戶機(jī)功能作為基于 web 組件的 web ui 提供。owa 2000 可以用作完備的電子郵件客戶程序,可以訪問電子郵件、日歷約會(huì)和聯(lián)系人,另外還可以訪問您所有的個(gè)人和公用文件夾。此外,開發(fā)人員還可以使用 owa 2000 web ui 的每一組件在自己的合作 web 解決方案中自動(dòng)提供功能全面的日歷、聯(lián)系人列表、電子郵件和主題討論。

數(shù)據(jù)和 xml

要通過 .net framework 支持關(guān)系數(shù)據(jù)和 xml 的傳輸,web 存儲(chǔ)系統(tǒng)需支持 ado 2.5、webdav 和 web 服務(wù)。

ado 提供大多數(shù) visual basic 和 asp 開發(fā)人員所熟悉的服務(wù)器端數(shù)據(jù)訪問對(duì)象模型。webdav(w3c 分布式編寫和出版協(xié)議)支持使用基于 xml 的 http 請(qǐng)求和響應(yīng)協(xié)議遠(yuǎn)程訪問數(shù)據(jù)。由 webdav 請(qǐng)求返回的數(shù)據(jù)可以通過 xml 文檔對(duì)象模型 (dom) 訪問,也可以通過 ole db provider for internet publishing (msdaipp)(有時(shí)稱作“rosebud”)作為遠(yuǎn)程 ado 記錄集訪問。有關(guān)詳細(xì)信息,請(qǐng)參見本文的“分層對(duì)象存儲(chǔ)”部分。

最后,應(yīng)用程序可以使用基于 xml/http 的 soap 協(xié)議套件,以便對(duì)運(yùn)行在遠(yuǎn)程 web 服務(wù)器上的各個(gè)服務(wù)執(zhí)行方法調(diào)用,結(jié)果將作為 soap 格式的 xml 文檔返回。

組件運(yùn)行時(shí)環(huán)境

對(duì)于 web 存儲(chǔ)系統(tǒng)的 exchange 2000 server 版本,支持的組件運(yùn)行時(shí)環(huán)境是 com+。

基類

不包括服務(wù)器到服務(wù)器傳輸協(xié)議,在 web 存儲(chǔ)系統(tǒng)的 exchange 2000 server 版本中共支持六種基類:

客戶訪問協(xié)議和 api
數(shù)據(jù)訪問
可安裝文件系統(tǒng) (ifs) 驅(qū)動(dòng)程序
協(xié)作數(shù)據(jù)對(duì)象 (cdo)
實(shí)時(shí)合作
事件
有關(guān)屬于各組的 api 和協(xié)議的詳細(xì)信息,可以在本文的“microsoft web 存儲(chǔ)系統(tǒng)”部分找到。

visual studio 和 office

要縮短應(yīng)用程序的開發(fā)周期、提高開發(fā)人員的工作效率,功能強(qiáng)大的工具和平臺(tái)是必不可少的。目前,要建立 .net 應(yīng)用程序和服務(wù),visual studio 6.0 和 office 2000 developer edition(包括 outlook 2000、frontpage 2000 和 workflow designer for exchange 2000 server)是主要工具。


聯(lián)合 web 服務(wù)模型

通過 web 服務(wù)建立合作解決方案有兩種主要途徑:簡(jiǎn)單和聯(lián)合。簡(jiǎn)單 web 服務(wù)在單個(gè) web 服務(wù)器上實(shí)現(xiàn),并且只提供單個(gè) web 服務(wù)。在圖 9 中,服務(wù)器 x、服務(wù)器 y 和 travel broker web 站點(diǎn)提供簡(jiǎn)單 web 服務(wù)和應(yīng)用程序,直接調(diào)用由這些 web 服務(wù)提供的方法。

隨著 web 服務(wù)的發(fā)展,無(wú)論從功能或橫向發(fā)展角度,或從可靠性角度,均將以特定服務(wù)器承擔(dān)特定職責(zé)的形式實(shí)現(xiàn)專門化。下圖以服務(wù)器 x 和服務(wù)器 y 為例。但是,當(dāng) web 服務(wù)從一臺(tái)服務(wù)器轉(zhuǎn)到第二臺(tái)服務(wù)器或第三臺(tái)服務(wù)器時(shí),對(duì)于開發(fā)人員、操作人員和使用應(yīng)用程序的 web 服務(wù)而言,這一情況會(huì)使形勢(shì)變復(fù)雜。解除這一煩惱的“良藥”就是聯(lián)合 web 服務(wù)和 uddi。

聯(lián)合 web 服務(wù)在單一的、眾所周知的前端 web 服務(wù)器(稱作主 web 服務(wù)器)上通告,而 web 服務(wù)組件可以在任意數(shù)目的中間層服務(wù)器上執(zhí)行。希望連接到 web 服務(wù)的應(yīng)用程序只需訪問主 web 服務(wù)器上的 soap 協(xié)議,遠(yuǎn)程方法調(diào)用將自動(dòng)對(duì)相應(yīng)的中間層服務(wù)器執(zhí)行。許多類型用戶的主 web 服務(wù)器的極佳選擇將是 exchange 前端消息傳送和合作服務(wù)器。隨著 web 服務(wù)的發(fā)展,uddi 注冊(cè)將成為用來(lái)通告有關(guān)一個(gè)組織的 web 服務(wù)的有關(guān)業(yè)務(wù)和技術(shù)信息的當(dāng)然之選。

在 exchange 服務(wù)器上通告的聯(lián)合 web 服務(wù)可以包括:

本地的、可立即投入使用的 exchange web 服務(wù)
本地自定義的 web 服務(wù)
來(lái)自任意數(shù)量的內(nèi)部或外部 .net 服務(wù)器的聯(lián)合 web 服務(wù)
該情況在圖 9 中介紹。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 9. 多聯(lián)合 web 服務(wù)模型

圖 9 中描述的最后一種情況是分派調(diào)用。當(dāng)一個(gè) web 服務(wù)代表原主調(diào)應(yīng)用程序調(diào)用另一個(gè) web 服務(wù)時(shí),會(huì)發(fā)生分派調(diào)用。在圖 9 中,exchange 服務(wù)器提供由 outlook 調(diào)用的聯(lián)合 web 服務(wù)。如果由 outlook 用戶請(qǐng)求的操作是外出旅行預(yù)訂請(qǐng)求,exchange 服務(wù)器將該調(diào)用分派給在旅行社的 web 站點(diǎn)上運(yùn)行的 web 服務(wù)。

此外,web 服務(wù)聯(lián)合允許組織在不損害其控制或訪問 web 服務(wù)能力的前提下,決定是運(yùn)行自己的基礎(chǔ)結(jié)構(gòu)還是從外部裝入基礎(chǔ)結(jié)構(gòu)。

旅行社合作日程安排示例

讓我們首先看一下在“web 用戶體驗(yàn)”部分介紹的外出旅行預(yù)訂情況吧。某個(gè) outlook 用戶希望計(jì)劃一次旅行。在理論上,可能需要以下部分或全部信息來(lái)完成旅行社的預(yù)訂過程:

偏愛的旅行時(shí)間
旅行目的地
偏愛的旅館
汽車租用
特殊的飲食注意事項(xiàng)
是否吸煙
偏愛的租車公司
偏愛的飛機(jī)座位
常客獎(jiǎng)勵(lì)帳號(hào)
付款信息
旅行社可能已擁有上述部分或全部信息。但是,這些信息不一定是最新的信息,或者該人士可能通過從來(lái)不辦理個(gè)人旅行業(yè)務(wù)的旅行社進(jìn)行預(yù)訂。我們將首先看到充分利用聯(lián)合 web 服務(wù)的設(shè)計(jì)范例,然后再看一下另一種效率低下的方法。

多聯(lián)合 web 服務(wù)示例

在上面的多聯(lián)合服務(wù)模型中,outlook 用戶具有已針對(duì)個(gè)人旅行進(jìn)行自定義的 outlook 約會(huì)表單或 web 表單。首先,該表單將需要通過新的內(nèi)容類(即 urn:content-classes:vacationbooking)進(jìn)行注冊(cè)。還需要正確設(shè)置 outlook outlookmessageclass。此內(nèi)容類的架構(gòu)可能會(huì)為上述列表中的每一條信息包含一個(gè)屬性,但我們?yōu)槭裁匆绱朔爆嵞兀繉?duì)于大多數(shù)外出旅行而言,只有前三條或四條信息是唯一的。我們要什么時(shí)候出發(fā)?我們要去哪里?我們要在哪里停留?我們是否要租車?

需要這些屬性來(lái)作為外出旅行預(yù)訂內(nèi)容類架構(gòu)的一部分。但是,如果外出旅行預(yù)訂內(nèi)容類是從約會(huì)內(nèi)容類中導(dǎo)出的,則僅需要將目的地、旅館和租車屬性添加到新架構(gòu)和新外出旅行預(yù)訂約會(huì)表單中。

在將新項(xiàng)目添加到 outlook 用戶的日歷中時(shí),將執(zhí)行工作流引擎中的事件池,并通過一個(gè)條件檢查新項(xiàng)目的內(nèi)容類的值是否為外出旅行預(yù)訂。如果該值是外出旅行預(yù)訂,則該項(xiàng)目的工作流將轉(zhuǎn)換為業(yè)務(wù)流程中的下一個(gè)狀態(tài),并且執(zhí)行與該轉(zhuǎn)換相關(guān)的操作腳本。操作腳本將啟動(dòng)分派調(diào)用過程,將調(diào)用分派給由旅行社的 web 站點(diǎn)提供的 web 服務(wù),傳送四條由外出旅行預(yù)訂表單收集的信息。

然后,任何好的旅行社都會(huì)詢問有關(guān)您的其它偏好的信息,還會(huì)詢問您的付款方式。這是如何實(shí)現(xiàn)的呢?如果旅行社回電話或發(fā)送電子郵件,該信息同樣也已在原始的外出旅行預(yù)訂表單上輸入。不過,實(shí)際的實(shí)現(xiàn)方式是旅行社的應(yīng)用程序?qū)?outlook 用戶的 exchange 服務(wù)器上的第二個(gè) web 服務(wù)執(zhí)行自己的遠(yuǎn)程方法或數(shù)據(jù)訪問調(diào)用。該服務(wù)向授權(quán)的用戶(如旅行社)提供用戶的個(gè)人偏好信息。個(gè)人偏好信息作為 outlook 用戶的個(gè)人文件夾中的一個(gè)項(xiàng)目存儲(chǔ)在一個(gè)位置。該信息始終是最新的和安全的。

效率低下的 web 服務(wù)體系結(jié)構(gòu)

為了強(qiáng)調(diào)上述方法的優(yōu)點(diǎn),您可以看一下圖 10 中所介紹的相同外出旅行預(yù)訂情況下效率低下的 web 服務(wù)體系結(jié)構(gòu)。在此情況中,沒有工作流,不可能將調(diào)用分派給旅行社的 web 服務(wù),并且 exchange 服務(wù)器上沒有用于提供個(gè)人偏好信息的回調(diào) web 服務(wù)。


請(qǐng)點(diǎn)擊此處,查看完整的圖片。

圖 10. 效率低下的 web 服務(wù)體系結(jié)構(gòu)

在此情況中,附加的客戶端代碼將把所有所需的信息匯集到對(duì)旅行社的 web 服務(wù)的較大的遠(yuǎn)程方法調(diào)用中。如果需要任何其它個(gè)人偏愛方面的信息,旅行社的應(yīng)用程序應(yīng)該向哪里回調(diào)呢?根據(jù)推測(cè),應(yīng)用程序應(yīng)該調(diào)用在 outlook 客戶機(jī)內(nèi)執(zhí)行的外出旅行預(yù)訂代碼。但可能性更大的是,旅行社發(fā)電子郵件或打電話以索取這些信息,而 outlook 用戶將手工從其個(gè)人文件夾的項(xiàng)目中獲得這些信息,因此導(dǎo)致時(shí)間的浪費(fèi)和延誤。

這兩種方案突出說明了 .net 平臺(tái)和框架的作用,并著重了介紹 web 服務(wù)的價(jià)值。


展望

預(yù)計(jì)在 web 存儲(chǔ)系統(tǒng)的下幾個(gè)發(fā)行版中,將提供其它一些對(duì) .net framework 的每一組件的支持。

從 web ui 角度而言,web 存儲(chǔ)系統(tǒng)表單將通過與 asp+ 的集成繼續(xù)得以發(fā)展。forms registry 和 outlook web access for exchange 2000 server web ui 組件的實(shí)現(xiàn)也將繼續(xù)加以改進(jìn)。

從數(shù)據(jù)和 xml 傳輸角度而言,exchange 受管提供程序?qū)⑻峁?duì) ado+ 數(shù)據(jù)集的支持,包括支持?jǐn)?shù)據(jù)向外擴(kuò)展到解決方案體系結(jié)構(gòu)任何層中高速緩存和永久存儲(chǔ)。在 ado+ 表內(nèi)的數(shù)據(jù)可以作為關(guān)系表(類似于 ado 數(shù)據(jù)集)、ado+ xml 數(shù)據(jù)文檔、或作為傳統(tǒng)的 xml dom 對(duì)象訪問。

此外,預(yù)計(jì) web 存儲(chǔ)系統(tǒng)與 .net 公共語(yǔ)言運(yùn)行時(shí)的集成將更為緊密。


結(jié)論

microsoft .net 平臺(tái)作為充分利用計(jì)算和通信優(yōu)勢(shì)的第一個(gè)平臺(tái),將在 21 世紀(jì)的頭十年極大推進(jìn)計(jì)算和通信技術(shù)的革命。它將為新一代 internet 服務(wù)的興起推波助瀾,并且使數(shù)以萬(wàn)計(jì)的開發(fā)商能夠創(chuàng)建用于聯(lián)機(jī)服務(wù)和業(yè)務(wù)的革命性的軟件。它將使您可以重新控制或更好地控制您的隱私、數(shù)字標(biāo)識(shí)和數(shù)據(jù)。

exchange 2000 server 產(chǎn)品小組十分希望了解您對(duì) exchange 2000 server 的 microsoft .net 策略的反饋。請(qǐng)將您的意見發(fā)送到 [email protected]。

有關(guān)詳細(xì)信息:

http://www.microsoft.com/china/exchange/(中文)

http://msdn.microsoft.com/exchange/(英文)

http://msdn.microsoft.com/wss/(英文)

microsoft outlook 和 exchange 編程,第二版(英文)

致謝

在此向 exchange 2000 server 產(chǎn)品小組、gordon mangione、alex hopmann、brent ingraham、harry katz、keith mccall、chris vandenberg、thomas rizzo、lyle curry、jeff wierer、kevin hunter、bill skilton 和 microsoft ec3 enterprise consulting competency centers 小組致謝,沒有他們的大力支持、鼓勵(lì)和關(guān)愛,本文是不可能呈現(xiàn)在您面前的。




--------------------------------------------------------------------------------
法律信息

本文檔只是初步闡述作者觀點(diǎn),并在最終用于商業(yè)出版前可能會(huì)進(jìn)行較大的修改。本文檔僅用于提供信息,microsoft 對(duì)本文中的信息不做任何明示或暗示的保證。本文檔中的信息如有更改,恕不另行通知。使用本文檔的全部風(fēng)險(xiǎn)和后果均由用戶自行承擔(dān)。本文所引用的公司、組織、產(chǎn)品、人員和事件示例均屬虛構(gòu)。不應(yīng)有意或推測(cè)與任何真實(shí)的公司、組織、產(chǎn)品、人員或事件有任何關(guān)聯(lián)。用戶有責(zé)任遵守所有適用的版權(quán)法。不限于版權(quán)法所規(guī)定的權(quán)限,未經(jīng) microsoft corporation 明確書面許可,不得向可檢索系統(tǒng)復(fù)制、存儲(chǔ)或引入本文檔的任何部分,也不得為任何目的、以任何形式或手段(電子、機(jī)械、影印、錄制等)進(jìn)行傳播。

microsoft 對(duì)本文檔中涉及的主題擁有專利權(quán)、專利應(yīng)用權(quán)、商標(biāo)權(quán)、版權(quán)或其它相關(guān)的知識(shí)產(chǎn)權(quán)。除非獲得明確的 microsoft 書面許可協(xié)議,否則本文檔中提供的內(nèi)容并不意味著授予您擁有這些專利、商標(biāo)、版權(quán)或其它知識(shí)產(chǎn)權(quán)的許可。

未出版的作品。&copy; 2000 microsoft corporation。保留所有權(quán)利。

microsoft、exchange、outlook 和 windows 是 microsoft corporation 在美國(guó)和/或其它國(guó)家(地區(qū))的注冊(cè)商標(biāo)或商標(biāo)。

此處提到的真實(shí)的公司和產(chǎn)品名稱可能是其各自所有者的商標(biāo)。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 定南县| 南雄市| 河津市| 双江| 卢氏县| 赤水市| 井研县| 常宁市| 互助| 北宁市| 崇仁县| 克东县| 萨嘎县| 芜湖市| 金溪县| 鹤峰县| 岳阳县| 定远县| 辽源市| 江口县| 太湖县| 噶尔县| 宜宾市| 延吉市| 枞阳县| 安仁县| 南开区| 瑞金市| 兴文县| 资源县| 蓝山县| 衡阳市| 泸溪县| 嘉禾县| 丰镇市| 丰原市| 江西省| 宁安市| 博白县| 安岳县| 广东省|