EJB — JavaEE的基石:java
一、 EJB (Enterprise JavaBeans) :程序員
一個Java服務器端組件開發的規範,定義了一個用來開發面向對象分佈式應用組件的標準方法,軟件廠商根據它來實現EJB服務器。數據庫
Java程序員能夠將一些EJB組件組合起來,從而方便、快捷地建構起分佈式應用程序。EJB規範在簡化分佈式應用程序開發複雜性方面也作了大量的工做,EJB程序員沒必要太擔憂事務處理、多線程、資源管理等方面的問題,能夠專一於支持應用所需的商業邏輯,而不用擔憂周圍框架的實現問題。使用EJB可使整個程序分塊明確,而且EJB可使用其它EJB或JDBC等服務,從而加強了分佈式應用程序的可擴展性和性能;另外,EJB的使用加強了整個系統程序的可靠性、可管理性和可移植性。
編程
EJB組件小程序
EJB分爲三種:會話EJB、實體EJB和消息驅動EJB瀏覽器
EJB容器安全
是EJB組件的運行環境,爲部署的EJB組件提供各類服務(事務、安全、遠程客戶端的網絡發佈、資源管理等)。容器廠商也能夠在容器或服務器中提供額外服務的接口。服務器
EJB服務器網絡
管理EJB容器的高端進程或應用程序,並提供對系統服務的訪問。EJB服務器也能夠提供廠商本身的特性,如優化的數據庫訪問接口,對其餘服務(如CORBA服務)的訪問等。多線程
二、CORBA體系結構:核心-ORB
CORBA技術:
CORBA(Common Object Request Broker Architecture)是一個開發分佈式對象系統標準(規範),它獨立於平臺,也獨立於語言。由OMG制定。
在這個體系結構中,一個對象能夠被本機上的客戶或遠程客戶經過方法激活來訪問。客戶(一個對象或應用)無須知道被調用對象(稱爲服務對象)的運行環境,也無須知道實現這個對象的編程語言,客戶只要知道服務對象的邏輯地址和提供的接口。
這種互操做性的關鍵是IDL(Interface Definition Language、接口定義語言),IDL說明對象接口中的方法,這些方法能夠被其它對象(或應用)激活。
三、RMI技術:
RMI(Remote Method Invoke)是一種被EJB使用的更底層的協議,正如其名字所表示的那樣,RMI協議調用遠程對象上方法,使用序列化方式在客戶端和服務器端的對象之間傳遞數據。
RMI和CORBA相比:
二者的關鍵差異在於語言環境,Java RMI是一個分佈式對象計算的純Java解決方案(如,在Java RMI中,對象的接口用Java定義,而不是用IDL);
其次,CORBA沒有定義安全服務,而Java RMI繼承了Java的安全性;
再者,CORBA有不一樣的實現,不一樣的獨立軟件開發商的不一樣實現均有獨特性,這使得在不一樣平臺上的匹配比較困難,並且不是全部CORBA產品開發商都支持全部平臺,而幾乎全部平臺都支持Java虛擬機,所以Java RMI具備更高的可移植性。若是客戶對象和服務對象都基於Java虛擬機,那麼Java RMI是分佈對象計算的最好選擇。固然,IIOP(Internet Inter-ORB Protocol)已經提供了Java RMI和CORBA的互操做能力,並且二者的發展有互相借鑑的趨勢。
四、JSP技術:
JSP是服務器端的腳本語言,是以Java和Servlet爲基礎開發而成的動態網頁生成技術,它的底層實現是Java Servlet。
JSP(Java Server Pages)頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求之後對這些Java代碼進行處理,而後將生成的HTML頁面返回給客戶端的瀏覽器。
特色:面向對象,跨平臺,和Servlet同樣穩定,可使用Servlet提供的API,克服了Servlet的缺點。
應用:通常和JavaBeans結合使用,從而將界面表現和業務邏輯分離。
JSP和ASP的比較(一):
類似:
都是運行於服務器端的腳本語言,二者都是動態網頁生成技術。
這兩項技術都使用HTML來決定網頁的版面,都是在HTML 代碼中混合某種程序代碼,由語言引擎解釋執行程序代碼。HTML代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。
JSP和ASP的比較(二):
不一樣:
JSP是由Sun推出的一項技術,是基於JavaServlet以及整個java體系的Web開發技術,利用這一技術能夠創建先進、安全和跨平臺的動態網站。ASP是MS公司推出的技術,只能在MS的平臺上運行,沒法實現跨平臺,也無安全性保障。
ASP下的編程語言是 VB script 之類的腳本語言,而JSP 使用的是Java。
ASP 與 JSP 還有一個更爲本質的區別:兩種語言引擎用徹底不一樣的方式處理頁面中嵌入的程序代碼。在 ASP 下, VB script 代碼被 ASP 引擎解釋執行;在 JSP 下,代碼被編譯成 Servlet 並由 Java 虛擬機執行,這種編譯操做僅在對 JSP 頁面的第一次請求時發生。
五、Java Servlet 技術:
Servlets(=Server +Applet):是一些運行於Web服務器端的Java小程序,用來擴展Web服務器的功能。
Servlets用特定的Java解決方案替代了其它的Web服務器方編程模式(如:CGI,ISAPI等),於是繼承了Java的全部特性(跨平臺、多線程、OO)。
Servlets能夠嵌入在不一樣的Java Web服務器之中,由於用來編寫Servlets的Servlet API對於服務器環境和協議沒有任何特殊的要求,因此Servlets具備很強的可移植性,也不像利用CGI程序等其它方式那樣具備性能侷限。
Servlets也一樣使用HTTP協議與客戶端進行通信,因此有時也稱Sevlets爲「HTTP Servlets」。
Servlet是一種擴展Web服務器功能的簡單而類似的技巧,並且因爲它是用Java編寫的,因此可以訪問整個Java API庫,包括用於訪問企業數據庫的JDBC API。
Java Servlet 和 JSP 的比較:二者都是基於Java的技術,因此都繼承了Java的全部特性(跨平臺、多線程、OO ),均可以使用Java強大的API。
二者工做方式類似:JSP代碼先被JSP容器轉換爲Servlet代碼再編譯爲類。
二者在JavaEE體系結構中的工做層次相同,都負責與客戶端的鏈接。
Servlets是一些運行於Web服務器端的Java小程序;而JSP是腳本,編寫起來更簡單容易。
Servlet主要用於從客戶端接收請求信息,而JSP主要負責將服務器端信息傳送到客戶端。
使用Servlet的真正意義在於:能夠將界面設計和業務邏輯設計分離。
七、JavaBean 技術:
JavaBean是基於Java的組件模型,有點相似於Microsoft的COM組件。
在Java平臺中,經過JavaBean能夠無限擴充Java程序的功能,經過JavaBean的組合能夠快速的生成新的應用程序。
對於程序員來講,最好的一點就是JavaBean能夠實現代碼的重複利用,另外對於程序的易維護性等等也有很重大的意義。
JavaBean經過Java虛擬機(Java Virtual Machine)執行,運行JavaBean最小的需求是JDK1.1或者以上的版本。
JavaBean傳統的應用在於可視化的領域,如AWT下的應用。自從Jsp誕生後,JavaBean更多的應用在了非可視化領域,在服務器端應用方面表現出來了愈來愈強的生命力。
八、JDBC 技術:
JDBC是一組API,定義了用來訪問數據源的標準Java類庫,使用這個類庫能夠以一種標準的方法、方便地訪問數據庫資源。
JDBC的目標是使應用程序開發人員使用JDBC能夠鏈接任何提供了JDBC驅動程序的數據庫系統,這樣就使得程序員無需對特定的數據庫系統的特色有過多的瞭解,從而大大簡化和加快了開發過程。
JDBC API爲訪問不一樣的數據庫提供了一種統一的途徑,象ODBC同樣,JDBC對開發者屏蔽了一些細節問題,
JDBC對數據庫的訪問也具備平臺無關性。
九、XML 技術:
XML(Extensible Markup Language)是一種能夠用來定義其它標記語言的語言,被用來在不一樣的商務過程當中共享數據。
XML的發展和Java是相互獨立的,可是它和Java具備的相同目標即平臺獨立性。經過將Java和XML的組合,能夠獲得一個完美的具備平臺獨立性的解決方案。
JavaEE平臺全面支持和實施XML,這種強大的組合可以使XML具有跨平臺的兼容性,甚至用於對XML代碼進行語法檢查和調試的工具也可與平臺無關。
由於XML可實施獨立於平臺的數據,而JavaEE平臺則可實施獨立於平臺的解決方案,因此JavaEE技術和XML技術分別是企業開發的陰陽兩極。XML可經過移植的方式表現數據,所以就對Java技術的可移植性構成了補充。