熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

參加4月4日Ben Wang的JBoss講座紀實

2013-11-23 20:30:18  來源: Java開源技術 

  今天下午趕到復旦大學三教去Ben Wang的JBoss講座由於聽講座的人比較多教室臨時從改到:Ben在曹曉鋼同學陪同下來的曹曉鋼同學最辛苦上午去浦東機場接Ben
  
  在講座開始前和Ben進行了簡單的交談感覺Ben是個謙謙君子很有學者的氣質實際上他也確實是PhD沒有一點架子很平易近人很和藹
  
  Ben講座要介紹的內容很多因此兩個小時的演講很緊湊講座結束之後有幾個朋友舉手提問其中有個朋友的問題比較尖銳直接對准了EJB特別是Entity Bean而Ben的回答也堅定了我的一些觀點這些下面再提到
  
  提問結束以後論壇的幾個版主曹曉鋼dlee和他的gfsmallduzigehf馬偉和在IBM做consultant的nuke陪同Ben來到陸家嘴小南國吃飯實際上最後是由nuke埋單的飯桌上大家邊吃邊聊邊向Ben請教問題我也借機問了很多關於JBossEJBHibernate方面的問題
  
  由於Ben第一次來中國大陸於是晚餐後我們陪Ben逛了浦東的濱江大道眺望浦西外灘欣賞著名的上海灘夜景最後做鳥獸散了
  
  Ben此次來華的主要目的就是想了解一下中國大陸香港地區和台灣地區對於JBoss的應用情況以及尋找合適的合作伙伴因此他比較關心JBoss在這些地區的應用狀況我向他介紹了一些我了解的國內的應用JBoss應用Hibernate方面的現狀向他提了一點點個人的見解
  
  通過今天聽Ben的講座和Ben的交流我覺得收獲很大
  
  一方面是和JBoss Inc這樣一個國際著名的Java Open Source組織有了近距離的接觸和了解也許這樣的機會可以促進中國的Java社區和國際Java社區更多的交流和合作同時對Java視線網站也是一個很好的提升
  
  另一方面我了解了很多關於JBossHibernate方面的情況由於Ben是JBoss的core team成員之一因此很多情況從他嘴裡說出我想應該是相當的准確了雖然這僅僅代表Ben自己一個人的想法不過我想也基本上可以代表整個JBoss Core Team的看法這一點也是我想向大家稍微詳細介紹的地方
  
  關於Entity Bean和Hibernate的爭論
  我是一個Entity Bean的堅決反對者圍繞Entity Bean的話題在國內也是眾說紛纭我去年夏天曾經就這個問題和很多人反復辯論過由於堅決反Entity Bean堅持O/R Mapping特別是Hibernate的態度最後被很多人圍攻這也直接導致了現在Java視線論壇的誕生
  
  對於JBoss這樣一個全面支持EJB的Java Application Server來說了解JBoss core team對EJB特別是對Entity Bean的態度是我比較關心的事情
  
  Ben在講座提問的時候就表明Entity Bean是JEE規范中最失敗的東西然而對數據庫的操作又是一個軟件項目最重要的部分如果連這部分都做不好軟件還能做什麼?晚餐的時候Ben也向我介紹他以前做項目也往往采用Session Bean去直接操作JDBC而不采用Entity Bean
  
  相對於Entity Bean的失敗Hibernate卻得到了異乎尋常的關注從Ben的意思中似乎流露出JBoss Inc有意將Hibernate做為Java數據庫持久層規范來推廣的設想
  
  另外由於Gavin King是JDO委員會成員Ben說從他那裡了解的情況是現在JDO規范已經陷入了難產各個成員代表了不同公司的利益相持不下JDO在可以預見的將來無法發布JDO的未來已經蒙上了陰影
  
  鑒於此JBoss在目前的階段已經放棄了把JDO技術集成進來的設想而轉為全面支持EJB規范而未來的EJB規范據他說將非常不同於現在的EJB我感覺JBoss似乎有點努力讓Hibernate成為EJB規范中的一部分
  
  而我問到既然Entity Bean是雞肋的話而Hibernate也完全可以在CMP外面使用又何必要另外費時費力把Hibernate集成到CMP中做CMP的Engine呢?Ben回答是沒有必要使用CMP的但是考慮到很多采用了CMP的老系統兼容問題考慮到為了保持和JEE規范的兼容問題所以才會這樣做的這不是一個技術因素而是一個政治因素當然如果你覺得沒有必要使用CMP你可以完全可以單獨使用Hibernate
  
  從Ben那裡了解到的情況我覺得對於O/R Mapping未來的技術方向稍微有點眉目
  ) 當前的Entity Bean無疑是失敗的未來的EJB中的Entity Bean也許會變成了像Hibernate的樣子
  ) JDO的前景堪憂未來還遙遙無期至少JBoss已經放棄了對JDO的興趣
  ) JBoss在力推Hibernate似乎有將Hibernate做為Java持久層標准規范的設想
  
  在Ben看來開放源代碼軟件的競爭模式就是沒有標准的大家都在競爭最後優勝者就成了標准現在Hibernate無疑是這方面的佼佼者有望成為事實上的標准
  
  AOP的廣泛應用
  上次聚會gigix的AOP講座我沒有時間聽這次Ben介紹AOP我得以有幸了解了AOP的基本概念從Ben介紹來看JBossAOP能夠做的事情很多可以處理Log處理跨類調用的事務等等跨類調用的事務?呵呵這不是原來EJB的功能嗎?這也是我的一個疑問如果AOP可以把容器管理事務Security檢查分布式功能全部實現那麼還要EJB干什麼?畢竟AOP可以實現的功能是對POJO的而且是lightweight的無論編程調試部署和運行其難度都遠遠小於EJB而性能相當甚至更好於是我帶著這個疑問請教Ben他的回答就是如果未來的發展AOP真的可以做到的話EJB確實就沒有使用的必要了但是從現狀來說有很多舊系統要兼容有Sun的JEE規范要兼容沒有這個兼容認證可能很多企業就不會用JBoss了當然Ben沒有否定EJB他說JBoss是在同時支持AOP和EJB的並且JBoss做為一個App Server要想被企業接受全面支持JEE標准是必要的
  
  對於AOP和EJB的問題Ben的看法是也許在將來JEE規范將包括AOP否則也許JEE規范會逐漸被淘汰而JBoss的做法就是支持JEE規范支持EJB同時JBoss也支持AOP你如果想兼容JEE開發EJB那麼OK如果你喜歡用AOP簡化編程那麼也OK
  
  關於JBoss本身的發展
  由於我對JBoss不是很熟悉因此在這方面也說不出來所以然印象比較深刻的兩點是
  
  ) JBoss接受Venture Capital從JBoss Group改名為JBoss Inc做為一個商業公司開始運作了我覺得這是一個很好的事情軟件要成功遲早要和商業化運作結合的
  
  ) JBoss要成為一個Java Open Source Project的社區不斷的吸收適合自己發展需要的Java Open Source Project共同推進OpenSource事業的發展
  
  通過這次交流我想包括我本人在內對Hibernate的信心都無疑得到了巨大的加強我雖然反對Entity Bean對JDO標准也一向沒有好感但是我從來沒有想過Hibernate有成為O/R Mapping標准的可能性我只是一慣認為Hibernate是一個很好用很實用的東西在項目中使用可以節省巨大的人力可以讓你的OO編程變得很舒服就是現在我也不認為Hibernate會成為O/R Mapping的事實標准如果有一天有更好的O/R Mapping框架出現我也會毫不猶豫的喜新厭舊不過毫無疑問的是Hibernate必將成為Java O/R Mapping領域裡最主流的最有前途的應用最廣泛的框架之一
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28584.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.