未能關(guān)注重用策略將妨礙面向服務(wù)架構(gòu)(SOA)的成功過渡。當(dāng)組織沒有預(yù)先計劃使用可重用組件是,便會浪費大量資源。重復(fù)開發(fā)和測試工作可以創(chuàng)建冗余組件。由后端依賴共享服務(wù)引起的其他問題可以極大地影響他們的實際性能。
為應(yīng)對這些挑戰(zhàn),專家們建議組織對他們提出的服務(wù)生態(tài)系統(tǒng)要采取全面的觀點;〞r間認(rèn)真分析現(xiàn)有的業(yè)務(wù)流程是重要的。提出幾個SOA原則來協(xié)助組織的探索和分析也是很重要的。
著眼于可重用性
為了得到最有效的SOA,企業(yè)需要從頭開始,著眼于構(gòu)建可重用組件。David Linthicum是藍(lán)山實驗室的首席技術(shù)官和創(chuàng)始人,該實驗室為總部設(shè)在華盛頓的云計算咨詢及顧問公司。Linthicum說:“在較高的水平,SOA是一種架構(gòu)模式,在應(yīng)用程序之間分享諸如數(shù)據(jù)、計算和交易服務(wù)。”Linthicum寫的關(guān)于云計算的書已經(jīng)超過了13本,其中包括《Cloud Computing and SOA Convergence in Your EntERPrise》和《a Step-by-Step Approach》。
Linthicum解釋道:“該觀點是我寫的一個大的風(fēng)險分析服務(wù)來確定是否可以進(jìn)行交易。該服務(wù)在一個金融服務(wù)公司中我想要運行的10個不同的應(yīng)用程序中都適用。因此,我只需要編寫一次,并且由于Web服務(wù)的標(biāo)準(zhǔn)化,該程序可以通過所有的系統(tǒng)來傳遞價值。”
這一思想是為存儲和計算機系統(tǒng)編寫一次服務(wù),以便可以在多個應(yīng)用程序間充分使用它們。“圍繞著結(jié)構(gòu)開發(fā)我們所發(fā)明的只是舊觀念,但這是基于代碼級別的,”Linthicum說。“SOA可以支持小應(yīng)用程序, 這是所謂‘服務(wù)’,因為所有的服務(wù)是通過使用相同的協(xié)議和標(biāo)準(zhǔn)進(jìn)行交流,所以該程序是兼容的并且可以跨應(yīng)用程序共享。”
最佳的已建立的實踐方法是花時間做預(yù)先的設(shè)計和架構(gòu)。而不是戰(zhàn)術(shù)性地思考應(yīng)用程序,全面思考該應(yīng)用程序、數(shù)以百計的其他應(yīng)用程序和可共享的服務(wù)器數(shù)量是十分重要的。
大多數(shù)組織未能有所飛躍。距離那些案例的成功已經(jīng)過去許多年?梢杂萌轿迥甑臅r間過渡到SOA模式。“至少在美國我們不能在這些大的戰(zhàn)略轉(zhuǎn)變上達(dá)成共識,”Linthicum說。“組織傾向于在范疇層次上進(jìn)行戰(zhàn)術(shù)性思考。組織僅僅考略到了六月的增量,而實際的運作卻不是很好。思考了很久后該組織較以前取得了很大的進(jìn)步。”
要想成功,Linthicum建議組織引入一個可以指導(dǎo)和理解SOA技術(shù)價值并將其恰當(dāng)?shù)貞?yīng)用到實踐中的SOA支持者。“如果我要改變組織,我需要能夠控制預(yù)算和解雇員工,”他說。“你必須給某人做出承諾和投資,授權(quán)做出真正的改變,并且這是通過控制金錢和員工而實現(xiàn)的。如果你只是雇傭了某個人來給出建議,提供午餐會的話,你不會得到真正的改變。”
尋求共性:最佳實踐
過渡到SOA的一個重要步驟是尋找該程序在可劃分為候選服務(wù)的不同工作流中的共性。Thomas Erl,是Arcitura教育公司的首席執(zhí)行官,《SOA Design Patterns》和其他一些書的作者,他說,這提出了一個初步的觀點,通過業(yè)務(wù)狀態(tài)反映了當(dāng)前的再利用潛力。“通過根據(jù)通用的背景把常見的操作和服務(wù)分成不同年功能,我們可以重新利用那些對未來還沒有定義的業(yè)務(wù)有用的資源。”
當(dāng)組織識別出業(yè)務(wù)流程執(zhí)行的常見事情時,分析過程中資源再利用的潛力開始發(fā)揮作用。這些需要被劃分到通用的可重用的功能語義中,比如實體發(fā)票。Erl說:“這可以最大化的發(fā)揮我們所構(gòu)建的重用潛力。它能夠滿足當(dāng)前需求,也會支持未來需求。”
始終確保組件是松散耦合的,從而使各組件可以組裝成很多不同類型的應(yīng)用程序。”考慮到如何恰當(dāng)?shù)厥箓人服務(wù)器有效地服務(wù)組織內(nèi)的其他成員是十分重要的,”Erl說。“這樣做的目的是把他們分成不同的類型的解決方案,在某種程度上意味著他們永遠(yuǎn)不會在此鏈中引入薄弱環(huán)節(jié)。設(shè)計服務(wù)時要有必要的控制器和基礎(chǔ)設(shè)施,這些都是無需再開發(fā)的不同類型解決方案的一部分。”
另一個最佳實踐是將這些服務(wù)定位為高價值IT資產(chǎn),這些服務(wù)具有不斷利用其可用性的功能。Erl解釋說:“我們有利用和再利用服務(wù)的機會。我們投資并開發(fā)解決方案以便與業(yè)務(wù)變化緊密聯(lián)系。利用這一點,我們能夠以更敏感的、更敏捷的方式來交付解決方案,因為我們不需要為了成為新解決方案的一部分而去定制它。”
考慮不同組件的自主性也同樣重要。該服務(wù)運行過程越自主,它的運行時行為會更可預(yù)測。它越依賴共享數(shù)據(jù)庫,它所在的運行環(huán)境共享就越多并且它的行為就越不可預(yù)測。Erl說,使他具有更強的可預(yù)測性,就是進(jìn)一步增加其可利用潛力。
在服務(wù)被實現(xiàn)的過程中SOA架構(gòu)師需要著眼于阻塞點。對共享資源需要特別注意,如網(wǎng)絡(luò)連接、數(shù)據(jù)庫和CRM系統(tǒng)。當(dāng)系統(tǒng)投產(chǎn)后,盡管這些共享的后端資源可能會運行地很好,但是當(dāng)多個獨立服務(wù)要實現(xiàn)某個功能時,就會形成一個瓶頸階段。為了滿足自主性的需求,SOA架構(gòu)師需要考慮識別和降低資源阻塞的影響,而這些資源是通過SOA服務(wù)獲得的。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:最為有效地利用SOA重用技術(shù)
本文網(wǎng)址:http://www.oesoe.com/html/support/1112158220.html
























