茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1728844 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_0011.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

爪哇咖啡屋 : [轉貼]J2EE和.Net:能共處嗎?

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]J2EE和.Net:能共處嗎?
J2EE和.Net:能共處嗎?

引用原文網址
J2EE和.Net:能共處嗎?

作者: ZDNET CHINA 特稿
Thursday, April 25 2002 3:43 PM
在企業IT領域,開發Web服務的重要性已經越來越明顯了,正因為Web服務的出現,企業資料和企業運行的流程通過遠端存取的方式渾然一體。就Web服務來說,有些人可能會把Sun公司開發的Java 2、Enterprise Edition (J2EE)和微軟公司開發的.NET技術視作相互排斥的Web服務解決方案,但是Noel Clarke,這位元SilverStream軟體公司的高級電子商務戰略專家卻不這樣想。他認為,以上的三種Web服務技術完全可以共存。在今年3月JavaOne開發者大會的一次技術座談會上(TS-3154),Clarke從交付和消費Web服務的角度對各類技術進行了正反面的評述。
電子商務悖論
產生Web服務的用戶需求是什麼?Clarke指出,Web服務的出現主要是由所謂的“電子商務悖論”這一現實狀況所產生的。他說:“因電子商務而引發的巨大變革反而阻礙了電子商務贏得成功。只有當我們有能力動態地、快速地在我們企業內部乃至企業之間實現互操作,網路商務給我們帶來的美好希望才會最終得以實現。”
為了實現這種綜合性的集成,我們就必須實現商業功能的方便共用,同時能以一種靈活的處理流程把這些功能聯繫在一起,能以適當資料格式(適應多樣的客戶設備)交付這些功能,而且要讓商業功能可以在任何地方都能被人找到。
SOAP、WSDL和UDDI之三位一體
真正的Web服務能提供商務工作的可重用單元和對商務資料的訪問手段。Web服務並不關心資料的表達,它們能被API或GUI調用。結果,獲取服務的消費者可以採取任何需要的形式來顯示Web服務的結果,不管是HTML、Swing、WML、HDML還是XML等等。到最後,服務用到的協定和資料表示方式不僅無所不在而且具有強烈的網際網路親和性。


用XML、SOAP、WSDL和UDDI提供Web服務
目前訪問Web服務的基礎結構由SOAP(簡單物件訪問協定)、WSDL(Web服務描述語言)和UDDI(通用描述、發現和集成)構成。Clarke說:“我們為這些服務構造XML前端,然後獲取XML資訊並且用WSDL來描述它,之後再用SOAP消息包裝這些資訊。一旦造就了SOAP消息就可以從任何平臺調用它,所使用的技術也不少——Perl、Python、Java、.NET等等都可以做到。然後我們就可以在UDDI註冊表中發佈這些WSDL定義,這樣我們的顧客和合作夥伴就可以使用這些商務過程了。”
.NET
提到Web服務的時候,許多人把J2EE和.NET這兩大技術陣營之間的爭鬥視作了另一番可樂之戰。Clarke說:“有些人認為這就象口味偏好一樣,你必須在兩者之間做出選擇。但是,我們相信Web服務確實是可以共存的。而且我們相信這種共存關係正是實現Web服務互操作的關鍵所在。”
Clarke接下來對.NET架構的基本組成單元進行了詳細說明:
• “智慧的”客戶軟體應用程式使PC和其他類型的設備能夠作用於XML Web服務
• XML Web服務由那些能相互連結起來的小型可重用元件應用程式所組成
• .NET伺服器負責發佈、管理和編制XML Web服務
• 開發工具——包括Visual Studio .NET和.NET Framework等,正是它們建立、部署和運行XML Web服務
.NET為其支援的所有語言提供了單一的開發環境,這些編程語言包括Visual Basic ( VB )、C++以及最新推出的C#等。C#有語言從構造上說類似Java語言,而且同樣包括了垃圾收集等功能。Clarke就此評價說:“在這個領域裏的很多人肯定會驚詫地說,嗨,那玩意兒不就是Java嗎?哪年頭就有了!”
.NET環境可以讓開發者輕鬆地把應用程式開發為Web服務。然後開發者們可以方便地把Web服務歸併到更大型的應用程式中來,最後就可以從任何運行Web服務棧的平臺調用Web服務了。同時,.NET My Services則把傳統的微軟客戶應用程式,比如錢包、收件箱、日曆和優選設置等等分解成為各種單一的Web服務。
用VB、C++以及C#編寫的應用程式都採用.NET之下的同類系統庫,而且它們會被首先編譯為MSIL(微軟仲介語言)這種偽代碼,之後才被公共語言運行時( CLR )在執行的時候解釋。Clarke指出:“這一切同Java語言的位元組碼和虛擬機非常相似。”
J2EE
J2EE是基於Java技術的一整套企業應用開發標準和規範以及同硬體無關的運行時環境。J2EE能夠為開發的產品帶來顯著的可攜性、可伸縮性、穩定性、安全和可管理性。Clarke說:“這種平臺的一個重要方面就是它已經問世大約5年左右了,而且在多種硬體平臺具有了各類實現,相比微軟 ( .NET ),後者目前只有一種CLR,而且還是剛剛實現的一種。”
J2EE平臺是Java Community Process (JCP)開發的,這是一個由許多主流技術公司組織的標準體。作為產業開發的結果,供應商們針對J2EE開發了大量的Web服務工具,比如Sun的Forte for Java (FFJ)、Eclipse(由IBM推出的一種公開源代碼的開發工具)、Borland的Jbuilder以及Silverstream的eXtend產品線等。同時,Systinet公司提供了可插入Forte、Jbuilder和Eclipse的一套工具,從而為這些產品帶來了額外的Web服務功能。Clarke說:“並不只有微軟樂意演這場戲,整個陣營內的公司們團結在一起造就了這些Java規範、標準和工具。”
Java Community Process還逐步開發出了很多同Web服務有關的前端應用,其中包括大量適合XML處理的JSR(Java規範請求)。這些性能突出的API將在JDK 1.4或1.5版本中發佈:
• JSR-031 -- Java API for XML Binding (JAXB)
• JSR-067 -- Java APIs for XML Messaging 1.0 (JAXM)
• JSR-093 -- Java API for XML Registries 1.0 (JAXR)
• JSR-101 -- Java API for XML-based RPC (JAX-RPC)
• JSR-109 -- Implementing Enterprise Web Services
• JSR-110 -- Java APIs for WSDL
• JSR-111 -- Java Services Framework
• JSR-155 -- Web Services Security Assertions
• JSR-156 -- XML Transactioning API for Java (JAXTX)
• JSR-159 -- Java Process Component API (JPC)

