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