- 相關(guān)推薦
面向服務(wù)的架構(gòu)(SOA)在電子商務(wù)中的應(yīng)用
[摘要]本文具體先容了SOA的定義、技術(shù)基礎(chǔ)。在此基礎(chǔ)上,給出了一個利用SOA整合現(xiàn)有系統(tǒng)的模型。最后就SOA的應(yīng)用遠(yuǎn)景進(jìn)行了展看并指出了SOA研究中還急需解決的題目。[關(guān)鍵詞]面向服務(wù)的架構(gòu)(SOA)Web ServiceXML ESB
一、引言
軟件的本質(zhì)決定了它的復(fù)雜性,而電子商務(wù)中應(yīng)用到的軟件不僅復(fù)雜而且多變,不斷變更的多樣化需求使得傳統(tǒng)軟件架構(gòu)已經(jīng)無法滿足當(dāng)前的需要。面向服務(wù)的軟件架構(gòu)(SOA)為處理這種復(fù)雜性提供了一種有效的解決方案。
二、SOA的定義
SOA(Service Oriented Architecture)即面向服務(wù)的體系架構(gòu),F(xiàn)在,SOA并沒有確切的定義,它是一個概念,是說一個應(yīng)用可以由一系列獨(dú)立但又相互協(xié)作的子系統(tǒng)或者服務(wù)組成。這樣的結(jié)構(gòu)將各個服務(wù)獨(dú)立出來,只把需要聲明的接口告訴給其它的服務(wù)。接口定義采用中立的方式,獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺、操縱系統(tǒng)和編程語言,使得這些服務(wù)可以使用同一和標(biāo)準(zhǔn)的方式進(jìn)行通訊。任何面向服務(wù)的架構(gòu)包含三個角色:一個服務(wù)申請者(service requestor),一個服務(wù)提供者(service provider),和一個服務(wù)注冊器(service registry),角色關(guān)系如圖1所示。
其中服務(wù)提供者負(fù)責(zé)建立一個有用的服務(wù),并為它創(chuàng)建一個服務(wù)描述,然后將這個服務(wù)描述發(fā)布給一個或多個服務(wù)注冊器,并從一個或多個服務(wù)注冊器那里接收服務(wù)請求信息。
服務(wù)請求者負(fù)責(zé)尋找發(fā)布在一個或多個服務(wù)注冊器那里的一個服務(wù)描述,并負(fù)責(zé)使用服務(wù)描述來bind或者invoke服務(wù)提供者所提供的服務(wù)。一個服務(wù)的任何用戶都可被看作服務(wù)請求者。
服務(wù)注冊器負(fù)責(zé)將服務(wù)提供者發(fā)布在其上的服務(wù)描述廣而告之,并答應(yīng)服務(wù)請求者在本服務(wù)注冊器所擁有的服務(wù)描述里搜尋。一旦服務(wù)注冊器將服務(wù)請求者和服務(wù)提供者配對,服務(wù)注冊器就不需要再參與交互過程。
三、SOA的主要支撐技術(shù)
SOA技術(shù)實(shí)施中涉及的主要技術(shù)包括以下幾個: ESB 、Web Service、XML、SOAP、WSDL、UDDI。其中ESB、Web Service、XML尤為重要。
ESB(Enterprise Service Bus)
企業(yè)服務(wù)總線(ESB),它是SOA架構(gòu)的支柱技術(shù)。它提供一種開放的、基于標(biāo)準(zhǔn)的消息機(jī)制,完成服務(wù)與服務(wù)、服務(wù)與其它組件之間的互操縱。XML[3](Extensible Markup Language)
可擴(kuò)展的標(biāo)記語言(XML),XML是由萬維網(wǎng)協(xié)會(W3C)創(chuàng)建的一種基于文本的規(guī)范標(biāo)記語言,是Web Service平臺中表示數(shù)據(jù)的基本格式。
Web service
Web service是建立可互操縱的分布式應(yīng)用程序的新平臺, 它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操縱性。Web Service是就現(xiàn)在而言最適合實(shí)現(xiàn)SOA的一些技術(shù)的集合, Web Service標(biāo)準(zhǔn)的成熟和應(yīng)用的普及為廣泛的實(shí)現(xiàn)SOA架構(gòu)提供了基礎(chǔ)。 四、SOA參考模型(SOA-RM)及應(yīng)用整合模型
一直以來SOA沒有一個同一的標(biāo)準(zhǔn)。為了同一標(biāo)準(zhǔn),OASIS作了很多工作,也取得了一定的成果,于2006年底通過了一套SOA參考模型,其他相關(guān)標(biāo)準(zhǔn)預(yù)計在2007年完成。
基于現(xiàn)有工作,本文給出一種解決方案,如圖2所示。它在保證傳統(tǒng)系統(tǒng)正常的條件下,將系統(tǒng)或者功能模塊包裝成服務(wù),組成符合SOA模型的系統(tǒng)。大大進(jìn)步了軟件復(fù)用性,節(jié)約了本錢。
在這一方案中,不同類型的用戶通過各自的用戶界面進(jìn)進(jìn)系統(tǒng),并向ESB提出服務(wù)請求,ESB將請求經(jīng)過通用接口層分發(fā),最后由特定的程序或者模塊處理,處理結(jié)果逆向反饋給用戶。
五、結(jié)束語
SOA本錢低、易集成,它可以整合現(xiàn)有資源,并且有了新的應(yīng)用時也很輕易擴(kuò)展而無須對現(xiàn)有系統(tǒng)作大的改動,只需將新的功能注冊為服務(wù)即可。這樣既進(jìn)步了復(fù)用性,又有很好的擴(kuò)展性。SOA的松耦合性和靈活的特點(diǎn)必將使它成為電子商務(wù)應(yīng)用中占有盡對上風(fēng)的軟件工程實(shí)踐方法。
當(dāng)然,要真正SOA,還有很多題目和面臨的挑戰(zhàn)。如最急待解決的,同一的SOA標(biāo)準(zhǔn)題目。
參考文獻(xiàn):
[1]IBM技術(shù)支持庫,[EB/OL],
http://www-900.bm.com/cn/support/viewdoc/detail?DocId=2633095A12000,2005-03-25
[2]實(shí)現(xiàn)SOA的相關(guān)技術(shù),[EB/OL],
http://searchwebservices.techtarget.com.cn/158/2116658.shtml,2005-09-15
[3]XML,[EB/OL],http://www.xml.org/
[4]JAVA語言進(jìn)階:什么是Web Service,[EB/OL],
http://java.ccidnet.com/art/3539/20061205/967669_1.html,2006-12-05
[5]2007年 OASIS探尋標(biāo)準(zhǔn)SOA參考架構(gòu),[EB/OL],
http://searchwebservices.techtarget.com.cn/comment/46/3034546.shtml,2007-01-10
【面向服務(wù)的架構(gòu)SOA在電子商務(wù)中的應(yīng)用】相關(guān)文章:
電子商務(wù)應(yīng)用論文11-02
加快電子商務(wù)在我國農(nóng)業(yè)產(chǎn)業(yè)化中的應(yīng)用(通用7篇)07-27
目標(biāo)規(guī)劃及其在經(jīng)濟(jì)中的應(yīng)用05-11
電子商務(wù)應(yīng)用論文(通用15篇)11-02
提高網(wǎng)站在Google中的排名-面向搜索引擎的網(wǎng)站設(shè)計05-28
氣管插管在院前急救中的應(yīng)用05-29