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

2021-05-21 12:14:05 字數 3303 閱讀 5932

本文中的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的簡單描述是工作流

work flow

,其實work flow

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

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-oriented modeling and architecture

)。 

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概念的應用程式。不過使用模組化 可重複用...