當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
.NET會(huì)取代COM嗎?--準(zhǔn)備Web服務(wù)的未來(lái)
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org.NET會(huì)取代COM嗎?
--準(zhǔn)備Web服務(wù)的未來(lái)
Roger Sessions
首席執(zhí)行官,ObjectWatch
2000 年 12
月
Roger Sessions 概述了 Microsoft 從 COM 到 .NET 的組件體系結(jié)構(gòu)演變,并預(yù)言:Web 服務(wù)的引入將使 Microsoft .NET 應(yīng)用與其它大多數(shù)受組件影響的技術(shù)(特別是 EJB 技術(shù))互操作。
Gartner Group 最近出了一份名為“CIO 警報(bào):Microsoft COM 不再是戰(zhàn)略性選擇!”的報(bào)告。必須說(shuō)明,我發(fā)現(xiàn)這個(gè)標(biāo)題很滑稽。COM 不再是戰(zhàn)略性選擇。竟然還是 CIO 警報(bào)。真的嗎。
我覺得這種說(shuō)法非?;脑蛟谟冢阂牢铱磥?lái),COM 從 1996 年起就不再是戰(zhàn)略性選擇了。那時(shí) Microsoft 首先發(fā)行了 MTS 并取代了 COM 編程模型。看起來(lái)您又得起個(gè)大早來(lái)回想 Gartner Group。就象 1996 年初那樣。(CIO 警報(bào):MTS 于四年前推出。)
COM 歷史
COM(Microsoft 的組件模型)很大程度上基于 OMG 的
CORBA(公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu)),CORBA 可追溯到 90 年代初,但現(xiàn)在早已落伍。與 CORBA 類似,COM
是簡(jiǎn)單的面向組件打包和分發(fā)技術(shù),基本上是加入了多態(tài)性的遠(yuǎn)程過程調(diào)用。
同樣與 CORBA 類似的是,COM 是偽客戶機(jī)/服務(wù)器體系結(jié)構(gòu),并具有該體系結(jié)構(gòu)的所有可伸縮性限制。(CIO 警報(bào):客戶機(jī)/服務(wù)器體系結(jié)構(gòu)不可伸縮)??蛻魴C(jī)/服務(wù)器體系結(jié)構(gòu)將商業(yè)邏輯與客戶機(jī)過程捆綁在一起??蛻魴C(jī)/服務(wù)器體系結(jié)構(gòu)的問題在于:客戶機(jī)與系統(tǒng)資源的關(guān)系是一對(duì)一關(guān)系,其中最出名(但不是唯一)的是數(shù)據(jù)庫(kù)連接。偽客戶機(jī)/服務(wù)器體系結(jié)構(gòu)將商業(yè)邏輯從客戶機(jī)過程移出(如 COM/DCOM 和 CORBA),但不提供一對(duì)一關(guān)系。COM/DCOM 和 CORBA 是偽客戶機(jī)/服務(wù)器體系結(jié)構(gòu),就這點(diǎn)而論,其通過可用系統(tǒng)資源來(lái)支持大量客戶機(jī)的能力受到一定限制(典型的例子還是數(shù)據(jù)庫(kù)連接)。
COM 和其兄弟 DCOM 被設(shè)計(jì)成用來(lái)支持快速分發(fā)的方法傳輸,這種方法傳輸對(duì)富客戶機(jī)系統(tǒng)很重要,但對(duì)如今基于 Web 的商業(yè)系統(tǒng)所采用的瘦客戶機(jī)系統(tǒng)則根本不重要。(CIO 警報(bào):瘦客戶機(jī)已取代了富客戶機(jī)。)
與 CORBA 目標(biāo)類似,COM/DCOM 目標(biāo)與 COM+ 目標(biāo)完全不同。COM/DCOM 被優(yōu)化成支持快速方法傳輸,而 COM+ 則被優(yōu)化成支持高事務(wù)吞吐量。畢竟,在電子貿(mào)易系統(tǒng)中贏利的途徑是增加事務(wù)吞吐量,而不是減少最初曾被忽略的客戶機(jī)響應(yīng)次數(shù)。因此,COM/DCOM 基于客戶機(jī)/服務(wù)器模型,而 COM+ 則基于三層編程模型。(CIO 警報(bào):Web 取代了客戶機(jī)服務(wù)器體系結(jié)構(gòu))。這使 COM+ 更類似于事務(wù)處理監(jiān)視器(如 BEA 的 Tuxedo 或 IBM 的 CICS),而不是組件模型(如 Microsoft 的 COM)。
.NET 僅僅是具有幾個(gè)新特性的 COM+ 嗎?
如果我們?cè)谡務(wù)?.NET
要實(shí)現(xiàn)的應(yīng)用類型,即高可伸縮性、支持 Web、數(shù)據(jù)庫(kù)集中型商業(yè)邏輯,那么我已經(jīng)指出,COM/DCOM 早在 1996 年就被 MTS
所取代。四年來(lái)我一直在告訴人們?cè)跊]有 MTS 支持的情況下不要對(duì)這樣的應(yīng)用使用 COM/DCOM。
既然 COM+ 只是 MTS 的下一發(fā)行版,那么對(duì)于 Mircosoft 來(lái)說(shuō),COM+ 幾乎不是新技術(shù)。
那么 .NET 呢?
就象 COM+ 是 MTS 的下一發(fā)行版一樣,.NET 實(shí)質(zhì)上也是 COM+ 的下一發(fā)行版。COM/DCOM 為我們帶來(lái)組件。MTS 則為我們帶來(lái)使這些組件高度可伸縮的中間層體系結(jié)構(gòu)。COM+ 向該體系結(jié)構(gòu)添加幾個(gè)新的如異步方法之類的裝飾功能?,F(xiàn)在,.NET 使我們能夠從因特網(wǎng)訪問這些高度可伸縮的中間層組件。
Microsoft 把可從因特網(wǎng)訪問的中間層組件稱為 Web 服務(wù)。Web 服務(wù)只是使用 HTTP 作為其傳輸協(xié)議以及使用 XML 作為其打包技術(shù)的 COM+。嚴(yán)格說(shuō)來(lái),這不是個(gè)有重大影響的構(gòu)想,但它確實(shí)使商業(yè)邏輯可以從因特網(wǎng)訪問,并且如果有電子聚會(huì)場(chǎng)所形式的額外支持,還允許某些非常有趣的商家對(duì)商家協(xié)作。
這些電子聚會(huì)場(chǎng)所是 IBM 和 Microsoft 領(lǐng)導(dǎo)的集中行業(yè)協(xié)作主題。這些協(xié)作的大多數(shù)都圍繞稱為 UDDI.org 的新行業(yè)聯(lián)盟進(jìn)行。
明天如何編碼?
如果至少在以后兩年內(nèi)不會(huì)出現(xiàn) .NET
平臺(tái)的最終版本,那么小公司怎樣做才能繼續(xù)構(gòu)建不會(huì)在剛完成時(shí)就被取代的應(yīng)用呢?正在出現(xiàn)許多改變:新語(yǔ)言、新 ASP+
開發(fā)模型、傳遞客戶機(jī)經(jīng)驗(yàn)的新方法,以及可能是最重要的,Web 服務(wù)的新概念,因特網(wǎng)協(xié)作的基礎(chǔ)。那么,重要問題是:如何在今天創(chuàng)建明天還可以被用作 Web
服務(wù)的商業(yè)邏輯?
這不如想象的那樣困難。首先,Microsoft 將繼續(xù)支持 COM、DCOM 或 COM+,因此在最壞的情況下,可以通過舊有互操作層運(yùn)行現(xiàn)有代碼。但是,當(dāng)然沒有人想通過舊有互操作層來(lái)運(yùn)行其應(yīng)用。這確實(shí)不是很好。
如果要編寫可以方便遷移到 .NET 平臺(tái)的代碼,最好的方法是將商業(yè)邏輯打包成 COM+/Visual Basic 組件。COM+/Visual Basic 編程模型與 .NET 編程模型十分類似,而且為 COM+/Visual Basic 徹底編寫的代碼可以方便地移到 .NET。
這里的要點(diǎn)在于代碼必須為 COM+/Visual Basic 模型徹底地編寫。大多數(shù)現(xiàn)有 COM+/Visual Basic 代碼沒有徹底地編寫。大多數(shù)這些代碼的最大問題是忽略關(guān)鍵的以中間層為中心的編程方針。最常見的違規(guī)是:
隱式編碼了事務(wù)性邊界。
在組件內(nèi)部維護(hù)狀態(tài)。
將安全性委托給數(shù)據(jù)庫(kù)。
如果遵循以中間層為中心的設(shè)計(jì)規(guī)則,將為 .NET 作好準(zhǔn)備。但是即使努力遵循了所有這些規(guī)則,還是不能毫不費(fèi)力地將組件移至 .NET 世界。這不是因?yàn)榻M件模型的變更,而是很大程度上因?yàn)?Visual Basic 即將發(fā)生的變更。
Visual Basic 語(yǔ)法有時(shí)看起來(lái)有些隨意,但正要經(jīng)歷一場(chǎng)老早以前就該發(fā)生的最終變動(dòng)。好消息是 Visual Basic 最終將成為更強(qiáng)壯的語(yǔ)言。壞消息是老版本的 Visual Basic 程序語(yǔ)法將不與 VisualStudio.NET 中的 Visual Basic 語(yǔ)法兼容。遷移將不那么困難,并可以通過遷移工具來(lái)簡(jiǎn)化,但可能沒有僅僅復(fù)制文件和重新編譯那樣簡(jiǎn)單。如果不想作這些更改,可以始終在 Visual Studio 6 中開發(fā),但是這會(huì)極大降低您的“酷”(cool) 感。
"酷"是 Microsoft.NET 中的操作詞語(yǔ)。如果 Microsoft 在以后幾年真正支持所有這些技術(shù),那就更酷了。如果整個(gè)行業(yè)都在 Web 服務(wù)上達(dá)成一致(很可能的景象),從而使 Microsoft 的 .NET 應(yīng)用可以與大多數(shù)其它受組件影響的技術(shù)(特別使 EJB)互操作,那也會(huì)更酷。Web 服務(wù)的要點(diǎn)在于它們?nèi)萑虖V泛的組件模型,只在傳送和方法打包的最小級(jí)別上強(qiáng)制一致。
如果 Microsoft 確實(shí)實(shí)現(xiàn)其 .NET 承諾,我們將看到因特網(wǎng)的平臺(tái)主要由 Microsoft 定義。如果 Microsoft 在該問題上犯錯(cuò)誤,那我們將看到 Microsoft 的作用將越來(lái)越小。這種前景的第一個(gè)跡象是 Common Language Runtime、VisualStudio.NET、COM+ 和 SOAP。第一個(gè)跡象給人以深刻印象?,F(xiàn)在我們必須靜觀和等待。看 Microsoft 朝哪個(gè)方向發(fā)展。
參考資料
- 本文中的的很多資料最初都在 Roger Sessions 的 ObjectWatch
時(shí)事通訊中:
- ObjectWatch 時(shí)事通訊第 30 篇(2000 年 10 月 20 日)"CIO Alert:
ObjectWatch responds to Gartner!"。
- ObjectWatch 時(shí)事通訊第 29 篇(2000 年 6 月)"Letter from the
PDC 2000: The Unveiling of Microsoft.NET"。
- ObjectWatch 時(shí)事通訊第 25 篇(2000 年 3 月 6 日)"SOAP"。
- ObjectWatch 時(shí)事通訊第 30 篇(2000 年 10 月 20 日)"CIO Alert:
ObjectWatch responds to Gartner!"。
- COM+ and
the Battle for the Middle Tier,Roger Sessions
著,Wiley Computer Publishing 于 2000 年出版。
- "CIO Alert: Microsoft COM is
No Longer a Strategic Choice,",Edward Younker
著,GartnerGroup 報(bào)告 IGG-09062000-01,2000 年 9 月 6 日。(訪問該報(bào)告需付費(fèi)注冊(cè)。)
- Roger Sessions 還講授一日研討會(huì)和上機(jī)講習(xí)班。
關(guān)于作者
Roger Sessions
世界上中間層體系結(jié)構(gòu)的主要專家之一。他有 Microsoft COM+、OMG CORBA 和 Sun EJB
的豐富經(jīng)歷。他著有五本書籍和許多文章,并曾在無(wú)數(shù)會(huì)議上作演講。他編寫并出版的關(guān)于分布式組件技術(shù)的 ObjectWatch
時(shí)事通訊被廣泛閱讀和高度認(rèn)可。他最新的書籍是 COM+ and the Battle for the
Middle Tier??赏ㄟ^ roger@objectwatch.com 與 Roger 聯(lián)系。
- 1重慶OA信息化
- 2成都OA信息化
- 3貴陽(yáng)OA信息化
- 4西安OA信息化
- 5武漢OA信息化
- 6北京OA信息化
- 7廣州OA信息化
- 8深圳OA信息化
- 9天津OA信息化
- 10沈陽(yáng)OA信息化
- 11長(zhǎng)春OA信息化
- 12福州OA信息化
- 1利用辦公自動(dòng)化系統(tǒng)進(jìn)行石家莊OA信息化
- 2超越石家莊OA信息化
- 3InterOP Stack新一代平臺(tái)互操作技術(shù):InterOP Stack技術(shù)概覽
- 4石家莊OA信息化與知識(shí)價(jià)值鏈(BY AMT 夏敬華)
- 5石家莊OA信息化的價(jià)值和挑戰(zhàn)
- 6創(chuàng)造性的Intranet:Factors for Corporate Knowledge Creation
- 7在長(zhǎng)時(shí)間操作過程中更新顯示
- 8源天軟件獲2008年度中國(guó)IT服務(wù)創(chuàng)新獎(jiǎng)
- 9石家莊OA信息化的基本XML和RDF技術(shù)(三):語(yǔ)義知識(shí)
- 10BEA與OASIS協(xié)作 加強(qiáng)Web Services安全
- 11知識(shí)的經(jīng)濟(jì)學(xué)性質(zhì)
- 12BEA和Palm合作掌上電腦Web服務(wù)
- 13微軟在宣布.Net計(jì)劃進(jìn)入第二階段時(shí)預(yù)測(cè)——Web服務(wù)掀起下一次IT泛普
- 14OA支持工作流報(bào)表的格式自定義——通過工作流報(bào)表
- 15XML Web Service-Enabled Office Documents
- 16SOAP技術(shù)與B2B應(yīng)用集成--SOAP的消息結(jié)構(gòu)與數(shù)據(jù)的組織方法
- 17鄂爾多斯投資控股集團(tuán)智能協(xié)同OA移動(dòng)辦公系統(tǒng)介紹
- 18借助RDF增強(qiáng)WSDL--管理結(jié)構(gòu)化的Web服務(wù)元數(shù)據(jù)
- 19架構(gòu)Web Service:什么是Web服務(wù)?
- 20A Web Services Primer
- 21什么是真正的石家莊OA信息化
- 22Web服務(wù)的(革)創(chuàng)新,第3部分
- 23在ASP程序中調(diào)用Web Service
- 24Web Services Gateway入門
- 25Using ASP.NET/WebServices For UPS Shipping Quotes
- 26石家莊OA信息化——信息化的奢侈品?<br><div align=right>——夏敬華專訪&l
- 27石家莊OA信息化項(xiàng)目的“做”與“不做”(BY AMT 夏敬華)
- 28.NET的數(shù)據(jù)傳輸之道
- 29TIBCO Web Service為OSS/BSS搭建強(qiáng)大平臺(tái)
- 30[原創(chuàng)]淺談KM的知識(shí)源采集和技術(shù)實(shí)現(xiàn)
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114