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