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

2022-08-23 03:15:12 字數 3176 閱讀 8609

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

摘要:傳統的架構在乙個完整的軟體包中將許多應用程式功能混合在一起,這種方式稱為「單一應用程式」,這樣加大了系統的複雜性,增加了維護系統的成本,並且不能重用,soa將應用程式的不同功能單元進行拆分,服務建立後能用於多個應用和業務流程,並通過這些服務之間定義良好的介面和契約聯絡起來,將單個應用程式功能分開,以便這些功能可以單獨用作單個的應用程式功能或「元件」。這些元件可以用於在企業內部建立各種其他的應用程式,或者如有需要,對外向合作夥伴公開,以便用於合作夥伴的應用程式。 soa 允許乙個企業高效地平衡現有的資源和財產,這種體系能夠使得it 部門效率更高、開發周期更短、專案分發更快,在幫助it技術和業務整合方面有著深遠的意義。

1.軟體開發專案簡介及主要工作

soa旨在將單個應用程式功能彼此分開,以便這些功能可以單獨用作單個的應用程式功能或「元件」。這些元件可以用於在企業內部建立各種其他的應用程式,或者如有需要,對外向合作夥伴公開,以便用於合作夥伴的應用程式。它有助於實現更多的資訊資產重用、更輕鬆地管理和更快地應用開發與部署。

在soa架構中有著三種角色,分別使服務提供者、服務註冊中心和服務請求者。服務提供者向服務註冊中心發布自己的服務,並且對服務請求進行響應,服務請求者利用服務中心請求滿足其標準的服務,然後使用該服務並返回服務提供者的資訊,在檢索到服務描述之後,服務請求者繼續根據服務描述中的資訊來呼叫服務。

服務是乙個自包含的、無狀態的實體,可以由多個元件組成。它通過事先定義的介面響應服務請求。它也可以執行諸如編輯和處理事務等離散性任務。服務本身並不依賴於其他函式和過程的狀態。用什麼技術實現服務,並不在其定義中加以限制。 服務提供者提供符合契約的服務,並將它們發布到服務**。 服務請求者也叫服務使用者,它發現並呼叫其他的軟體服務來提供商業解決方案。從概念上來說,soa 本質上是將網路、傳輸協議和安全細節留給特定的實現來處理。服務請求者通常稱為客戶端,但是,也可以是終端使用者應用程式或別的服務。 服務**者作為儲存庫、**黃頁或票據交換所,產生由服務提供者發布的軟體介面。

對於乙個soa系統必不可少的就是基礎設施、已有資源、企業服務、流程模型、服務展現和系統工具。在基礎設施和已有資源都已具備的基礎上,開發和構建乙個soa系統還需要我們設計開發出符合標準的服務,這是整個soa系統最核心的要素。基於標準服務,借助流程編排工具和建模工具,組織構造流程,生成流程模型,更好地滿足業務需求。實際構建和開發soa系統,具體包括服務和應用程式的開發,資料的訪問、處理和管理,及對服務各種形式的展現等。

在乙個soa系統中,必不可少的一項工作就是發布自己的服務,並且對服務請求進行響應。soa的業務流程是由一系列業務服務組成的,為了使服務可訪問,需要發布服務描述以使服務使用者可以發現它。利用現有的資產包裝成提供企業功能的服務,在現有的資源中繼續獲得價值,通過利用現有的構件和服務,減少完成軟體開發生命週期所需的時間,能夠快速開發新的業務服務。

2.面向服務架構的主要技術和標準

面向服務架構主要應用在企業應用整合領域,它能夠以服務的方式共享和復用企業現有應用資產對組織中的業務流程進行靈活的重構和優化,增強業務的敏捷性,主要技術和標準分為以下幾方面:

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

協作服務通常由通訊**和web服務**兩部分組成。通訊**與連通服務中的通訊**實現內部有效的資料通訊,web服務**與外部的公共註冊中心互動,註冊本平台對外開放的web服務以及查詢所需要訪問的外部』web服務。協作服務既可以實現組織之間(如**鏈的合作夥伴之間)的互動通訊,也可以實現組織內部之間的互動通訊。

業務服務指為新建服務提供的特定執行支援環境。新建服務包括單個服務以及合成服務,不包括流程化的服務。合成服務由應用編碼實現,它可以呼叫其他的服務。業務服務與連通服務相聯接,其中的新建服務與其他服務的通訊和互動通過連通服務來實現。業務服務的執行資訊由執行管理服務儲存,業務服務也接受並執行執行管理服務的管理和控制命令。

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

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

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

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

soa從物件導向、軟體架構等方面逐步完善,相互依託、相互補充,它依賴於xml和web服務實現以軟體的形式存在的更加具體的觀念和技術,它也需要考慮到安全性,可靠訊息傳遞等方面的問題,從而有效的進行工作。

3.構建soa架構遇到的問題以及解決方法

在構建soa架構時成本預算有限,我們需要在有限的成本中更好的完成soa架構。我們可以對原有系統架構中的整合需求進行細緻的分析和整理,面向服務的體系結構是當前及未來應用程式系統開發的重點,面向服務的體系結構本質上來說是一種具有特殊性質的體系結構,它由具有互操作性和位置透明的元件整合構建並互連而成,我們並不需要徹底重新開發子系統,我們可以考慮重用已有的資源,這樣就節約了大量的成本。當我們遇到了乙個十分複雜的企業系統,我們首先需要考慮的是如何重用已有的投資,因為如果把整個系統進行替換,這樣的成本是十分昂貴的。

當soa架構師分析原有系統中的整合需求的時候,不應該只限定為基於元件構建的已有應用程式的整合,真正的整合比這要寬泛得多。在分析原有系統整合需求時,我們要更加全面的考慮整合的型別,可以從以下幾個方面進行考慮:應用程式整合的需求,最終使用者介面整合的需求,流程整合的需求以及已有系統資訊整合的需求。在分析和評估現有系統中的整合需求時,會發現實際上所有整合方式在任何種類的企業都有一定程度的體現。針對不同的企業型別,這些整合方式可能是簡化的,或者沒有明確地進行定義的。因而,soa架構師在著手設計新的體系結構框架時,必須要全面的考慮所有可能的整合需求。

4.結語

soa最適合應用於系統整合,系統整合的關鍵就是提取公共的有價值的服務。各個系統通過暴露服務,經過esb這條匯流排連線後,將系統整合起來,能夠讓軟體開發的效率更高,開發周期更短,成本更低,這在未來的軟體開發中前景十分廣泛,

參考文獻

[1]李占衛.soa架構師注意的問題.

論面向服務架構及其應用

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

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

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

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

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