什麼是JBoss

 
解釋1:

 Jboss是 web服務器的一種,主要做ejb容器,和tomcat集成就可以jsp,servlet,ejb通吃了
 Jboss有兩種版本,一種是獨立的,一種是和tomcat集成的,當然都是免費的啦
 EJB(enterprise javabean),他不是javabean簡單的升級,而是一些提供分佈式訪問的類
 包括實體bean,會話bean,消息驅動bean
---------------------------------------------------------------
JBoss簡介
 JBoss是一個運行EJB的J2EE應用服務器。它是開放源代碼的項目,遵循最新的J2EE規範。從JBoss項目開始至今,它已經從一個EJB容器發展成爲一個基於的J2EE的一個web 操作系統(operating system for web),它體現了J2EE規範中最新的技術,並且它還在the JavaWorld Editors' Choice 2002評選中獲得“最佳Java應用服務器”大獎。無論是學習還是應用,JBoss爲我們提供了一個非常優秀的平臺。有關JBoss的詳細信息請參閱其主頁http://www.jboss.org。

 剛開始使用JBoss進行EJB開發時,由於可供參考的資源不是很多,所以有一個比較困難的起步階段。JBoss的配置和使用沒有提供圖形嚮導界面,所以開發部署EJB相對比較複雜。本文通過儘量具體的演示來對JBoss3.0下的EJB開發和部署的進行一個簡單的介紹,從而使剛開始使用JBoss的用戶可以很快地進入到真正的J2EE應用開發中。

 Enterprise JavaBean (EJB)規範定義了開發和部署基於事務性、分佈式對象應用程序的服務器端軟件組件的體系結構。企業組織可以構建它們自己的組件,或從第三方供應商購買組件。這些服務器端組件稱作 Enterprise Bean,它們是 Enterprise JavaBean 容器中駐留的分佈式對象,爲分佈在網絡中的客戶機提供遠程服務。
 
解釋2:

 JBoss是一個開源的符合J2EE規範的應用服務器,作爲J2EE規範的補充,Jboss中引入了AOP框架,爲普通Java類提供了J2EE服務,而無需遵循EJB規範。Jboss通過類載入時,使用Javassist對字節碼操作實現動態AOP框架,Javassist是一個開源的編輯字節碼的類庫。

 Jboss中參考,切入點與方面也由普通Java對象實現,並使用XML文件配置。Jboss的連接點模型與AspectJ略有不同,提供了一系列預定義的切入點,包括類匹配,方法調用,構造器調用,域訪問,特定的調用與被調用關係。通過這些切入點的邏輯運算,可以實現更爲複雜的切入點。方面爲Java類,參考是其中的一個方法,方面中不含切入點,方面主要爲各種攔截器(Interceptor),攔截器即爲只含一個參考的方面,單一連接點上可由多個攔截器形成攔截器鏈,攔截器執行額外的操作。對方法的攔截由Advisor類管理,在連接點依次調用攔截器,並最終調用被邏輯的方法。而關於切入點,參考已及方面的信息由AspectManager管理。此外,Jboss提供對元數據的支持,用於爲類,方法,構造器以及域添加額外的屬性,並可在運行期訪問。

 爲實現攔截,Jboss需要修改類的字節碼,大致過程如下。

 XML配置文件中關於切入點,攔截器,元數據以及混合類的信息在應用程序部署時被讀入、解析,並生成相應的對象,這些信息與實例化的對象由AspectManager管理。在需要混入方面代碼的類載入時,AspectManager將創建Advisor類,將方面相關信息傳遞給它,並對類的字節碼進行修改,之後將修改過的字節碼交給類載入器完成類的裝載。字節碼的修改主要是對被載入的類添加一系列方法用於代理那些匹配連接點的方法調用,構造器調用,域訪問以及方法導入,轉爲對Advisor類相應方法的調用。類中各方法將重命名,保留原方法體,並添加一個與原方法同名的方法,在這個方法中調用那些代理方法,用來將調用代理給Advisor類,或調用重命名的原方法。對於域訪問,分別添加兩個方法,對應於讀與寫操作,將域訪問代理至Advisor類,在訪問這個域的類中,則需將對域的訪問轉換爲對上述方法的調用。對於構造器調用,則添加一個方法,將調用代理至Advisor類,並對構造對象的類的構造代碼作相應轉換。對於導入,被導入的類中將添加一個混合類實現的引用,並添加混合類接口中的方法,將對混合類方法的調用代理至Advisor類,並最終調用混合類的實現。相關類載入後,初始化Advisor類,填入攔截器鏈,以完成整個處理過程。

一、JBoss簡介

     近年來,在J2EE應用服務器領域,JBoss是發展最爲迅速的應用服務器。JBoss是免費的,開放源代碼J2EE的實現,它通過LGPL許可證進行發佈,這使得JBoss廣爲流行。Boss是一個運行EJB的J2EE應用服務器,例如:數據庫訪問JDBC、交易(JTA/JTS)、消息機制(JTS)、命名機制(JNDI)和管理支持(JMX)。它是開放源代碼的項目,遵循最新的J2EE規範。目前的JBoss發佈版2.2.4實現了EJB 1.1和部分EJB 2.0的標準、JMS 1.0.1、Servlet 2.2、JSP 1.1、JMX 1.0、JNDI 1.0、JDBC 1.2和2.0擴充(支持連接池 (Connection Polling))、JavaMail/JAF、JTA 1.0和JAAS1.0標準,JBoss是100%純Java實現能運行於任何平臺。

     從JBoss項目開始至今,它已經從一個EJB容器發展成爲一個基於的J2EE的一個web 操作系統(operating system for web),它體現了J2EE規範中最新的技術,並且它還在the JavaWorld Editors' Choice 2002評選中獲得“最佳Java應用服務器”大獎。無論是學習還是應用,JBoss爲我們提供了一個非常優秀的平臺。

     另外,JBoss應用服務器還具有許多優秀的特質:

