<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-15  文章-81  trackbacks-0
         本文從五個方面對J2EE進行了比較全面的介紹。從J2EE的概念說起,到它的優勢,到J2EE典型的四層模型,和它的框架結構,最后是J2EE十三種核心技術的一個簡介。本文分門別類的對J2EE中的服務,組件,層次,容器,API都做了比較詳細的介紹,相信看完此文,讀者會對J2EE有一個更清晰的認識。

    一. J2EE的概念
    目前,Java 2平臺有3個版本,它們是適用于小型設備和智能卡的Java 2平臺Micro版(Java 2 Platform Micro Edition,J2ME)、適用于桌面系統的Java 2平臺標準版(Java 2 Platform Standard Edition,J2SE)、適用于創建服務器應用程序和服務的Java2平臺企業版(Java 2 Platform Enterprise Edition,J2EE)。
    J2EE是一種利用Java 2平臺來簡化企業解決方案的開發、部署和管理相關的復雜問題的體系結構。J2EE技術的基礎就是核心Java平臺或Java 2平臺的標準版,J2EE不僅鞏固了標準版中的許多優點,例如"編寫一次、隨處運行"的特性、方便存取數據庫的JDBC API、CORBA技術以及能夠在Internet應用中保護數據的安全模式等等,同時還提供了對 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技術的全面支持。其最終目的就是成為一個能夠使企業開發者大幅縮短投放市場時間的
    體系結構。
    J2EE體系結構提供中間層集成框架用來滿足無需太多費用而又需要高可用性、高可靠性以及可擴展性的應用的需求。通過提供統一的開發平臺,J2EE降低了開發多層應用的費用和復雜性,同時提供對現有應用程序集成強有力支持,完全支持Enterprise JavaBeans,有良好的向導支持打包和部署應用,添加目錄支持,增強了安全機制,提高了性能。

    二. J2EE的優勢
    J2EE為搭建具有可伸縮性、靈活性、易維護性的商務系統提供了良好的機制:
    保留現存的IT資產: 由于企業必須適應新的商業需求,利用已有的企業信息系統方面的投資,而不是重新制定全盤方案就變得很重要。這樣,一個以漸進的(而不是激進的,全盤否定的)方式建立在已有系統之上的服務器端平臺機制是公司所需求的。J2EE架構可以充分利用用戶原有的投資,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBroker 以及Netscape Application Server。這之所以成為可能是因為J2EE擁有廣泛的業界支持和一些重要的'企業計算'領域供應商的參與。每一個供應商都對現有的客戶提供了不用廢棄已有投資,進入可移植的J2EE領域的升級途徑。由于基于J2EE平臺的產品幾乎能夠在任何操作系統和硬件配置上運行,現有的操作系統和硬件也
    能被保留使用。
    高效的開發: J2EE允許公司把一些通用的、很繁瑣的服務端任務交給中間件供應商去完成。這樣開發人員可以集中精力在如何創建商業邏輯上,相應地縮短了開發時間。高級中間件供應商提供以下這些復雜的中間件服務:
    狀態管理服務 -- 讓開發人員寫更少的代碼,不用關心如何管理狀態,這樣能夠更快地完成程序開發。
    持續性服務 -- 讓開發人員不用對數據訪問邏輯進行編碼就能編寫應用程序,能生成更
    輕巧,與數據庫無關的應用程序,這種應用程序更易于開發與維護。
    分布式共享數據對象CACHE服務 -- 讓開發人員編制高性能的系統,極大提高整體部署的
    伸縮性。
    支持異構環境: J2EE能夠開發部署在異構環境中的可移植程序。基于J2EE的應用程序不
    依賴任何特定操作系統、中間件、硬件。因此設計合理的基于J2EE的程序只需開發一次
    就可部署到各種平臺。這在典型的異構企業計算環境中是十分關鍵的。J2EE標準也允許
    客戶訂購與J2EE兼容的第三方的現成的組件,把他們部署到異構環境中,節省了由自己
    制訂整個方案所需的費用。
    可伸縮性: 企業必須要選擇一種服務器端平臺,這種平臺應能提供極佳的可伸縮性去滿足那些在他們系統上進行商業運作的大批新客戶。基于J2EE平臺的應用程序可被部署到各種操作系統上。例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器。(這是NT服務器所望塵莫及的)J2EE領域的供應商提供了更為廣泛的負載平衡策略。能消除系統中的瓶頸,允許多臺服務器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。
    穩定的可用性: 一個服務器端平臺必須能全天候運轉以滿足公司客戶、合作伙伴的需要。因為INTERNET是全球化的、無處不在的,即使在夜間按計劃停機也可能造成嚴重損失。若是意外停機,那會有災難性后果。J2EE部署到可靠的操作環境中,他們支持長期的可用性。一些J2EE部署在WINDOWS環境中,客戶也可選擇健壯性能更好的操作系統如Sun Solaris、IBM OS/390。最健壯的操作系統可達到99.999%的可用性或每年只需5分鐘停機時間。這是實時性很強商業系統理想的選擇。


    三. J2EE 的四層模型
    J2EE使用多層的分布式應用模型,應用邏輯按功能劃分為組件,各個應用組件根據他們
    所在的層分布在不同的機器上。事實上,sun設計J2EE的初衷正是為了解決兩層模式(cl
    ient/server)的弊端,在傳統模式中,客戶端擔當了過多的角色而顯得臃腫,在這種模
    式中,第一次部署的時候比較容易,但難于升級或改進,可伸展性也不理想,而且經常
    基于某種專有的協議――通常是某種數據庫協議。它使得重用業務邏輯和界面邏輯非常
    困難。現在J2EE 的多層企業級應用模型將兩層化模型中的不同層面切分成許多層。一個
    多層化應用能夠為不同的每種服務提供一個獨立的層,以下是 J2EE 典型的四層結構:
    運行在客戶端機器上的客戶層組件
    運行在J2EE服務器上的Web層組件
    運行在J2EE服務器上的業務邏輯層組件
    運行在EIS服務器上的企業信息系統(Enterprise information system)層軟件
    J2EE應用程序組件
    J2EE應用程序是由組件構成的.J2EE組件是具有獨立功能的軟件單元,它們通過相關的類
    和文件組裝成J2EE應用程序,并與其他組件交互。J2EE說明書中定義了以下的J2EE組件
    :
    應用客戶端程序和applets是客戶層組件.
    Java Servlet和JavaServer Pages(JSP)是web層組件.
    Enterprise JavaBeans(EJB)是業務層組件.
    客戶層組件
    J2EE應用程序可以是基于web方式的,也可以是基于傳統方式的.
    web 層組件J2EE web層組件可以是JSP 頁面或Servlets.按照J2EE規范,靜態的HTML頁面


    和Applets不算是web層組件。
    正如下圖所示的客戶層那樣,web層可能包含某些 JavaBean 對象來處理用戶輸入,并把
    輸入發送給運行在業務層上的enterprise bean 來進行處理。
    業務層組件
    業務層代碼的邏輯用來滿足銀行,零售,金融等特殊商務領域的需要,由運行在業務層上
    的enterprise bean 進行處理. 下圖表明了一個enterprise bean 是如何從客戶端程序
    接收數據,進行處理(如果必要的話), 并發送到EIS 層儲存的,這個過程也可以逆向進
    行。
    有三種企業級的bean: 會話(session) beans, 實體(entity) beans, 和 消息驅動(mes
    sage-driven) beans. 會話bean 表示與客戶端程序的臨時交互. 當客戶端程序執行完后
    , 會話bean 和相關數據就會消失. 相反, 實體bean 表示數據庫的表中一行永久的記錄
    . 當客戶端程序中止或服務器關閉時, 就會有潛在的服務保證實體bean 的數據得以保存
    .消息驅動 bean 結合了會話bean 和 JMS的消息監聽器的特性, 允許一個業務層組件異
    步接收JMS 消息.
    企業信息系統層
    企業信息系統層處理企業信息系統軟件包括企業基礎建設系統例如企業資源計劃 (ERP)
    , 大型機事務處理, 數據庫系統,和其它的遺留信息系統. 例如,J2EE 應用組件可能為
    了數據庫連接需要訪問企業信息系統
    四. J2EE 的結構
    這種基于組件,具有平臺無關性的J2EE 結構使得J2EE 程序的編寫十分簡單,因為業務
    邏輯被封裝成可復用的組件,并且J2EE 服務器以容器的形式為所有的組件類型提供后臺
    服務. 因為你不用自己開發這種服務, 所以你可以集中精力解決手頭的業務問題.


    容器和服務
    容器設置定制了J2EE服務器所提供得內在支持,包括安全,事務管理,JNDI(Java Nami
    ng and Directory Interface)尋址,遠程連接等服務,以下列出最重要的幾種服務:
    J2EE安全(Security)模型可以讓你配置 web 組件或enterprise bean ,這樣只有被授權
    的用戶才能訪問系統資源. 每一客戶屬于一個特別的角色,而每個角色只允許激活特定
    的方法。你應在enterprise bean的布置描述中聲明角色和可被激活的方法。由于這種聲
    明性的方法,你不必編寫加強安全性的規則。
    J2EE 事務管理(Transaction Management)模型讓你指定組成一個事務中所有方法間的
    關系,這樣一個事務中的所有方法被當成一個單一的單元. 當客戶端激活一個enterpri
    se bean中的方法,容器介入一管理事務。因有容器管理事務,在enterprise bean中不
    必對事務的邊界進行編碼。要求控制分布式事務的代碼會非常復雜。你只需在布置描述
    文件中聲明enterprise bean的事務屬性,而不用編寫并調試復雜的代碼。容器將讀此文
    件并為你處理此enterprise bean的事務。
    JNDI 尋址(JNDI Lookup)服務向企業內的多重名字和目錄服務提供了一個統一的接口,這
    樣應用程序組件可以訪問名字和目錄服務.
    J2EE遠程連接(Remote Client Connectivity)模型管理客戶端和enterprise bean間的
    低層交互. 當一個enterprise bean創建后, 一個客戶端可以調用它的方法就象它和客戶
    端位于同一虛擬機上一樣.
    生存周期管理(Life Cycle Management)模型管理enterprise bean的創建和移除,一個
    enterprise bean在其生存周期中將會歷經幾種狀態。容器創建enterprise bean,并在
    可用實例池與活動狀態中移動他,而最終將其從容器中移除。即使可以調用enterprise
    bean的create及remove方法,容器也將會在后臺執行這些任務。


    數據庫連接池(Database Connection Pooling)模型是一個有價值的資源。獲取數據庫
    連接是一項耗時的工作,而且連接數非常有限。容器通過管理連接池來緩和這些問題。
    enterprise bean可從池中迅速獲取連接。在bean釋放連接之可為其他bean使用。
    容器類型
    J2EE應用組件可以安裝部署到以下幾種容器中去:
    EJB 容器管理所有J2EE 應用程序中企業級bean 的執行. enterprise bean 和它們的容
    器運行在J2EE 服務器上.
    Web 容器管理所有J2EE 應用程序中JSP頁面和Servlet組件的執行. Web 組件和它們的容
    器運行在J2EE 服務器上.
    應用程序客戶端容器管理所有J2EE應用程序中應用程序客戶端組件的執行. 應用程序客
    戶端和它們的容器運行在J2EE 服務器上.
    Applet 容器是運行在客戶端機器上的web瀏覽器和 Java 插件的結合.
    五. J2EE的核心API與組件
    J2EE平臺由一整套服務(Services)、應用程序接口(APIs)和協議構成,它對開發基
    于Web的多層應用提供了功能支持,下面對J2EE中的13種技術規范進行簡單的描述(限于
    篇幅,這里只能進行簡單的描述):
    JDBC(Java Database Connectivity):
    JDBC API為訪問不同的數據庫提供了一種統一的途徑,象ODBC一樣,JDBC對開發者屏蔽
    了一些細節問題,另外,JDCB對數據庫的訪問也具有平臺無關性。
    JNDI(Java Name and Directory Interface):
    JNDI API被用于執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源
    如DNS和LDAP,本地文件系統,或應用服務器中的對象。


    EJB(Enterprise JavaBean):
    J2EE技術之所以贏得某體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實
    施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的企業級應用的開發
    。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的
    服務,例如目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的
    是,EJB并不是實現J2EE的唯一途徑。正是由于J2EE的開放性,使得有的廠商能夠以一種
    和EJB平行的方式來達到同樣的目的。
    RMI(Remote Method Invoke):
    正如其名字所表示的那樣,RMI協議調用遠程對象上方法。它使用了序列化方式在客戶端
    和服務器端傳遞數據。RMI是一種被EJB使用的更底層的協議。
    Java IDL/CORBA:
    在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。 他們可以創建Java對
    象并使之可在CORBA ORB中展開, 或者他們還可以創建Java類并作為和其它ORB一起展開
    的CORBA對象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用于將你的新
    的應用和舊的系統相集成。
    JSP(Java Server Pages):
    JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求以后對
    這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。
    Java Servlet:
    Servlet是一種小型的Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用
    ,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似
    ,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而servlets
    全部由Java寫成并且生成HTML。
    XML(Extensible Markup Language):
    XML是一種可以用來定義其它標記語言的語言。它被用來在不同的商務過程中共享數據。
    XML的發展和Java是相互獨立的,但是,它和Java具有的相同目標正是平臺獨立性。通過
    將Java和XML的組合,您可以得到一個完美的具有平臺獨立性的解決方案。
    JMS(Java Message Service):
    MS是用于和面向消息的中間件相互通信的應用程序接口(API)。它既支持點對點的域,有
    支持發布/訂閱(publish/subscribe)類型的域,并且提供對下列類型的支持:經認可的
    消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另
    一種方式來對您的應用與舊的后臺系統相集成。
    JTA(Java Transaction Architecture):
    JTA定義了一種標準的API,應用系統由此可以訪問各種事務監控。
    JTS(Java Transaction Service):
    JTS是CORBA OTS事務監控的基本的實現。JTS規定了事務管理器的實現方式。該事務管理
    器是在高層支持Java Transaction API (JTA)規范,并且在較底層實現OMG OTS specif
    ication的Java映像。JTS事務管理器為應用服務器、資源管理器、獨立的應用以及通信
    資源管理器提供了事務服務。
    JavaMail:
    JavaMail是用于存取郵件服務器的API,它提供了一套郵件服務器的抽象類。不僅支持S
    MTP服務器,也支持IMAP服務器。
    JTA(JavaBeans Activation Framework):
    JavaMail利用JAF來處理MIME編碼的郵件附件。
    posted on 2007-10-11 21:33 譚明 閱讀(356) 評論(0)  編輯  收藏 所屬分類: J2EE

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 精品久久亚洲一级α| 亚洲av无码一区二区三区人妖| 免费观看四虎精品成人| 午夜dj免费在线观看| 亚洲Av无码国产一区二区| 国产一级一片免费播放| 牛牛在线精品免费视频观看| 亚洲AV蜜桃永久无码精品| 全部一级一级毛片免费看| 综合亚洲伊人午夜网| 香蕉免费一区二区三区| 亚洲精品视频免费看| 日韩免费精品视频| 亚洲爆乳AAA无码专区| 亚洲成aⅴ人片久青草影院| 思思久久99热免费精品6| 亚洲精品无码久久久久| 久久成人免费大片| 亚洲视频在线观看2018| 欧洲美熟女乱又伦免费视频| 黄页网站在线免费观看| 亚洲日韩aⅴ在线视频| 91成年人免费视频| 国产亚洲精品精品精品| 国产亚洲色婷婷久久99精品| 中文字幕免费视频| 亚洲av日韩av永久无码电影| 久久精品国产精品亚洲艾草网美妙| 精品国产麻豆免费人成网站| 亚洲免费黄色网址| 亚洲不卡AV影片在线播放| 国产免费拔擦拔擦8X高清在线人 | 免费99精品国产自在现线| 亚洲欧美日韩综合久久久久| 亚洲人午夜射精精品日韩| 久久99精品国产免费观看| 亚洲丶国产丶欧美一区二区三区| 久久亚洲国产成人精品无码区| 2021在线观看视频精品免费| 色屁屁在线观看视频免费| 亚洲综合成人网在线观看|