自動化服務架構的概觀


TPTP 提供自動化服務架構,支援從不同環境來供應和使用 Eclipse 管理的 TPTP 服務。基本上,由於這些服務是黑箱元件,透過延伸規格來發佈自己(支援的內容的相關規格和行為式合約), 因此,可以建立新的服務提供者來實作相同的服務。這種實作方式讓服務使用端和服務提供者之間形成更寬鬆和動態的連結關係。

儘管 TPTP 的服務抽象概念讓 TPTP 經常出現在服務導向架構中,但嚴格來說,仍然不同於標準 Web 服務抽象概念(更小型、更簡單且更不正式)。自動化服務架構所呈現的觀念和抽象概念,相當於任何服務導向架構中的高階抽象概念。

TPTP 的組成特性會逐漸開發並發佈服務,備妥 TPTP 平台供 Eclipse 以外的 Script 和任意程式來控制。TPTP 測試特性目前提供測試執行服務,可靈活地以程式化形式來執行 TPTP 測試。

架構

自動化服務架構採用分層式構造,可以在架構的元件之間形成寬鬆的關聯。將服務使用端要求送入服務提供者回應(服務的執行)的匯流排為了加強兩端的延展性, 在用戶端提供配接器模型(用戶端可能是在 Eclipse 實例內執行的程式碼,或在 Eclipse 之外執行的程式碼,例如指令行 Script), 在伺服器端提供服務提供者供應模型(伺服器端是 Eclipse 實例,管理提供服務實作方式的外掛程式)。

可以開發其他自動化用戶端配接器,修改新的服務使用端樣式來符合 TPTP 提供的標準自動化用戶端介面。例如,協力廠商可以開發 Web 服務用戶端自動化配接器,以允許在標準的 Web 服務環境內執行 TPTP 自動化服務, 或撰寫 Jython 用戶端自動化配接器,以支援從 Jython 環境中使用服務。

隨著符合標準的新的自動化服務不斷發佈,TPTP Eclipse 實例公開提供的服務也愈加充實, 可用的服務提供者也就愈多,服務提供者會提供功能給使用自動化服務架構的相關使用端。一般使用者只要實作適當的延伸點並開發至少一個 Java 類別,就可以建立外掛程式來提供新的服務。基於匯流排的分層式構造和本質,使用端環境中的 ant Script、Shell Script、Java 程式及其他任何安裝的用戶端配接器,必然會自動提供這項服務。

輕量型自動化用戶端元件提供一組標準的服務介面,供用戶端配接器使用,也為各種情況提供適當的 Eclipse 啟動策略。目前提供兩種啟動和執行策略,一種適用於使用程序內服務,另一種適用於使用跨程序服務 (跨程序為典型的策略,專為特定 Eclipse 實例以外的用戶端提供服務)。適合在呼叫端所在的相同 Eclipse 實例中執行服務時,適用程序內策略。

輕量型元件和重量級元件會互動(稱為重量級是因為極度依賴 Eclipse,也因此較依賴於取出外部自動化用戶端元件的程式庫)。透過在自動化用戶端元件實例上可設定的字串 ID,輕量型元件和特定 Eclipse 實例會產生唯一的聯結關係。Eclipse 實例內管理的自動化伺服器(在元件或分配管理系統內,又稱為重量級), 會接收從輕量型自動化用戶端元件送入的通訊,並安排呼叫適當的服務提供者(又稱為自動化服務)。自動化伺服器定義一些簡單的延伸點,在所要求的服務和處理要求的 Java 類別之間建立間接的關係。

相關作業
從 Script 和應用程式啟動測試
執行測試執行服務

相關參照
支援的測試執行服務內容