SOA概念誤解實施要點

來源:互聯網
上載者:User
SOA實施要點:

1、 SOA的構建次序。是從上到下還是從下到上?我個人傾向於從大局進行把握,因為SOA中重要的不是技術,而是對業務的定位。如果從下往上去設計服務的話可能會做很多重複勞動工作,或者在真正去用的時候返工。應該在設計的時候進行足夠的需求調研,挖掘出業務的核心並對外提供。但是設計時候肯定會有很多沒考慮到的東西,或者說想的過於粗,那麼在開發的時候也可以進一步去討論需要公開的服務,補充上粒度比較細的那一部分。也就是說先把握大局從上到下,然後抓住細節從下到上。

2、 SOA的測試過程。作為用戶端程式,在需要的服務尚未建立的時候,需要自己建立基於介面的FAKE服務進行測試,等服務在網路端點上部署之後使用服務代理進行替換(當然,理想的方式是由用戶端代理自動產生FAKE服務和測試資料)。作為服務的主辦者,需要在服務發布之前對服務的邊界、邏輯和效能進行嚴格的測試,作為服務端是不知道我的客戶是什麼的,我要處理所有可能的情況。

3、 SOA的持續建設。雖然說契約是不變的,但不代表格服務不變。服務的商務邏輯是需要不斷完善的。服務也是可以擴充的。沒有什麼事情是在一開始的時候就完美的,如果服務沒有持續建設作為保障的話,可能花費很大時間做出來的服務並沒有多少人願意來使用,導致整個服務層越來越孤立越來越偏離SOA,最終導致SOA實施的失敗。我們不要去怕服務做的不好,不好的地方就去不斷修正,如果服務沒有客戶來消費的話那就很危險了。

4、 SOA的基礎結構。不管是叫ESB或者其他什麼名詞,基礎結構總是需要的,而且應該在實施前進行這個基礎結構的建設。其中有一些東西是非常重要的。一是可靠性的保證服務,比如如何去做服務的負載平衡,如何去做事務,如何去做服務的流量控制,如何?訊息的加密和安全。第二是服務的監控和管理,比如服務調用的異常記錄,系統的狀態,系統的配置,系統的部署。第三是服務的中介,比如服務的路由、非同步隊列、訊息轉換。第四點是服務的管理平台的平台,比如流程管理、契約管理、部署管理。從技術上說這個基礎結構應該是盡量對開發人員透明的,並且也是也是需要不多的人為的參與,以代碼產生工具、AOP、管理工具等方式實現。這一套架構是SOA開發前期需要完成的,也是技術難度最大的。在完成後對開發人員進行技術上的培訓和流程上的培訓。

 

                SOA概念誤解:

1、 SOA 不是技術(當然也不是WEB服務)、不是產品、不是新概念、不是一塵不變的。SOA是SO的A,也就是說是符合面向服務思想的架構(可能需要WEB服務作為某項技術來參與,但不能說它就是WEB服務)。SOA的成功需要一套產品的支援,但本身不是產品。SOA為什麼不是新概念?我們生活中需要用到各種服務,我們只需要按照要求,寫一些表格(契約),對方就會給我們結果,這不是SOA是什麼,電腦硬體中很多地方也是SOA的思想(其實我一直覺得軟體工程走在硬體工程的後面,很多開發上的思想在硬體設計中都能找到原型)。SOA沒有實施結束的那一天,一定是不斷變化不斷改進的。

2、 SOA可大可小,可以是企業內部的,也可以是企業與企業間的,可以是同構平台也可以是異構平台,因此,SOA很難套用,甚至沒有哪個公司對SOA的實施是一模一樣的。SOA可能會很簡單也可能會很複雜,複雜不是說技術上的複雜,很多時候在於管理上的複雜性,因為裡面融合了業務,業務是會變化的。複雜性還體現在可能是基於老系統進行實施,需要考慮到資料相容問題以及資料集中的問題。

3、 SOA不一定是一層的。沒有規定服務的消費者一定是用戶端,服務的消費者可以是服務,也就是服務的組合,多層的服務能進一步提高重用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.