SOA咨詢方法論研究-SOA咨詢理論基礎(1)
![]() 1.1 Zachman框架Zachman框架起源于John Zachman的題為“信息系統(tǒng)開發(fā)框架”(A Framework for Information Systems Development)的學術論文,文中闡述了在信息系統(tǒng)開發(fā)工作中對軟件體系結構的看法:系統(tǒng)開發(fā)是由具有不同關注視點的若干層面人員共同完成的,這與認識到系統(tǒng)開發(fā)是由不同階段完成的同等重要;在系統(tǒng)開發(fā)中,考察對象不應僅限于數(shù)據(jù)和功能,還應包括地點。Zachman給出了一個矩陣,將關注視點放在列上,角色層面放在行上。 此矩陣最初有是什么(What)、如何做(How)和在哪里(Where)三列。后來,Zachman又增加了是誰(Who)、什么時間(When)時間和為什么(Why)三列。Zachman框架可以用來指導信息化建設過程,并管理此過程中的設計產物。 Zachman框架如下圖所示: 圖2.1 Zachman框架
Zachman框架是一個6×6矩陣:縱向從規(guī)劃者、所有者、設計者、承建者、分包者和最終用戶六個視角來劃分,建立目標/范圍、業(yè)務模型、系統(tǒng)模型、技術模型、詳細表達、運行功能等模型;橫向從數(shù)據(jù)(What)、功能(How)、網(wǎng)絡(Where)、人員(Who)、時間(When)、動機(Why)等6個方面的模型,并分別由實體-關系模型(Entity-Relationship)、流程-I/O模型(Input-Process-Output)、節(jié)點-鏈接模型(Node-Link)、人員-工作模型(People-Work)、時間-周期模型(Time-Cycle)、目標-手段模型(Ends-Means)來表達。 Zachman理論發(fā)展到今天,稱之為“企業(yè)架構框架”(EAF,Enterprise Architecture Framework),簡稱為“Zachman框架”。Zachman也被公認為企業(yè)架構領域的理論開拓者,現(xiàn)有的企業(yè)架構框架大都由Zachman框架派生而來。 Zachman框架具有容易理解、描述全面、獨立于各種工具與方法學等優(yōu)點,因而得到了廣泛的認可,很多咨詢方法都從Zachman框架中獲得借鑒。Zanman框架完全可以作為SOA咨詢方法論的理論基礎,是一個非常適合于SOA咨詢的思考框架和咨詢模式。 1.2 服務架構模型SOA作為一種技術架構而言,涉及與信息系統(tǒng)建設和IT基礎設施相關的方方面面,這已經超出技術架構本身,其復雜性難以單純從技術角度進行評估。為了全面分析SOA知識背景中各個要素之間的關系,應該采用適當?shù)姆椒▉砻枋觥?/font> 經過對SOA研究領域的綜合分析,我們認為目前最為可行的方法是:基于Zachaman框架建立服務架構模型,采用結構化方法自頂向下進行分解,從不同的維度來進行描述,為現(xiàn)階段依然模糊的SOA提供一個全景視圖。 基于Zachman框架的服務架構模型采用矩陣來表示,橫向從邏輯概念范疇的角度,分為六個維度:Why、With Who、What、How、With What、When,縱向從信息系統(tǒng)架構的角度,分為四個維度:業(yè)務架構、信息架構、應用架構和技術架構。通過對矩陣中的單元格進行功能聚類,可以發(fā)現(xiàn)服務架構模型劃分為以下五個領域: (1)SAA(SOA架構的采納) 面向服務提供了一種理想的世界:里面的資源劃分整齊,以服務這種形式加以一致地呈現(xiàn)。因此,企業(yè)想從服務方面設計企業(yè)架構,就一定要采用SOA架構。所以,企業(yè)在業(yè)務、信息、信息系統(tǒng)和技術基礎設施的各個層面都要從功能服務方面加以分解。采用一致、合理的做法可以提供松散耦合的功能服務,它們可以在所謂的共享服務中心里面進行外包、內包或者組合。與不想采用SOA架構的組織相比,采用SOA架構、并且以合理方式進行實施的企業(yè)可以獲得更大的靈活性、適應性及敏捷性。 (2)SOE(面向服務的企業(yè)) 面向服務的企業(yè)其實以一種極其水平的方式連接業(yè)務流程。它采用的企業(yè)基礎設施可以提供企業(yè)架構和安全基礎,能夠跨企業(yè)以一致的方式運行這些服務。雖然在過去的三十年里,面向服務的架構這一概念被系統(tǒng)架構師奉為最佳實踐,但現(xiàn)在它得到了各個地方許多組織的接受,被認為是獲得業(yè)務敏捷性的關鍵。但SOE和SOA既不是即開即用的成套系統(tǒng),也不是什么單一技術,更不會讓所有問題都能迎刃而解。盡管SOE能夠帶來甚至促進組織上的變化,但它也要求主管人員、企業(yè)架構師及項目經理要有不同的思考和行事方式,否則完全會發(fā)現(xiàn)自己遇到新問題,根本得不到多少好處。 (3)SOA(面向服務的架構) SOA體現(xiàn)的是一種新的系統(tǒng)架構。在基于SOA架構的系統(tǒng)中,具體應用程序的功能是由一些松耦合并且具有統(tǒng)一接口定義方式的組件(也就是服務)組合構建起來的??梢哉fSOA的出現(xiàn),為整個企業(yè)級軟件架構設計帶來巨大的影響。 (4)SOC(面向服務的計算) SOC就是用服務作為基本單元來開發(fā)應用程序。SOC是依賴面向服務的架構來構造服務模型的。 (5)STP(SOA架構的遷移) 遷移管理是在通向面向服務的漫長道路當中最關鍵的問題之一。盡管遷移至面向服務的平臺意義重大、關鍵的Web服務標準繼續(xù)面臨不確定性,加上大規(guī)模部署SOA往往會產生重大影響,現(xiàn)在是開始考慮遷移的時候了。成功遷移的關鍵在于,在有關SOA的活動當中找到一個平靜點,然后制訂直觀的方案,指導貴組織走過面臨技術障礙、組織阻力及不斷變化的行業(yè)趨勢的道路。 政府機構內與SOA相關的人員的關注點有所不同,如下: 對于組織的決策者和信息主管來說,需要考慮SOA的必要性、可行性等(SAA-SOA架構的采納); 企業(yè)架構咨詢人員要從IT規(guī)劃層面,考慮基于SOA的戰(zhàn)略規(guī)劃、業(yè)務規(guī)劃和技術規(guī)劃等(SOE-面向服務的企業(yè)); 軟件開發(fā)商需要從技術實現(xiàn)層面,考慮基于SOA的信息系統(tǒng)架構設計(SOA-面向服務的架構); 硬件和平臺廠商需要從IT基礎設施層面,考慮如何優(yōu)化基于SOA的系統(tǒng)的效率和性能(SOC-面向服務的計算); 系統(tǒng)集成商需要考慮如何從原有的IT架構遷移到SOA架構(STP-SOA架構的遷移)。 基于Zachman框架的服務架構模型如下圖所示: 圖2.2 服務架構模型(基于Zachman框架) 在服務架構模型中,從技術實現(xiàn)和運營管理兩個方面來看,以下的關鍵問題關系SOA項目的成敗。在SOA項目啟動之前,就應予以重點關注。 (1)服務規(guī)劃 在基于SOA的信息系統(tǒng)中,服務是構建信息系統(tǒng)的基本單元,應該確定到底有哪些服務、服務封裝什么內容、服務之間關系如何,需要重點關注服務粒度的劃分和服務的相互引用問題。 服務粒度表示的是一個服務的大小,可以理解為服務操作的范圍和內容。粗粒度的服務設計,可以減小服務之間的耦合性,但付出的代價就是增加服務的復雜性,服務具備了太多的功能,增加了設計的復雜性和維護的難度;細粒度的服務,可以讓服務的實現(xiàn)變得簡單,但這樣會增加服務的數(shù)量,那樣就增加了服務之間的耦合度。因此,應該確定一個準則來指導服務的粒度劃分。 (2)服務編排 為了實現(xiàn)可以靈活定義和調整的業(yè)務流程,應該確定業(yè)務流程的流轉范圍、策略實現(xiàn)和定義方法等,需要重點關注服務編排問題。 服務編制關注于一種說明性的方式(不是編程方式)創(chuàng)建合成服務,定義了組成編制的服務,以及這些服務的執(zhí)行順序。服務流程的編制和編排,服務編制用于定義合成服務,關注重用已有服務的內部流程;服務編排關注與多方參與的交換消息,進行對等的業(yè)務協(xié)作。因此,應該確定一個標準來指導服務編排。 (3)服務質量(QoS) 為了對處于運行時(Runtime)的服務例程的服務質量進行跟蹤、記錄和分析,應該確定服務等級(SLA)劃分、服務質量監(jiān)控、事故記錄分析、服務質量問題處理等方法,重點關注服務質量監(jiān)控問題。 服務質量是SOA 應用的典型非功能服務需求,它使得在服務全生命周期中,根據(jù)可用的系統(tǒng)資源,使服務請求者的需要與服務提供者的能力達成一致,主要是指性能、可靠性、可用性和安全性等。因此,應該確定一個規(guī)范來指導服務質量管理。 (4)服務運營 |
|