企業架構與業務優化有關後者用來解決企業架構績效管理組織結構和流程架構等問題它包含對組織的流程信息系統人員和業務等單元的當前及將來的結構及行為的描述以確保上述單元能夠符合組織的戰略發展方向可見企業架構的概念超越了信息技術的范疇
企業架構與信息技術緊密相關在本文中我將描述SOA(面向服務的架構)環境中的一種簡化的自上而下的企業架構重點關注信息技術目的是實現業務和IT間的最佳看齊
我將介紹
自上而下的企業架構方式的不同關注點
企業架構的目標
方法論概述
與 BEA SOA 域模型的關系
通過本文您將能很好地理解由業務策略驅動的自上而下的企業架構方式該方式的優勢以及相關的組織方面的考慮
自上而下的企業架構方式的不同關注點
在自上而下的方式中從業務到IT很有必要在不同的規劃分離業務和IT的不同關注點進而在二者之間奠定公共的基礎與業務相關的規劃被稱為業務流程規劃與IT 相關的規劃被稱為應用規劃而二者之間的規劃——也是該方式中最有意義的部分因為這種方式旨在提供業務和IT間的最佳看齊——則被稱為功能規劃若要描述硬件網絡操作系統應用服務器和數據庫等則可引入技術規劃的概念我無意詳細描述技術規劃因為我的主要目的是推薦一種方式來通過公共的基礎實現IT和業務間的最佳看齊
圖 描述了這些規劃以及它們之間的相互關系我將對其詳細加以介紹
圖 自上而下的企業架構方式的不同關注點
業務流程規劃
此規劃側重於業務戰略環境中的業務流程可與組織中的不同業務線緊密合作的企業架構從由業務戰略定義的業務需求開始並能為主要的企業業務流程建模比如企業架構可通過AquaLogic BPM Designer在設計層面實現這一目的這將有助於架構師理解企業內全局的主要流程而且通過讓更多的銷售代表參與進來還可以推進這種方式使用AquaLogic BPM Designer業務分析師可以模擬業務流程提供在對流程進行反向工程時發生的優化的一種度量業務流程規劃歸業務本身所有架構師的主要任務是獲取業務需求並確認可由組織內的不同業務線使用的共同業務服務
以銀行業務環境為例首先要先設計各項銀行業務(比如貸款進/出口操作)的流程這兩項銀行業務具有完全不同的流程但也會共享一些共同的服務共同服務的確認是通過在組織層面設計流程實現的在某種程度上授權系統和會計系統應該能在不同的流程比如開具信用證(LC)的流程或貸款批准的流程被重用兩個流程應該能使用共同的授權服務和共同的會計服務
功能規劃
設計好組織的重要流程之後就可用確定主要的功能塊了功能塊提供可在不同的業務流程中重用的業務服務業務服務也是 SOA 理想的構建塊這些服務還應該能被重用和重組以便提供業務所需的敏捷性在選擇這些功能塊以及需要在功能塊間共享的數據時業務線應該提供給企業架構師足夠的業務知識以便整個組織都能重用和理解規范的數據模型域UML模型和數據存儲庫這之後就需要在規劃中加入業務
這種通用的做法應該會帶來可在整個組織內共享的通用的語言和通用的分類法通用實體和通用域模型的定義使其在組織內的含義通用而且可以被不同的業務線重用這個規劃就像是個城市規劃將功能構建塊組織成與組織內不同的業務線相關的區域和地帶
通用的語言將十分有助於功能構建塊的重用以及數據在這些塊間的共享規范模型應該在企業存儲庫內被共享管理考慮應該定義設計訪問驗證和修改這些模型的方式我將在本文後面的部分對這些考慮事項詳加介紹
回到銀行這個例子在這個組織中應該有一個業務線用來處理付款外幣兌換和抵押另一個業務線處理貸款第三個業務線處理進/出口操作比如信用證(LC)和收款還有一個水平的業務線用來處理授權會計報告以及風險管理如果用城市規劃來做比喻的話每個業務線都可看作一個特區
進一步觀察進/出口這個業務線還會發現分別與LC和收款相關的功能塊而代表LC 的功能塊還可以細分為LC所應提供的不同的服務這個塊應該提供功能(或服務)比如開具LC修改LC使用LC和償還 LC這些都是LC塊的業務服務這些服務將依賴於由授權塊會計塊和付款塊提供的功能
授權塊將基於客戶的狀態為客戶授予信貸額度授權塊可能會依賴於風險管理塊的功能LC功能也將使用由會計塊和付款塊提供的服務而付款塊則將會使用會計塊和授權塊的功能
對功能規劃的描述采用業務術語並加以細分以使它能映射到應用內的應用程序和服務在銀行示例的這個環境中會計服務和授權服務在組織層面上重用
確定了這些功能構建塊之後還需要定義這些塊之間的通信這就意味著形成規范的數據模型這個規范模型可使用UML模型進行描述這就帶來了數據的XML表示這個通用語言應該跨整個組織共享
在銀行示例中不管是在LC塊還是在貸款塊使用賬戶都是一樣的客戶也是相同的賬戶和客戶都是在跨組織的共享業務模型中定義的實體這些實體由兩個規范模型表示一個用於賬戶數據另一個用於客戶數據這些模型可由整個組織共享它們可通過作為組織構建塊的一部分的公共服務訪問這些服務可以是 CRUD (Create Retrieve Update Delete) 服務也可以是復合服務定義規范模型的最好的方法是參考業界標准銀行系統使用SWIFT 標准在 SWIFT標准手冊中定義的 MT 消息在業務用例使用消息的層面上定義了銀行操作這些消息可以輕松映射成可在整個組織內使用的 XML 消息最大限度地遵循標准非常有助於將單個組織內使用的業務操作擴展到多個組織間的BB 操作
在Quinton Wall撰寫的 理解SOA中的服務生命周期設計時 和 理解SOA中的服務生命周期運行時 中有關於服務設計建模和運行時關注點的更多信息
定義了塊中使用的功能塊和數據模型後這些資產應該能由企業存儲庫中的不同業務線重用BEA AquaLogic Enterprise Repository 可用來共享企業信息資產
應用和實現規劃
正如我所提到的功能構建塊是SOA構建塊的理想選擇使用自上而下的方式確定的服務將會帶來業務需求和IT間更好的匹配
應用規劃中的服務實現將取決於服務的類型以及服務與不同的SOA 層間的關系這些層包括表示和復合層編排層業務服務層和數據訪問層或連接層
為實現這些塊選擇合適的產品時要格外慎重應該考慮組織的環境比如現有的應用程序和技術限制當進行實現方面的選擇時應用規劃與技術規劃是分不開的在理想情況下BEA WebLogic Integration 是系統到系統過程的一種不錯的選擇用於業務流程規劃中的設計和流程再設計的BEA AquaLogic BPM是人工驅動流程的理想選擇BEA WebLogic Portal 非常適合在整個組織內通過WSRP開發和共享表示層進而促進表示層和門戶聯邦的重用AquaLogic Data Services 是數據訪問層的一種理想工具而AquaLogic Service Bus 則非常適用於應用程序到應用程序的通信在實際環境中這些選擇取決於組織內現有的資產和需求另外應該在組織的環境中考慮使用參考架構
組織的參考架構是能夠根據其所屬的層和服務提供如何實現每個構建塊的最佳實踐和藍圖在參考架構中還會定義和顯示服務間的通信圖 給出了為組織定義的一個參考架構示例此圖表還描述了通過合適的產品實現組織的功能構建塊服務所需的 SOA 層參考架構的定義通過涉及合適的業務和IT層的流程實現這種模型可用於在組織環境內針對每個SOA層實現構建塊
圖 組織的參考架構
參考架構應能有助於推廣由管理團隊定義的最佳實踐指導原則和設計原理此架構應該使用在功能規劃中定義的規范的模型和分類法我將在稍後討論管理團隊的有關內容
企業架構的目標
采用從組織的業務需求開始的全局手段企業架構的主要目標是借助通用語言構建重用的氛圍如圖 所示這一目標應該逐漸實現而不是依靠急劇變革一蹴而就應該有一個管理團隊來管理不同的范疇全局業務和戰略范疇信息系統范疇和項目范疇應該支持通過合適的工具來促進整個組織內的重用
圖 企業架構的目標
管理團隊
管理團隊應該創建和維護反映組織當前狀態的資產比如現有的功能模塊在這些資產中有對當前狀態的全局描述這將十分有助於確定當前信息系統的筒倉(silo)定義目標狀態時還應考慮路線圖
要想將路線圖應用到目標管理團隊應該在項目之初就介入為整個組織提供指導原則實施規定以及最佳實踐
指導原則策略分類法企業規范數據模型數據存儲庫最佳實踐可重用資產以及需要由管理團隊定義和維護的其他准則會觸及所有的業務線以及IT
全局業務和戰略范疇
企業架構應該能夠協調IT與組織的戰略它應該能輕松適應業務的不斷變更這就要求業務架構和指導原則必須能夠最終形成組合和分解業務流所需要的功能構建塊
信息系統范疇
企業架構團隊引用現有的功能構建塊它也可以定義業務處理所需的新的功能構建塊正如在業務流程規劃中的全局業務范疇中定義的那樣信息系統范疇與功能規劃相關並應該能夠通過可由業務和IT所理解的語言來提供正確的抽象級別
信息系統資產在功能規劃中定義該定義包括在功能級別應用程序間的通信以及規范的企業數據模型通用語言分類法以及數據存儲庫應該定義和控制對這些資產的訪問
功能規劃中的工作應該與應用規劃中的應用相對應各種標准和產品支持應該與每個應用所涵蓋的方面聯合確定
項目范疇
在運營的層面上大多數舉措都應該以項目的方式實現以確保成功應用各項指導原則和規則來自管理團隊的架構師應該確保詳細的技術要求和項目架構與企業的指導原則策略以及企業通用語言的使用相一致若能在投資的早期就向可交付項目應用架構藍圖將能顯著增加符合規定具有更好可重用性的按時按預算保質交付的可能性只有這樣項目才能提供新的可在整個組織重用的SOA構建塊
將全局驅動的策略應用到新的項目是一種實現目標的演進式的方案過程是平滑進行的而非爆炸式的變革
企業架構存儲庫管理
對企業常規模型定義的訪問應該全局可用以便開發一種通用的企業語言使用通用的分類法沒有通用的語言就無法實現重用信息系統資產的有效管理可通過使用企業存儲庫實現這個存儲庫應該能由整個組織訪問並由管理團隊管理它應能提供資產和元數據的擴展視圖BEA AquaLogic Enterprise Repository 是可用來支持企業架構的一種優秀工具
方法論概述
設計企業架構的一種優秀方法是描述上述每個規劃的當前狀態如圖 所示這將有助於評估業務和IT間的差距並確定簡倉然後可定義路線圖來實現目標方法論實際上就是分析在本文的開始所描述的不同的規劃來評估當前狀態和定義目標狀態
圖 方法論概述
當前狀態(既有的)
當前狀態的評估可以用自上而下的方式自下而上的方式或兩種方式的混合來實現當前狀態的定義可在每個規劃上進行
從業務流程開始通用的工作應該由業務線和IT共同實現以定義業務流程的當前狀態用AquaLogic BPM Designer對這些流程建模可以為架構師和業務代表提供共同的基礎可使用AquaLogic BPM位業務流程及模擬可能性繪制增強的圖形
從現有的應用開始聯合IT確定現有的功能塊這樣重復的功能才有可能出現筒倉才會被識別出來
一旦識別了筒倉應用程序就應該在目標狀態定義通過服務公開消除筒倉的方法
目標狀態(應有的)
定義目標狀態應該采取自上而下的方式這是推薦的方式原因是它構建在業務需求之上並能提供可重用的業務構建塊
從業務流程開始與業務線合作可通過使用AquaLogic BMP Designer對優化後的未來狀態流程建模再下來確定功能塊提供業務流程的復合和分解所需的服務請記住在功能規劃中只有業務和IT聯合才能完成共同的任務
路線圖
之後定義路線圖來實現中間認可狀態的目標這個路線圖在定義通用語言規范模型數據存儲庫時應該被考慮進去中間的驗證步驟應該涉及業務和IT
參考架構在路線圖的某些階段規劃當然參考架構的規劃可以在任何時候進行但您不應等到所有企業資產都定義好後才開始准備參考架構有效的資產應該不斷針對新的業務需求進行調整(新的功能塊會涉及新的實現方法)它的目標是根據目前所存在的企業可重用資產以及應該被采用的技術給出如何做的指示如前面提到的參考架構處在不斷的發展之中提供了一種在某些時候以增強的可重用性為目標在組織的環境中實現新項目的最佳方法
管理團隊是路線圖中涉及到的最主要的團隊原因是該團隊可在整個新項目過程中借助其所生成的資產全局參與並側重於提供業務所需的敏捷性管理團隊應該包括一組具有不同專業背景的企業架構師這樣他們就可以在不同程度上關注其中的某個規劃主導管理團隊的應該既有側重於技術的架構師也有側重於業務的架構師管理團隊可以由源自不同業務線的資深架構師和源自IT的資深架構師混合組成這就使團隊具備了領導全局的必要資質
管理團隊的任務在某些環境中實現起來很困難所以應該提供強有力的協助管理團隊的角色多少有些像煉金術士致力於尋找正確的配方以催生合適的轉變在這方面有很多文章可以參考比如David Groves 和 Steve Bennett 所著的 成功規劃SOA 成功規劃SOA構建您的SOA路線圖以及 成功規劃SOA進行長期SOA規劃請注意在應用路線圖之前務必要考慮變更管理
與BEA SOA 域模型的關系
這裡所描述的方式以業務策略和流程為起點通過功能構建塊構成應用所有這些都可通過通用的企業語言以及可為新項目和應用提供藍圖的參考架構實現在功能規劃中我介紹了為了維護結構化的視圖和成功公開可在整個企業共享的資產需要由組織處理的各個方面
在使用SOA作為企業架構的環境中資深的SOA架構師需要避免代價昂貴的常見缺陷這些架構師應該與組織的管理團隊協作來提供所需的技能並幫助管理團隊建設成功的SOASOA可以以企業方式全局驅動也可以在項目中局部驅動采取全局的方式可以為項目提供管理和指導進而可以為SOA提供更高的一致性和更好的投資回報它會減少生產中的應用程序的維護費用增強其可重用性
BEA 提供了一種域模型可用來處理企業架構這一模型通過六個方面涵蓋了之前所描述的規劃(以及更多)提供了一種成功實現SOA的途徑如圖 所示
圖 BEA域模型
BEA SOA方式是一種注重實效的企業架構方式它觸及了信息技術的各個方面BEA 提供了針對所有六個方面的服務和培訓而且進行了有效的組織以讓您能夠實現SOA來滿足您組織自身的需求
開始時不妨參考一下BEA SOA Readiness Assessment Report它可幫助您定義當前的狀態是在組織中引入SOA的一個很好的起點通過在 SOA Resource Center 參加一個調查就可以收到SOA 的評估報告
結束語
本文展示了自上而下的企業架構介紹了獲得跨組織的全局可重用性所需要的管理關注點強調了組織的參考架構的必要性定義了企業存儲庫以促進這種全局方式
原文出處l
作者簡介
Gabriel Bechara
Gabriel Bechara 已經為BEA咨詢服務部門工作兩年多了
Gabriel幫助客戶使用BEA的產品
比如WebLogic Server
Portal和Integration
Gabriel的興趣包括定義軟件架構的方法
在開發團隊中使用產品以及提供將應用程序推向生產的最輕松方式
主要關注WebLogic Integration以及與SOA相關的方法
Gabriel加入軟件行業已有
年多了
Gabriel與妻子及兩個孩子居住在巴黎唐人街
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28398.html