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