物聯(lián)傳媒 旗下網站
登錄 注冊

SOA須應時而動—IBM專家解析中間件之道

作者:賽迪網
來源:來源網絡(侵權刪)
日期:2007-03-04 11:43:41
摘要:隨著中間件概念的不斷更新,SOA已成為了一項事實標準。抱著這種觀念,IBM高級管理人員和很多其他供應商、分析師和軟件開發(fā)人員都開始重新定義SOA,并總結出了一些非常鮮明的觀點。
關鍵詞:IBMSOA中間件

隨著中間件概念的不斷更新,SOA已成為了一項事實標準。抱著這種觀念,IBM高級管理人員和很多其他供應商、分析師和軟件開發(fā)人員都開始重新定義SOA,并總結出了一些非常鮮明的觀點。

專家認為:SOA促進了服務流程的可用性,并將業(yè)務需求與 IT 功能真正意義上結合起來。

如何部署SOA,選用SOA應遵循何種原因與何種時機,如何當前競爭激烈且快速變化的業(yè)務環(huán)境中具備快速的應變能力。一些專家分別根據(jù)他們與IBM內外開發(fā)先驅合作的實踐經驗提供了一些新穎的看法。而這些看法將幫助關注中間件發(fā)展的人們了解SOA在何時何地(甚至何種情況下)在新一代IT體系結構和開發(fā)計劃中使用。

Holt Adams

IBM解決方案顧問 IT 架構師,他的工作職責包括將客戶的業(yè)務需求和信息技術相結合,以將其包含到 IBM 產品中或設計為新產品。

不要輕易決定使用 SOA,這與人們改變生活方式有些類似,因為任何開發(fā)和操作團隊所遵循的IT控制模式將完全不同。

—Holt Adams

SOA不能盲從急進

IBM的目標之一就是在其產品內開發(fā)和采用開放標準。通過這種手段,就能在公司的IT基礎結構中實現(xiàn) SOA的價值主張。

從功能上看,SOA能夠優(yōu)化業(yè)務需求與 IT的一致性,能夠將業(yè)務流程活動從服務實現(xiàn)中分離出來,還能夠降低操作成本。只有在不固定供應商的情況下才能真正實現(xiàn)這些功能,此時面向SOA實現(xiàn)的技術可以無縫集成,甚至構造全面的端到端解決方案。

當考慮了策略業(yè)務目標和活動時,理論上的SOA概念將非常具有吸引力。不過,SOA卻不能“盲從急進”,這與改變生活方式有些類似,因為任何開發(fā)和操作團隊遵循的IT控制模式都是完全不同的。進行業(yè)務驅動的開發(fā),必定涉及到將業(yè)務需求細化為IT需求,然后將IT需求細化為IT功能。因此,盡管SOA的價值主張十分誘人,但選擇何時采用SOA,用戶必須考慮業(yè)務環(huán)境的實際情況。

采用SOA不一定要跨一大步,最好的方法通常是采用循序漸進的方式進行:首先找到可以利用SOA概念和原則的項目,然后使用主要性能指標測定其價值,這是一種讓大家都能受益的好方法。

將業(yè)務與IT結合起來

SOA是一個很好的開發(fā)范例。該體系結構可用于在業(yè)務和 IT之間構建中間地段,其中包含雙方都同意的一組IT服務,由于這些服務融洽地結合在一起,因此可以實現(xiàn)組織的業(yè)務流程和目標。

SOA這種范例還提供了前所未有的靈活性:它允許將業(yè)務流程的結構化組成從為流中每個活動提供功能的服務中分離出來;還允許將業(yè)務實現(xiàn)與其描述分離開來。

進行了這些分離后,公司能以增量的方式更改其后端遺留系統(tǒng),并添加新功能來支持新需求,而不用受到供應商選擇的限制。

因此,可以在最小化對業(yè)務流程和IT系統(tǒng)的影響的前提下對軟件包和自定義應用程序進行替換。

軟件工程發(fā)展的下一步就是優(yōu)秀的體系結構,它使我們從結構化對象轉向分布式對象和組件,然后以一組公共服務為中心來將業(yè)務和 IT加以結合(這些服務結合在一起,可以實現(xiàn)組織的流程和目標)。

除此以外,SOA還允許將公司的部分業(yè)務流程向業(yè)務生態(tài)系統(tǒng)中的合作伙伴公開。

使用SOA技術時,實時或被動系統(tǒng)通常不是進行實現(xiàn)的最佳選擇,因為當前的技術不支持將SOA用于有大量并發(fā)使用情況的實時系統(tǒng)。SOA非常適合用于消除冗余以及將業(yè)務緊密耦合到特定服務中,最終實現(xiàn)業(yè)務與IT功能的結合。

