跨平臺叢集整合運用企業資源,提高投資報酬率

Oracle 10g以跨平臺的叢集技術,實現網格運算(Grid Computing)的概念,當企業的資源可靈活調度及有效運用時,不但節省採購設備成本,並減少系統閒置的時間。Oracle致力於提供J2EE平臺統一的管理介面,讓企業透過單一的介面,掌控所有的服務。Oracle平臺即時的故障通知及反應機制,也可強化系統穩定性,增加使用者信賴程度。以跨平臺叢集實現網格運算的應用

在Oracle 9i資料庫已提供RAC(Real Application Cluster;真實應用叢集器)的技術,支援無上限節點數,企業可整合多臺低價的伺服器,執行大型伺服器的任務,運作正常的伺服器可即時接手故障伺服器的工作,因此大幅提高系統的可靠度。不過,RAC僅能支援單一平臺的跨伺服器應用,若企業內有多種作業平臺,仍無法整合運用。

雖然目前網格運算的完美理想還很難實現,不過Oracle在10g應用伺服器及資料庫已有實際的應用。Oracle的網格運算是跨平臺叢集的概念,資料庫或應用程式可不受限於作業系統設定叢集,整合數臺伺服器為單一邏輯裝置,讓企業資源不受硬體及平臺的限制靈活運用。

過去叢集軟體(Clusterware)屬於IBM、Sun及HP等平臺廠商的領域,所以無法滿足跨平臺的需求,使異質平臺的資源無法共通運用。Oracle透過Oracle資料庫儲存中繼資料(MetaData),使應用不受作業系統限制。Oracle Application Server 10g提供的Web Cache、HTTP Server、Portal、Container for J2EE等,所有功能均可跨平臺設定叢集。打破平臺僵固性

企業在規畫系統硬體需求時,必須預估尖峰時刻的運算量,及未來幾年可能的成長率,當硬體不敷使用時,往往不是單純的硬體升級,而是置換整套設備,成本相當昂貴。根據分析機構的統計,如此看似合理的系統需求評估方式,導致企業一臺伺服器資源閒置的比例高達50%,不但增加企業採購的成本,也造成資源的浪費。

即使Java語言已達到跨平臺的理想,卻是技術方面的跨平臺,只要遵循Java公開標準開發的應用程式,可移植到各種平臺執行。不過系統建置方面,J2EE應用伺服器仍需建置在單一平臺上,不同平臺無法共享資源,由於這樣的僵固性,使得企業內的資源無法整合運用。

Oracle網格運算的好處,是企業評估系統需求時,由於Oracle 10g應用伺服器的系統架構具延展性,Web Cache、HTTP Server、Portal及J2EE應用程式等每一項服務,均可跨伺服器及作業系統設定叢集,因此企業只需根據需求投資適當的硬體設備,不必因為考量長期的系統需求,而預先購買閒置的資源,導致資源浪費。

在採購新設備時理所當然會選擇單一平臺,以減輕維護的負擔,以Oracle網格運算的機制,企業可考慮以多臺低廉的伺服器,達到負載平衡且互為備援,取代單一昂貴的大型主機。當系統不敷使用時,可選擇加掛新的主機分擔工作量;或統籌分配企業內既有的資源,無需限定特定平臺,靈活調度可支援的電腦。另一種情況是當有多個應用程式或服務同時執行,但尖峰時段不同,可在管理介面定義政策(Policy),讓系統依各應用程式的工作量,自動調度分派資源,使企業的資源可交錯運用,增加投資報酬率。統一的J2EE管理平臺

與其他J2EE應用伺服器各自為政的架構,以各別的管理程式管理各項服務相較,Oracle應用伺服器自9i開始即以單一的管理介面,統一控管企業各式各樣的服務,即應用程式平臺(Application Framework)的架構。管理人員只要透過統一的管理介面,即可掌握所有服務執行的狀態。

