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

J2EE和.Net:能共處嗎?

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

J2EE和.Net:能共處嗎?

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

電子商務(wù)悖論

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

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

SOAP、WSDL和UDDI之三位一體

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

 

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

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

.NET

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

Clarke接下來(lái)對(duì).NET架構(gòu)的基本組成單元進(jìn)行了詳細(xì)說(shuō)明:

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

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

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

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

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

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

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

J2EE

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

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

Java Community Process還逐步開發(fā)出了很多同Web服務(wù)有關(guān)的前端應(yīng)用,其中包括大量適合XML處理的JSR(Java規(guī)范請(qǐng)求)。這些性能突出的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)用程序就必須實(shí)現(xiàn)XML集成、舊應(yīng)用連接、業(yè)務(wù)過(guò)程管理、UDDI注冊(cè)表、內(nèi)容管理、個(gè)性化、業(yè)務(wù)邏輯以及前端開發(fā)等應(yīng)用目標(biāo)。Clarke 指出:“這是個(gè)相當(dāng)復(fù)雜的過(guò)程。”

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

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

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

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

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

共同點(diǎn)

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

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

建議

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

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

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

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

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

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

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

咨詢:400-8352-114

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

QQ在線咨詢