它將具有革命性的JMX微內核服務作爲其總線結構;
它本身就是面向服務的架構(Service-Oriented Architecture,SOA);
它還具有統一的類裝載器,從而能夠實現應用的熱部署和熱卸載能力。
     因此,它是高度模塊化的和鬆耦合的。JBoss用戶的積極反饋告訴我們,JBoss應用服務器是健壯的、高質量的,而且還具有良好的性能。

二、JBoss的發展

     爲滿足企業級市場日益增長的需求,JBoss公司從2003年開始就推出了24*7、專業級產品支持服務。同時,爲拓展JBoss的企業級市場, JBoss公司還簽訂了許多渠道合作伙伴。在2004年6月,JBoss公司宣佈,JBoss應用服務器通過了Sun公司的J2EE認證。這是JBoss應用服務器發展史上至今爲止最重要的里程碑。與此同時,JBoss一直在緊跟最新的J2EE規範,而且在某些技術領域引領J2EE規範的開發。因此,無論在商業領域,還是在開源社區, JBoss成爲了第一個通過J2EE 1.4認證的主流應用服務器。現在,JBoss應用服務器已經真正發展成具有企業強度(即,支持關鍵級任務的應用)的應用服務器。

     近年來,Hibernate已經成爲了事實上的持久化引擎。JBoss公司致力於將自身發展成爲開源項目的社區,最新版的JBoss應用服務器已經將Hibernate集成爲JMXMBean服務。這使得用戶能夠在應用服務器環境中直接使用Hibernate,而不管它是否處於J2EE上下文中。在最新版的JBoss應用服務器中,用戶能夠直接通過JMXMBean服務訪問到JBossCache提供的服務。下一代的JBoss應用服務器(暫定名爲,JBoss5.0)將提供大量的新功能。除了支持最新的EJB 3.0規範外,新版的JBoss AOP將同它正式發佈。同時,JBoss開發團隊還計劃開發新的微內核層,即獨立於JMX,使得它能夠獨立使用。


三、JBoss的服務器架構概述

     JBoss的構架和其他J2EE應用服務器的構架有着巨大的不同。JBoss的模塊架構是建立在JMX底層上的,下圖展現了JBoss主要組件和JMX的聯繫。

          
     JMX - 層次
    JMX是一個可複用框架,它爲遠程(Remote)和本地(Local)管理工具擴展了應用。它的架構是層式架構。他們是實現層(instrumentation layer)、代理層(agent layer)和發佈層(distribution layer)。其中,發佈層還在等待未來的標準化。簡要的表述是,用戶使用管理Bean,MBean來提供獲得相應資源的實現方法。實現層實現相關的特性資源並將它發佈於JMX相關應用中,它的代理層控制和發佈相應的註冊在MBeanServer代理上的管理資源。

       
     JBoss主要模塊
    主要的JBoss模塊是在MeanServer上的可管理MBean。

    1.JBoss EJB容器是JBoss服務器的核心實現。它有兩個特性,第一是在運行期產生EJB 對象的Stub和Skeleton類,第二是支持熱部署。

    2.JBossNS是JBoss命名服務用來定位對象和資源。它實現了JNDI J2EE規範.

    3.JBossTX 是由JTA/JTS支持的交易管理控制.

    4.部署服務支持EJB(jar)、Web應用文檔(war)和企業級應用文檔(ears)的部署。它會時刻關心J2EE應用的URL情況,一旦它們被改變或出現的時候將自動部署。

    5.JBossMQ使Java 消息規範(JMS)的實現。

    6.JBossSX支持基於JAAS的或不支持JAAS機制的安全實現。

    7.JBossCX實現了部分JCA的功能。JCA制訂了J2EE應用組件如何訪問基於連接的資源。

    8.Web服務器支持Web容器和Servlet引擎。JBoss 2.4.x版本支持Tomcat 4.0.1,Tomcat 3.23和Jetty 3.x服務.


四、JBoss架構設計中的兩個重要的特性

     第一是使用JMX作爲一個軟件總線垂直的貫穿其所有的服務,通過將新的服務組件遵循JMX規範掛接上"總線",使得系統擴展現有的服務變得容易。可插入式框架被廣泛的運用於服務的實現。開發者可以選擇他們需要的服務並編寫他們所需要的相應實現,通過定義在部署描述文件中,讓JBoss服務器知道。

    第二是容器被設計成爲動態代理機制,這樣使容器的實現變得簡單和使開發者避免費勁的將jar文件進行預編譯以獲得stub和skeleton代碼。但是這樣做潛在的問題是性能和可測性,因爲我們知道java反射機制會引起性能的損失。JBoss中存在着相應的優化方案並且在將來的研究中我們會論述該優化方法在什麼時候工作並且是如何工作的。

發佈了22 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章