過去的叢集架構是相同平臺之下,應用伺服器之間設定叢集,及資料庫之間設定叢集,當其中一個實體裝置故障,系統會即時發現並立刻接手處理,所以使用者不會查覺發生任何問題。但是應用伺服器及資料庫之間並無溝通的機制,因此需經由業界標準機制,當交易逾時才會發現問題。以Oracle統一的平臺管理架構,則可提供應用伺服器與資料庫之間的溝通機制,在第一時間點通知故障,即時將連向故障裝置的連線,切換到其他實體裝置,強化系統的穩定性及可信賴度。

在許多應用伺服器廠商著墨於提供簡單方便的操作介面的情況下,Oracle則致力於提供整合統一的管理介面,在Oracle 10g除了J2EE應用甚至資料庫也可整合管理。至於操作介面的簡易性,Oracle認為是後續強化的重點。Oracle 10g應用伺服器之所以可以統一管理所有的服務,是因為利用Oracle 10g資料庫記錄服務的中繼資料(Metadata),所以即使服務或資料庫跨伺服器及平臺執行,也可掌握狀況。

不過,由於必須全系列採用Oracle的產品,限定以Oracle資料庫記錄中繼資料,對企業而言會增加採購的成本,所以Oracle提供企業變通的選擇,10g應用伺服器支援以檔案記錄中繼資料,但是並不建議客戶採用這種作法,雖然檔案可取代資料庫節省授權費用,但缺點是無法設定叢集。應用平臺套餐是J2EE的迷思

Oracle 10g應用伺服器分為Java版、標準版及企業版,Java版包含JDeveloper及應用伺服器;標準版的產品是Java版的產品再加上Portal;企業版則包含所有服務。

基本上JDeveloper是通用的Java開發工具,並不限定Oracle平臺使用,只是JDeveloper搭配Oracle應用平臺,提供許多附加的類別庫,可減輕開發人員撰寫程式的負擔,提升生產力,且可直接部署程式到Oracle應用伺服器。除了Oracle本身的應用伺服器外,目前JDeveloper也可附加BEA的類別庫,直接部署應用程式到WebLogic應用伺服器。

由於目前物件關聯式資料對應(Object Relational Mapping)沒有一定的標準,一般Java應用程式,除非開發人員自行撰寫程式,呼叫資料庫原生驅動程式,否則多透過JDBC連接資料庫,然而JDBC本身就是效能的瓶頸,因此Oracle購買全球資料庫中介軟體第一名的TopLink,提供較佳的資料庫存取效能。不過,臺灣企業對TopLink較為陌生,所以開發人員難免增加一些學習的負擔。

此外,Oracle JDeveloper提供的BC4J(Business Components for Java),是Java開發XML驅動的平臺,協助開發人員以可重複使用的商業元件,建構可擴充的多層式架構資料庫應用程式,相較於開發人員土法煉鋼撰寫程式,BC4J可大幅縮短開發時程,提升生產力及軟體品質。

目前第一領先群的J2EE應用伺服器產品,均在J2EE標準外,增加專屬的規格及應用,以提供企業更友善的介面,並減少撰寫程式的負擔,Oracle的BC4J即是如此。使用專屬架構的優點是可提高生產力,但無可避免的缺點,就是被平臺套餐綑綁,無法實現「Write once,run everywhere」的理想。

雖然Oracle 9i的應用程式可與10g整合共同管理,但無法設定叢集,一定要使用Oracle 10g的應用伺服器,搭配Oracle 10g資料庫,才能達成Oracle的網格運算。乍聽之下覺得成本頗高,不過對企業而言,因為穩定度不夠導致生產線停機,造成的損失遠高於軟體授權的成本。因此對於穩定性要求嚴苛的大型企業,運用Oracle實現網格運算的機制,讓應用程式及資料庫,跨伺服器與平臺架構叢集,使企業內的既有資源,可靈活運用互為備援且負載平衡,是可以考慮的投資。文⊙李延華

熱門新聞

Advertisement