亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

java pet store

系統(tǒng) 1774 0
轉(zhuǎn)自:http://blog.csdn.net/gaulhor/archive/2007/03/20/1535280.aspx

相信大家常常會(huì)看到很多統(tǒng)計(jì)數(shù)字,來自各家廠商、各種傳播媒體、各個(gè)政治團(tuán)體,但是數(shù)字雖然會(huì)說話,卻常常各說各話。前陣子出現(xiàn)一篇比較微軟.NET和Java J2EE架構(gòu)執(zhí)行效率的報(bào)告,常常被微軟陣營拿來當(dāng)成打擊J2EE的證據(jù)。例如以下這段話﹕

"而據(jù)微軟宣稱,Visual Studio.Net能支持25種語言,和Java相比具有節(jié)省2/3程序代碼、效能快28倍,承載六倍的使用者的功能"
- 摘自臺(tái)灣CNet 2002年四月二日新聞專區(qū)

這樣超能力的.NET效能報(bào)告到底來自何方?其真實(shí)性為合?本周我就來
從頭開始講講這個(gè)精采故事的始末。

J2EE (Java 2 Enterprise Edition)是Java技術(shù)在企業(yè)運(yùn)算上的應(yīng)用,之中包含多種運(yùn)算標(biāo)準(zhǔn),EJB組件架構(gòu)、JDBC數(shù)據(jù)庫運(yùn)算、JMS訊息傳遞、Java Servlets/JSP等Web組件程序等等,功能強(qiáng)大但是內(nèi)容博大精深,為了讓使用者可以有一個(gè)設(shè)計(jì)J2EE架構(gòu)應(yīng)用程序的模板,Sun做出一套系統(tǒng)名為 "Java Pet Store"。這個(gè)線上寵物店的范例是針對(duì)已經(jīng)熟悉Java程序設(shè)計(jì)和J2EE觀念的人,提供一個(gè)用正規(guī)方式設(shè)計(jì)出來的系統(tǒng),讓要用J2EE架構(gòu)的人有一個(gè)參考的依據(jù)。

這個(gè)范例一出來,很快就被用來當(dāng)成比較各家J2EE兼容產(chǎn)品的依據(jù)。最先是在去年的JavaOne大會(huì)上,受邀參加主題演講的Oracle大老板Larry Ellision重炮轟擊在他之前剛講完下臺(tái)的BEA,公開宣稱Oracle的J2EE Application Server (Oracle9iAS) 的執(zhí)行效能是BEA WebLogic的三倍,同時(shí)也是IBM WebSphere
的兩倍。接下來IBM和BEA都站出來反擊,例如BEA在去年七月也公布一項(xiàng)效能數(shù)據(jù),數(shù)據(jù)上顯示W(wǎng)ebLogic Server 6.1的執(zhí)行效率是IBM WebSphere的四倍,并且比Oracle的產(chǎn)品快上54%等等。這種情況其實(shí)是正常的,Java標(biāo)準(zhǔn)的精神原本就是各家廠商合作制定技術(shù)標(biāo)準(zhǔn),然后再來根據(jù)這個(gè)標(biāo)準(zhǔn)來比賽誰的產(chǎn)品做得好。但是正當(dāng)各家J2EE廠商比較得正熱鬧的時(shí)候,卻半路殺出一個(gè)程咬金,微軟有個(gè)網(wǎng)站叫做GotDotNET公布一份報(bào)告,宣稱他們用同樣的架構(gòu)運(yùn)用.NET技術(shù)做出同一套系統(tǒng),結(jié)果就是本文一開頭的那一段︰"和Java相比具有節(jié)省2/3程序代碼、效能快28倍,承載六倍的使用者的功能"。這個(gè)數(shù)字一公布,就常常被微軟以及微軟的經(jīng)銷商們拿來當(dāng)成.NET遠(yuǎn)遠(yuǎn)超越J2EE的證據(jù)。

這種驚人的數(shù)據(jù)當(dāng)然引起J2EE陣營的質(zhì)疑,于是大家仔細(xì)去看到底這些數(shù)字是
怎么產(chǎn)生的,很快地就被發(fā)現(xiàn)其中大有文章。這個(gè).NET版本的寵物店系統(tǒng)已經(jīng)被從頭到尾改裝過,整個(gè)架構(gòu)都跟原先Java Pet Store不一樣。根據(jù)網(wǎng)絡(luò)上來自各方的整理,主要的不同點(diǎn)有以下幾個(gè)﹕

