語言技術: EJB3 Gossip

語言技術: EJB3 Gossip

EJB3 相較於過去的 EJB2 在設定上確實大幅簡化,容器管理資源注入有其方便性,資源整合度高,為標準方案亦為其優勢所在。

學習 EJB 還是得有 IDE 比較方便,使用 NetBeans + Glassfish 來學習 EJB3 是個不錯的組合,而這邊的文件以 Annotation 設定為範例進行方式,至於 XML 的設定細節,可以參考 O'reilly 的 Enterprise JavaBeans, 3.0 By Bill Burke, Richard Monson-Haefel
Bean 入門
       先來寫幾個簡單的範例,看看 Session Bean、Message-Driven Bean 長什麼樣子,怎麼封裝 EJB-JAR、EAR 等。
  • Session Bean
在 EJB3 中寫 Session,簡單的由 Annotation 就可以設定了,並可以利用容器的資源注入來簡化程式撰寫。
  • Message-Driven Bean
就是受容器管理的 MessageListener,所以先了解一下 Java Message Service,再來寫個簡單的 Message-Driven Bean。
  • 封裝應用程式
雖然用 IDE 很方便,但了解一下如何自行封裝 EJB-JAR、EAR 也不錯。



Bean 進階
        了解基本的 Session Bean 與 Message-Driven Bean 撰寫方式,接下來看一些生命週期、攔截器、Timer 等服務。
  • 生命週期
來看看 Session Bean 與 Message-Driven Bean 的生命週期與回呼方法。
  • 攔截器(Interceptor)
攔截器可以介入方 法呼叫前後,或是作生命週期回呼,可作一些與商務邏輯無關的額外服務。
  • 編寫規則
一些瑣瑣碎碎的編 寫規則。
  • 使用 Timer 服務
Timer 服務是由容器所提供的服務,適用於Stateless Session Bean 與 Message-Driven Bean。
  • 交易(Transaction)
看是要使用 CMT 或 BMT 都可以。。XD
  • 安全
驗證(Authentication)交給容器,授權(Authorization)可以用宣告式(Declarative)或編程式(Programmatic)。
Java Persistence API
        JPA 定義於 JSR 220,您可以在 Java EE 容器中使用 JPA,也可以在非容器環境中使用 JPA。
  • 基本配置
來看看如何於單機與容器環境中使用 JPA。
  • EntityManager 與 Entity
瞭解一下 EntityManager 的作用,從中學習到 Entity 的生命週期與 EntityManager 範圍。
  • 進階配置
來了解一下 JPA 的 API 幾個進階的觀念與使用。
  • Java Persistence Query Language
JPQL是種中介的查詢語言,語法與 SQL 類似,JPA 的實作會將 JPQL 轉譯為資料庫原生的 SQL。


Object-Relational Mapping
        學習 JPA,大部份的時間都在瞭解如何實現映射,而從中您也可以瞭解到不少關聯式資料庫的表格設計方式。
  • 實體映射
來看看一些進階的實體映射議題。
  • 繼承映射
在物件導向設計中,繼承關係是很常見的,繼承關係至表格的設計上有幾種方式。
  • 關聯映射
來看看多對一、一對多、一對一、多對多如何在 Java 物件及表格之間進行映射。


參考書籍、文件