監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
上海OA快博

當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 上海OA系統(tǒng) > 上海OA快博

J2EE和.Net:能共處嗎?

申請免費試用、咨詢電話:400-8352-114

AMTeam.org

J2EE和.Net:能共處嗎?

在企業(yè)IT領(lǐng)域,開發(fā)Web服務(wù)的重要性已經(jīng)越來越明顯了,正因為Web服務(wù)的出現(xiàn),企業(yè)數(shù)據(jù)和企業(yè)運行的流程通過遠(yuǎn)程訪問的方式渾然一體。就Web服務(wù)來說,有些人可能會把Sun公司開發(fā)的Java 2、Enterprise Edition (J2EE)和微軟公司開發(fā)的.NET技術(shù)視作相互排斥的Web服務(wù)解決方案,但是Noel Clarke,這位SilverStream軟件公司的高級電子商務(wù)戰(zhàn)略專家卻不這樣想。他認(rèn)為,以上的三種Web服務(wù)技術(shù)完全可以共存。在今年3月JavaOne開發(fā)者大會的一次技術(shù)座談會上(TS-3154),Clarke從交付和消費Web服務(wù)的角度對各類技術(shù)進行了正反面的評述。

電子商務(wù)悖論

產(chǎn)生Web服務(wù)的用戶需求是什么?Clarke指出,Web服務(wù)的出現(xiàn)主要是由所謂的“電子商務(wù)悖論”這一現(xiàn)實狀況所產(chǎn)生的。他說:“因電子商務(wù)而引發(fā)的巨大變革反而阻礙了電子商務(wù)贏得成功。只有當(dāng)我們有能力動態(tài)地、快速地在我們企業(yè)內(nèi)部乃至企業(yè)之間實現(xiàn)互操作,網(wǎng)絡(luò)商務(wù)給我們帶來的美好希望才會最終得以實現(xiàn)?!?/FONT>

為了實現(xiàn)這種綜合性的集成,我們就必須實現(xiàn)商業(yè)功能的方便共享,同時能以一種靈活的處理流程把這些功能聯(lián)系在一起,能以適當(dāng)數(shù)據(jù)格式(適應(yīng)多樣的客戶設(shè)備)交付這些功能,而且要讓商業(yè)功能可以在任何地方都能被人找到。

SOAP、WSDL和UDDI之三位一體

真正的Web服務(wù)能提供商務(wù)工作的可重用單元和對商務(wù)數(shù)據(jù)的訪問手段。Web服務(wù)并不關(guān)心數(shù)據(jù)的表達,它們能被API或GUI調(diào)用。結(jié)果,獲取服務(wù)的消費者可以采取任何需要的形式來顯示W(wǎng)eb服務(wù)的結(jié)果,不管是HTML、Swing、WML、HDML還是XML等等。到最后,服務(wù)用到的協(xié)議和數(shù)據(jù)表示方式不僅無所不在而且具有強烈的因特網(wǎng)親和性。

 

用XML、SOAP、WSDL和UDDI提供Web服務(wù)

目前訪問Web服務(wù)的基礎(chǔ)結(jié)構(gòu)由SOAP(簡單對象訪問協(xié)議)、WSDL(Web服務(wù)描述語言)和UDDI(通用描述、發(fā)現(xiàn)和集成)構(gòu)成。Clarke說:“我們?yōu)檫@些服務(wù)構(gòu)造XML前端,然后獲取XML信息并且用WSDL來描述它,之后再用SOAP消息包裝這些信息。一旦造就了SOAP消息就可以從任何平臺調(diào)用它,所使用的技術(shù)也不少——Perl、Python、Java、.NET等等都可以做到。然后我們就可以在UDDI注冊表中發(fā)布這些WSDL定義,這樣我們的顧客和合作伙伴就可以使用這些商務(wù)過程了?!?/FONT>

.NET