1. Java Pet Store用的架構(gòu)設(shè)計(jì)是所謂的MVC design pattern。MVC是Model-View-Controller的簡寫,是design pattern的一種,源自Smalltalk。以往開發(fā)這種大型應(yīng)用程序常常把不同用途的各部分程序都混在一起,造成項(xiàng)目成員分工不清,系統(tǒng)也很難維護(hù)。MVC design pattern則是將對(duì)象分成三類,Model對(duì)象專門用來包裝應(yīng)用程序的狀態(tài),View用來負(fù)責(zé)屏幕上的展現(xiàn),Controller則負(fù)責(zé)定義應(yīng)用程序的各種動(dòng)作和反應(yīng)。Java寵物店系統(tǒng)利用MVC Pattern設(shè)計(jì)整個(gè)系統(tǒng)架構(gòu),將各層的對(duì)象清楚地分開。.NET的寵物店則是完全采用自己定義的架構(gòu),所以在一開始就和原來的范例完全不一樣。

2. 在資料存取方面,.NET寵物店大量使用數(shù)據(jù)庫中的store procedure。但是在原來的Java寵物店中,這些商業(yè)邏輯的工作是放在中間層組件中的。把這些工作放到store procedure里也許可以增加一些執(zhí)行效率,但是卻犧牲了程序的彈性和把各種工作都放進(jìn)store procedure里, 帶來的缺點(diǎn)是維護(hù)不易。而且對(duì)于某些陽春型的數(shù)據(jù)庫系統(tǒng) (例如MySQL),它根本就沒有store procedure的功能。

3. 在數(shù)據(jù)庫方面,.NET寵物店采用ADO.NET的Sql DataReaders來存取微軟SQL? Server的資料。但是如果數(shù)據(jù)庫換成其它廠牌的產(chǎn)品,比如說 Oracle、
?? Sybase或是DB/2,雖然還是可以用 ADO.NET透過 OLE DB以及ODBC等方式來存取,但是在效率上就不可能跟在Microsoft SQL Server上一樣了。所以Java寵物店是一個(gè)不管使用各家產(chǎn)品皆可行的展示,.NET寵物店則是在各方面都采用自家產(chǎn)品/技術(shù)的產(chǎn)物。

4. 另外.NET寵物店還有一個(gè)最快速提升效率數(shù)字的方法,就是去更改SQL的
?? query statement,讓傳回來的資料筆數(shù)少一些。這招果然有立竿見影的效果

簡單來說,這個(gè).NET版本寵物店和Java寵物店的最大差別在架構(gòu)設(shè)計(jì)。Java寵物店的目的是展示一個(gè)具擴(kuò)充性的企業(yè)運(yùn)算架構(gòu),就是采用三層(3-Tiers)式設(shè)計(jì),資料展現(xiàn)層在最外面,中間是執(zhí)行企業(yè)運(yùn)算邏輯的中間層組件,后端就單純是存放資料的關(guān)系型數(shù)據(jù)庫。如此一來工作分得很清楚干凈,各司其職。而微軟的.NET寵物店其實(shí)就類似傳統(tǒng)的兩層式(2-Tiers)設(shè)計(jì),

另外Java寵物店當(dāng)初的用意也只是當(dāng)成一個(gè)J2EE架構(gòu)設(shè)計(jì)的模板,并沒有特別針對(duì)加速執(zhí)行效能作額外的設(shè)計(jì)。但是.NET寵物店完全以執(zhí)行效能出發(fā),為此不惜重新量身訂作,雖然系統(tǒng)跑起來外觀和功能一樣,但是里頭完全不是那么回事。如果用它來展示.NET也可以做出一套相同的寵物店系統(tǒng)那倒無妨,但是如果用執(zhí)行效率來作文章,那就有些不公平了。

近來最新的發(fā)展是Sun的Java/XML部門總裁Rich Green在JavaOne大會(huì)上宣布,Oracle和IBM又針對(duì)Java寵物店在不更動(dòng)架構(gòu)下做了效能提升,結(jié)果比.NET寵物店快上18到22倍。比如說在中間層的EJB組件之中,它們使用 isModified() 方式來避免不需要的數(shù)據(jù)庫更新動(dòng)作,這個(gè)小更動(dòng)就大幅提升了整體的執(zhí)行效率。而且為了系統(tǒng)的架構(gòu)彈性和程序可移植性,在這個(gè)新版的系統(tǒng)中仍然沒有像.NET版本一樣使用store procedure。Oracle的這篇最新報(bào)告和原始碼可以在下列網(wǎng)站下載﹕

