读书笔记 - 企业精简架构
本文更新版本已挪至 ?http://www.zhoujingen.cn/blog/4117.html
-------------------------
今天花了一個上午去書店看了一本關于企業架構方面的書籍:《企業精簡架構》(3星),這本書適合于架構師和CIO閱讀,主要論述如何精簡企業架構,道理簡單,做起來很難。全書分為兩部分:第一部分,作者通過一些直觀的問題展示復雜性帶來的問題,接著從數學的角度進行分析;第二部分,討論解決復雜性問題的過程-簡單迭代分割(SIP),下面把書中的一些主要內容給大家分享一下。
企業架構
企業架構的目標是通過IT投資獲取最大的商業價值,它是一種高層次的企業視野,聚焦與組織的IT架構和業務架構之間。IT系統如果不能滿足商業需求,那將是大大的浪費,而業務過程沒有相應的IT支持,效率很難提高。《 Enterprise Architecture As Strategy》一書的作者們說過,真正能夠有效利用企業架構的企業還不到5%,而企業架構又是如此重要,所以更有必要重視企業架構。
大多數企業架構師多多少少都有些方法論的經驗,但是能夠在這個領域有很開闊視野的架構師卻為數不多,所以作者在書中介紹了一下目前最流行的Zachman、TOGAF和FEA,他覺得這些方法論更確切地說是框架,并沒有很好的指導什么是好架構、什么是壞架構,又該如何做架構(注:TOGAF9現在已經包含了一些指導和內容等框架,可以指導如何架構)。他認為好的架構應該是簡單的架構,也就是精簡架構,在第二部分也提出了一個簡單迭代分割(SIP)方法。
?復雜性:C=PD
書中通過一些如硬幣正反面、骰子等直觀的示例,通過數學模型講解一下復雜性的原理:
C=PD(c-復雜性;P-每隔決定點的支路數;D-決定點的數目)
?骰子有6個面,一個骰子可以出6中不同組合,2個是36種,3個是216(63)種,12個是2176782336種,所以系統支持功能越多,每個功能之路數越多,系統就越復雜,可能成指數級的增長,所以需求人員不要以為只是增加了20%的功能量,但系統復雜度可能已經是指數級的增長了。書中還提到了增加桶的概念,其實就是分區的概念,把凌亂的對象按照邏輯劃分為不同分區,減少復雜性,如12個骰子放在兩個桶中,復雜度為2X66=93000,與612=2176782336復雜度相比不是一個數量級的。
業務過程的復雜度與決定點的數目和那些決定點引出的路徑的數目有關。軟件系統的復雜度與變量的數目和那些變量的狀態數有關。無論是業務過程還是軟件系統,它們的復雜度都可以通過骰子系統來建模。在這個模型中,骰子的數目、每個骰子的面數,還有這些骰子是如果分割到幾個籃子里的。
自治的子集:ABC
ABC是企業構架的基本單位,它是一個自治業務能力,是一個業務單元,這些單元之間都是自治的,并且以一種定義好的方式互相作用。
- A(Autonomous):自治,不依賴于其他ABC的功能也能正常工作
- B(Business):業務,有定義好的業務目的
- C(Capability):能力,有能力創建出外部世界可見的效果
ABC模型簡化的整個業務模型:
分區的五條法則
簡化復雜性的三種主要方法:分區(分割)、迭代(執行子分區)和簡化(移走子分區、做減法)。
簡單迭代分割(SIP)???????????
我們已經知道ABC是企業構架的基本單位,那么我們如何找到這些ABC呢?SIP是一個找到這樣的過程。
互操作性
書中說到互操作性的一些方法:
軟件城堡模型
系統A沒有任何部分封裝成Web服務,而是讓外部的一個叫做Guard的實體實現Web服務,Guard代表外界與系統A進行互操作。外界與Guard使用SOA進行操作。
我用ppt畫了一個示意圖:A、B是兩個ABC自治子集
技術劃分:
- 規則1:自治
- 規則2:清晰的邊界
- 規則3:功能分割
- 規則4:依賴定義
- 規則5:異步
- 規則6:數據分割
- 規則7:無交叉事務
- 規則8:單點安全
- 規則9:內部信任
- 規則10:保持簡單
這些規則有點類似SOA的規則,說起來簡單,做起來可難了!
?
參考:
ControllingComplexity-3 SIP.pdf
企業精簡架構?
企業架構框架-TOGAF v0.1.pdf
?
歡迎轉載,轉載請注明:轉載自周金根 [ http://zhoujg.cnblogs.com/ ]
轉載于:https://www.cnblogs.com/zhoujg/archive/2010/02/07/1665449.html
總結
以上是生活随笔為你收集整理的读书笔记 - 企业精简架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 米小粒做农业项目吗?
- 下一篇: Orchard: Shape展现介绍