迷途書童

          敏感、勤學、多思
          隨筆 - 77, 文章 - 4, 評論 - 86, 引用 - 0
          數據加載中……

          構建SOA風格的應用

          當下,SOA這個詞已經深入人心,幾乎沒有人不說自己設計的應用是遵從SOA的。

          很多人對SOA的理解就是分層、模塊化、面向對象。。。這種理解對不對后面再說。先看一些問題:

          我今天看了一個開發團隊的開發工程包結構,部分類的命名及組織產生了如下印象:

          • 每個usecase是一根根煙囪
          • 煙囪與煙囪之間連模型都沒有共享。其實業務模型是有設計的,主要是實現模型沒有保持業務模型的結構特征,全部成了“值對象”,開發人員天天把這些值對象叫做領域對象。
          • 有三層,是Struts幫忙定義的,三層分別根據usecase分包

          這也是我們宣稱的SOA系統!!!!連最基本的模型設計、模塊設計、分層設計都沒做好,難怪年年重構、年年完成不可能完成的任務!!!我確信這種重構、這種不可能完成的任務還會年年持續下去!!!

          究竟什么是符合SOA風格的系統?先看看SOA宗師IBM的一篇文章:

          http://www.ibm.com/developerworks/cn/architecture/ar-soastyle/

          我來總結一下。

          SOA能達到什么目的:

          1.實現業務與IT的一致性;

          2. 創建更靈活的反應更敏捷的IT基礎設施;

          3. 簡化集成實現;

          SOA要怎么做?

          1. 從應用程序到流程和服務。消除應用程序,將軟件系統創建為一組由業務流程進行協調的交互服務。每個服務實現企業上下文中定義的特定業務目標或功能,業務流程表示必須實現的業務解決方案。這個講的比較抽象,我的解讀就是服務表示一個最細粒度的業務目標或功能,由業務流程來編排這些服務,實現更大粒度的業務目標或功能,業務流程也是服務。注意,這里隱式的定義了服務的概念,服務是自治的,可替換的,可被多個流程編排的,不耦合流程上下文的,是直接面向業務目標或功能的,不是一個公共函數庫,服務不是封裝了數據和方法的類。
          2. SOA的服務基于業務資源(對象)定義,不支持操作者的執行上下文,而是支持業務資源(對象)。這里的業務資源是指業務實體。業務實體也是來自業務的。所以,SOA能保證IT與業務的一致性。

           

          別再說你的應用程序或煙囪遵循SOA的架構風格!

          posted on 2012-07-18 21:19 迷途書童 閱讀(831) 評論(0)  編輯  收藏 所屬分類: 隨感系統設計BPMSOA業務建模

          主站蜘蛛池模板: 松阳县| 麻城市| 兰西县| 铁岭市| 普宁市| 繁昌县| 溧水县| 卢氏县| 池州市| 玉田县| 讷河市| 中阳县| 夏河县| 竹山县| 太原市| 革吉县| 营山县| 承德县| 永仁县| 瓦房店市| 潼关县| 双鸭山市| 都匀市| 莎车县| 桦甸市| 光泽县| 西充县| 贵定县| 渭南市| 平山县| 元氏县| 鄄城县| 惠来县| 洛阳市| 化州市| 繁昌县| 高雄县| 屏山县| 松原市| 宁河县| 大关县|