TOGAF的建構區塊(Building Block)
本文我們將介紹在TOAGF標準的建構區塊概念。從什麼是建構區塊(building block)?建構區塊的AAB(Architecture Building Block)與SBB(Solution Building Block)不一樣的地方在哪?在ADM循環中建構區塊是如何被使用的?架構模式的特點是什麼?
什麼是建構區塊(Building Block)
建構區塊是為滿足整個組織的業務需求而定義的功能包(package of functionality)。 建構區塊會有一個對外介面,以方便外部世界可以進行功能存取。 建構區塊可以與其他可能相互依賴的建構區塊進行互操作(interoperate)。
一個好的建構區塊具有以下特點:
- 它被用來實作和使用,並利用技術和標準來不斷進化
- 它可以由其他建構區塊組裝而成
- 它可能是其他建構區塊的次要組件
- 理想情況下,建構區塊是可重複使用和可替換的,並且具有穩定的介面
- 它的規範應該是鬆散耦合(loosely coupled)的施作,以便可以在不影響建構區塊規範的情況下以多種方式實現它
將功能、產品和客製開發組裝成建構區塊的方式在不同的架構之間差異很大。 每個組織都必須自行決定哪種建構區塊的排列最適合自己。一個好的建構區塊可以改進舊有系統整合、互操作性(interoperability)以及建立新系統和應用程式的靈活性。
一個架構由以下元素組成:
- 架構模型中描述的一組建構區塊
- 這些建構區塊如何連接以滿足資訊系統的總體要求的規範
架構中的各種建構區塊明定企業特定系統中所需的服務。 以下一般原則應該要有被應用到:
- 架構只需要包含建構區塊來實現它需要的那些服務
- 建構區塊可以實現架構中標識的一項、多項或部分服務
- 建構區塊應符合標準
ABB與SBB
系統是由建構區塊的集合建立的。 它們可以在許多等級上進行定義:
- 功能等級的分組,例如客戶資料庫,稱為ABB(Architecture Building Blocks)
- 實際產品或客製開發被稱為SBB(Solution Building Blocks)
ABB(Architecture Building Blocks)
ABB 是來自企業架構文件庫的架構文件和模型,根據架構連續體分類。 它們是在 ADM 的應用過程中定義或選擇的 — — 主要是在 Phase A — D。
ABB的特徵如下:
- ABB會定義要實現的功能
- ABB擷取架構需求; 例如,B.D.A.T(業務、資料、應用程式和技術)需求
- ABB指引和引導SBB的開發
ABB 的規範應至少包含以下:
- 基本功能和屬性(Fundamental functionality and attributes):語義、明確,包括安全能力和可管理性
- 介面(Interface): 選擇與提供的介面集合
- 互操作性(Interoperability)和與其他建構區塊的關係
- 具有所需功能和命名使用者介面的相關建構區塊
- 對映到業務/組織的實體和政策
每個 ABB 都應該包含來自企業架構文件庫的任何架構文件和模型的論述,這些文件和模型可以在架構開發中重複使用。 使用 ADM 建構區塊的規範是一個進化和迭代的過程。
SBB(Solution Building Blocks)
SBB 與 解決方案連續體(Solutions Continuum)相關。 它們是企業架構連續體中已確定架構的實現,可以外部採購或自行開發。 SBB 出現在 ADM 的 Phase E: Opportunities&Solutions,這裡會第一次考慮到”特定產品”的建構區塊。 SBB 定義哪些產品和組件將實現功能,從而定義實作。
SBB具備以下特徵:
- SBB定義哪些產品和組件將實現功能
- SBB定義了實作
- SBB滿足業務需求
- SBB了解產品或供應商
SBB規範應至少包含如下:
- 具體功能和屬性
- 介面:實做的集合
- 與所需功能一起使用的SBB 和使用的介面名稱
- 從 SBB 對映到 IT 拓撲和運營政策
- 共享屬性的規範,例如安全性、可管理性、可擴展性
- 效能、可配置性
- 設計驅動因素和約束條件,包括實際架構
- SBB 和 ABB 之間的關係
建構區塊與ADM
系統是由建構區塊的集合(collections)建立的,因此大多數建構區塊必須與其他建構區塊進行互操作(interoperate)。 無論情況如何,重要的是建構區塊的介面已存在且是穩定的。
可以在不同的等級定義構建構區塊,具體取決於已達成的架構開發階段。
例如,在早期階段,建構區塊可以只包含一組功能,例如客戶資料庫和一些檢索工具。 此功能等級定義的建構區塊在 TOGAF 標準中被描述為ABB。 再來,外部採購的產品或自行開發取代了這些簡單的功能定義,然後建構區塊被描述為SBB。
演進和指定建構建塊的 ADM 的關鍵階段和步驟總結如下。
架構模式(Architecture Patterns)
在 TOGAF 標準中,模式被認為是一種將建構區塊置於整體脈絡中的方式; 例如,描述一個可重複使用的問題解決方案。 建構區塊是我們使用的物品; 模式則可以告訴我們如何使用它們、何時使用、為什麼使用以及在這樣做時必須做出哪些權衡。
模式有望幫助我們(也就企業架構師)識別架構和(或)ABB/SBB的組合,這些組合在過去已被證明可以交付有效的解決方案,並且可能為未來的有效解決方案提供基礎。