JFox

          The most lightwegith Java EE Application Server

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            9 隨筆 :: 0 文章 :: 27 評論 :: 0 Trackbacks

          2009年1月5日 #

              www.chinabrands.net是一個致力于宣傳和推廣國產品牌的網站,它為國產品牌建立目錄,并提供評論系統,使網友可以進行評價和打分,從而讓更多人了解并支持國產品牌。

              該網站完全基于JFox進行構建,采用JFox MVC作為表現層框架,JFox EJB3作為邏輯層框架,JFox JPA作為持久層框架,上線之后,ChinaBrands一直穩定和高效地運行,感興趣的朋友可以訪問一下:www.chinabrands.net.
          posted @ 2009-01-05 09:11 JFox 閱讀(1583) | 評論 (5)編輯 收藏

          2008年6月10日 #

          非常有幸參與了博文視點組織的《開源技術選型手冊》的編寫工作,這本書全面介紹了Java當前各種流行框架,為企業CTO、項目經理、團隊Leader和高級軟件開發人員的技術選型提供參考,對于Java入門人員,也可以借鑒該書擴寬思路,找到自己感興趣的研究方向。

          這本書從策劃到創作再到定版發行,經歷了半年多的時間,每一個參與者都付出了艱辛的努力,就在定稿之際,四川汶川突然發生的地震災害,所有的參與者又一致同意將第一次發行的版稅以組委會的名義統一捐獻給災區,以參與開源協作來為賑災貢獻一份力量,我想是每一個開源愛好者覺得最有意義的事情了。

          從這次參與寫作《開源技術選型手冊》以及之前的幾件事情,我切身的感覺到國內的開源環境正在逐漸向好的方向改變,不僅有越來越多的個人參與開源的項目的開發,也有企業不斷加入到開源運動中來,更重要的是,還有越來越多的媒體開始主動為開源搖旗吶喊,官方機構也不斷主辦各種活動來促進開源運動,完善的開源環境的形成將促進國內開源運動快速發展。

          希望《開源技術選型手冊》能夠成為開源選型的黃頁,也希望國內能夠涌現出更多優秀的開源項目,成為《開源技術選型手冊》中的一員;希望我們早日實現開源大國向開源強國的轉變 :)

          更多有關該書的資訊可以參考:
          博文視點博客 http://blog.csdn.net/bvbook/archive/2008/05/22/2468977.aspx


          posted @ 2008-06-10 09:42 JFox 閱讀(1458) | 評論 (0)編輯 收藏

          2007年10月21日 #

              在JFox 3.0發布近半年之后,JFox Team榮幸地發布3.1版本,新特性如下:
              1. Velocity升級至1.5
              2. 支持提供多套數據庫腳本以適配多種數據庫
              3. 增加 Request Token,防止 Form 重復提交
              4. EJBContextExt提供Session訪問接口,方便在EJB中訪問Sesison數據
              5. @ActionMethod增加name屬性,可以指定Action Method訪問名稱
              6. 修正了一系列bug

              訪問JFox網站: www.jfox.org.cn
              下載 JFox 3.1
              《JFox 3.1 參考指南》  下載PDF
              在線演示 - 管理控制臺
              在線演示 - Petstore
          posted @ 2007-10-21 22:18 JFox 閱讀(922) | 評論 (6)編輯 收藏

          2007年9月17日 #

          近日,JFox榮幸地接受了IT專業媒體InfoQ的視頻采訪,核心開發人員楊泳和程勇分別就JFox的技術架構和開源歷程進行了講解。

          對話中,你可以詳細了解JFox 3.0新特性、JFox基礎架構、JFox特色、OSGi相關內容,以及如何加入JFox開源項目等內容。
          歡迎訪問InfoQ專題: 對話JFox 3.0核心開發人員

          posted @ 2007-09-17 22:30 JFox 閱讀(845) | 評論 (5)編輯 收藏

          2007年7月9日 #

          為了方便瀏覽,JFox團隊發布了HTML版《JFox 3.0 參考指南》,點擊打開 《JFox 3.0 參考指南》
          posted @ 2007-07-09 16:13 JFox 閱讀(1034) | 評論 (0)編輯 收藏

          2007年6月21日 #

          JFox團隊發布JFox Application Server 3.0版本以來,吸引了國內Java愛好者以及IT媒體的注意,InfoQ中文站的編輯肖樺(江南白衣)就此采訪了JFox的主創人員楊泳(jfox.young@gmail.com)。

          部分摘錄:
          ...應用服務器輕量化,確實是個值得關注的問題,老一代的應用服務器,WebSphere、WebLogic,甚至包括JBoss,都在離 lightweight越來越遠,而用戶總是喜歡簡單、輕量的東西,當前工業設計以追求“簡約實用”為原則,軟件的設計也應該如此。JFox確實在這方面做了很多的考慮,因為我們必須這么做,否則我們無法完成整個項目的開發,我們的目標就是“The most lightweight Java EE Application Server(最輕量級的JavaEE應用服務器)”...

          全文請看InfoQ文章:JFox主開發者楊泳解析3.0特性和設計架構
          更多JFox內容請訪問 www.jfox.org.cn

          posted @ 2007-06-21 20:18 JFox 閱讀(816) | 評論 (0)編輯 收藏

          2007年4月1日 #

          隨著EJB3規范以及支持EJB3JavaEE應用服務器的即將發布,全新Java EE體系架構的新戰爭將拉開帷幕,在過去3年中如火如荼的Spring占據了Java EE應用開發基礎平臺的大半江山,面對EJB3Spring你應該如何選擇呢?


          作為一個架構師,我對EJB是既愛且恨,對Spring又恨又愛,現在我們來也把這兩大技術體系來做一個全面分析和對比,希望能給大家在進行技術選型時一個更好的參考。

          1. 法制 VS “民主

          EJB規范一直由國際組織jcp(www.jcp.org)來制定,一經通過,即作為官方標準,且各廠商都會不遺余力的推動,所以對于企業應用來說,EJB就是法,以EJB為企業應用的基礎架構暫且稱為法治; Spring來自開源社區,由眾多的開源軟件開發者參與,逐步形成的一種流行的體系標準,它的設計以IoC(反轉控制)為核心,提倡所謂的侵入設計原則,這里暫且稱之為民主。

           

          支持EJB的應用服務器一般是一個大而全的產品,包括了構建企業應用需要的方方面面,如果需要額外擴展一般不容易,如果對一個應用服務器不滿意的話,那么可以且也只能更換整個應用服務器了,好在由于應用服務器市場百花齊放,從免費到低端再到高端,您可以任意選擇;

           

          SpringIoC容器發展而來,通過不斷集成AOPMVCOR/Mapping以及幾乎您能想到的各項服務而提供完善的企業應用架。對于一個應用,你可以自由選擇具體的技術框架的實現,SSH就是最常用一套組合,然而且不說是否每個架構師擁有正確選擇的能力,無論如何,最終的選擇在設計之初一旦確定,要想更換便不那么容易,你不可能輕松的將一個基于Spring + Structs的應用輕松的移植到Spring + WebWork,更不能輕松的將一個基于Spring + Hibernate的應用輕松的移植到Spring + iBatis,所以對于需要長期維護和發展的應用來說,將只能寄希望于你采用的框架都能夠很好的發展,并且能在升級的同時保證向前的兼容性。

           

          綜上所述,EJB由于對于整個世界是標準的,就好像是一部國際法,一旦遵循,全球通用,你可以比較輕松的在WebSphereWebLogic甚至JBoss之間進行切換,所以如果選擇EJB,你將在一個法制的環境下獲得最大的民主;而Spring對于整個世界看似民主的,然而一旦整套架構確定下來,卻成了專制,猶如美國式的民主,一旦被它征服,就成為它的專政統治了,想掙脫它的控制可就不那么容易了,其中的利害,大家細細品味吧。

          2. 輕量級組件 VS 輕量級內核 VS輕量級容器

          關于輕量級內核,不論屬實是否,現今的應用服務器都宣稱采用了微內核技術,在此基礎上建立Java EE的各項服務構建成完善的應用服務器;而Spring本身就是一個基于IoC的輕量內核,然后通過集成第三方的服務器來提供完整的架構。

           

          EJB組件曾經被認為是一個重量級的組件,而備受批評,EJB3規范的重要目標就是簡化EJB的開發,提供一個容器管理的輕量級的組件方案。

           

          但是有必要提醒一下,輕量級的組件,并不意味著提供服務的容器是輕量的,不管是EJB2還是EJB3,應用服務器因為需要管理組件的負責生命周期以及行為,并且內置提供了各項服務,容器自然是一個重量級的服務;至少現在看來,現有的Application Server提供的容器都還不足夠的輕量,從個人偏好來說,我就非常喜歡JBoss 2.4這個版本,它有我需要的功能,同時又夠簡單,而現在, JBoss 4的啟動速度已經逐漸讓我對它對失去了耐心。

           

          而對于Spring,也有同樣的問題,輕量級的內核,也不意味著整個框架是輕量的,更不意味著基于Spring的整個應用架構是輕量的。對于Spring,你需要去尋找并粘合各種服務,然后讓他們能夠穩定的在一起工作,如果應用對技術的需求較多,伸縮性要求也較高,你就會不斷的在應用服務中加入其他服務,如:資源池、消息隊列、集群等。當加入這些后,Spring的解決方案已經和Java EE Application Server解決方案一樣重量級了。

           

          追求簡單、輕量,是每一個應用架構的目標,對于企業應用的構建來說,輕量級組件標準+輕量的內核+輕量級的容器,并以此構建輕量級的應用平臺,才是最終需要的。如果有輕量級的容器出現,將幫助EJB3在企業應用中重新占據有利的地位。

          3. 可管理性與可控性

          這個問題對于一次性交付的項目也許不是問題,但是對于質量要求更高、生命周期更長的產品,卻是衡量平臺和架構的重要因素。

           

          基于 Spring 架構的應用,由于過分的自由和靈活,隨著項目的進展,逐漸集成的第三方框架越來越多,很難保證集成的服務和編寫的組件中有沒有漏洞,甚至相互之間有嚴重的沖突,那么,掌控整個項目的質量成了難題,光是一頁接一頁的配置文件,就知道今后的維護成本也就隨之增高,回想一下EJB2.0時代的ejb-jar.xml吧;而EJB因為集成的都是標準服務,而且組件模型也是固定的,加之應用服務器一般提供控制臺,用來查看運行時的各項屬性,并可對服務進行實時的管理,顯然比Spring開發的應用可控性更好。

           

          4. 功能性對比

          4.1 IoC容器,AOP能力

          IoC的能力Spring要略強一些,但是在EJB3中可以完全用Annotation方式進行注入,在開發上要簡單很多,對于一些相對比較固定的注入,采用Annotation更好,而對于一些可能需要經常變動的注入,XML更加靈活,EJB3剛好提供了這樣的兩種解決方案。如果你已經患有XML恐懼癥,那么EJB3無疑將給您以解脫。

           

          同時,EJB3組件中,支持多種方式注入,比如依賴于名稱、接口或者JNDI名,另外還支持使用@PersistenceContext注入EntityManager@Resource注入服務器資源,如EJBContextTimerService等,而一些Annotation已經成為JDK6的一部分,將來可能直接被JDK支持。

           

          AOP方面,如果您需要徹底的AOP,并且在Spring中集成了AspectJ 那么EJB3自然無法比擬,但是如果您的項目以夠用為原則,只需要一般方法攔截意義上的AOPEJB3提供的各種回調方法應該可以滿足您的要求了。

          4.2 事務處理

          EJB的看家本領,Spring也通過提供TransactionTemplate以及集成第三方事務處理器來支持JTA,都支持申明式事務,可以BMTCMT,但無論如何,移植的器官總也沒有自身長的好吧。

          4.3 分布式能力

          一般使用Java EE體系的公司都認為這是EJB的最大長處,但是實施并不如想象那樣,一來絕大多數都是Web應用,依賴Web提供的分布式能力已經可以滿足90%的需要了,二來大家基本上都是Web容器和EJB容器整體部署,EJB組件的分布部署少之又少。當然如果您需要Web層和應用層分開部署,那么Spring一定不在你的考慮范圍之內了。

          4.4 Cluster能力

          Cluster也是EJB的傳統優勢,但是老師說,能夠發揮EJB集群優勢的地方并不多,因為即使項目中采用了EJB,一般也采用Stateless SessionBean,而使用HttpSession Cluster,既然如此,無論EJB還是Spring,大家都是平等的。當然,如果您正在構建一個大型的應用,對集群的能力要求非常高,比如需要事務級的Cluster,而且還有分布式的需求,那么估計沒有多少因素會讓您考慮Web Server + Spring的架構了。

           

          4.5 Web Service

          EJB3中的Web ServiceEJB組件集成得如此之好,使用起來再簡單不過了,如下面實例所示,JAX-WS也將逐步成為Java Web Service事實標準;至于Spring可以實現各種基于Http的遠程調用方法,其優勢并不明顯。

           

          @Stateless

          @Remote

          @Local

          @WebService(endpointInterface = "jfox.test.ejb3.webservice.Calculator")

          public class CalculatorBean implements CalculatorRemote, CalculatorLocal {

           

              public int add(int x, int y) {

                  return x + y;

              }

           

              public int subtract(int x, int y) {

                  return x - y;

              }

           

          }

          4.6 集成第三方框架

          如果需要集成第三方框架的時候,估計您需要Spring了,當然前提是Spring 已經給出很好的集成方案;而如果采用EJB,則需要視特定的應用服務器了,推薦當類庫來用,或者使用context listener來啟動,是在不行,只能基于特定的應用服務器來進行集成,一般來說,應用服務器均提供了JMX集成能力。

          5. 總結

          縱觀人類歷史,官方過于強勢,則必然官逼民反;而民間力量過于強大,社會必將不穩定,這都是我們不愿看到的,在技術世界里也一樣。對于EJB3Spring這兩種方案,Spring現在處于壓倒性的優勢一方,希望EJB3的出現,一來能為官方挽回一些失去的領地,二來也能繼續引發更多的探討,不再拘束于一家之言,只有百家爭鳴的環境,才能讓開發人員和架構人員對企業應用的構建認識得更加完善,所以最好的方式是EJB3Spring互相促進,和諧發展。

           

          期待一個輕量的真正以開發需求為中心的EJB3應用服務器的出現,為疲軟的EJB市場注入新的活力!

          Infoq鏈接:  http://www.infoq.com/cn/articles/ejb3-spring-compare


          posted @ 2007-04-01 23:39 JFox 閱讀(1365) | 評論 (7)編輯 收藏

          僅列出標題  
          主站蜘蛛池模板: 松江区| 正阳县| 宜章县| 额敏县| 宁波市| 乌海市| 互助| 巴青县| 石泉县| 浠水县| 龙岩市| 木里| 昌乐县| 德惠市| 会昌县| 揭阳市| 高淳县| 封开县| 尚义县| 高要市| 银川市| 鄂伦春自治旗| 西畴县| 舒兰市| 桃园市| 聂拉木县| 普洱| 渭南市| 滨州市| 余干县| 延津县| 晴隆县| 康马县| 宜宾市| 晋城| 黔江区| 墨江| 浦江县| 剑川县| 垣曲县| 舟山市|