前路漫漫

要有效地構造面向服務的應用程式就必須實現XML集成、舊應用連接、業務過程管理、UDDI註冊表、內容管理、個性化、業務邏輯以及前端開發等應用目標。Clarke 指出:“這是個相當複雜的過程。”

由於任務的複雜性,技術設計師們又在設想一種稱為ISE(綜合服務環境)的新一類產品。ISE通過提供設計環境、運行時可執行檔和部署平臺等措施把Web服務開發的複雜性降低到商務應用程式開發的水準,從而為平臺供應商、框架供應商以及IDE/工具包開發商提供了綜合集成的可能。

在Web服務開發不斷發展的同時,大量技術公司創造的革新和產品在推廣Web服務方面具有重要意義,甚至可與Java平臺規範以及JCP的作用相媲美。

這種全行業的共同參與在安全和身份識別領域更顯得彌足珍貴。在Web服務的世界裏,所謂的身份就是指電話號碼、通信地址、信用卡號等個人的資訊。

.NET技術體系下的身份架構叫作Passport(護照),Passport在微軟伺服器上存儲個人資訊。Clarke說:“微軟把Passport視為一個顯著的優點,但是,由於這一技術存在各種各樣的漏洞,以至於採用Hotmail和腳本就可以獲得人們的信用卡號。”

Liberty Alliance Project是一個由超過30家商業公司組成的合作組織,其職責就是為Java平臺實現開放和聯合的網路身份解決方案。該組織管理層的成員代表了超過十億的客戶,其中包括:美國運通、AOL時代華納、加拿大貝爾、Citigroup、法國電信、通用汽車、環球電訊、惠普公司、國際萬事達卡、諾基亞、美聯航以及Vodafone等大公司。該組織堅持的原則是,用戶帳號資訊必須掌握在當前擁有其資訊的單位手中,由用戶管理帳戶資訊而非一個中央機構來完成這一職能,而且用戶有權選擇由那些機構來安全地共用其身份資訊。

共同點
目前已經出現了可以把Java語言編譯為微軟仲介語言或者反其道而行之的多類編譯項目。

同時,沒有任何辦法能阻止J2EE的開發人員利用那些由.NET所開發的Web服務。原因是Web服務是建立在標準基礎之上的。事實上,Clarke就演示了這兩種技術之間互操作性:從從Java客戶程式調用.Net生成的Web服務。

建議
在提到向客戶推薦採用J2EE或.NET構造Web服務時,Clarke的建議是充分利用兩種技術的優點。

Microsoft/.NET從歷史上看主要佔據PC桌面GUI和作業系統領域,其目標定位是小型企業、家庭辦公和企業桌面用戶。但是在其平臺上,高水準的開發人員從人數來說還是相對較少。另外,Clarke認為,.NET還不能算作真正意義的企業類架構,而且它完全鎖定在微軟產品的範圍之內。也許最重要的是,為了跟上新技術的潮流,微軟一直以技術取向的激進態度為人所知。Clarke認為:“這可能會產生問題,有時會令你陷入困境。”

另一方面,J2EE 平臺建立在基於命令行的UNIX基礎之上,其定位是開發人員,而且在大型企業系統市場有強大的用戶基礎。這種平臺的高水準開發者數量是相當大的。同時,J2EE 早就由JCP開發出來,而且已經得到了主要技術公司的實現。此外,它還實現了真正的跨平臺相容性。但是,由於J2EE是基於標準的平臺,而且是由各階段產業參與者共同發展的結果,所以這也意味著這種技術的深化和精煉需要時間。作為一種補救措施,J2EE的工具供應商已經聯合起來開發更具革新意義和競爭力的新產品,其規範趨於更完備而且更穩固。

總而言之,Clarke建議,在已經使用了微軟技術的場合不妨採用.NET技術構造具有中小級信息量和過程資源的Web服務,把基本的Web服務彙集到功能性的應用程式中來,而且為利用Web服務創建特定的Windows客戶應用程式。他還建議,採用J2EE的場合主要有:構造和發佈大型企業的Web服務,在伺服器端彙集Web服務,創建客戶應用程式(JFC/Swing)消費Web服務,以及需要平臺無關性的網際網路和外聯網Web服務客戶程式等。

責任編輯:炒飯

前一個主題 | 下一個主題 | 頁首 | | |



Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|