Ali Arsanjani

IBM全球服務中心的首席架構師。主要負責收集和制定 SOA和Web服務的建模、分析、設計和實現(xiàn)方面的最佳實踐。

使用SOA技術時,實時或被動系統(tǒng)通常不是進行SOA實現(xiàn)的最佳選擇,因為當前的技術不支持將SOA應用于含大量并發(fā)情況的實時系統(tǒng)。不過,這些系統(tǒng)的建??梢詮腟OA提供的分離和獨立概念中獲益。

——Ali Arsanjani

正確應用SOA

在快速發(fā)展的全球經濟環(huán)境中,企業(yè)要保持競爭優(yōu)勢,必須保持足夠的靈活性。通過使用SOA原則將IT基礎結構與核心企業(yè)流程結合,可以提供和保持這個優(yōu)勢。因此,理解和采用SOA所面臨的問題不是“為什么而用”,而是“什么時候要用”?;赟OA的企業(yè)解決方案已被證實能簡化業(yè)務操作、提高效率、降低成本及消除冗余。

不過要獲得這些利益,必須正確地應用SOA。必須具有相應企業(yè)范圍內的遠景和轉換路線圖,還必須有業(yè)務執(zhí)行人員的財務支持和承諾,并由有經驗的架構師以增量迭代的方式進行部署。目前,SOA平臺也在經歷著巨大的轉變,尤其在開發(fā)工具方面,開發(fā)環(huán)境包含大量的建模工具、行業(yè)根深蒂固的場景、重用模式、方案和豐富的可視表示和控件以及模擬技術。可以肯定的一點是:對于中間件技術,我們正處在對解決方案生命周期的每個方面進行改革的浪尖上,而SOA則是其中關鍵的催化劑。但若從長遠來看,如果我們不謹慎的話,這個抽象和易用性可能會使 IT架構師或開發(fā)人員和計算機科學與技術的根本基礎脫離聯(lián)系。

Sanjay Bose

供職于IBMSoftware Strategy部門。有超過 12 年的 IT 行業(yè)從業(yè)經驗,主要涉及創(chuàng)建產品體系結構、設計和細化技術策略。

我們正處在對解決方案生命周期的每個方面進行改革的浪尖上,而SOA則是關鍵的催化劑。不過,如果我們不謹慎的話,這個抽象易用的技術概念可能會使 IT 架構師或開發(fā)人員與計算機科學技術的根本基礎脫離聯(lián)系。

—Sanjay Bose

駕御SOA

SOA為企業(yè)提供了一個機會,以標識其核心能力和決定能否值得其行業(yè)和業(yè)務合作伙伴信賴。另一方面的事實是:企業(yè)可以對作為其核心基礎結構中一部分流程和應用程序進行標識,然后確定進行購買。企業(yè)架構師可以牽頭開展相應的工作,以發(fā)現(xiàn)企業(yè)中具有公共功能集的業(yè)務流程和 IT流程??梢詫?zhí)行功能打包為外部依賴性很小的組件,并作為服務提供。這就使得業(yè)務流程創(chuàng)建者或應用程序開發(fā)人員的工作得到簡化,以將精力放在能滿足股東的業(yè)務動力的唯一功能上。讓SOA正常工作在很大程度上不是技術問題,而是一個業(yè)務控制和IT控制問題。IT架構師需要向執(zhí)行股東報告業(yè)務從其SOA投資和投入方面獲得的價值。

為了讓SOA與業(yè)務合作伙伴進行協(xié)作,需要涉及企業(yè)之間已經建立的原有關系。

目前很少有客戶在其建立的合同關系之外為合作伙伴提供或購買服務。服務級別協(xié)議和爭議解決的相關事項要求配備封閉的協(xié)作系統(tǒng),目前,有關信任和安全的結構化信息系統(tǒng)發(fā)展組織標準在過去兩年中取得了長足的發(fā)展。

David K. Jackson

IBM Americas Software Sales的顧問 IT 架構師,常駐紐約技術支持中心。同時,他還是Open Group Architecture Forum的副主席。

讓SOA正常工作在很大程度上不是一個技術問題,而是一個業(yè)務控制和 IT 控制問題。

—David K.Jackson

這里沒有神話

恰當?shù)捏w系結構控制將對其服務可供新應用程序使用的項目進行標識。要使得SOA投資最終能物有所值,惟一的辦法就是讓高級管理人員承諾控制預算,或采取某種方式保證業(yè)務線能不受干擾。

