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