第一類:
以組件為基礎的開發 vs. 存儲過程
目前,“以組件為基礎的編程”很快成為許多人首選的應用程序開發方案。它能將來自不
同廠商的組件有機結合到一起,允許代碼重復使用,並易於維護,易於展開,易於擴展,從
而快速開發出應用程序。適合采用以組件為基礎的開發模型的應用程序包括:
■ 計算密集型應用:假如一個應用程序需要進行密集的邏輯運算和算術計算,那麼來自
第三方的組件,以及組件的重復利用能力,可使整個開發過程變得更加容易。
■ 復雜的多層次應用:對O r a c l e 8 i內運行的E J B和C O R B A組件來說,它們通過I I O P,可自
I n t e r n e t浏覽器、C O R B A客戶機以及純J a v a客戶機中方便地調用。D C O M客戶機(如
Microsoft Transaction Server上運行的Visual Basic應用程序)可通過一個D C O M→
C O R B A橋,方便地訪問C O R B A服務器。
另外,適合采用存儲過程開發的應用程序包括:
■ S Q L密集型應用:存儲過程與數據庫高度集成,所以特別適合經常要通過S Q L訪問數
據的應用程序。
■ 傳統雙層應用:存儲過程為傳統雙層應用程序提供一個簡單、直接的編程模型。
O r a c l e 8 i內的存儲過程可用一系列數據庫客戶機方便地訪問,比如J D B C、S Q L J、
O D B C、O C I和O r a c l e開發客戶機等等。
第二類:
以組件開發為基礎的: EJB vs. CORBA
E J B技術使我們能更易在一個C O R B A基礎結構的頂部,構建J a v a應用程序。如同本章
“E J B的優點”一節詳細講述的那樣, E J B通過覆蓋一個更高級別的編程接口,從而實現對
C O R B A的引用。E J B是完全用J a v a寫成的,不必使用I D L。E J B事務處理和安全策略通過聲明
的方式加以指定,而不是以程序化的形式。
C O R B A對象可在需要良好粒化的功能時,進行編寫。O r a c l e 8 i配套提供的C a ff e i n e(咖啡
因)工具可有效地降低用J a v a開發C O R B A服務器時牽涉到的一些復雜性。
注意盡管C O R B A對象可用任何語言寫成,但只有用J a v a寫成的對象,才能在
O r a c l e 8 i內展開。
第三類:
存儲過程: PL/SQL vs. Java
P L / S Q L與數據庫緊密集成具有下述優點:
■ 對S Q L具有自動可見性:在P L / S Q L中,毋需任何條件,所有進程和函數在S Q L面前都
是顯露無遺的。而在J a v a中,首先必須編寫對應的調用規范,發布那些希望S Q L“看見”