目前關于為什么應該考慮SOA 有三個簡單的理由:

首先,這是目前最熱門的領域之一,不要落后于時代的步伐;其次,工具、基礎結構和標準經過組合,可為整個SOA生命周期提供全面支持;最后,如果一位應用者總在不斷地追求事半功倍,那么 SOA可以為他提供幫助,尋找他可以再次利用的東西,而不要所有東西都自己從頭做起。

SOA的最終目的就是尋找現(xiàn)有服務,對其進行調整,并加以使用。然后對其中一些服務進行共享。幫助創(chuàng)建一個生態(tài)系統(tǒng),以便在將來能更快地裝配更多有意義的解決方案。

開始采用SOA與采用任何其他技術或體系結構沒有什么區(qū)別??梢酝ㄟ^常識來看這個問題:如果用戶的項目處于十分關鍵的位置,而擁護的團隊必須投入大量精力學習工具和 API,它就有可能是錯誤的選擇。相反,如果用戶可以在小項目中試用 SOA,則是不錯的選擇。

利用這一類經驗,架構師可以幫助用戶定義和擴展到下一個更大的項目。不容忽視的關鍵就是:SOA的各種實施都遵從“循序漸進”的法則,因為這里沒有神話。

Christina Lau

IBM On Demand Development團隊架構師。她目前參與的項目包括創(chuàng)建 Pattern Solutions using Rational Software Architect 項目和試用業(yè)務創(chuàng)新的功能。

如果您的項目處于十分關鍵的位置,而您的團隊必須投入大量精力學習工具和 API,SOA 就有可能是錯誤的選擇。因此率先在小項目中試用 SOA,是個不錯的選擇。

—Christina Lau

不容忽視的指標

一直以來,SOA的支持者不斷不畏余力地宣傳SOA的主要技術優(yōu)勢:能夠松散綁定,還能夠通過組件封裝可重用業(yè)務功能,最后還能提供更好的集成。

但是,客戶真的對這種技術推論感興趣嗎?在過去兩年,筆者經常發(fā)現(xiàn),有些客戶經常一廂情愿地得出一種結論:認為非常有經驗的架構師和開發(fā)團隊可以通過使用傳統(tǒng)EAI體系結構獲得很大價值。甚至有人認為:這些方法經過驗證,實現(xiàn)風險并沒有直接采用 SOA進行設計的風險大。

這個觀點可能會讓架構師認識到在有些情況下,SOA是錯誤的選擇,至少不是最好的選擇。目前大多業(yè)務及IT相關的問題將減慢或阻礙任何構思良好的技術SOA活動的實現(xiàn)。 曾有一位汽車行業(yè)的CTO反饋出這樣一種意見:“SOA只是一種業(yè)務而已?!?這位CTO和他的團隊僅關心如何使用其現(xiàn)有的技能在預算內按時達成這些目標。他們已經在其現(xiàn)有EAI基礎結構中進行了大量投資。

在資金有限的業(yè)務環(huán)境中,幾乎沒有客戶能為解決特定的業(yè)務問題無限制地投入資金。因此,作為用戶,請同時根據(jù)技術指標和業(yè)務指標來確定是否采用 SOA。

Calvin Lawrence

IBM Software Group Emerging Technology團隊的執(zhí)行架構師。他的職責范圍包括通過關鍵策略活動的支持來推廣戰(zhàn)略 IBM 體系結構、技術和產品。

雖然我們不知道每個具體解決方案到底是什么樣的,但都應當客觀地看待每一個問題。請同時根據(jù)技術指標和業(yè)務指標來確定是否采用 SOA。

——Calvin Lawrence

利用SOA改善信息質量

人們之所以關心SOA,是因為 SOA具有直接和間接影響信息管理系統(tǒng)的能力。為了獲得成功,人們需要在業(yè)務服務所涉及的信息的上下文中對其進行考慮,人們需要知道檢索到的信息是準確的。

被更新的信息經過了驗證。交換的信息的意義對于服務提供者和使用者都是一樣的。如果忽略了這些事情,服務的價值和可重用性就會減少。

可以采用很多辦法實現(xiàn)信息協(xié)定。其中一個變得越來越重要的就是主數(shù)據(jù)管理(MDM)領域。MDM系統(tǒng)可為業(yè)務應用程序或服務提供經過清除、整合且特定于域的信息。最常見的MDM系統(tǒng)是作為客戶和產品信息的信息集線器使用的系統(tǒng)。每個集線器都作為中心點使用,可以在此對信息進行添加、更新、審核、清除、搜索和查詢。

