基於SOA 的儲存管理

isoa發表於2010-03-04

轉自:http://www.ibm.com/developerworks/cn/webservices/ws-soastoragemgmt/index.html

儲存管理是面向服務架構(Service-Oriented Architecture,SOA)解決方案中的一個重要元件。它支援管理以結構化方式儲存的資源。儲存管理的主要目的是歸類客戶請求並導向合適的物理儲存。它還支援使用 Web 應用程式以透明的方式訪問儲存資料。

問題

Storage Solutions 基於物件導向架構定義了一組模組化解決方案。它包含分佈於各地理位置的物理儲存、異構網路和協議。各屬性分別屬於不同的所有者。當接收到客戶的儲存請求之後,我們應該如何決定使用哪一臺物理儲存?並且,應該如何為各種儲存裝置和軟體請求者提供穩定的互動性?此外,不同儲存裝置的成本也相差甚遠。我們更傾向於根據儲存請求來選擇合適的儲存裝置。在 Storage Solutions 中,儲存是一種分散式環境,並且它們各自可以擁有不同的網路、協議、檔案系統和作業系統,同時還要求提供安全的訪問。Storage Solution 需要通過一個儲存管理系統來提供資料路徑互動性,同時提供儲存智慧。

儲存解決方案

為了提供這樣的系統,我們首先需要抽象所有元素,包括:Storage Network、Storage Protocol 和 Storage Array。接下來,需要引入虛擬的概念 —— 儲存分組用於對元素進行分類,並且我們會將儲存分組公開為 Web 服務。

儲存分組

儲存管理服務支援以結構化的方式來管理資源儲存。它為高階應用程式提供了低階服務,並且隱藏了資源儲存的細節。在建立儲存解決方案目錄之前,必須定義一些基本元素,比如協議、網路和儲存。組合這些元素的關係定義為 “組” 。圖 1 顯示這種系統的結構,其中包含 A111、B212 和 C323 三個組。


圖 1. 系統結構
系統結構

如圖 1 所示,分組由協議、網路和儲存構成。管理員可以為客戶機指定特定的分組。採用這種方式,可以根據儲存、網路和協議的屬性建立不同的分組。

工作原則

Storage Management Service (SMS) 隱藏了儲存內容的細節,並向所有外界元素提供介面。要成功開發 SMS,我們首先需要在 SMS 中儲存一些預定義規則,比如說建立一些儲存分組來用於虛擬化儲存陣列。除此之外,儲存服務還從應用程式和服務接收請求(關於在何處儲存系統接收到的內容),各種內容型別及其屬性將儲存在一個資料庫中,需要使用一個查詢表來交叉對映內容型別到各種應用程式和服務,需要相關資訊返回給應用程式使用。儲存服務還與安全服務緊密協作來維護虛擬儲存庫。然後,SMS 將使用這些規則來確定哪些分組最適合客戶機的請求,並生成一個包含主機名、協議、使用者名稱和密碼等資訊的專用路徑。然後,路徑和所有相關資訊將返回給客戶機。接下來,客戶機使用此資訊聯絡儲存器。其流程如圖 2 所示。


圖 2. 流程
系統結構

基於 SOA 的結構

由於 Storage Management 需要管理分佈於各地理位置的網路、協議和儲存,因此建議通過 Web 服務來實現它。各網路、協議和儲存都將被註冊為 Web 服務,並且還可以通過新增介面來訪問它們。

在 Storage Solutions 中,需要通過 Web 來訪問 Storage 服務。這些服務將使用一種基於 XML 的描述語言來進行描述,並通過根據 Internet 協議(如 HTTP)傳遞的 XML 訊息來與客戶機通訊(終端使用者應用程式和其他 Web 服務)。

圖 3 顯示了 Storage Solutions 作為 Web 服務與其他模組通訊的結構。


圖 3. Storage Solutions 結構
系統結構

結束語

儲存管理是 SOA 解決方案中的一個重要元件。本文重點討論瞭如何成功實現分組概念來管理不同的網路、協議和儲存。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-628569/,如需轉載,請註明出處,否則將追究法律責任。

相關文章