前面的幾篇文章我們已介紹了中間件的相干知識了,這篇我們文章我們了解下J2EE中間件。關于J2EE上1篇我們我們進行過初步的介紹,了解到J2EE它是1個規范與標準,這篇文章要介紹的內容有J2EE中間件技術、J2EE利用服務器中間件的體系結構和J2EE技術與.NET技術的比較。
J2EE這個規范是利用服務器采取的主要技術體系,與其它的中間件系統相比較,它具有非常顯著的特點,而特點來自它獨特的體系結構。
比如企業現在需要通過他們為他們的客戶、合作火伴、雇員和供應商提供更加便捷的服務來擴大它們的市場、下降它們的本錢及縮短它們的響應時間。這這類情況下,利用程序必須將現有的企業信息系統與可以為更多的客戶提供服務的新業務功能結合起來,這些服務需要:
高可用性,可以適應現今全球商業環境;
安全性,可以保護客戶的隱私和企業數據的完全性;
可靠性和伸縮性,保證實物處理的準確性和及時性。
由于多種緣由,這些服務功能需要構筑成有多個層次組成的散布式系統,包括前真個客戶端、后真個數據資源端和1個或多個中間層,這個中間層也是開發工作的重點,它實現了新的服務功能和數據與現有業務管理系統的結合。這個中間層將客戶層分離出復雜的企業系統,采取先進的Internet技術,以減少對客戶的管理和培訓。
Java2平臺企業版(J2EE)下降了開發這些服務功能的本錢和復雜性,使服務可以迅速部署,以增強企業回應競爭壓力的能力。J2EE通過以下1些元素定義出1個標準:
◆ J2EE平臺1個用于搭建J2EE的多個利用的平臺,定義了1組必要的API和策略;
◆ J2EE兼容性測試套裝1套用于測試J2EE平臺產品與J2EE標準兼容性的測試;
◆ J2EE參考實現1組顯示J2EE能力的參考實現,也是J2EE平臺的選擇性定義;
◆ J2EE設計方針這個設計方針描寫了用于開發中間層、瘦客戶利用的標準編程模式。
Sun公司用J2EE技術實現了3層和多層利用模式,首先,JavaServlet技術允許開發人員創建支持Java平臺的、可以在任何Web服務器上運行的、像CGI1樣的操作界面。其次,JDBC技術將“寫1次,在任何地方運行”的Java編程的功能,與現存數據庫管理系統相結合。最后,企業級JavaBean組件結構將完全的1組企業利用邏輯緊縮到1個易于配置、可隨時重用組件。由于覆蓋了這樣3個概念:服務端界面用Java編寫;可以聯接現有的數據庫系統;模塊化、易于部署的組件,使我們趨向于J2EE標準。
J2EE可以支持傳統的企業利用,這些企業利用為客戶、雇員、供應商、合作火伴及其它需要或為企業提供服務的人提供服務。這些利用非常復雜,數據可能從許多地方讀取,并且利用散布于各種客戶端,利用模型以下圖。
為了更好地控制和管理這些利用,支持各種用戶的業務功能被連接到中間層,中間層代表著1個被企業信息技術部門緊密控制著的環境。中間層被指定運行在特定的服務器硬件上,并可以觸及企業所有的服務。
J2EE利用模式定義了用于以多層的方式實現利用的1種結構,它避免了兩層結構的局限性,并提供足夠的可伸縮性、可接入性和可管理性。
J2EE利用方式將實現多層服務所需要進行的工作分成兩個部份,即為J2EE提供標準的系統服務―業務和表示邏輯。由開發人員完成業務和表示邏輯,開發人員可以依托這個平臺提供的開發中間層服務來解決實現硬件層的方案。
J2EE利用模式具有可以履行性和可伸縮性,為多層利用程序提供了“寫1次便可在任何地方運行”的優勢。在充分選擇提供給企業的J2EE服務器和開發工具的情況下,這類標準化的模式將開發和培訓的本錢降到最低。
J2EE利用模式通過下降建造多層利用復雜性,向利用開發的簡單化和可擴大化前進了1大步。
展現層
展現層也能夠稱為表示層,J2EE平臺支持幾種類型的客戶端。許多J2EE服務被設計成支持Web閱讀器的客戶端。這些服務通過動態生成的HTML頁面和表格與客戶端進行交互操作。
更復雜的服務將直接與第1層客戶端直接交換數據。這里,JSP和Servlet用于規格化業務數據,以方便J2EE客戶端處理。這些客戶端既能在1個Web閱讀器以JavaApplet方式運行,也能用以Java技術為基礎的程序方式運行。
中間層
使用J2EE利用模式的主要優點在于多層利用的中間層。在J2EE平臺,中間層業務功能是由企業JavaBean(EJB)組件實現。這些企業Bean讓服務開發者將精力集中在業務邏輯,并讓EJB服務的處理提供可靠、可伸縮服務的復雜工作。EJB組件將業務邏輯在中間層實現,以下
JavaServer Pages(JSP)技術和Servlet是使用Internet模式為表示層表現中間層的功能。JSP技術使用戶界面開發工作變得容易,可以為閱讀器提供頁面的動態生成技術。Servlet賜與Java技術為基礎的利用程序開發者提供了1種手段,可以用Java語言完全地實現動態表示。
中間層1般用到的企業服務有事務服務(JTA)、目錄服務(JNDI)、消息服務(JMS)、異步組件(Message-DrivenEJB)、遠程調用(RMI/IIOP)。
企業信息層
1個服務的中間層的業務模塊必須存取和更新在企業信息層(EIS)的信息。以下標準是Java服務的API,它們提供了對企業信息系統的基本存取功能:
◆JDBC,用于存取數據的Java標準API;
◆ JNDI(Java Namingand Directory Interface),查找和訪問各種命名和目錄服務的通用、統1的標準API;
◆ JMS(Java MessageService),通過消息中間件發送和接收信息的標準API;
◆JavaMail,發送電子郵件的標準API;
◆JavaIDL,調用CORBA服務的標準API。
J2EE利用服務器由4個部份組成:Applet容器、利用客戶端容器、Web容器和EJB容器,它們之間的關系以下圖表示。但是,圖中所表示的是各個部件間的邏輯結構,這其實不意味著這些部件必須物理地被散布在不同的機器上、不同的處理器上、不同的地址空間中和不同的虛擬機上。
容器是利用服務器的運行環境,J2EE為容器中的利用組件提供服務,每種容器根據各自的利用組件不同,提供不同類型的服務。它們觸及到各個方面,為組件的運行提供必要的支持。但是,不同容器中相同的服務為利用組件提供的接口是相同的。圖中的箭頭表示了對利用服務器的其它部份的存取。利用客戶端容器通過用于連接數據庫系統的JavaAPI、JDBCAPI與利用服務器要求的數據庫相連接。包括有JSP和Servlet的Web容器和EJB容器也使用一樣的接口與數據庫相連接。容器中的每種組件都由J2SE的運行環境提供支持。
J2EE利用組件是指在利用服務器中運行的軟件組件,主要有JSP、EJB和Servlet3種,它們在利用服務器中被部署、管理和履行。。
從圖中看出,利用服務器的核心是基于微內核的也就是java虛擬機(JVM)。利用服務器的JVM提供了底層的通訊、線程、配置、時間、日志等核心功能。在微內核之上,遵守J2EE標準實現各種服務。利用在這類JVM的設計模式,使上層標準的服務實現與底層的系統資源管理分離,保持了軟件模塊間疏松耦合的優點。同時,利用服務器還提供了專門的服務接口,允許客戶沒必要局限在J2EE的框架中,直接在JVM層次上開發針對具體案例的系統服務,特別合適于有特殊需求的利用系統。
J2EE與.NET的比較
通過兩張圖來比較下它們的不同,
通過兩張圖,我們可以發現.Net和J2EE利用有著相似的架構,有相應的主要技術,不同的是.Net所有技術來自Microsoft,而J2EE的技術有多個廠商的實現。
J2EE技術 |
.NET技術 |
JDBC |
ADO.NET |
JTA |
.NET Transaction |
JNDI |
Active Directory |
JMS |
.NET Messaging |
JavaMail |
SmtpMail |
RMI/IIOP |
Web Service/Remoting |
JAF |
.NET JIT |
.Net和J2EE可以滿足大多數利用的需求,只是兩種不同的實現方式而已,它們主要的差別補在技術的可行性上,只是在開發效力、性能、本錢和穩定性上有所差異而已。
通過這幾篇文章對中間件的介紹,我們了解了中間件的基本概念、中間件技術的具體分類內容、中間件的主流技術平臺最后又對J2EE與.NET技術進行了比較。