進(jìn)入2l世紀(jì)后,整合與并購(gòu)的浪潮席卷全球,在這種不斷加速的量變與質(zhì)變中,創(chuàng)新技術(shù)成為第一推動(dòng)力,而IT作為一種推動(dòng)變量,扮演了至關(guān)重要的角色。隨著企業(yè)各部門的業(yè)務(wù)復(fù)雜度和部門之間的業(yè)務(wù)相關(guān)度不斷增長(zhǎng),解決跨部門之間的應(yīng)用集成問(wèn)題和數(shù)據(jù)交換問(wèn)題成為當(dāng)前企業(yè)信息化建設(shè)的關(guān)鍵,在這種情況下,面向服務(wù)的體系架構(gòu)(Service Oriented Architecture,SOA)出現(xiàn)并很好的解決了這個(gè)問(wèn)題,而且正逐步成為未來(lái)企業(yè)軟件架構(gòu)的趨勢(shì)。
一 SOA簡(jiǎn)介
SOA是一種架構(gòu)模型,在傳統(tǒng)的業(yè)務(wù)層和技術(shù)層之間增加了一個(gè)服務(wù)層,獨(dú)立完成特定的服務(wù)功能,使業(yè)務(wù)層和技術(shù)層相互獨(dú)立,便于適應(yīng)具體業(yè)務(wù)的變化。SOA建立在Web服務(wù)的基礎(chǔ)之上,主要以SOAP/XML接口和Web服務(wù)描述語(yǔ)言分發(fā)。它可以根據(jù)需求通過(guò)網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。
SOA的組成元素包括功能和服務(wù)質(zhì)量?jī)纱蟛糠,服?wù)層是SOA的基礎(chǔ)服務(wù)提供者完成一組工作,為服務(wù)使用者交付所需的最終結(jié)果。最終結(jié)果通常會(huì)使使用者的狀態(tài)發(fā)生變化,但也可能使提供者的狀態(tài)改變,或者雙方都產(chǎn)生變化。
SOA架構(gòu)中每個(gè)實(shí)體都扮演著服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)注冊(cè)中心這三種角色中的某一種或多種。服務(wù)提供者是提供服務(wù)的一方,它將自己的服務(wù)和接口契約發(fā)布到服務(wù)注冊(cè)中心;服務(wù)注冊(cè)中心是SOA架構(gòu)的關(guān)鍵,它包含所有可用服務(wù)的數(shù)據(jù)庫(kù),將服務(wù)請(qǐng)求者和服務(wù)提供者聯(lián)系起來(lái)。
SOA的關(guān)鍵特性:一種租粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過(guò)簡(jiǎn)單、精確定義接口進(jìn)行通訊,不涉及底層編程接口和通訊模型。
SOA是近年來(lái)軟件項(xiàng)目開(kāi)發(fā)和信息系統(tǒng)構(gòu)建方法的一個(gè)國(guó)際性技術(shù)趨勢(shì),代表一個(gè)開(kāi)放的、可擴(kuò)展的、聯(lián)邦的和可組合的軟件架構(gòu),常用于大型軟件項(xiàng)目的開(kāi)發(fā)。
二 SOA的特征
可從企業(yè)外部訪問(wèn):通過(guò)采用先進(jìn)的B2B協(xié)議外部用戶可以訪問(wèn)企業(yè)服務(wù)。
隨時(shí)響應(yīng)用戶請(qǐng)求:服務(wù)使用者請(qǐng)求服務(wù)時(shí),SOA要求必須有服務(wù)提供者能夠響應(yīng)。同步應(yīng)用通常部署在前臺(tái),其最終用戶很容易受到服務(wù)提供者短缺的影響。相比之下,部署在后臺(tái)的異步應(yīng)用更為穩(wěn)健,大部分情況下異步應(yīng)用能夠穩(wěn)健應(yīng)對(duì)短時(shí)間短缺,用戶通常不會(huì)覺(jué)察到短暫的短缺。
粗粒度的服務(wù)接口:采用粗粒度服務(wù)接口,使用者和服務(wù)層之間只需一次往復(fù)即可。
分級(jí):粗粒度服務(wù)比細(xì)粒度服務(wù)的重用性差,因此必須允許采用不同的粗粒度等級(jí)來(lái)創(chuàng)建服務(wù)。這種服務(wù)分級(jí)包含了粒度較細(xì)、重用性較高的服務(wù),也包含粒度較粗、重用性較差的服務(wù)。
松散耦合:SOA具有“松散耦合”組件服務(wù),可以將服務(wù)使用者和服務(wù)提供者在服務(wù)實(shí)現(xiàn)和客戶如何使用服務(wù)方面隔離開(kāi)來(lái)。
可重用的服務(wù):按照可重用的原則設(shè)計(jì)服務(wù),SOA將可以使應(yīng)用變得更為靈活,同時(shí)大大提高工作效率。設(shè)計(jì)可重用服務(wù)是與數(shù)據(jù)庫(kù)設(shè)計(jì)或通用數(shù)據(jù)建模類似的最有價(jià)值的工作。
標(biāo)準(zhǔn)化的服務(wù)接口:XML和Web服務(wù)標(biāo)準(zhǔn)化的開(kāi)放性使企業(yè)能夠在所部署的所有技術(shù)和應(yīng)用中采用SOA。
支持各種消息模式:在一個(gè)SOA實(shí)現(xiàn)中,常會(huì)出現(xiàn)混合采用不同消息模式的服務(wù),如:無(wú)狀態(tài)的消息,有狀態(tài)的消息,等冪消息等。
精確定義的服務(wù)契約:SOA中所有流程都被定義為服務(wù),服務(wù)通過(guò)基于類封裝的服務(wù)接口委托給服務(wù)提供者,服務(wù)接口根據(jù)可擴(kuò)展標(biāo)識(shí)符、格式和協(xié)議單獨(dú)描述。
三 SOA的優(yōu)點(diǎn)
編碼靈活性:可基于模塊化的低層服務(wù)、采用不同組合方式創(chuàng)建高層服務(wù),從而實(shí)現(xiàn)重用。
明確開(kāi)發(fā)人員角色:開(kāi)發(fā)人員各司其職,集中精力解決相對(duì)的問(wèn)題。
支持多種客戶類型:借助精確定義的服務(wù)接口和對(duì)XML、Web服務(wù)標(biāo)準(zhǔn)的支持,可以支持多種客戶類型。
更易維護(hù):服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系及對(duì)開(kāi)放標(biāo)準(zhǔn)的采用確保了該特性的實(shí)現(xiàn)。
更好的伸縮性:依靠服務(wù)設(shè)計(jì)、開(kāi)發(fā)和部署所采用的架構(gòu)模型實(shí)現(xiàn)伸縮性。服務(wù)提供者可以彼此獨(dú)立調(diào)整,以滿足服務(wù)需求。
更高的可用性:使用者無(wú)須了解提供者的實(shí)現(xiàn)細(xì)節(jié),服務(wù)提供者就可以在WebLogic集群環(huán)境中靈活部署,使用者可以被轉(zhuǎn)接到可用的例程上。
SOA能夠幫助企業(yè)系統(tǒng)架構(gòu)者以更迅速、更可靠、更具重用性架構(gòu)整個(gè)業(yè)務(wù)系統(tǒng),以SOA架構(gòu)的系統(tǒng)能夠更加從容地面對(duì)業(yè)務(wù)的急劇變化。
SOA是對(duì)等(P2P)計(jì)算的真正的商業(yè)化。它提供了這樣一種框架;一個(gè)系統(tǒng)上的軟件可以安全而且可靠地提出請(qǐng)求并獲得其他系統(tǒng)上的計(jì)算資源,而不再需要一臺(tái)中央服務(wù)器來(lái)管理和控制整個(gè)端到端的網(wǎng)絡(luò)。
四 SOA項(xiàng)目的實(shí)施過(guò)程
SOA項(xiàng)目的實(shí)施整體分為兩個(gè)過(guò)程:規(guī)劃過(guò)程和實(shí)施過(guò)程。規(guī)劃階段非常重要,需要根據(jù)業(yè)務(wù)發(fā)展需求確定總體項(xiàng)目建設(shè)規(guī)劃,確定項(xiàng)目范圍和目標(biāo)。規(guī)劃是否正確決定著SOA項(xiàng)目實(shí)施的成敗。實(shí)施過(guò)程項(xiàng)目建設(shè)的執(zhí)行階段,包括從服務(wù)的規(guī)劃設(shè)計(jì)到服務(wù)發(fā)布后的運(yùn)行維護(hù)等整個(gè)過(guò)程,在此過(guò)程中,開(kāi)發(fā)人員和用戶相互溝通,不斷完善服務(wù),是一個(gè)持續(xù)更迭的階段。SOA項(xiàng)目的具體實(shí)施步驟如下:
業(yè)務(wù)分析:建立項(xiàng)目的總體規(guī)劃圖。整理和分析項(xiàng)目的背景、環(huán)境、資源及風(fēng)險(xiǎn)等,確定項(xiàng)目業(yè)務(wù)策略及亟需解決的業(yè)務(wù)問(wèn)題;完成以下工作:業(yè)務(wù)服務(wù)定義,業(yè)務(wù)流程定義、業(yè)務(wù)數(shù)據(jù)分析和組織架構(gòu)。
系統(tǒng)總體規(guī)劃:綜合分析業(yè)務(wù),確定項(xiàng)目的總目標(biāo)及實(shí)施方案。
服務(wù)規(guī)劃及設(shè)計(jì):分析整理項(xiàng)目業(yè)務(wù),建模并確定服務(wù)實(shí)現(xiàn)策略。
服務(wù)開(kāi)發(fā)及測(cè)試:服務(wù)實(shí)現(xiàn),SOA項(xiàng)目開(kāi)發(fā)階段的核心概念,包括單個(gè)功能的服務(wù),也包括流程類的服務(wù)。
服務(wù)部署:根據(jù)SOA項(xiàng)目目標(biāo),使用部署工具將所開(kāi)發(fā)的各類服務(wù)及流程部署至項(xiàng)目運(yùn)行的物理環(huán)境內(nèi),例如應(yīng)用服務(wù)器、流程服務(wù)器、門戶服務(wù)器等。
服務(wù)發(fā)布:將開(kāi)發(fā)完成的服務(wù)發(fā)布到服務(wù)注冊(cè)中心內(nèi),以便被其他服務(wù)發(fā)現(xiàn)和調(diào)用。
服務(wù)運(yùn)維及監(jiān)控:業(yè)務(wù)人員監(jiān)控業(yè)務(wù)流程運(yùn)行狀況,系統(tǒng)維護(hù)人員從IT層面對(duì)系統(tǒng)服務(wù)的管理。
SOA支持項(xiàng)目的遞進(jìn)式實(shí)現(xiàn),可以采用不斷滾動(dòng)改進(jìn)的方式實(shí)施項(xiàng)目。首先,SOA中強(qiáng)調(diào)的服務(wù)是業(yè)務(wù)的服務(wù),而不是技術(shù)實(shí)現(xiàn)的服務(wù)。其次,標(biāo)準(zhǔn)的確定是過(guò)程中一直需要考慮的問(wèn)題,在分析和設(shè)計(jì)階段都需要對(duì)標(biāo)準(zhǔn)加以考慮,并最終確定項(xiàng)目需要采用和制定的標(biāo)準(zhǔn)。再次,要實(shí)施好SOA項(xiàng)目。合理的團(tuán)隊(duì)成員和良好的團(tuán)隊(duì)精神不可或缺。最后,項(xiàng)目是否能成功,業(yè)務(wù)人員參與也是一個(gè)重要因素,這樣可以保證SOA項(xiàng)目實(shí)施的成功,才能更好體現(xiàn)SOA的價(jià)值。
五 SOA項(xiàng)目實(shí)施PK傳統(tǒng)項(xiàng)目實(shí)施
實(shí)施過(guò)程。傳統(tǒng)項(xiàng)目的實(shí)施重點(diǎn)在于開(kāi)發(fā)實(shí)現(xiàn)階段,并且是從頭開(kāi)始,從零開(kāi)始,而且經(jīng)常使用瀑布式開(kāi)發(fā)方法部署SOA。SOA項(xiàng)目實(shí)施中,重點(diǎn)在于前期的規(guī)劃階段,SOA項(xiàng)目的部署實(shí)施往往是對(duì)現(xiàn)存企業(yè)或組織內(nèi)部應(yīng)用的修補(bǔ),對(duì)現(xiàn)有計(jì)算資源的整合,它是個(gè)循序漸進(jìn)的過(guò)程,周期比較長(zhǎng),并且,企業(yè)部署SOA通常通過(guò)迭代方式實(shí)現(xiàn),以減少出現(xiàn)業(yè)務(wù)故障的風(fēng)險(xiǎn)。
實(shí)施團(tuán)隊(duì)。SOA項(xiàng)目的實(shí)施團(tuán)隊(duì)更為復(fù)雜;強(qiáng)調(diào)將高層決策者及業(yè)務(wù)部門工作人員的全程、深入?yún)⑴c。SOA項(xiàng)目中的實(shí)施角色及職責(zé)也與傳統(tǒng)的項(xiàng)目實(shí)施不同。
六 SOA的現(xiàn)狀及未來(lái)
SOA為應(yīng)用的動(dòng)態(tài)整合提供了一個(gè)非常好的思路,一個(gè)解決問(wèn)題的方法,但作為一個(gè)具有發(fā)展前景的應(yīng)用系統(tǒng)架構(gòu),SOA尚存在許多有待改進(jìn)的地方,例如在可靠性、安全性、編制(Orchestration)、遺留系統(tǒng)(Legacysupport)支持和語(yǔ)義(Semantics)方面均還存在不足。SOA相關(guān)技術(shù)和應(yīng)用還處于探索和發(fā)展之中,SOA的核心標(biāo)準(zhǔn)也將繼續(xù)演進(jìn)。
國(guó)際上,在經(jīng)歷了數(shù)年的研發(fā)和測(cè)試以后,IBM、BEA、微軟等已經(jīng)陸續(xù)推出各自的SOA策略、架構(gòu)以及產(chǎn)品,真正將SOA推動(dòng)到可部署階段。BEA公司最新的中間件軟件品牌AquaLogic,提供了全面的管理環(huán)境,幫助開(kāi)發(fā)者使用開(kāi)放的Web服務(wù)標(biāo)準(zhǔn)和工具創(chuàng)造所謂的SOA架構(gòu)。IBM公司則基于SOA理念提出了“整合”戰(zhàn)略,希望通過(guò)建立基于開(kāi)放標(biāo)準(zhǔn)的、統(tǒng)一的、高效的、易于管理的IT基礎(chǔ)平臺(tái),通過(guò)SOA與Workplace客戶端技術(shù)(WCT),實(shí)現(xiàn)企業(yè)IT前臺(tái)用戶端、后臺(tái)服務(wù)器的整合。IBM公司的信使軟件WebSphereMQ提供了對(duì)SOA的支持。微軟推出了代號(hào)為Indigo的技術(shù),這項(xiàng)技術(shù)為合作伙伴建立新一代連接系統(tǒng)SOA鋪平了道路。
國(guó)內(nèi),《信息周刊》和埃森哲公司通過(guò)對(duì)中國(guó)上千家企業(yè)機(jī)構(gòu)的問(wèn)卷調(diào)查,了解在商業(yè)科技推動(dòng)企業(yè)競(jìng)爭(zhēng)力及商業(yè)創(chuàng)新的背景下,中國(guó)企業(yè)部署SOA的現(xiàn)狀和未來(lái)的趨勢(shì)。調(diào)查結(jié)果顯示,盡管SOA在中國(guó)尚處于應(yīng)用啟蒙階段,但企業(yè)在SOA上的投入?yún)s在快速增加。已經(jīng)或計(jì)劃部署SOA的主要是大中型企業(yè)。多數(shù)中國(guó)企業(yè)用戶對(duì)SOA仍持觀望態(tài)度,市場(chǎng)培育將是一個(gè)長(zhǎng)期的過(guò)程。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于SOA架構(gòu)的項(xiàng)目分析與實(shí)施
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112154710.html