亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

EJB 叫我如何愛上你 --評《精通EJB》及EJB

2019-11-18 12:34:32
字體:
來源:轉載
供稿:網友

  先談談《精通EJB》這本書,Ed Roman是聞名網站TheServerSide.com的CEO,自己也擁有一家專門從事中間件開發的公司MiddleWare, 另外兩個合著者Tyler Jewell是BEA的J2EE專家,Scott W. Ambler也是面向對象設計和靈敏建模的大師,由這樣的專家寫出來的書籍,的確堪稱經典,讓人看得放心,讀得順心。
  
  整個J2EE架構是個非常復雜的架構,而《精通EJB》用461頁(中文版)就把EJB從底層原理到實際應用部署都講的清清楚楚,實在難能可貴。作者采用循序漸進的方式講述EJB, 構造了一個非常好的學習EJB的思路,作者很細心的考慮了讀者看書時感受,告訴了讀者什么時候該關注什么內容,什么內容可以暫時放在一邊。在內容講述上,作者基本采用提出問題,回答問題的方式,語言簡明扼要,卻又一語中的,讓你心領神會。讀完此書,的確能讓你把握EJB了(本書原名Mastering EnterPRise javaBeans,所謂精通其實就是把握的意思,要精通一門技術,哪是讀完一本書就能做到的呀)。
  
  本人從事Java的設計和開發也有三年了,但一直只做前端網站服務器和Java應用程序,對EJB一直只有耳聞,并不十分了解,隨著業界對J2EE平臺的不斷投入,大量優秀的設計思想都在EJB平臺上得到了應用,所以我也非常想在以后的業務系統開發中采用EJB技術,但一項新技術的采用,絕不是因為它很時髦就采用的, 應用一項新技術以前,你一定要先了解它的基本原理,它能夠達到的功能和性能,有什么優點和缺點,你的開發人員能不能把握它,你能否把自己獨特的技術優勢應用到這個平臺中去等等?!毒‥JB》這本書可以達到這個目的,象我這樣希望考察EJB的人都可以看看這本書,從沒有接觸過EJB,希望將來成為EJB開發人員的程序員也應該看看這本書。
  
  但在買這本書之前,你應該注重以下幾點:
  1、你應該有Java的基礎知識,至少開發過一些Java應用程序,最好開發過Java的企業信息系統,對網站技術、數據庫技術、通訊等都有個基本了解,假如你只是個剛畢業的菜鳥,現在還不是看這本書的時候
  2、這本書是對EJB技術的全局介紹,它是讓你了解EJB的書,看完這本書,并不能讓你真正進行EJB開發,你至少還應該讀一些關于EJB設計模式的書,比如《J2EE核心模式》等,避免對EJB技術的盲目應用,EJB是一項復雜的技術,運用得不好會適得其反,給你的項目帶來災難性的后果。
  3、EJB只是一種規范,看完這本書你就知道,企業應用的很多因素,比如負載均衡、容錯、事務治理策略、系統監控等,EJB本身并沒有做具體的實現規定,很多方面必須依靠J2EE平臺生產廠家來實現,而不同的J2EE平臺廠家,在實現上有很大的差異,要真正提供一個好的企業應用系統,選好你的J2EE平臺產品是非常重要的事情?!毒‥JB》這本書專注于EJB技術本身,對實際的J2EE產品基本沒有涉及,要真正應用EJB技術,你應該還要去考察具體的J2EE平臺產品,看廠家是如何解決上面提到的那些具體問題的,廠家的產品僅僅通過J2EE認證,并不能保證能夠用它就能構造出性能卓越,運行穩定的系統。
  
  EJB卻不是個好技術
  遺憾的是,看完這本書,卻讓我做出了放棄EJB的決定,J2EE是一個非常好的企業應用設計規范,它采用了大量優秀的設計思想,但非常遺憾,作為J2EE的核心,EJB的設計方案讓人失望,J2EE設計的目標,就是讓企業應用開發人員能夠在一個規范的平臺之上,不用考慮具體的技術問題,專注于業務邏輯實現,就可以開發出性能、穩定性、可治理性各個方面的都達到較高水平的系統。但我很難想象,在EJB技術平臺能夠實現這個目標,實際上,它存在根本的缺陷:
  1、EJB技術的一項最根本的技術缺陷來自于對象序列化技術,對象序列化技術是EJB跨平臺通訊的基礎,所有的EJB之間通訊都依靠了對象序列化技術的應用。從設計架構上看,這是個簡單清楚的的設計,通過對象的序列化實現了對象在多個進程之間的復制傳遞。但非常遺憾的是,設計者對于Java平臺對于對象序列化的實現的考慮卻做的很草率,對象序列化的性能很差,我想很多人可能沒有注重到這一點,我也是在做到底層的開發時才發現這個問題,我們開發的一個企業應用系統必須要實現跨Java平臺和C++平臺之間的訪問,為了實現跨平臺通訊,我們設計一項通用的數據表達格式,采用了xml格式實現了多種平臺之間的數據傳輸,大家知道把數據打包成XML格式,再從XML格式解包系統開銷是比較大的,會導致通訊性能下降,因此我們對此進行了優化,剛開始的想法是在相同的平臺之間通訊時,將數據打包成二進制格式傳輸,只有在不同平臺之間傳輸時才采用XML格式。我們發現Java提供了對象序列化的機制,可以把一個對象直接序列化成為二進制數據傳遞,所以我們在Java平臺和Java平臺之間傳輸數據時,采用序列化的方式進行數據的打包和解包,但讓人驚奇的是,經過我們的性能測試,采用了對象序列化技術之后,我們發現通訊的性能反而比原來采用XML格式打包方式更慢了,后來經過測試也的確驗證了,將一個對象序列化成二進制數據的速度的確慢過你把它用XML格式打包成字符串,再轉換成二進制數據的速度。具體的原因我不具體說了,你寫個簡單的測試程序試一下就知道了??上攵?,基礎支撐的性能如此之差,在此之上構造的EJB平臺,它的性能能好嗎?
  
  當然,這個問題也不是不可避免的,你只要重載對象的序列化方法,實現你自己的序列化方式就可以達到高性能的序列化。但是你想象一下,為每個對象寫序列化函數,這是個多大的工作量,為什么SUN的JDK本身至今也沒有實現高性能的序列化?僅僅考慮設計架構上的簡單性,而把大量的性能優化工作推給業務開發人員,是不負責任的做法。
  
  2、另一項EJB技術更為嚴重的缺陷來自于RMI(遠程方法調用),EJB更限定必須遵守COBRA規范的RMI-IIOP技術,實際上我質疑所有采用分布式對象調用的技術,包括COBRA、COM+、RMI等,這種技術的根本原理上都是一樣的,通過本地的一個遠程對象代理,通過網絡上的多次通訊實現對遠程對象的方法調用,這種設計架構的初衷是隱藏對象的具體位置,可以讓對象使用者不用關心對象的實際位置,但是這種方法的實現性能極差,象COBRA這種系統的設計者當初就沒有把性能問題作為一個重要問題去考慮,但正是性能問題,導致隱藏對象位置這個目的實際上也并沒有達到,因為通過通訊訪問遠程對象的性能太差,因此使用者處于系統性能的考慮不得不考慮遠程對象和本地對象的區別。更可悲的是,EJB的上層設計上也沒有能夠把遠程對象和本地對象的差別消除,從EJB設計人員自己的說法,遠程對象調用和本地對象調用在語義上就無法統一起來。既然上層就必須區分遠程對象和本地對象,那底層技術上就完全沒有必要采用這種性能很差的設計了。從COBRA開始,這種分布式對象訪問的技術就是不成熟的,EJB墨守了分布式對象技術的陳規,導致自己背上了沉重的包袱,使用者必須很小心地使用EJB技術,稍有不慎就會導致系統性能大幅度下降。我們從大量的J2EE設計模式中看到,很多設計模式都是為了補救EJB的性能缺陷而設計的,與其在一個有根本缺陷的平臺上施展你的才能彌補、避開系統的種種缺陷,不如放棄這種平臺,消除問題的根源所在,把你的精力放在能為客戶創造價值的地方去。
  
  我認為,在分布式系統中,對象與對象之間的通訊應該采用輕量級的消息傳遞,我們不能為了實現面向對象的設計就一定要在每個地方強制使用面向對象調用的方式,面向對象技術本身也是需要不斷改進的,我們在自主開發的中間件平臺中,采用輕量消息傳遞的方式實現多個服務對象之間的數據交換,同樣實現了服務對象具體位置的隱藏,而且實現了很高的性能。當然還可能存在其他很多高性能的解決方案,但我堅信EJB所基于的這種分布式對象調用技術遲早會被拋棄。
  
  3、與前面提到的兩個根本缺陷相比,EJB技術的其他方面的問題就顯得微不足道了,比如EJB本身定義的復雜性,實體Bean的性能問題等等,我相信這些問題一定可以解決,或者很輕易被新的設計替換掉,比如復雜性問題可以通過工具解決,實體Bean可以用輕量級的對象持久化層代替等等。
  
  我想說的是,EJB的很多設計方面是非常優秀的,有許多設計思想值得我們借鑒采納,但由于它本身存在根本的缺陷,導致了它無法成為一個可以長期持續發展的平臺,它需要徹底的改變,EJB就像一個成長中的少女,在她真正向成熟轉變以前,你可以欣賞她,但不值得愛上她,更不要著急把她娶回家。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲va码欧洲m码| 亚洲黄在线观看| 78m国产成人精品视频| 亚洲人成伊人成综合网久久久| 色樱桃影院亚洲精品影院| 成人免费在线视频网址| 尤物yw午夜国产精品视频明星| 欧美日韩福利电影| 色小说视频一区| 日韩中文字幕在线播放| 国产精品欧美激情在线播放| 日韩视频―中文字幕| 午夜精品在线视频| 精品中文字幕在线观看| 国产999在线观看| 日韩精品在线免费| 亚洲一区二区三区四区视频| 中文字幕国产日韩| 韩国一区二区电影| 亚洲韩国欧洲国产日产av| 久久久久久国产三级电影| 最近2019中文字幕在线高清| 亚洲a成v人在线观看| 午夜免费日韩视频| 国产精品久久一区主播| 亚洲人成电影在线| 日韩av黄色在线观看| 一个人看的www欧美| 亚洲成av人片在线观看香蕉| 国产精品视频公开费视频| 日韩美女在线观看一区| 中文字幕日韩专区| 成人黄色大片在线免费观看| 九九视频这里只有精品| 97视频免费观看| 日韩av电影手机在线观看| 日韩国产在线播放| 亚洲第一区中文字幕| 中文字幕欧美专区| 欧美另类极品videosbestfree| 欧美与欧洲交xxxx免费观看| 精品国产乱码久久久久久虫虫漫画| 亚洲国产又黄又爽女人高潮的| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品亚洲网站| 日本欧美在线视频| 国产日韩欧美在线观看| 成人中文字幕在线观看| 国产精品自产拍在线观看中文| 国产成人精品免高潮费视频| 精品亚洲一区二区三区在线播放| 91影视免费在线观看| 青青在线视频一区二区三区| 一区二区三区在线播放欧美| 欧美壮男野外gaytube| 亚洲第一在线视频| 亚洲成人av片| 国产精品美女999| 欧美视频在线免费| 91产国在线观看动作片喷水| 国产成人精品在线播放| 中文字幕精品av| 午夜精品一区二区三区在线播放| 欧美多人乱p欧美4p久久| 久久久久久亚洲精品| 91成人国产在线观看| 亚洲自拍高清视频网站| 日本免费在线精品| 啪一啪鲁一鲁2019在线视频| 国产精品美女久久| 日韩成人av在线播放| 亚洲人午夜精品免费| 亚洲精品456在线播放狼人| 色噜噜亚洲精品中文字幕| 日韩精品免费在线播放| 91av中文字幕| 国产综合久久久久| 亚洲国产欧美精品| 日韩电影网在线| 亚洲伊人久久综合| 久久的精品视频| 欧美xxxx14xxxxx性爽| 国产成人免费91av在线| 亚洲第一视频在线观看| 中文字幕日韩免费视频| 2019中文在线观看| 成人黄色免费片| 欧美成人亚洲成人日韩成人| 日韩激情视频在线| 欧美性猛交xxxx乱大交3| 77777少妇光屁股久久一区| 国产精品6699| 日韩va亚洲va欧洲va国产| 国产91精品黑色丝袜高跟鞋| 国产成人在线亚洲欧美| 国产精品一二三视频| 亚洲午夜未删减在线观看| 精品一区二区电影| 一区二区三区四区精品| 91亚洲精华国产精华| 亚洲偷熟乱区亚洲香蕉av| 亚洲成人激情小说| 成人中文字幕+乱码+中文字幕| 亚洲伊人久久大香线蕉av| 欧洲永久精品大片ww免费漫画| 久久精品久久精品亚洲人| 国产欧美中文字幕| 久久色精品视频| 国产精品video| 91精品视频在线免费观看| 国产亚洲福利一区| 欧美一级高清免费播放| 久久免费视频这里只有精品| 久久久精品亚洲| 中文字幕日本精品| 66m—66摸成人免费视频| 国产成人a亚洲精品| 高清日韩电视剧大全免费播放在线观看| 97香蕉超级碰碰久久免费软件| 日韩欧美一区二区在线| 久久久久久久久久久久久久久久久久av| 欧美日韩国产中文精品字幕自在自线| 琪琪亚洲精品午夜在线| 国产美女精彩久久| 在线成人一区二区| 久久精品99久久久香蕉| 亚洲最大福利网站| 色午夜这里只有精品| 欧美多人爱爱视频网站| 国产精品久久久久久搜索| 欧美日韩在线视频首页| 日本午夜人人精品| 国产精品久久久久av| 国产精品一二三视频| 亚洲自拍欧美另类| 国产精品亚洲美女av网站| 亚洲综合色av| 夜夜狂射影院欧美极品| 亚洲精品国精品久久99热一| 欧美成人免费全部观看天天性色| 欧美视频不卡中文| 国产精品热视频| 91wwwcom在线观看| 57pao成人永久免费视频| 一本一道久久a久久精品逆3p| 国产综合视频在线观看| 精品成人国产在线观看男人呻吟| 欧美国产日本高清在线| 91wwwcom在线观看| 国产欧美日韩精品丝袜高跟鞋| 欧美高清无遮挡| 国产国语刺激对白av不卡| 91av福利视频| 亚洲天堂视频在线观看| 国产视频久久久久| 亚洲综合成人婷婷小说| 欧美在线视频播放| 国产精品白嫩美女在线观看| 亚洲成人网在线| 中文字幕国产亚洲2019| 在线视频欧美日韩精品| 精品亚洲精品福利线在观看| 中文字幕日韩欧美在线| 中文字幕在线看视频国产欧美在线看完整|