SOMA的學習體會

 

SOMA的三個階段:服務發現,服務規約,服務實現。(SOMA是將業務轉化到IT系統的方法)(迭代的過程)

1.         服務的發現:得到服務的候選者

採用自上而下、自下而上和中間對齊的方式,。

自上而下 (業務領域分解)方式從業務着手進行分析,我們將業務進行領域分解、流程分解,以及進行變化分析

業務組件模型是業務領域分解的輸入。根據業務組件模型的詳細描述,我們可以將業務領域按照業務職責細分爲業務範圍,並直接其映射到IT範疇的子系統,實現業務與IT的無縫連接。

頂級的業務流程是流程分解的輸入。將業務流程分解成子流程或者業務活動,逐級進行,直到每個業務活動都是具備業務含義的最小單元。流程分解得到的業務活動樹上的每一個節點,都是服務的候選者,構成了服務候選者組合。在大部分情況下,服務候選者組合都是一個很長的列表,加上自下而上和中間對齊方式還有可能發現新的服務,因此將服務候選者按照某種方式進行分類是一件非常必要的事情。業務領域分解的結果——業務範圍是一個業務概念,同時可以無縫映射到IT範疇,因此它是一個好的分類原則。根據業務範圍,服務候選者組合可以被劃分服務候選者目錄。

變化分析的目的是將業務領域中易變的部分和穩定的部分區分開來,通過將易變的業務邏輯及相關的業務規則剝離出來,保證未來的變化不會破壞現有設計,從而提升架構應對變化的能力。變化分析可能會從對未來需求的分析中發現一些新的服務候選者,這些服務候選者需要加入到服務候選者目錄中。(現在不需要但以後可能需要的服務,提升架構應對變化的能力)

自下而上(已有資產分析)方式的目的是利用已有資產來實現服務,已有資產包括:已有系統、套裝或定製應用、行業規範或業務模型等。

通過對已有資產的業務功能、技術平臺、架構以及實現方式的分析,除了能夠驗證服務候選者或者發現新的服務候選者,還能夠通過分析已有系統、套裝或定製應用的技術侷限性儘早驗證服務實現決策的可行性,爲服務實現決策提供重要的依據。

中間對齊業務目標建模)方式的目的是幫助發現與業務對齊的服務,並確保關鍵的服務在流程分解和已有資產分析的過程中沒有被遺漏。

業務目標建模將業務目標分解成子目標,然後分析哪些服務是用來實現這些子目標的。在這個過程中,爲了可以度量這些服務的執行情況並進而評估業務目標,我們會發現關鍵業務指標、度量值和相關的業務事件。

結合這三種方式的分析,我們發現服務候選者組合,並按照業務範圍劃分爲服務目錄。同時爲服務規約做好其他準備,如:通過對已有資產分析進行的技術可行性評估、通過業務目標建模發現的業務事件等等。

 

 

2.         服務規約:定義實現服務的服務組件的細節,包括,數據、規則、服務、可配置概要、可能的變更,同時還會涉及到消息、事件的定義和管理。

經過服務發現的階段,我們得到了候選服務目錄,接下來就需要決定暴露哪些服務。理論上所有的服務候選者都可以暴露爲服務,但是一旦暴露爲服務,該服務候選者就必須滿足附加的安全性、性能等方面的要求,企業還必須爲服務的規劃、設計、開發、維護、監管支付額外的開支,因此我們會根據一定的規則來決定將哪些服務候選者暴露爲服務。

這些規則包含以下幾個方面:

  • 業務對齊:該服務候選者可以支持相關的業務流程和業務目標。

  • 可組裝:該服務候選者滿足技術中立、自包含以及無狀態等特點,同時還滿足複合應用的相關非功能性需求。(封裝了業務上穩定,重複出現的活動和組件)

 

  • 可重用:該服務候選者可以在不同的應用、流程中重用,從而減少重複的功能實現,降低開發和維護的成本。

  • 邊界服務

基於企業應用開發的經驗,我們還可以有其他一些方面的考慮。

在決定暴露特定的服務候選者爲服務以後,服務規約還需要定義服務的消息、非功能性需求以及服務之間的依賴關係、組合關係。

還包括服務屬性的描述(輸入輸出,安全約束,響應時間約束,業務規則,消耗等)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章