MDM系統(tǒng)可以是事務型的(在操作業(yè)務流程的主線中更新),也可以是引用型的(提供業(yè)務流程所引用的信息的一致來源)。但最重要的是,人們可以將MDM系統(tǒng)看作其本身提供了一個一致的服務集,以供在各種業(yè)務流程內使用和進行重用。

通過MDM等方法現(xiàn)實地實現(xiàn)信息提供者和使用者之間的協(xié)定,可以幫助人們實現(xiàn)SOA所承諾的靈活業(yè)務流程和服務可重用性,更重要的是,它同時為人們提供了高效管理信息質量的機會。

Dan Wolfson

IBM杰出工程師,在研究商業(yè)分布式計算方面具有 20 多年的經驗,曾涉獵事務和面向對象的系統(tǒng)、編程語言、消息傳遞和數(shù)據(jù)系統(tǒng)等。

SOA表示的不僅是服務提供者和使用者的協(xié)定,而且也是信息提供者和使用者間的協(xié)定

—Dan Wolfson

服務超越基礎技術

在企業(yè)的業(yè)務范圍中,大量的創(chuàng)新都出現(xiàn)在以下兩個方面:企業(yè)邊緣和企業(yè)之間。在邊緣上,人們可以看到很多企業(yè)向中間件之上的框架投入了很多精力(這些框架包括獨立于領域的框架,如Ajax,以及特定于領域的框架),也投入了很多精力進行與設備相關的工作 (比較典型有大家熟悉的RFID應用設備)。而在企業(yè)之間,人們可以經??吹礁鞣N系統(tǒng)(包括舊有系統(tǒng)和新系統(tǒng))概念的形成。這些事實正逐步印證一個事實:在企業(yè)邊緣,服務是提供超越基礎技術的行為。在企業(yè)之間,服務則提供了各種系統(tǒng)之間語義豐富的強大通信方式。其中,SOA向分布式對象添加面向服務,從而可以在進程之間調用服務。它是一種用于設計應用程序體系結構的方法,以便應用程序的各個部分可以在不同的進程中運行,而且還允許不同的應用程序共享和重用正在運行的部分。

值得一提的是,在目前以Web 為中心的系統(tǒng)中,服務已經被證實為一種重要的機制,但在系統(tǒng)的構造中,服務的手段卻略顯不足。

Grady Booch

曾參與過全球幾乎所有領域的以軟件為中心的系統(tǒng)設計,在其中擔任架構師或體系結構顧問,發(fā)表了數(shù)百篇關于軟件工程的文章。

在企業(yè)邊緣,服務是提供超越基礎技術的行為。在企業(yè)之間,服務則提供了各種系統(tǒng)之間語義豐富的強大通信方式。

—Grady Booch

IT應用的康莊大道

隨著我們進入下一個十年,人們將開始著手大幅度減少工作量(過去,人們不得不將來自不同IT供應商的產品或組件組合成可行的有價值的端到端解決方案)。

未來,供應商提供的業(yè)務組件將不依賴于基礎結構,可以在各種平臺上執(zhí)行。因此,軟件開發(fā)人員會將更多的精力放在有效集成供應商組件和確保有效的互操作性上??蛻舻腎T 操作部門將主要負責選擇最適合業(yè)務需求的運行時平臺;即提供恰當部署和管理業(yè)務組件所需的必要服務質量和運行時支持的平臺。

IT 業(yè)務操作部門所屬的人員將是業(yè)務和企業(yè)體系結構專業(yè)人士。無論人們是如何定義業(yè)務或企業(yè)架構師的:為了實現(xiàn)這個遠景,整個行業(yè)將需要更多的具有IT和企業(yè)體系結構背景的人士。

雖然這個遠景可能十分誘人,但在實施過程中仍然存在很大的風險,在進入組件天堂之前,人們必須小心地減小這些風險。

在開始進行實現(xiàn)模型服務的體系結構的任務時,最重要的減小風險方法可能就是要求有強有力的管理良好的控制流程和策略。只有通過強有力的企業(yè)服務控制策略才能夠避免更改管理問題,甚至于解決服務間的語義不匹配,系統(tǒng)功能結合方面難于調試的等等問題。

Andras Szakal

IBM Federal Software Group 的首席架構師,同時也是杰出工程師和高級認證 IT 架構師。他還是The Open Group的理事會成員。

無論人們是如何定義業(yè)務或企業(yè)架構師的,但為了實現(xiàn)IT應用的未來康莊大道,整個行業(yè)將需要更多的具有 IT 和企業(yè)體系結構背景的人士。

—Andras Szakal