BEA WebLogic Server 是Sun Microsystems的Java EE 平台的領先實現然而WebLogic Server的核心價值主張則體現在Java EE規范沒有覆蓋的領域——增強的管理易用性高可用性可伸縮性可靠性和性能實際上WebLogic Server的價值不依賴於任何特定的編程模型所以它與新也自然適用於新出現的非Java EE的Java編程模型近年來出現的最令人激動的事物莫過於基於反向控制(IoC)的模型Spring Framework就是它的事實上的實現
文章結構
文章的前兩節概述SpringWebLogic Server和它們各自的特性如果您熟悉Spring Framework那麼可以跳過第一節如果您熟悉WebLogic Server那麼可以跳過第二節本文主要目的是介紹這兩種技術的集成所以本文後續的部分都是講述這一主題的首先我們分析MedRec— WebLogic Server上的一個示例程序——分別以它的原始的Java EE形式和使用Spring Framework重構後的形式之後是關於特定的集成點的一些細節如果您打算在 WebLogic Server上開發Spring應用程序那麼幾乎可以肯定這些細節會對您有所幫助如果您只是想有個大致的概念可以先閱讀標題內容留待以後再看最後我們展望了一些正在考慮中的未來開發工作
Spring簡介
本節我們來簡要地概述Spring Framework的特性包括版以來的一些新特性
Spring是基於Rod Johnson在 Expert OneonOne JEE Design and Development(Wrox )公布的代碼的一個分層的Java/Java EE應用程序框架Spring的存在是因為我們相信Java EE應該更容易使用並且有可能創造更簡單的Java EE開發方法而不會犧牲平台性能
Spring支持靈活的Java EE開發允許使用Plain Old Java Objects(一般稱為 POJO)開發Java EE應用程序
改進的Spring開發體驗
Spring在其核心部分提供了一個易於配置XML驅動的反向控制(IoC)容器IoC基於所謂的好萊塢原則不要打電話過來請等通知在這種模式中通過容器而不是直接編程將Java對象間的關系注入應用程序中有兩種注入方式—構造函數注入和setter注入具體取決於容器是通過其構造函數還是mutator方法將信息注入已創建的Java對象
在Spring中注入的屬性——或到其他bean的引用——是通過一個XML文件進行配置的這使得配置輕而易舉它耦合了另外一個AOP框架允許非侵入性增加諸如事務處理和安全等屬性這意味著開發人員可以專注於創建業務解決方案而不必忙於復雜的Java EE開發或配置由於容器是非侵入性的所以您不必擔心業務代碼會被特定於供應商(此處也包括Spring)的工件所污染
Spring應用程序組件
如上所述Spring提供了一個輕量級的容器用於提供集中式自動化的配置並連接應用程序對象它是非侵入性的能夠以一致的和透明的方式通過IoC把一組松耦合的組件(POJO)組裝成復雜的系統因為該容器允許首先獨立地開發和測試各軟件組件然後在任意環境中(Java SE或Java EE)中進行擴展部署所以它具有靈活性和高利用率並提高了應用程序的可測試性和可伸縮性此外Spring提供了許多其他對開發人員友好的特性下面我們一一列舉
一個用於事務管理的通用抽象層支持可插入的事務管理器使事務劃分更輕松同時無需處理底層的問題該層中還包括JTA策略和一個JDBC DataSource相比普通的JTA或EJB CMTSpring的事務支持不依賴於Java EE環境考慮到是一個十分靈活的非侵入性解決方案事務語義通過AOP應用於 POJO通過XML或Java SE 注釋進行配置
一個JDBC抽象層提供了一個有意義的異常層次結構(不再從SQLException抽取供應商代碼)簡化了錯誤處理極大地減少了代碼編寫量無需為了再次使用JDBC編寫另外的finally代碼塊面向JDBC的異常遵循Spring的一般DAO異常層次結構
與業界領先的對象——關系映射解決方案的集成在資源擁有者DAO實現支持和事務策略方面對大量IoC 便利特性的一流支持解決了許多典型的OR映射集成問題所有這些都遵循Spring的一般事務和DAO異常層次而且Spring 提供了與Java Persistence API (JPA)的完全集成
AOP功能性完全集成到Spring配置管理中您可以對Spring所管理的任何對象啟用AOP增加了聲明性事務管理等方面借助於Spring您能夠擁有沒有EJB的聲明性事務管理——甚至也可以沒有JTA
一個靈活的MVC Web應用程序框架構建在核心的Sping功能之上它是通過策略接口高度可配置的並且適用多種視圖技術如JSPVelocityTilesiText和POI注意Spring中間層能容易地與基於任何其他Web MVC框架(如StrutsWebWork或Tapestry)的Web層組合
一個用戶可擴展的配置層允許用戶在vanilla Spring配置中加入自己定制的XML標簽整個Spring 核心庫已經廣泛地使用這一功能提供增強的語法和通用Spring特性的可用性
異步編程抽象包括與JMS提供者的框架中立的事務集成的消息驅動POJO(MDP)與異步調度機制的集成如commonjJava SE並行程序和Quartz本地事件支持
所有的Spring功能都可以在任何Java EE服務器上使用大部分功能可以在非托管環境中使用Spring的一個重心是支持可重用業務和不依賴於特定的Java EE 服務的數據訪問對象這些對象可以不費事地跨JEE環境(Web或EJB)獨立應用程序和測試環境進行重用
Spring的分層架構提供了大量靈活性它的功能都構建在較低的層次上例如您可以在不使用MVC框架或沒有AOP支持的情況下使用 JavaBean配置管理但是如果您要使用Web MVC框架或AOP支持您會發現它們構建在配置框架之上所以您可以馬上用上有關它的知識
BEA WebLogic Server 簡介
本節我們來簡要概述BEA WebLogic Server的特性重點強調其提供的底層基礎架構而不是編程模型
WebLogic Server是可伸縮的企業級Java EE應用服務器WebLogic Server基礎架構支持各類分布式應用程序的部署是構建各種應用程序的理想基礎
Sun Microsystem公司的 Java EE 規范 在WebLogic Server上的實現提供了標准的一組API用以創建能夠訪問多種服務(如數據庫消息傳遞服務和外部企業系統連接)的分布式Java應用程序終端用戶客戶程序使用Web浏覽器客戶端或Java客戶端訪問這些應用程序由於Java EE是如此有名這裡我們就不進一步討論了參見關於 編程模型的 WebLogic Server文檔可以獲得更多信息
除了實現Java EE之外WebLogic Server還使企業能夠在一個健壯的安全的高可用的可伸縮的環境中部署任務關鍵型應用程序這些特性允許企業配置WebLogic Server實例集群以分布負載並在發生硬件或其他故障時提供額外的容量新的診斷工具允許系統管理員監控和調優已部署的應用程序和 WebLogic Server環境本身的性能可以對WebLogic Server進行配置來自動監控和調整應用程序吞吐量無需人工干預廣泛的安全特性保護了服務的訪問保證了企業數據安全並阻止了惡意攻擊
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28665.html