關於EJB的持久化對象技術分析-JSP教程,物件導向/設計
來源:互聯網
上載者:User
摘自久久學院
表格型的關係型資料庫與樹型Java對象之間的映射問題是一個至今爭論不休的問題,好在現在已經有了一些好的解決方案。在本文中,我們將介紹EJB技術是怎樣用自已特定的方式來解決這個問題的。
只要是涉及到儲存及查詢資訊 ,那絕大多數應用程式都需要與關聯式資料庫打交道。但由於關聯式資料庫與Java對象在結構上有著本質的區別,關於它們之間的映射關係對於那些Java開發人員們來說,是一個很令人頭痛的問題。關係型資料庫是以表格方式儲存資料的,而Java對象是以樹型方式表現的。這種類型上的不匹配引發了各種各樣的對象持久化解決方案,用來縮小關係世界與對象世界之間的鴻溝。EJB架構正是這種解決方案之一。
對象的持久性
目前有很多不同的工具出現,使得開發人員可以將JAVA對象轉化為資料庫中的欄位或記錄,或者將資料庫中的欄位或記錄還原為JAVA對象。這些處理涉及到要將樹型的JAVA對象序列化到資料庫中,反之亦然。此工作的核心是怎樣在保證最小效能損失的前提下,來完成這項工作。
EJB架構提供了這樣一個對象持久化機制。我們將在本文中討論這種機制,但首先我們還是對EJB構架作一個全面的認識。
企業級JavaBeans(EJB)
EJB技術可以這樣定義:它是一個基於JAVA服務端的,為分布式應用提供的一個可複用的組件架構。所有的商業邏輯、部署定義、對象持久性都由這個架構統一管理,EJB架構的一些特色如下:
· EJB是一種運行在服務端環境下的JAVA對象。
· EJB能分布在不同的機器上進行遠端存取,但對用戶端來而言,調用EJB與調用本地JavaBean一樣方便。
· EJB容器對EJB進行統一管理。
儘管企業級JavaBean的名字與普通JavaBean在命名上有些相像,但它們在設計上有著本質上的區別。為了能讓你更清楚地認識到這點,我們最好先瞭解一下EJB的基本概念、幾種EJB組件模式和其配置環境。
EJB的運行環境
從本質上來說,EJB只是實現了特定介面的普通JAVA對象,但這個對象必須運行在一個特定的環境:EJB容器中。如果脫離了EJB容器,EJB是無法啟動並執行。EJB與EJB容器之間的關係有時候被稱為"反向調用"