論面向服務的架構及其應用

2022-10-10 13:57:09 字數 3033 閱讀 9828

摘要:面向服務的架構(soa)是乙個元件模型,它將應用程式的不同功能單元(稱為服務)通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台、作業系統和程式語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行互動。soa是一種應用框架,他關注企業日常的業務應用,將其劃分為獨立的業務功能和流程,並抽象為服務,使用者和系統開發人員可以構建、部署和整合這些服務,無需依賴特定的應用程式及應用平台,從而提高企業業務流程的靈活性。soa技術參考架構將服務分為6類:連線服務、協作服務、業務服務、業務流程、互動服務、資訊服務。

面向服務的體系結構(soa)是乙個元件模型,它將應用程式的不同功能單元(稱為服務)通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台、作業系統和程式語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。在這方面,就可以將soa架構比喻為古代的活字印刷術,整本書的工程類似整個系統架構,每個單獨的文字就像是乙個個獨立的介面,在整個工程的呼叫過程中,只需對介面進行呼叫,不用管介面的實現,就像不管你是陶字還是什麼材料製作的文字,只需在印書的時候,拿過來用就行。活字印刷就是通過文字與版面之間的松耦合,通過「排版」來實現一部書的印刷版面的,這種松耦合就大大提高了文字的字模之間的復用和編排效率。我們標準封裝的「服務」就類似乙個乙個的字模,通過服務編排(「排版」)來實現業務流程。

soa的目標就是實現靈活可變的it系統。要達到靈活性,通過三個途徑來解決:標準化封裝、復用、松耦合可編排。soa的核心主體是服務。所謂「服務(service)」 ,從業務角度而言,服務是乙個可重複的經過標準封裝的任務,例如: 檢查賬號餘額;開新賬戶等。soa的目標是通過服務的流程化來實現業務的靈活性,所謂流程(process)是由一系列相互關聯的任務所組成,實現乙個具體的業務功能。乙個流程可以由一系列服務來實現。

服務就像一堆「元器件」,這些元器件通過封裝形成標準服務,他們有相同的介面和語義表達規則。但服務要組裝成乙個流程和應用,還需要有效的「管理」,包括如何註冊服務、如何發現服務、如何包裝服務的安全性和可靠性,這些就是soa治理。soa治理乃是將soa這一堆元器件,進行有效組裝,形成乙個「產品」的關鍵,否則它永遠是一堆器件,而無法形成乙個有機整體。

關鍵服務實現,是soa在各種業務服務元件的分類。一般來說,乙個企業級的soa架構通常包括:互動服務、流程服務、資訊服務、夥伴服務、企業應用服務和接入服務。這些服務可能是一些服務元件,也可能是企業應用系統(如erp)所暴露的服務介面等等。這些服務都可以接入esb(企業服務匯流排,enterprise service bus),進行集中統一管理。

soa技術參考架構將服務分為6類,具體如下:

1.連線服務 連線服務又稱連通服務,是面向服務架構的骨幹,在完成服務的接入,服務間的通訊和互動基礎上,還提供安全性、可靠性、高效能的服務能力保障。連線服務的乙個典型實現就是企業服務匯流排(enterpriseservice bus,esb) 。

2.協作服務 協作服務通常由通訊**和web服務**兩部分組成。通訊**與連通服務中的通訊**實現內.部有效的資料通訊,web服務**與外部的公共註冊中心互動,註冊本平台對外開放的web服務以及查詢所需要訪問的外部』web服務。協作服務既可以實現組織之間(如**鏈的合作夥伴之間)的互動通訊,也可以實現組織內部(如跨地域的分支機構之間,並有防火牆進行保護的情況)之間的互動通訊。

3.業務服務 業務服務指為新建服務提供的特定執行支援環境。新建服務包括單個服務以及合成服務,不包括流程化的服務。合成服務-般由應用編碼實現,它可以呼叫其他的服務(包括:單個服務、合成服務和流程

化的服務)。業務服務與連通服務相聯接,其中的新建服務與其他服務的通訊和互動通過連通服務來實現。業務服務的執行資訊由執行管理服務儲存,業務服務也接受並執行執行管理服務的管理和控制命令。