http://otn.oracle.com/tech/java/oc4j/content.html

另外在TheServerSide網(wǎng)站上也有一位先生發(fā)起在不犧牲原來架構(gòu)和彈性的前提下,來做一套也在執(zhí)行效能上作最佳化的無敵終極版Java寵物店。也有人干脆仿效.NET寵物店的方式,干脆弄一套兩層式(2-Tiers)的Java版寵物店,和用微軟的范例系統(tǒng) "北風(fēng)數(shù)據(jù)庫" 同時(shí)擺在網(wǎng)站上讓人做線上比較。它們的網(wǎng)址分別是︰

http://www.javelinsoft.com/petstore
http://www.javelinsoft.com/northwind

相信這個(gè)寵物店大戰(zhàn)還沒完,J2EE各家廠商、網(wǎng)絡(luò)上Java陣營的支持者、加上.NET陣營,都會(huì)繼續(xù)改進(jìn)自己做的系統(tǒng),并公布更加夢(mèng)幻的數(shù)據(jù)。一般使用者要注意的就是不要被簡單的數(shù)字所蒙騙,不要跟著瞎起哄。要看看到底它做了哪些修改才得到這樣的效能提升,而且效能不是一切,系統(tǒng)的穩(wěn)定度、架構(gòu)的彈性和程序可移植性、程序維護(hù)上面的難易度,都是要一并考量的因素。而且既然要比賽,立足點(diǎn)就得公平,不然好比奧運(yùn)游泳比賽,大家都照規(guī)矩在水中劃手踢腿游,但是偏偏有一個(gè)人為了速度,在屁股上裝個(gè)推進(jìn)器往前射,然后再來自己宣稱打破世界紀(jì)錄,還有一幫人在旁邊跟著鼓掌叫好,這樣子就不太對(duì)了。

下面是本文中提到的文章網(wǎng)址,有興趣進(jìn)一步研究的朋友可以自行參考﹕

Java寵物店的原始網(wǎng)址 (包含所有文件和范例程序代碼)﹕
http://java.sun.com/blueprints/code/index.html#java_pet_store_demo

Sun有關(guān)這個(gè)Java寵物店系統(tǒng)的FAQ︰
http://java.sun.com/blueprints/qanda/faq.html

解說 MVC Pattern的文件︰
http://java.sun.com/blueprints/patterns/j2ee_patterns/model_view_controller/index.html

.NET版本寵物店的網(wǎng)址︰
http://www.gotdotnet.com/team/compare/petshop.aspx

Oracle版本Java寵物店的網(wǎng)址﹕
http://otn.oracle.com/tech/java/oc4j/content.html

BEA版本Java寵物店的網(wǎng)址﹕
http://www.bea.com/press/releases/2001/0709_benchmark_bea-ibm-oracle.shtml

IBM對(duì).NET提出的響應(yīng)︰
http://www-3.ibm.com/software/webservers/studio/msnetreview.html





Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1535280


本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/tan_jianhui/archive/2008/03/12/2172273.aspx

java pet store


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 三上悠亚在线一区 | 国产精品美女久久久久网 | 久久好色| 天天做天天添婷婷我也去 | 99久久日本一区二区波多野结衣 | 国产激情一区二区三区在线观看 | 久久视频这里只有精品 | 日韩黄色大片免费看 | 羞羞视频在线观看视频 | 天天性综合| 成人精品国产亚洲 | 国产精品久久久久久免费 | 不卡影院| 久久亚洲精品永久网站 | 香蕉网伊 | 2019年国产高清情侣视频 | 日本精品久久久久中文字幕 | 九九在线精品 | 日日射夜夜操 | 亚洲国产成人久久精品影视 | 久久精品国产99久久无毒不卡 | 在线看福利视频120秒 | 精品日本亚洲一区二区三区 | 久久午夜剧场 | 婷婷 综合网站 | 特黄a大片免费视频 | 国产真实乱子伦精品 | 亚洲玖玖| 国产精品精品国产一区二区 | 久久婷婷国产一区二区三区 | 高清欧美色欧美综合网站 | 波多野结衣手机视频一区 | 亚洲精品久久精品h成人 | 中文字幕久久精品波多野结 | 夜夜骑日日 | 日日夜夜操天天干 | jizzjizz中国护士第一次 | 日韩欧美视频在线一区二区 | 国产精品自拍亚洲 | 狠狠色丁香婷婷综合最新地址 | 亚洲国产天堂久久综合9999 |