普元副總裁劉爾洪對SOA做了一個形象的比喻,SOA想解決的問題是軟件太大了不靈活,就要把它拆小。小的東西就像積木一樣,拼成什么都行,這個拆開的小積木就是服務。問題是服務難做嗎?有人說做服務很簡單,隨便把現有的軟件模塊打個包,封裝一下就是服務。對于這樣的觀點,劉爾洪認為,關鍵在于服務用來干什么?可復用的服務才有價值,現在的問題是服務的質量不高,每天做的軟件沒有考慮到每一塊小的軟件都建立業務模型、適應不同的環節。
另外一個問題就是,服務需要很靈活,只有足夠靈活才能夠適應變化。靈活對應到實現上就是服務的粒度,這一點對于SOA的實現是一個難以確定的問題。如前文所述的那種通過將軟件模塊打包封裝出來的服務,粒度是非常大的,這樣做的問題是復用性很差。劉爾洪說,普元的思想是一直分解到最小的粒度,由一堆最小的構件組合成服務。這樣一來服務拼大也行,拼小也行,用這樣的方式做出來的服務是很靈活的。對于基于SOA建立大型企業應用,把企業的應用都變成最小粒度的服務組合起來的應用,問題是小粒度的通用性的服務很難做出來,需求經常會發生變化,具體的應用場景也會經常發生變化,如何能夠解決這個問題?劉爾洪的答案很簡單:就用更小的顆粒解決出來,這是普元一直在提倡的構件,構件拼成服務,服務拼成流程,流程構造出應用,很多應用拼成一個企業。
文章來源于領測軟件測試網 http://www.kjueaiud.com/