進(jìn)入21世紀(jì)后,整合與并購的浪潮席卷全球,在這種不斷加速的量變與質(zhì)變中,創(chuàng)新技術(shù)成為第一推動(dòng)力,而IT作為一種推動(dòng)變量,扮演了至關(guān)重要的角色。隨著企業(yè)各部門的業(yè)務(wù)復(fù)雜度和部門之間的業(yè)務(wù)相關(guān)度不斷增長,解決跨部門之間的應(yīng)用集成問題和數(shù)據(jù)交換闖題成為當(dāng)前企業(yè)信息化建設(shè)的關(guān)鍵,在這種情況下,面向服務(wù)的體系架構(gòu)(Service Oriented Architecture,SOA)出現(xiàn)并很好的解決了這個(gè)問題,而且正逐步成為未來企業(yè)軟件架構(gòu)的趨勢(shì)。
1、SOA簡介
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ù)描述語言分發(fā)。它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦臺(tái)的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。
SOA的組成元素包括功能和服務(wù)質(zhì)量兩大部分,服務(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ù)庫,將服務(wù)請(qǐng)求者和服務(wù)提供者聯(lián)系起來。
SOA的關(guān)鍵特性:一種租粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過簡單、精確定義接口進(jìn)行通訊,不涉及底層編程接口和通訊模型。
SOA是近年來軟件項(xiàng)目開發(fā)和信息系統(tǒng)構(gòu)建方法的一個(gè)國際性技術(shù)趨勢(shì),代表一個(gè)開放的、可擴(kuò)展的、聯(lián)邦的和可組合的軟件架構(gòu),常用于大型軟件項(xiàng)目的開發(fā)。
2、SOA的特征
可從企業(yè)外部訪問:通過采用先進(jìn)的B2B協(xié)議外部用戶可以訪問企業(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ì)覺察到短暫的短缺。
粗粒度的服務(wù)接口:采用粗粒度服務(wù)接口,使用者和服務(wù)層之間只需一次往復(fù)即可。
分級(jí):粗粒度服務(wù)比細(xì)粒度服務(wù)的重用性差,因此必須允許采用不同的粗粒度等級(jí)來創(chuàng)建服務(wù)。這種服務(wù)分級(jí)包含了粒度較細(xì)、重用性較高的服務(wù),也包含粒度較粗、重用性較差的服務(wù)。
松散耦合:SOA具有“松散耦合”組俘服務(wù),可以將服務(wù)使用者和服務(wù)提供者在服務(wù)實(shí)現(xiàn)和客戶如何使用服務(wù)方面隔離開來。
可重用的服務(wù):按照可重用的原則設(shè)計(jì)服務(wù),SOA將可以使應(yīng)用變得更為靈活,同時(shí)大大提高工作效率。設(shè)計(jì)可重用服務(wù)是與數(shù)據(jù)庫設(shè)計(jì)或通用數(shù)據(jù)建模類似的最有價(jià)值的工作.
標(biāo)準(zhǔn)化的服務(wù)接口:XML和Web服務(wù)標(biāo)準(zhǔn)化的開放性使企業(yè)能夠在所部署的所有技術(shù)和應(yīng)用中采用SOA。
支持各種消息模式:在一個(gè)SOR實(shí)現(xiàn)中,常會(huì)出現(xiàn)混合采用不同消息模式的服務(wù),如:無狀態(tài)的消息,有狀態(tài)的消息,等冪消息等。
精確定義的服務(wù)契約:SOA中所有流程都被定義為服務(wù),服務(wù)通過基于類封裝的服務(wù)接口委托給服務(wù)提供者,服務(wù)接口根據(jù)可擴(kuò)展標(biāo)識(shí)符、格式和協(xié)議單獨(dú)描述。
3、SOA的優(yōu)點(diǎn)
編碼靈活性:可基于模塊化的低層服務(wù)、采用不同組合方式創(chuàng)建高層服務(wù),從而實(shí)現(xiàn)重用。
明確開發(fā)人員角色:開發(fā)人員各司其職,集中精力解決相對(duì)的問題。
支持多種客戶類型:借助精確定義的服務(wù)接口和對(duì)XML、Web服務(wù)標(biāo)準(zhǔn)的支持,可以支持多種客戶類型。
更易維護(hù):服務(wù)提供者和服務(wù)使用者的松散耦合關(guān)系及對(duì)開放標(biāo)準(zhǔn)的采用確保了該特性的實(shí)現(xiàn)。
更好的伸縮性:依靠服務(wù)設(shè)計(jì)、開發(fā)和部署所采用的架構(gòu)模型實(shí)現(xiàn)伸縮性。服務(wù)提供者可以彼此獨(dú)立調(diào)整,以滿足服務(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ù)器來管理和控制整個(gè)端到端的網(wǎng)絡(luò)。
4、SOA項(xiàng)目的實(shí)麓過程
SOA項(xiàng)目的實(shí)施整體分為兩個(gè)過程:規(guī)劃過程和實(shí)施過程。規(guī)劃階段非常重要,需要根據(jù)業(yè)務(wù)發(fā)展需求確定總體項(xiàng)目建設(shè)規(guī)劃,確定項(xiàng)目范圍和目標(biāo)。規(guī)劃是否正確決定著SOA項(xiàng)目實(shí)施的成敗。實(shí)施過程項(xiàng)目建設(shè)的執(zhí)行階段,包括從服務(wù)的規(guī)劃設(shè)計(jì)到服務(wù)發(fā)布后的運(yùn)行維護(hù)等整個(gè)過程,在此過程中,開發(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ù)問題;完成以下工作:業(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ù)開發(fā)及測(cè)試:服務(wù)實(shí)現(xiàn),SOA項(xiàng)目開發(fā)階段的核心概念,包括單個(gè)功能的服務(wù),也包括流程類的服務(wù).
服務(wù)部署:根據(jù)SOA項(xiàng)目目標(biāo),使用部署工具將所開發(fā)的各類服務(wù)及流程部署至項(xiàng)目運(yùn)行的物理環(huán)境內(nèi),例如應(yīng)用服務(wù)器、流程服務(wù)器、門戶服務(wù)器等。
服務(wù)發(fā)布:將開發(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)的確定是過程中一直需要考慮的問題,在分析和設(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à)值。
5、SOA硪目實(shí)施 PK 傳統(tǒng)項(xiàng)目實(shí)施
實(shí)施過程。傳統(tǒng)項(xiàng)目的實(shí)施重點(diǎn)在于開發(fā)實(shí)現(xiàn)階段,并且是從頭開始,從零開始,而且經(jīng)常使用瀑布式開發(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)的過程,周期比較長,并且,企業(yè)部署SOA通常通過迭代方式實(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í)施不同。
6、SOA的現(xiàn)狀及未來
SOA為應(yīng)用的動(dòng)態(tài)整合提供了一個(gè)非常好的思路,一個(gè)解決問題的方法,但作為一個(gè)具有發(fā)展前景的應(yīng)用系統(tǒng)架構(gòu),SOA尚存在許多有待改進(jìn)的地方,例如在可靠性、安全性、編制(Orchestration)、遺留系統(tǒng)(Legacysupport)支持和語義(Semantics)方面均還存在不足。SOA相關(guān)技術(shù)和應(yīng)用還處于探索和發(fā)展之中,SOA的核心標(biāo)準(zhǔn)也將繼續(xù)演進(jìn)。
國際上,在經(jīng)歷了數(shù)年的研發(fā)和測(cè)試以后,IBM、BEA、微軟等已經(jīng)陸續(xù)推出各自的SOA策略、架構(gòu)以及產(chǎn)品,真正將SOA推動(dòng)到可部署階段。BEA公司最新的中間件軟件品牌AquaLogic,提供了全面的管理環(huán)境,幫助開發(fā)者使用開放的Web服務(wù)標(biāo)準(zhǔn)和工具創(chuàng)造所謂的SOA架構(gòu)。IBM公司則基于SOA理念提出了“整合”戰(zhàn)略,希望通過建立基于開放標(biāo)準(zhǔn)的、統(tǒng)一的、高效的、易于管理的IT基礎(chǔ)平臺(tái),通過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)注:拓步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/solutions/1401932976.html