王秀艷
(大同煤炭職業技術學院信息工程系,山西 大同 037003)
SOA是一種可以在不同系統間共享資源信息的軟件開發方式。對于軟件重用和集成問題,它可以用更高效的方法去解決,使用SOA進行軟件開發,公司可以更快速的建立起模塊化、開放的軟件部分,Web服務技術是比較有代表特點的,在SOA體系結構研究基礎上實現的技術。SOA對公司有很多益處,比如,縮短軟件開發的時間,快速的發掘新的業務,可以運用現有資產,不需要從頭來過,節約了成本。有利于集中管控,Web服務比較以前的計算技術具有更良好的可靠性和簡易性。為了應對市場的走向變化,對企業的系統也提出了挑戰和要求,如快捷服務、重用資源、迅速建構等特點,這都是企業系統需要所具備的優點,而SOA軟件體系結構就是滿足這些特點的結構,SOA的服務就是把程序的功能單獨拿出來也能良好運行。
(1)基本概念。SOA用漢語來講就是面向服務的體系結構。服務是程序中不同的功能單位。SOA體系結構就是多個服務聯系起來組成的。大多數接口定義采用的中立方式,它的主要特點是不同功能單元之間有松散耦合,而松散耦合具備靈活性高和服務結構變化時能保持不變的特點,相異的兩個程序中相異的兩個組件借口與對應的功能,在松散耦合下能緊密聯合。
(2)SOA體系的優勢。與傳統的軟件開發方式比較,SOA體系結構有松散耦合服務等優點,SOA軟件開發不同于傳統方式,要求系統兩端嚴密掌控,它使軟件開發更具獨立,再一點就是SOA結構是在行業標準的基礎之上開發出來的,不拘泥于行業和平臺的限制,為開發最優良的功能服務提供條件。因此,只要遵循對應的標準,開發出來的服務都能并入一個架構完好的SOA系統當中。可能現存的基礎架構當中有許多不同開發者設計出的組件。可以增加軟件開發的效率,因為SOA可復用的特點。在新的軟件開發設計時,可以在現有基礎條件上,對軟件進行快速的設計和開發。另外,SOA體系結構還具有服務調用、不需更改現有組件、訪問數據、組合服務等諸多優點。
(1)系統結構框架。根據觀察角度和側重點不同,對SOA體系結構的說明也有所不同,SOA是一種松散耦合是的體系結構。程序的功能是由各個獨立的服務合成的,并且這些服務可復用。SOA體系結構其中的獨立服務,通過接口可以調用服務,構建程序的基本流程。在SOA體系結構的基礎條件上來對軟件進行開發,服務可重,服務可及時調用等理念,結構層次可根據不同的需求行劃分。主要分為客戶層、表面層、業務層、服務層和資源層。客戶端層是處理客戶的問題。表現層主要是是重用部分,使系統模塊化和對請求進行處理。業務層是提供訪問服務給客戶層,以防耦合出現在客戶端層和業務層兩層之間。服務層是為客戶端層提供服務。客戶端層的功能是具備所有的設備,表現層是用來管理和處理客戶端的請求,并將其反饋到客戶端,業務層是為客戶端層提供服務給,服務層的主要功能是通信功能,資源層的主要功能是對數據進行處理和保存,以防數據丟失。
(2)功能分析。SOA體系可以使服務一起為多個程序提供條件,這很大程度上減少了運行成本。SOA主要包含三個方面,服務請求者就是服務消費者,他需要使用某些服務的功能,在進行查詢后,依照說明,執行服務程序。服務注冊者主要負責就是收集信息,查找為服務提供者所請求的信息和服務。服務提供者又可以稱為服務的擁有者,主要是負責將服務信息傳遞到服務注冊者,并對請求者提出的請求進行處理。在SOA體系結構中,有幾個重要的操作。發布是指當服務的描述信息發布后,被服務消費者進行訪問和調用。發現是指服務請求者去匹配合適的服務進行查詢。綁定和調用是指服務消費者在得到服務描述之后,由此去使用服務。
(1)Web服務。通過許多Web服務的推行,SOA的影響力迅速提升。交互中的細節和實現服務都是由Web服務來定義的,使SOA迅速投入使用。Web服務是基于SOA的消息使用。SOA消息調控允許交換方式,描述服務請求者與服務提供者之間連接時的細節是Web服務描述語言的功能,服務請求者對服務是由哪種程序和怎么編寫而成的,可能并不感興趣,只對是否能完成自己的請求關心。
(2)SOA與Web之間的聯系。Web服務與SOA并不是可以畫等號的,Web服務是對OAP在內的幾種技術集中,它是解決消息傳遞和程序集成等問題的主要方式方法,而SOA是一種體系結構,是一種能進行構建和設計的軟件開發的方法,是一種架構。它不是技術的合成,它是在Web服務之上的。也可以說Web服務是SOA體系結構中的一種,并且是當前效率較高,普遍采用的一種技術服務。Web服務的運行過程與SOA有相同之處,服務提供者將描述信息傳輸到功能中心,服務使用者在功能中心進行查找,對相應的文檔進行獲取,文檔是與Web服務進行作用的細節信息。
(3)應用實例。網上選課系統當中有諸多的條件和要求。在不同的校區上課的課程,可以被全校所有學生選課,新增加的課程和減少的課程要能同步更新。對于學生進行選課的時候,能夠更方便更快捷。SOA體系具有松散耦合的特點,所以可以從不同的系統或來源中解析數據,可以滿足不同校區的學生選課的需求,SOA的開放性和互操作性可以滿足課程增設信息的同步更新。SOA對于構建一個新系統,可以通過重用已有服務來進行。并且,在教務管理系統中,這種功能也是非常重要的,另外SOA可以將學生的信息收集功能制成服務,只需調用此服務,便可在不同的系統平臺之上使用。Web服務生成后,WSAD會生成許多文檔而文檔的根元素是客戶和Web服務間傳遞的變化值,測試時使用本地地址,而發布時改為可訪問的地址,客戶端可以在Web發布之后使用服務。客戶端需要定位Web服務,可無需服務名。這是一個在SOA的構架模型基礎上的典型案例,它將獨立的部分組建構成一個松散耦合的服務,解決了平臺和程序語言的問題。
(4)SOA中的復用。在SOA體系結構的基礎上CMI系統進行研究和分析。在CMI系統中,經常要對學生的信息進行搜集,另外在教務系統和其他相關系統當中,此功能也不可或缺,因此,相同的功能保存在三個不同的系統模塊中。而且在同一個系統中也有多個部分要求有這樣的功能,在用到服用是對軟件開發中面向對象的解決之法。與SOA中的復用相比,此復用非比復用,前者是代碼進行的,而SOA當中是將搜集學生信息這個功能包裝成一個服務,之后在其他任何系統當中要運用到此功能時,只需調用便能實現,前者雖然也算是一種解決問題的方法,但相比于運用SOA的重用服務就過于復雜。
SOA是一種不受具體技術方式限制的一種新的軟件開發方法,Web服務在SOA體系結構走向成功的環節中起到了重要作用,從許多方面進行分析,Web服務是SOA體系結構中綜合性較高的服務。文章對SOA的優勢和基礎進行了分析和研究,也對Web服務進行了著重分析也結合實例進行說明。SOA體系結構具有很大優勢,對以后的軟件開發有著不可替代的作用。綜上所述,對軟件開發設計,SOA結構比傳統體系結構有巨大的優勢,在SOA體系結構基礎上開發軟件,能很好的滿足需求。