網格體系結構是對網格基本組成部分和各部分功能的定義和描述,對網格各部分相互關系與集成方法的規定,以及對網格有效運行機制的定義。網格體系結構是網格最核心的技術,是網格的架構和靈魂,只有建立合理的網格體系結構,才能夠設計和構建網格,才能夠使網格的效能發揮得最好。目前最重要最有影響的網格體系結構有兩個:5層沙漏體系結構、基于Web服務的開放網格服務體系結構(OGSA)。
開放網格服務體系結構(OGSA,Open Grid Service System Architecture)是以服務為中心的“服務結構”。這里的服務是指具有特定功能的網絡化實體,它具有更廣的含義,可將各種計算資源、存儲資源、網絡、程序、數據庫等等都列為服務。與5層沙漏體系結構不同,OGSA對服務實現共享。從“資源共享”發展到“服務共享”,可將資源、數據、信息等加以統一,有利于動態的共享機制的實現,并使分布式系統管理具有標準的接口和行為。
在充分考慮網格的異構分布式特性的基礎上,OGSA對Web服務進行了擴展,提出了動態服務(即網格服務,Grid Service)的概念,如圖1所示。通過定義標準的服務接口把服務內容、資源所在地、物理資源特性等信息屏蔽,不僅解決了異構網格環境的互操作問題,而且真正實現了服務的虛擬化。與Web服務一致,OGSA服務采用Web服務定義語言(WSDL,Web Services Definition Language)來描述。
圖1:OGSA網絡服務示意圖
OGSA對網格服務的標準定義是:提供一組定義好的接口,遵循明確約定的Web服務。接口功能包括:服務發現、動態服務創建、生命期管理、通知等功能;約定內容包括:命名和升級能力約定。
OGSA接口和約定提供對臨時服務實例(Transient Service Instances)的支持,也就是說,它具有動態服務創建、管理和撤消功能。這些功能可支持視頻會議、數據庫查詢一類的應用。對升級能力的約定主要表現為在實際運行的網格環境中,服務可以獨立升級。這要求服務之間具有版本和兼容性檢查機制,還要求服務的升級不影響客戶的使用。OGSA提供一套機制來識別服務改變,更新客戶對服務的了解。
目前,OGSA定義的接口主要支持以下幾類操作:
1)服務發現。應用程序發現可用服務,了解服務的特性,進一步使用這些服務。
2)動態服務創建。Factory接口負責網格服務實例的動態創建。
3)生命期管理。動態服務需要有生命期的控制。OSGA通過撤消和設置終止時間兩個操作來控制,
其中,終止時間被稱作是網格服務實例的軟狀態生存期管理。軟狀態協議允許在遠端創建狀態,如果有保持存活(Keepalive)消息不斷發送來,狀態被不斷保留;如果過了終止時間沒有收到保持存活消息,服務實例被自動終止。
4)通知。被多個分布式服務用來互相異步通知感興趣的狀態。
OGSA只關心網格服務實例的語義,例如:如何創建,如何命名,如何決定生存期,如何通信等,不關心實現的編程模型、編程語言、實現工具或執行環境。宿主環境是服務實例實際應用中的執行環境。目前,科學的計算網格服務實例是以本地操作系統進程為宿主環境。Web服務提供的基于容器/組件(Container/Component)的宿主環境為將來的電子商務網格服務提供生存環境,后一種宿主環境提供更高級的編程能力、管理能力、靈活性和安全性。