迷途書童

          敏感、勤學、多思
          隨筆 - 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 迷途書童 閱讀(834) 評論(0)  編輯  收藏 所屬分類: 隨感系統設計BPMSOA業務建模

          主站蜘蛛池模板: 英德市| 景洪市| 荥阳市| 汶上县| 科尔| 柯坪县| 惠州市| 根河市| 紫云| 福建省| 乌鲁木齐县| 卢湾区| 岚皋县| 同心县| 包头市| 平湖市| 淮阳县| 留坝县| 威宁| 土默特右旗| 永新县| 阳新县| 灵璧县| 高碑店市| 辽中县| 石屏县| 莱芜市| 高邑县| 德阳市| 卢湾区| 江门市| 新巴尔虎左旗| 元朗区| 仙游县| 威远县| 南华县| 宜兰县| 通州区| 栖霞市| 汨罗市| 绿春县|