Jim Farley:這是個(gè)很好的問題,而且經(jīng)常有人會(huì)問這樣的問題。這里有很多實(shí)際的例子,微軟花了很大力氣來重新設(shè)計(jì)它的基礎(chǔ)架構(gòu),就是為了使其適用于WEB服務(wù)。作為一個(gè)公開的標(biāo)準(zhǔn),J2EE很自然的也會(huì)長期跟蹤、升級它的一些協(xié)議、規(guī)范。但是假如你把商家和商家相比較(比如說微軟和BEA,IBM),那么,你就會(huì)發(fā)現(xiàn),在Java的領(lǐng)域里,存在很多模糊的WEB服務(wù)解決方式。對于Java團(tuán)體來說,假如把這些模糊概念變成規(guī)范,那么,Java的發(fā)展必將會(huì)更好。
Jim Farley:我無法猜測誰會(huì)是最后的贏家。微軟有其自己獨(dú)特的市場運(yùn)作方式,同時(shí),J2EE也有其強(qiáng)大的慣性和實(shí)力。我想它們會(huì)有效利用企業(yè)空間,在中短期內(nèi)按某些方式同時(shí)存在。
Bob Rodes:在我看來,二者的主要區(qū)別好象在于標(biāo)準(zhǔn)的公開程度上,.NET更保守一些,J2EE更公開一些。有沒有橫向或縱向的交易額的比較?.NET要快一些但要受限于微軟平臺,J2EE慢一些但不受平臺限制。是不是由于過于簡化而是性能降低了?
Jim Farley:快慢只是一個(gè)相對概念,在衡量交易量上有很多這樣的因素需要考慮。但是無可非議的是,.NET對于Wintel環(huán)境而言是最佳的選擇。但是,在J2EE架構(gòu)了也沒有什么因素妨礙商家開發(fā)類似于"Wintel-optimized"的J2EE運(yùn)行環(huán)境(當(dāng)然,這里面也有許多惡意誹謗者)。
Jim Farley:非常正確。在理想環(huán)境下,這兩種平臺在WEB服務(wù)規(guī)范和支持基礎(chǔ)架構(gòu)上應(yīng)該毫無關(guān)聯(lián)的,與"SOAP/WSDL/UDDI"相互融合應(yīng)該是一個(gè)很好的機(jī)會(huì)。但是,一般商家的"value-add"問題會(huì)仍然存在(微軟就是一個(gè)最大的商家,但卻不是唯一的一家具有保守心理的商家)。不公開化這一附加因素將會(huì)使WEB的集成會(huì)象使市場成熟那樣困難。
Fogus:就微軟認(rèn)為C#即是Java這一概念,您是怎么理解的?為什么我們只能選其一?
Jim Farley:假如你能夠忽略平臺問題,那么嚴(yán)格上說你就要做一個(gè)人為選擇:你最喜歡用哪種語法/編程模型/對象模型?就我個(gè)人觀點(diǎn)來講,這幾種模型都是沒有明確界限的,但是,平臺會(huì)對此作一個(gè)硬性規(guī)定,Java是J2EE的基礎(chǔ),C#和一般運(yùn)行環(huán)境是.NET單一平臺的基礎(chǔ)。因此,C#同java的比較實(shí)際上又回到了J2EE 同 .NET進(jìn)行比較這一問題上。
Joe:針對Java Pet Shop的應(yīng)用,微軟對.NET及其性能、代碼縮減等問題作了很多改進(jìn),針對這一點(diǎn)您有何評價(jià)?.NET的速度真的是更快嗎?
Jim Farley:我想,很明顯這只是一種推銷手段而已。我認(rèn)為所謂的代碼縮減只是一個(gè)幌子,假如我單純只是為了易于治理而縮減代碼,這并不是明智之舉,更談不上其對基礎(chǔ)架構(gòu)有何真正意義。假如你要對不同商家的產(chǎn)品進(jìn)行比較的話,只能比較它們的性能,而不能把.NET的某一方面的突出特點(diǎn)同J2EE的整體基礎(chǔ)架構(gòu)進(jìn)行比較。
Jim Farley:假如要完整的回答這個(gè)問題可能要占用很多時(shí)間!假如想要更多了解這些,可以看看我寫過的一篇文章Software Development里面提到了這些。在這里,我只能簡單地說.NET在XML和Wintel集成方面比較擅長而J2EE則在方便性和可選擇性上存在優(yōu)勢。
David from BofA:根據(jù)您所說的在J2EE 和 .NET之間不可能存在明顯的區(qū)分界限,那么,對于一個(gè)初學(xué)者來說,哪一個(gè)更適合初學(xué)者來學(xué)習(xí)(假設(shè)必須選其一的話)。
Jim Farley:假如從內(nèi)容以外來對兩者進(jìn)行比較是很困難的,這要看你為哪種類型企業(yè)工作、你的客戶喜歡什么、你將來的技術(shù)/市場策劃是什么等等許多因素。假如你打算只在微軟這種只使用Wintel的環(huán)境下做一些前瞻性的工作(無論是為個(gè)人還是為企業(yè)),那么顯而易見,.NET是首選之舉。假如你認(rèn)為自己不是唯一的商家,而是要考慮到來自于其他平臺的競爭,或者你想把你自己的產(chǎn)品和客戶發(fā)展到其他平臺上,那么J2EE將是你最佳選擇。
Jim Farley:事實(shí)上,他們的確遵循這些標(biāo)準(zhǔn),但是,商家也會(huì)"包含和擴(kuò)展"它們的工具(例如,為封裝協(xié)議增加"value-added"的擴(kuò)展,或者是定義硬盤備份的有效載荷等等)。因此,假如他們完全100%遵循SOAP/WSDL/,那么,你就無需擔(dān)心。但是正確與否就要看微軟和J2EE了。