大概在一年前也就是研一的時候,開始大概了解了WebService;一個外出和一個PM聊天(那次有超級上當(dāng)?shù)母杏X)時,聊到了SOA,他問我SOA和WebService什么關(guān)系時,我回答了SOA比較大主要是大集成的思想,WebService也是。
當(dāng)時那位 PM 給更正了一下, SOA 是一個規(guī)范體系, WebService 是 SOA 的一種具體技術(shù)體現(xiàn)。這句話雖然不很精確,但是也給我一種啟示,那就是一定要知其然更要知其所以然。
他問及我的關(guān)于 Webservice 服務(wù)的粒度,讓我在那次談話后更加關(guān)注了 WebService 和 SOA 。
那段時間唯一的感覺就是對于 SOA 概念大家包括業(yè)界的各家都是仁者見仁,沒有統(tǒng)一的說法。大概追逐了幾個月的時間,便沒有再跟蹤。昨天小組討論時,才發(fā)現(xiàn)我對 SOA 的定位卻有些滯后;本來就是一種思想,這種滯后或許也根由于仁者見仁。
大概描述一下我的理解:
一個應(yīng)用可以分為開發(fā)與集成兩大部分。開發(fā)部分大概囊括需求、業(yè)務(wù)分析、實現(xiàn)、系統(tǒng)間各模塊的集成、測試;集成更多的是與別的應(yīng)用的集成,而不是系統(tǒng)間各模塊的集成。換句話說,開發(fā)側(cè)重的是應(yīng)用系統(tǒng)的內(nèi)部,耦合性更緊密;集成側(cè)重于應(yīng)用之間,講究的是靈活性。
在 SOA 提出之前,集成更多的重任落在了 EAI 的肩上。介于對 EAI 理解不夠,暫時不展開分析以及與一些同樣目的的技術(shù)進行比較,如 WebService 。
SOA 就是一種思想 --- 大集成的思想,集成不能各家一詞百花齊放,為了秩序,必須需要一個大家都能接受的統(tǒng)一的規(guī)范,這個秩序,更確切的說,更好的保證了可集成性。如同人類社會需要法律,法律要求人們遵守,法律反過來更好的保障了人類社會的秩序一樣。而從這個意義上理解, WebService 就是 SOA 的一種具體實現(xiàn),而非團隊小組成員理解的 SOA 包括 WebService( 到目前我依然堅持 EAI 和 WebService 實現(xiàn)的是并列的技術(shù),都是為了集成,都是 SOA 思想的一種實現(xiàn)技術(shù) ) 。
SOA 的另一影響,就是對軟件開發(fā)模式的影響,它把業(yè)務(wù)設(shè)計開發(fā)與技術(shù)設(shè)計開發(fā)分離開來,形成了與服務(wù)為主導(dǎo)的模式,業(yè)務(wù)人員更多的關(guān)注于業(yè)務(wù)流程,技術(shù)人員更好的承接這些模型與需求,以服務(wù)拼裝的方式快速的實現(xiàn)出來。
說了這么多,下一篇將更多的從 SOA 的起源上說一下我的理解。
我對 SOA 的認識(二) http://www.tkk7.com/crazycy/archive/2006/05/24/47799.html