SOA之(1)——SOA架構基礎概念

Richaaaard發表於2015-11-27

 

在深入探討什麼是面向服務的架構(SOA)之前,先建立一些基本的概念和術語的基本描述而非嚴格定義,所以也許有些定義在業內還存留爭議,此處暫且忽略。

 

架構基礎

技術架構(Technology Architecture)——某物的基礎物理設計(The fundamental of physical design of something)

技術基礎設施(Technology Infrastructure)——處於基礎和支援地位的技術環境,包括軟體和硬體(The underlying, supporting technology environment, including software and hardware)

軟體程式(Software Program)——一個的獨立系統,它可以是一個定製開發的應用,也可以是一個購買的產品應用(A standalone system that may be custom-developed application or a purchased product)

 

架構與基礎設施之間關係的經典類比

IT領域“架構”這個詞源於設計和建造建築和結構領域。這個起源也為我們區分技術架構(Technology Architecture)和技術基礎設施(Technology Infrastructure)提供了良好的類比依據。一個建築物的物理設計記錄於它的架構藍圖和規格說明中。但是建築存在於它周圍的環境中,它周圍的環境可能為建築提供很多支援以滿足它建造的目的,也可能正好相反。比如在城市中的辦公樓或者居民樓周邊遊街道、電站、電纜、排水系統以及其他可以提供的相關資源。這些可以認為是IT領域的技術基礎設施(Technology Infrastructure)。

建築為了利用這些基礎設施,它的物理設計會將這些內容作為正式架構設計中的一部分。因此,一個建築的設計規範會包括與之相關的基礎設施。綜上所述,建築的架構和環境基礎設施之間沒有一個明顯的邊界,這種重疊的現象也同樣存在於IT領域。

技術架構(Technology Architecture)

技術架構的範圍因我們設計物件的不同而不同,一些比較常見的型別有:

元件架構(Component Architecture)——在一個分散式計算的環境中,元件架構主要是指一個單獨的軟體程式的物理架構。

應用架構(Application Architecture)——一個部署環境有物理邊界限制的應用或系統。在分散式計算的環境中,應用架構包括了多個元件架構。

整合架構(Integration Architecture)——兩個和多個相關聯的應用或者系統的技術架構,包括使之整合的技術,資源,擴充套件。很多整合架構都包括中介軟體平臺和相關適配橋接的擴充套件。

企業技術架構(Enterprise Technology Architecture)——與元件、應用和整合架構不同,它處於設計文件之中,在程式建立之前記錄。它通常以文件的形式存在於企業環境之中。一個企業技術架構規格說明包括前面所說的所有形式的架構,同時也作為企業基礎設施的正式文件。

 

技術基礎設施

在典型的IT企業中,技術基礎設施代表軟體程式部署的目標環境。所以術語“架構”,基礎設施可以被歸為“軟體”或者“硬體”

硬體基礎設施通常包括:

伺服器和工作站(servers and workstations)

路由、防火牆和網路裝置(routers,firewalls,and networking equipment)

備用供電設施、電纜和其他計算機裝置(back-up power supplies,cables,and other computer equipment)

軟體基礎設施通常包括:

作業系統和系統應用程式藉口(operating systems and system APIs)

執行時環境和系統級的服務代理(runtime environments and system-level service agents)

資料庫和檔案目錄(database and directories)

中介軟體和介面卡(middleware and adapters)

使用者賬戶管理和安全技術(user account management and security technologies)

軟體程式(Software Program)

軟體程式簡單的說就是一個已存在的系統、應用或解決方案。它既可以是一個購買的產品,也可以是一個定製化的程式。它與技術架構的關係是,軟體程式可以被看成架構規格說明設計文件的一個實現,同時也是存在於技術架構描述的支援環境中。

部分的軟體程式設計會被記錄在應用架構規格說明中,它主要是強調程式的整體結構(包括它包含的元件資訊)、技術和對資源的要求。所以,一個典型的應用架構通常會將設計文件,比如解釋流程的功能規格說明、使用者介面風格和詳細的程式執行路演算法作為補充。

參考:《SOA設計模式》 由Thomas Erl及其他供稿者合著,作為Thomas Erl關於面向服務計算叢書的一部分,於2009年1月由Prentice Hall出版,ISBN 0136135161,版權所有2009 SOA System Inc.。

相關文章