提到Web服務(wù)的時候,許多人把J2EE和.NET這兩大技術(shù)陣營之間的爭斗視作了另一番可樂之戰(zhàn)。Clarke說:“有些人認(rèn)為這就象口味偏好一樣,你必須在兩者之間做出選擇。但是,我們相信Web服務(wù)確實是可以共存的。而且我們相信這種共存關(guān)系正是實現(xiàn)Web服務(wù)互操作的關(guān)鍵所在?!?/FONT>

Clarke接下來對.NET架構(gòu)的基本組成單元進行了詳細(xì)說明:

“智能的”客戶軟件應(yīng)用程序使PC和其他類型的設(shè)備能夠作用于XML Web服務(wù)

XML Web服務(wù)由那些能相互連結(jié)起來的小型可重用組件應(yīng)用程序所組成

.NET服務(wù)器負(fù)責(zé)發(fā)布、管理和編制XML Web服務(wù)

開發(fā)工具——包括Visual Studio .NET和.NET Framework等,正是它們建立、部署和運行XML Web服務(wù)

.NET為其支持的所有語言提供了單一的開發(fā)環(huán)境,這些編程語言包括Visual Basic ( VB )、C++以及最新推出的C#等。C#有語言從構(gòu)造上說類似Java語言,而且同樣包括了垃圾收集等功能。Clarke就此評價說:“在這個領(lǐng)域里的很多人肯定會驚詫地說,嗨,那玩意兒不就是Java嗎?哪年頭就有了!”

.NET環(huán)境可以讓開發(fā)者輕松地把應(yīng)用程序開發(fā)為Web服務(wù)。然后開發(fā)者們可以方便地把Web服務(wù)歸并到更大型的應(yīng)用程序中來,最后就可以從任何運行Web服務(wù)棧的平臺調(diào)用Web服務(wù)了。同時,.NET My Services則把傳統(tǒng)的微軟客戶應(yīng)用程序,比如錢包、收件箱、日歷和優(yōu)選設(shè)置等等分解成為各種單一的Web服務(wù)。

用VB、C++以及C#編寫的應(yīng)用程序都采用.NET之下的同類系統(tǒng)庫,而且它們會被首先編譯為MSIL(微軟中介語言)這種偽代碼,之后才被公共語言運行時( CLR )在執(zhí)行的時候解釋。Clarke指出:“這一切同Java語言的字節(jié)碼和虛擬機非常相似。”

J2EE

J2EE是基于Java技術(shù)的一整套企業(yè)應(yīng)用開發(fā)標(biāo)準(zhǔn)和規(guī)范以及同硬件無關(guān)的運行時環(huán)境。J2EE能夠為開發(fā)的產(chǎn)品帶來顯著的可移植性、可伸縮性、穩(wěn)定性、安全和可管理性。Clarke說:“這種平臺的一個重要方面就是它已經(jīng)問世大約5年左右了,而且在多種硬件平臺具有了各類實現(xiàn),相比微軟 ( .NET ),后者目前只有一種CLR,而且還是剛剛實現(xiàn)的一種?!?/FONT>

J2EE平臺是Java Community Process (JCP)開發(fā)的,這是一個由許多主流技術(shù)公司組織的標(biāo)準(zhǔn)體。作為產(chǎn)業(yè)開發(fā)的結(jié)果,供應(yīng)商們針對J2EE開發(fā)了大量的Web服務(wù)工具,比如Sun的Forte for Java (FFJ)、Eclipse(由IBM推出的一種公開源代碼的開發(fā)工具)、Borland的Jbuilder以及Silverstream的eXtend產(chǎn)品線等。同時,Systinet公司提供了可插入Forte、Jbuilder和Eclipse的一套工具,從而為這些產(chǎn)品帶來了額外的Web服務(wù)功能。Clarke說:“并不只有微軟樂意演這場戲,整個陣營內(nèi)的公司們團結(jié)在一起造就了這些Java規(guī)范、標(biāo)準(zhǔn)和工具。”

