SOA的本質是組織設計的乙個模式乙個方法

2021-08-25 00:10:17 字數 3255 閱讀 6700

本文中的5s

是指麥肯錫企業管理的

7s方**中,除了

願景和戰略之外的5個s

,包括(系統systems

、組織structure

、能力skills

、人力staff

、文化style)。

麥肯錫7s

模型很多人都在說soa

,但是真正能夠把

soa說清楚的沒幾個。要不就是太概念化,要不就是太意識化。我希望我這次能夠把他說清楚。我們是乙個給客戶提供資訊化的公司,不要我們自己都對

soa一知半解。

老盧曾經打過比方,soa

就是搭積木。這個比方確實不錯。但是不足以說明清楚

soa到底是什麼。

soa這個概念是在

gartner

十多年前(1995

年)提出的,

gartner定義

soa是一種模組化的、發現的

(也就是不用檢視實施**就可以使用

)、分布式的、共享的、可交換的

(也就是不需要改變**就可以交換的軟體

)和適應於不同軟體的

(也就是能夠與其它應用程式連線的)模式

。事實上,當時提出的時候,由於沒有很好的技術支援,所以發展比較緩慢,隨著基於xml

的webservice

的迅速發展,

soa的概念也越來越被重視,特別是以

ibm為首的專注於提供完整企業資訊化解決方案的公司。他們在原有的基礎上,把

soa完善為完整的乙個資訊化架構體系。包括業務分析,建模,實現,部署等等。

我們現在應該明確一件事,就是soa

是為企業整體資訊化服務的。當我們在給企業提供一套完整解決方案的時候,企業會在擔心你的方案如何適應它現在的應用,如何適應它以後的發展。這是很正常的,因為每乙個企業都在發展,必然要用發展的眼光去看待這個問題。

那麼拋開軟體不談,對於乙個企業,自己要做好目前的業務,要讓以後的業務很好的發展,自己應該如何設計自己呢?

所以我說,soa

就是企業設計中的

5s。其目的是為了支援企業當前和以後的戰略發展,其依據是自身的業務,其路徑是通過

5個方面去體系化設計。

依據這點,我們完全可以大膽地從業務上去重新定義一下soa

,soa

是提供給組織領導者設計其自身業務的一種體系架構,它從系統、組織、能力、人力、文化五個方面,讓組織領導者更加容易設計和建設自身隊伍。

「系統」之soa

和bpm

關係。這兩個概念,經常被一起提及,有人說這兩者本是同乙個東西,但是角度不同而已。但在我看來,

bpm這是

soa的乙個維度。這就是我們的系統。

bpm的簡單描述是工作流

workflow

,其實workflow

只是乙個技術描述,本質上和

bpm是同乙個感念。

bpm是從業務角度看流程。

「組織」之soa

和portlet

的關係。很多人可能小看了有關組織的建模。因為組織向來是企業已經提供給我們的。但是,真正的企業的組織建模,可遠遠不止這些。實際上,由於流程和組織的緊密關係,

bpm中也提出了對組織建模的要求。包括組織、角色及各種約束關係等到。在實際建模的時候,還得考慮安全、授權等方面。而這些,都設計在系統中,最後以

portlet

的方式呈現給使用者。不同的人,有不同的介面和業務入口。

「能力」soa

和esb

的關係。

esb是企業服務匯流排的意思。

esb是提供註冊發現某種服務能力的地方。事實上,

esb只是乙個載體。所有能力的集合,才顯示出

esb的作用。它吧企業中的所有能力都進行了集中管理。方便各方面進行整合呼叫。

「人力」之soa

和xml

的關係。在企業資訊化過程中,並不能保證某個系統一定就能適合公司的業務應用。可能上乙個系統是為了磨合業務,也可能是為了學習新的方式。不管怎麼樣,系統的公升級換代是正常的。在這個過程中,不同系統之間的整合,新舊系統的整合,就必須依靠統一的描述語言來規範。這就是

xml的作用,基於

xml的

webservice

是關鍵的實現技術。

「文化」之soa

和sns

的關係。

sns的背後就是那個著名的「

六度分割

」理論,簡單地說:你和任何乙個陌生人之間所間隔的人不會超過六個,也就是說,最多通過六個人你就能夠認識任何乙個陌生人。按照六度分割理論,每個個體的社交圈都不斷放大,最後成為乙個大型網路。後來有人根據這種理論,創立了面向社會性網路的網際網路服務,通過

「熟人的熟人

」來進行網路社交拓展。雖然企業中,不光包括

「熟人的熟人

」的社群。企業中文化的建立和傳播途徑,其實正和sns

有著密切的關係。現在很多個人門戶的方式都是仿照這種社群網來建設的。

上門提到的有關soa

幾個方面的技術,並不是完完全全地對應,但卻都是從這個角度去切入,去進行架構。下圖簡單總結了一下。

soa的建模過程,其實也是乙個

5s的建模過程。說到這裡,我們不得不學習一下

ibm關於

soa方面的建模理論,這就是

soma

(service-orientedmodelingandarchitecture

)。ibm的

soma

是為面向服務的分析和設計提出的一種架構方法,它主要包括服務發現、服務規約、服務實現。

第一、服務發現

1)業務領域和業務功能域分解

2)遺留系統分析

3)業務目標建模

第二、服務規約

1)服務分類

2)服務流規約

3)業務對齊

4)服務組裝

5)訊息和事件規約

6)子系統分析

7)元件規約

第三、服務實現

1)現有系統分析

2)確定服務分配

3)元件間的對映關係

4)服務組裝

5)服務實現決策

6)服務基礎設施設計

目前soma

相關詳細內容,

ibm內部是保密的,沒有對外部客戶進行宣講和培訓。實際上已經和用友和金蝶都講解過。可以看出

ibm的這個

soma

基本上也是在進行系統設計。事情是一樣的,只是處理的方式不一樣。

總結一下,soa

不是乙個技術,也不是乙個軟體,而是一種思維模式,系統架構。它包括組織分析、設計、建立的過程。如果簡單點來說,

soa就是5s。

SOA的本質是組織設計的乙個模式乙個方法

本文中的5s 是指麥肯錫企業管理的 7s方 中,除了 願景和戰略之外的5個s 包括 系統systems 組織structure 能力skills 人力staff 文化style 麥肯錫7s模型 很多人都在說soa 但是真正能夠把 soa說清楚的沒幾個。要不就是太概念化,要不就是太意識化。我希望我這次...

QuerySet,本質上是乙個給定的模型的物件列表

如題所說,很操蛋的是,搞了這麼久django,居然被折騰這麼久,老師一直也沒講清,今天特來總結為以後留作筆記 def studentsinfo request stus students.objects.all get pk 1 print stus print type stus a studen...

SOA 虛擬化是未來的乙個發展方向

soa目前炙手可熱,其實它是非常簡單的設想 將那些被很多應用程式廣泛使用的一般 標準化成可從網路上獲得的能重複使用的部件 服務 只將更特定的邏輯需求設計到應用程式中。在企業的it架構建設中,早在和web services出現之前就已成功地編制和部署了類似soa概念的應用程式。不過使用模組化 可重複用...