很多人都說ejb很難,其實ejb真的很難.
為什麼這樣說?
我想反問,你對ejb了解多少,ejb主要是用來做什麼的,ejb是執行在什麼環境下,它為什麼以元件形式表現出來,j2ee的容器呼叫ejb的過程是怎樣,如何發起結束事務,同步和併發,執行緒的安全等等?
你能給我解釋清楚嘛?不能解答這些問題,就說明你還沒有入門。
那麼,首先我就來講解一下j2ee規範。只有了解了j2ee規範你才能真正了解ejb是如何成為j2ee三大技術之首。
那麼在我們學習j2ee之前,我們首先搞清楚幾點。
一、什麼是企業級開發?
二、在企業級開發是為什麼要使用元件?
三、容器和元件之間的工作方式?
四、企業級應用程式都如何呼叫元件?
解釋:企業級開發指的是大型、執行環境複雜、業務邏輯繁瑣、海量的資訊處理等等。乙個企業由於發展的需要會讓整個企業中存在很多異構的系統。比如95年的pc,2000的奔騰,2005的ibm伺服器等等,還有可能這些計算機上的作業系統不同或者說每台電腦上裝有不同的系統用來完成不同工作。而j2ee架構的誕生就是要解決這些複雜的情況,並將這些企業的資源整合到一起。
哪麼,怎樣才能使得這些計算機能夠在同乙個環境下工作呢?我們這樣來想一想,所有的計算機都是用來給我們處理資訊的。所以系統與系統之前的互動也就是資訊與資訊間的互動,如果能讓這些計算機上執行的系統都使用同一種公共的資訊,那麼資源是不是就整合到一起了?那麼我們就會使用到某種元件,來幫我們提供這種服務。在j2ee的規範中我們就會使用到ejb元件。
2ee給我們提供了一套企業級開發的框架,將我們所需編寫程式分解成個個企業級元件。用來給異構系統提供服務,將完整單獨功能的元件組合成實現複雜邏輯的服務,通過分布式的應用能夠使得多台計算機同時處理大量的資料資訊。製作成元件後,不但增加了元件的重用性,同時滿足j2ee規範編寫出來的元件可以不依賴任何的j2ee容器。
而這些元件都對外提供乙個呼叫的介面,外部的系統通過這些介面就可以呼叫實際的業務邏輯方法來處理資訊。而這些外部的系統只需要滿足j2ee的介面規範即可,並不需要編寫世界的業務**。並且在重用性和安全性方面也***。
比如:網上支付的例子,我們在**上購物通過招行進行轉帳,或者我們在qq上買了qqshow需要網路支付的時候。我們是不是都是自己編寫的**去操作銀行的資料庫呢?顯然不是,銀行不會傻到這樣的地步把,如果真是這樣我們就可以隨便更改自己賬戶中的rmb了。其實是招行的系統對外提供了乙個轉帳的介面,介面裡面有一下對外暴露的方法。通過呼叫介面中的方法將實際需要操作的資訊填充後才,傳遞給遠端伺服器來進行處理。處理完成後,招行的伺服器給乙個響應,這次轉帳就完成了。
j2ee的體系結構:
通過以上的一些介紹:我們了解j2ee的一些優勢所在。那麼就來介紹一下基本的層次結構。
客戶層:主要是在客戶機上執行的客戶端組建,平台可以是膝上型電腦,台式電腦,掌上電腦和移動**等。
業務層:業務層也是在j2ee伺服器上執行。主要實現應用程式的業務邏輯,伺服器為它提供系統級服務,如事務管理、安全性和併發控制等等。
eis層:主要是在eis伺服器上執行,表示企業資料資訊。也就是我們常說的資料庫。
那麼每一層都是為了系統更好的擴充套件而存在,每層通過封裝來隱藏實現的細節,每層均向上層提供服務使得組合型的伺服器會更加豐富(當然這裡考慮了元件的重用性)。
j2ee元件:
企業bean元件就是業務元件,它是在ejb伺服器上執行。
裡面包含核心業務和資料模型
sessionbean 就是用來提供核心業務邏輯元件
entitybean 就是資料模型元件
web元件提供了對請求的響應。
jsp元件 顯示資訊,傳送請求。
servlet元件 接受請求並呼叫企業bean中的服務來處理請求給予響應。
j2ee學習心得
學習是一件快樂的事,學習是一件痛苦的事,它讓你能夠把學到的東西帶來財富,它也能讓你仁慈學到的東西帶來無用武之地 看書 當你買了一本新書的時候,不要瀑布式的往下看,這是傳統的學習方法,不適合現代高科技社會的學習方法,尤其是電腦科學,為什麼以前的瀑布式軟體開發方法到今天會失敗,因為瀑布式的方法很難看到將...
j2ee自學心得
學習是一件快樂的事,學習是一件痛苦的事,它讓你能夠把學到的東西帶來財富,它也能讓你仁慈學到的東西帶來無用武之地 看書 當你買了一本新書的時候,不要瀑布式的往下看,這是傳統的學習方法,不適合 現代高科技社會的學習方法,尤其是電腦科學,為什麼以前的瀑布式軟體開發方法到 今天會失敗,因為瀑布式的方法很難看...
j2ee配置指南
j2ee配置指南 1。介紹 本文介紹j2ee環境的配置,所有涉及的檔案都在j2ee安裝目錄下的oncfig目錄,這些檔案都是文字檔案,你可以有任意的文字編輯器來編輯它們。通常情況下,你沒有改變這些檔案的必要。但是如果你使用的資料庫驅動不是cloudscape的時候,你需要 遵循本章的內容進行配置。2...