Java Community Process還逐步開發(fā)出了很多同Web服務(wù)有關(guān)的前端應(yīng)用,其中包括大量適合XML處理的JSR(Java規(guī)范請求)。這些性能突出的API將在JDK 1.4或1.5版本中發(fā)布:

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)

前路漫漫

要有效地構(gòu)造面向服務(wù)的應(yīng)用程序就必須實現(xiàn)XML集成、舊應(yīng)用連接、業(yè)務(wù)過程管理、UDDI注冊表、內(nèi)容管理、個性化、業(yè)務(wù)邏輯以及前端開發(fā)等應(yīng)用目標(biāo)。Clarke 指出:“這是個相當(dāng)復(fù)雜的過程?!?/FONT>

由于任務(wù)的復(fù)雜性,技術(shù)設(shè)計師們又在設(shè)想一種稱為ISE(綜合服務(wù)環(huán)境)的新一類產(chǎn)品。ISE通過提供設(shè)計環(huán)境、運行時可執(zhí)行文件和部署平臺等措施把Web服務(wù)開發(fā)的復(fù)雜性降低到商務(wù)應(yīng)用程序開發(fā)的水準(zhǔn),從而為平臺供應(yīng)商、框架供應(yīng)商以及IDE/工具包開發(fā)商提供了綜合集成的可能。

在Web服務(wù)開發(fā)不斷發(fā)展的同時,大量技術(shù)公司創(chuàng)造的革新和產(chǎn)品在推廣Web服務(wù)方面具有重要意義,甚至可與Java平臺規(guī)范以及JCP的作用相媲美。

這種全行業(yè)的共同參與在安全和身份識別領(lǐng)域更顯得彌足珍貴。在Web服務(wù)的世界里,所謂的身份就是指電話號碼、通信地址、信用卡號等個人的信息。

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

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

共同點

目前已經(jīng)出現(xiàn)了可以把Java語言編譯為微軟中介語言或者反其道而行之的多類編譯項目。

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

建議

在提到向客戶推薦采用J2EE或.NET構(gòu)造Web服務(wù)時,Clarke的建議是充分利用兩種技術(shù)的優(yōu)點。

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

另一方面,J2EE 平臺建立在基于命令行的UNIX基礎(chǔ)之上,其定位是開發(fā)人員,而且在大型企業(yè)系統(tǒng)市場有強大的用戶基礎(chǔ)。這種平臺的高水平開發(fā)者數(shù)量是相當(dāng)大的。同時,J2EE 早就由JCP開發(fā)出來,而且已經(jīng)得到了主要技術(shù)公司的實現(xiàn)。此外,它還實現(xiàn)了真正的跨平臺兼容性。但是,由于J2EE是基于標(biāo)準(zhǔn)的平臺,而且是由各階段產(chǎn)業(yè)參與者共同發(fā)展的結(jié)果,所以這也意味著這種技術(shù)的深化和精煉需要時間。作為一種補救措施,J2EE的工具供應(yīng)商已經(jīng)聯(lián)合起來開發(fā)更具革新意義和競爭力的新產(chǎn)品,其規(guī)范趨于更完備而且更穩(wěn)固。

總而言之,Clarke建議,在已經(jīng)使用了微軟技術(shù)的場合不妨采用.NET技術(shù)構(gòu)造具有中小級信息量和過程資源的Web服務(wù),把基本的Web服務(wù)匯集到功能性的應(yīng)用程序中來,而且為利用Web服務(wù)創(chuàng)建特定的Windows客戶應(yīng)用程序。他還建議,采用J2EE的場合主要有:構(gòu)造和發(fā)布大型企業(yè)的Web服務(wù),在服務(wù)器端匯集Web服務(wù),創(chuàng)建客戶應(yīng)用程序(JFC/Swing)消費Web服務(wù),以及需要平臺無關(guān)性的因特網(wǎng)和外聯(lián)網(wǎng)Web服務(wù)客戶程序等。

發(fā)布:2007-03-25 10:35    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
上海OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