本文引用自flyinsky76 - Java Beans & Enterprise Java Bean
Java Beans:
What:
Java Beans: 可重覆使用並跨平台的軟體元件,主要分為有介面 & 無介面兩種,具有一定的規格
(其實說到底 就是一個包裝起來的jar檔...只是有規格規定要怎麼填東西)
構成要素: Events & Properties & Methods
Events: 動作的發生 or 狀態的改變 (觸發條件)
Properties: 也就是Attribute
Methods: 存取Properties
Why:
1.重覆使用: Java的跨平台 (Write Once,Run Anywhere.)
2.自省機制(introspection): 自動取得所有傳入的參數,並找尋所有對應Properties的Methods ( set <---> get )
3.元件模型: 只要按照Java Bean規格開發出的就是一個Java Bean的元件,
可以讓其他使用者只要會使用此元件(只管input & output),
而不用管裡面的操作行為 (類似BlackBox觀念)
How:
標準的Java Beans必須符合以下條件:
1. 為一個 public 類別,並且實作 java.io.Serializable 介面
2. 必須有一個無傳入參數的建構子
3. Properties 均有一對 setter method & getter method
What:
EJB是一種元件架構,
用來開發及配置分散式元件導向的企業應用系統
EJB規格的三種Bean:
1.Session Bean: 代表某種動作,
用它來實現企業流程,
可以是任何動作或動作串連
2.Entity Bean: 代表資料,可視為資料庫內的資料在記憶體的副本,
3.Message-Driven Bean: 透過接受訊息來判斷所要執行的工作
構成要素:
1.規格: 元件 & 應用伺服器之間的協定
2.介面 : 元件 & 應用伺服器必須使用此統一介面
Why:
優點:
1.可調整性
2.交易正確性
3.多使用者的安全性
EJB特性:
1.交易機制: ACID四大保證
Atomicity(單元性): 所有操作全部一起成功 or 其中一項發生錯誤一起失敗
Consistency(一致性): 交易完成後保持系統狀態的一致性
Isolation(獨立性):每一個交易與其他交易間都是獨立的
Durability(持久性):避免遭受破壞而影響交易情形
2.系統整合: 利用EJB透過JCA(Java Connector Architecture)達到企業內系統整合
3.Web Service:利用元件來提供服務,使外部網路可與系統溝通
4.資源輪調:若是新接收的請求沒有 Enterprise Java Bean 的 Instance,
就初始化一個Enterprise Java Bean 的 Instance 給此Client使用,
直到Client結束或離開,
這Enterprise Java Bean 的 Instance 會先回輪調區等待下一次呼叫,
若是超過一定時間限度,
此 Instance 就會 Destroy 減少資源的佔用
5.位置通透性: Client端不會知道遠端主機的實體位置,
以達到 Load balance or 備援
How:
一個 Enterprise Java Bean 的組成成份:
Enterprise Bean Class: 實作大部份邏輯,以及實作介面中的方法
Remote Interface: 提供 Client 端呼叫 EJB 的介面,EJB所有企業方法必須在此定義並公開
Home Interface: 取得Enterprise Bean的實例,並定義 建立 & 銷毀 & 找尋 EJBObject 的方法
Local Interface: 如同Remote Interface,只是省去了遠端呼叫,加快了執行速度
Deployment Descriptor:宣告有關 Enterperise Bean的設定 & 參數 & 名稱
EJB-jar-file: 包裝檔案
以上僅作為學術交流之用
有關更詳細的內容可以去參閱此篇論文