4.業務流程 服務流程服務是業務流程的執行環境,提供流程驅動、服務呼叫、事務管理等功能。流程服務是為業務流程的執行提供的一組標準服務。業務流程是一組服務的集合,可以按照特定的順序並使用-組特定的規則進行呼叫。業務流程可以由不同粒度的服務組成,其本身也可視為服務。

5.互動服務 互動服務實現人與服務之間的互動功能。人可以是服務的消費者,也可以是服務的提供者。人不能直接消費服務,也不能直接提供服務,需要通過相應的程式實現**操作(即人通過操作程式實現與服務的互動)。互動服務就是需要提供一組完整的功能,以實現人與服務的互動,並能夠方便地進行互動。人員需要請求服務時,向連通服務傳送訊息請求,由連通服務查詢服務,並將請求訊息傳遞給服務提供者。

6.資訊服務 資訊服務特指為.上層應用系統、同層的其他服務等提供資料訪問及資源訪問服務。其目標是使應用系統能夠統

一、透明、高效地訪問和操縱位於網路環境中的各種分布、異構的資料資源,為實現全域性資料訪問、加快應用開發、增強網路應用和方便系統管理提供支援。

在構建soa框架時,以下兩點需格外注意:

1 原有系統架構中的整合需求

當soa架構師分析原有系統中的整合需求的時候,不應該只限定為基於元件構建的已有應用程式的整合,真正的整合比這要寬泛得多。在分析和評估乙個已有系統體系結構的整合需求時,我們必須考慮一些更加具體的整合的型別,這主要包括以下幾個方面:應用程式整合的需求,最終使用者介面整合的需求,流程整合的需求以及已有系統資訊整合的需求。當soa架構師分析和評估現有系統中所有可能的整合需求的時候,我們可以發現實際上所有整合方式在任何種類的企業中都有一定程度的體現。針對不同的企業型別,這些整合方式可能是簡化的,或者沒有明確地進行定義的。因而,soa架構師在著手設計新的體系結構框架時,必須要全面的考慮所有可能的整合需求。例如,在一些型別的企業系統環境中可能只有很少的資料來源型別,因此,系統中對訊息整合的需求就可能會很簡單,但在一些特定的系統中,例如航運系統中的edi(electronic data interchange 電子資料交換)系統,會有大量的電子資料交換處理的需求,因此也就會存在很多不同的資料來源型別,在這種情況下整個系統對於訊息資料的整合需求就會比較複雜。因此,如果soa架構師希望所構建的系統架構能夠隨著企業的成長和變化成功地繼續得以保持,則整個系統構架中的整合功能就應該由服務提供,而不是由特定的應用程式來完成。

2 服務粒度的控制以及無狀態服務的設計

當soa架構師構建乙個企業級的soa系統架構的時候,關於系統中最重要的元素,也就是soa系統中的服務的構建有兩點需要特別注意的地方:首先是對於服務粒度的控制,另外就是對於無狀態服務的設計。

論面向服務架構及其應用

摘要 soa定義 面向服務的體系結構 soa 是乙個元件模型,它將應用程式的不同功能單元 稱為服務 通過這些服務之間定義良好的介面和契約聯絡起來。介面是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平台 作業系統和程式語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行互動。...

論面向服務的架構及其應用

宣告 本文為本人在軟考系統架構設計師備考期間的練手寫作,不保證內容的原創性與正確性,僅供參考,請勿照抄和用於學術 等正規場合,因不當使用產生後果一律自負。前端web服務主要提供給使用者使用的介面,分為前置nginx負載均衡伺服器 前端 nginx集群。當使用者通過網路訪問系統時,首先會訪問到前置的n...

論面向服務的架構及其應用

論面向服務的架構及其應用 摘要 傳統的架構在乙個完整的軟體包中將許多應用程式功能混合在一起,這種方式稱為 單一應用程式 這樣加大了系統的複雜性,增加了維護系統的成本,並且不能重用,soa將應用程式的不同功能單元進行拆分,服務建立後能用於多個應用和業務流程,並通過這些服務之間定義良好的介面和契約聯絡起...