J2EE平臺和EJB構架為基于Web的企業(yè)應用提供了高級支持。本書深入剖析了J2EE平臺的核心:EJB構架,說明了如何用最新的EJB組件構架開發(fā)和部署企業(yè)應用程序。全書以兩個企業(yè)應用程序的開發(fā)過程為主線,從應用程序開發(fā)者的角度闡述了會話bean、消息驅動bean和實體bean,以及EJB構架對Web服務、事務和安全性的支持。本書適合企業(yè)應用程序開發(fā)者和計算機科學專業(yè)肢高年級本科生和研究生使用本書現在推出第2版,深入剖析了EnterpriseJavaBeans(EJB)2.1構架,說明了如何用最新的EJB組件構架開發(fā)和部署企業(yè)應用程序。第2版討論了EJB2.0和2.1構架的新特征,包括消息驅動bean和異步通信、增強的容器管理的持久性、Web服務支持以及EJB查詢語言(EJBQueryLanguage,EJBQL)。本書是SunMicrosystems公司成功推行的Java藍圖(JavaBluePrints)程序的一部分,介紹Java2平臺企業(yè)版(Java2Platform,EnterpriseEdWin)。Java藍圖程序已經被數千名應用程序設計師、開發(fā)者和學生采用,以便更好地理解J2EE平臺固有的編程模型。本書和Java藍圖程序不提供如何使用各種Java技術編寫應用程序的資料一一對此可以參考相關的《Java語言導學》(JavaTutorial)。Java藍圖主要考慮應用程序構架的指導方針。本書讀者應該熟悉Java編程語言,應該有J2EE平臺的基本知識,而且多少應該使用過企業(yè)bean和EJB構架。盡管我們簡要地介紹了EJB構架的基礎知識,但是本書的目的不是作為那些剛剛接觸企業(yè)bean的開發(fā)者的教程。相反,本書針對信息技術(informationtech-nology,)人員實現內部應用程序,以及獨立軟件開發(fā)商(independentsoftwarevendor,ISV)開發(fā)銷售給企業(yè)的一般應用程序,深入剖析了E3B2.0和2.1構架。EJB構架主要按以下幾方面定義企業(yè)應用程序的組件模型:如何按組件集的方式設計應用程序;組件與組件之間如何交互;組件與它們的EJB容器如何交互。EJB構架以契約的方式定義這些交互,使應用程序能夠使用不同來源的組件。因為EJB組件必須遵循這些契約,所以構成一個應用程序的軟件組件可以來自多個開發(fā)商。EJB應用程序主要從容器開發(fā)商的角度定義構架契約。相反,本書從應用程序開發(fā)者(即開發(fā)EJB應用程序的人)的角度介紹EJB構架。本書以詳細描述兩個企業(yè)應用程序的開發(fā)過程為主線。盡管示例程序比較簡單,但是足以說明企業(yè)應用程序開發(fā)中遇到的許多典型問題。我們用這些例子說明EJB構架如何幫助開發(fā)者解決這些問題。第1個例子是由一個IT部門內部開發(fā)的福利注冊(benefitenrollment)應用程序。該應用程序很好地說明了會話bean的工作原理,以及開發(fā)者如何使用會話bean。第2個例子把第1個例子的福利應用程序轉變成由一個ISV開發(fā)的應用程序。ISV的設計目標不同于那些內部汀部門。ISV在設計應用程序時必須考慮到可以把它容易地部署到許多不同的客戶操作環(huán)境中。因為每個客戶都有一個獨特的操作環(huán)境,所以ISV必須應對許多難題。此外,ISV通常需要設計應用程序,使客戶或者集成人員能夠擴展它。我們說明了實體bean如何幫助ISV克服這些難題。EJB2.1構架使我們能夠以Web服務的形式實現應用程序。本書增加了這一部分內容,用一章內容闡述了如何在Web服務中結合使用企業(yè)bean。這些例子都加了注解,說明了在企業(yè)應用程序開發(fā)中通過EJB構架解決特定問題的技巧。此外,我們還描述了EJB構架的各種特征,討論了在應用程序中使用它們的時機以及如何使用它們。盡管一般的應用程序開發(fā)者不需要知道EJB容器的工作原理,但是我們還是介紹了一些EJB容器的內部機理。之所以介紹這些內容,是為了讓讀者明白容器替應用程序做了多少工作。