摘要:該文介紹了SOA構(gòu)架概念及其優(yōu)點(diǎn),分析了圖書出版業(yè)物流信息系統(tǒng)現(xiàn)狀存在的問(wèn)題,提出了一種基于面向服務(wù)為基礎(chǔ)的新型物流信息系統(tǒng)架構(gòu)。指出了基于SOA架構(gòu)的物流信息系統(tǒng)通過(guò)增加業(yè)務(wù)組件層、業(yè)務(wù)服務(wù)層以及業(yè)務(wù)流程層能獲得高度的業(yè)務(wù)適應(yīng)性和有效的降低企業(yè)系統(tǒng)的維護(hù)成本,對(duì)出版業(yè)物流信息系統(tǒng)的構(gòu)建方法、物流業(yè)務(wù)流程和物流信息化等有較大幫助和影響。
關(guān)鍵詞:出版業(yè)物流信息系統(tǒng);物流信息化;SOA;面向服務(wù)構(gòu)架
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)14-3449-03
近年來(lái),面對(duì)我國(guó)物流業(yè)的飛速發(fā)展,現(xiàn)代物流信息系統(tǒng)復(fù)雜度隨著規(guī)模的增大而大幅增加,進(jìn)而出現(xiàn)了基于傳統(tǒng)體系結(jié)構(gòu)構(gòu)建的系統(tǒng)可重用性不理想、各個(gè)子系統(tǒng)之間很難暢通交互等問(wèn)題。在企業(yè)業(yè)務(wù)需求發(fā)生變化時(shí),傳統(tǒng)構(gòu)架的系統(tǒng)很難適應(yīng)新的業(yè)務(wù)需求,各系統(tǒng)數(shù)據(jù)的不一致、系統(tǒng)運(yùn)行效率低下等問(wèn)題尤為嚴(yán)重。在此情況下,面向服務(wù)體系構(gòu)架(SOA)應(yīng)運(yùn)而生,它建立在組件模型的基礎(chǔ)之上,將原有應(yīng)用封裝成為大小粒度不同的服務(wù),屏蔽了各分布式系統(tǒng)底層差異,實(shí)現(xiàn)了各系統(tǒng)的無(wú)縫集成,提升了系統(tǒng)的整體性能,降低了企業(yè)運(yùn)營(yíng)成本。
SOA應(yīng)用于其他物流行業(yè)已經(jīng)普遍,如何合理地把SOA應(yīng)用到出版業(yè)物流信息系統(tǒng)中,并給企業(yè)帶來(lái)直接的經(jīng)濟(jì)利益,使出版業(yè)物流信息系統(tǒng)能夠滿足快速變化的業(yè)務(wù)需求,已成為構(gòu)建出版業(yè)物流信息系統(tǒng)的關(guān)鍵。因此,該文將以基于SOA的物流信息系統(tǒng)架構(gòu)作為主要研究,并結(jié)合出版業(yè)物流實(shí)際情況綜合考慮,提出了基于面向服務(wù)架構(gòu)(SOA)的出版業(yè)物流信息系統(tǒng)模型。該文第一節(jié)闡述SOA的具體概念及其組成;第二節(jié)將對(duì)傳統(tǒng)物流信息系統(tǒng)架構(gòu)進(jìn)行分析;第三節(jié)將描述基于SOA的出版業(yè)物流信息系統(tǒng)構(gòu)架的分層,指出每層作用和特點(diǎn)。第四節(jié)對(duì)SOA構(gòu)架進(jìn)行了若干分析。最后總結(jié)全文內(nèi)容。
1面向服務(wù)構(gòu)架SOA
面向服務(wù)的架構(gòu)(Service Oriented Architecture SOA)是一種新型的架構(gòu)模式,它將應(yīng)用程序不同的功能單元定義為服務(wù),通過(guò)服務(wù)之間這些定義良好的接口聯(lián)系起來(lái)。接口采用中立的方式進(jìn)行定義,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言,這使得構(gòu)建在系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互,以實(shí)現(xiàn)企業(yè)級(jí)系統(tǒng)集成和信息的高度共享[1]。
SOA的組成主要?jiǎng)澐譃楣δ芎头?wù)質(zhì)量?jī)蓚€(gè)方面。SOA的兩大范疇示意圖參見圖1。
圖1 SOA組成示意圖
在功能范疇里可以進(jìn)一步的細(xì)分,它包括[2]:
(1)傳輸。傳輸是一種將用戶的服務(wù)請(qǐng)求發(fā)送至服務(wù)提供者并將服務(wù)響應(yīng)從服務(wù)提供者發(fā)回至用戶的機(jī)制。
(2)服務(wù)通訊協(xié)議。服務(wù)通訊協(xié)議是一個(gè)在服務(wù)請(qǐng)求者和提供者之間達(dá)成一致的,關(guān)于所傳輸?shù)姆?wù)請(qǐng)求內(nèi)容和服務(wù)響應(yīng)內(nèi)容的規(guī)定。
(3)服務(wù)的描述。服務(wù)描述依賴于一個(gè)取得共識(shí)的Wsdl文件,這個(gè)文件描述了服務(wù)的內(nèi)容,調(diào)用的方式,以及調(diào)用數(shù)據(jù)的描述等。
(4)服務(wù)。服務(wù)是一個(gè)可以被用戶調(diào)用的獨(dú)立功能單元。
(5)業(yè)務(wù)流程。業(yè)務(wù)流程是使用一種特殊的語(yǔ)言把服務(wù)按照一定的順序和規(guī)則進(jìn)行編排,使其能滿足一類業(yè)務(wù)需求。
(6)服務(wù)注冊(cè)處。服務(wù)注冊(cè)處是一個(gè)管理服務(wù)注冊(cè)的中心,服務(wù)提供者在此注冊(cè)服務(wù),服務(wù)請(qǐng)求者在此調(diào)用服務(wù),請(qǐng)求與注冊(cè)主要依賴于服務(wù)描述文件。
在服務(wù)質(zhì)量范疇,SOA包括:
(1)規(guī)章。規(guī)章是一組條件和規(guī)則,只有基于這些條件和規(guī)則的服務(wù)調(diào)用,才能正確的調(diào)用服務(wù)。
(2)安全。安全是服務(wù)請(qǐng)求者在進(jìn)行服務(wù)調(diào)用時(shí)所必須的身份驗(yàn)證,訪問(wèn)控制等規(guī)則。
(3)事務(wù)處理。SOA的事務(wù)處理類似于數(shù)據(jù)庫(kù)中的事務(wù)處理,即保證一組操作要么都成功執(zhí)行,要么都失敗的特性。
(4)管理。管理是一組提供和調(diào)用服務(wù)時(shí)所應(yīng)用的規(guī)則。
基于SOA來(lái)構(gòu)建的系統(tǒng)具備如下特點(diǎn):
(1)面向業(yè)務(wù)要求。SOA更多的關(guān)注于用戶業(yè)務(wù),以業(yè)務(wù)為中心,通過(guò)把業(yè)務(wù)人員參與到SOA系統(tǒng)的規(guī)劃、設(shè)計(jì)和管理中,使得系統(tǒng)構(gòu)建能在對(duì)業(yè)務(wù)深刻理解的基礎(chǔ)之上,將系統(tǒng)與用戶業(yè)務(wù)緊密的結(jié)合起來(lái)。
(2)靈活的應(yīng)對(duì)業(yè)務(wù)變化。系統(tǒng)的構(gòu)建圍繞用戶業(yè)務(wù)需求,用戶業(yè)務(wù)在實(shí)現(xiàn)層表現(xiàn)為一系列松散耦合的“服務(wù)”,用戶可以根據(jù)自己需要的服務(wù)功能組合為新的業(yè)務(wù)流程,使系統(tǒng)能夠滿足日益變化的業(yè)務(wù)需求,明顯增強(qiáng)了對(duì)業(yè)務(wù)的適應(yīng)能力。
(3)重復(fù)利用系統(tǒng)資源,節(jié)省開發(fā)時(shí)間以及成本。SOA強(qiáng)調(diào)的是對(duì)遺留系統(tǒng)“服務(wù)”的重用,更高的系統(tǒng)資源重用率是SOA帶來(lái)的顯著效果之一,各企業(yè)擁有的高重用的系統(tǒng)資源,奠定了快速構(gòu)建新業(yè)務(wù)系統(tǒng)和業(yè)務(wù)流程的基礎(chǔ),顯著提高了系統(tǒng)的開發(fā)效率,為企業(yè)節(jié)約了開發(fā)成本。
2傳統(tǒng)物流系統(tǒng)架構(gòu)的研究
傳統(tǒng)物流系統(tǒng)的架構(gòu)包括兩層,即基礎(chǔ)設(shè)施層和業(yè)務(wù)應(yīng)用層,它們之間的關(guān)系如圖2所示。
基礎(chǔ)設(shè)施層可劃分為硬件基礎(chǔ)設(shè)施和軟件基礎(chǔ)設(shè)施兩層。硬件基礎(chǔ)設(shè)施主要由條形碼閱讀器、無(wú)線手持終端、無(wú)線熱點(diǎn)、網(wǎng)絡(luò)計(jì)算機(jī)(NC)、服務(wù)器等組成。軟件設(shè)施主要包括數(shù)據(jù)庫(kù)、操作系統(tǒng)、網(wǎng)絡(luò)/應(yīng)用服務(wù)器等。
業(yè)務(wù)應(yīng)用層主要由與各種物流應(yīng)用相關(guān)的系統(tǒng)構(gòu)成,其中包括信息管理系統(tǒng)(IMS)、財(cái)務(wù)管理系統(tǒng)(FMS)、倉(cāng)庫(kù)管理系統(tǒng)(WMS)、運(yùn)輸管理系統(tǒng)(TMS)、供應(yīng)管理系統(tǒng)(SMS)等[3]。
在傳統(tǒng)的物流信息系統(tǒng)架構(gòu)下通常很難實(shí)現(xiàn)暢通的數(shù)據(jù)交互(在ERP環(huán)境下也只有部分能實(shí)現(xiàn)),企業(yè)遺留應(yīng)用與將要構(gòu)建的新系統(tǒng)之間很難實(shí)現(xiàn)暢通交互,面對(duì)日新月異的業(yè)務(wù)變化,使用傳統(tǒng)構(gòu)架構(gòu)建的物流信息系統(tǒng)不能做出迅速而又高效的調(diào)整。
3基于SOA的出版業(yè)物流信息系統(tǒng)架構(gòu)研究
本文基于SOA技術(shù)對(duì)J出版社的遺留系統(tǒng)進(jìn)行集成,并為將來(lái)引入的新的業(yè)務(wù)系統(tǒng)能和現(xiàn)有系統(tǒng)進(jìn)行有效的交互打下了基礎(chǔ)?;赟OA構(gòu)建的系統(tǒng)與原構(gòu)架系統(tǒng)不同的地方在于,前者增加了組件層、服務(wù)層、業(yè)務(wù)流程層、表現(xiàn)層,這樣使得程序的開發(fā)更具松耦合性。
圖2基于SOA的物流信息系統(tǒng)構(gòu)架圖
組件層使用Web服務(wù)封裝器把業(yè)務(wù)應(yīng)用層提供的特定接口封裝成為功能組件,對(duì)上層提供統(tǒng)一的Web Service服務(wù)接口,并把這些組件在服務(wù)注冊(cè)處注冊(cè),以便統(tǒng)一管理和使用。它也可作為較小粒度的服務(wù)直接提供給業(yè)務(wù)流程層使用。
服務(wù)層將業(yè)務(wù)組件層提供的組件再一次封裝成服務(wù),使得業(yè)務(wù)應(yīng)用層不必關(guān)心底層細(xì)節(jié)而只需通過(guò)一個(gè)取得共識(shí)的服務(wù)描述文件就可方便調(diào)用服務(wù)。各服務(wù)間采用中立的XML格式數(shù)據(jù)進(jìn)行通訊。
業(yè)務(wù)流程層由各種端到端、跨部門的業(yè)務(wù)流程以及業(yè)務(wù)活動(dòng)監(jiān)督機(jī)制而組成[4]。一個(gè)業(yè)務(wù)流程是對(duì)不同領(lǐng)域的業(yè)務(wù)服務(wù)族和可復(fù)用服務(wù)進(jìn)行編排或編制而得,并按照合理順序執(zhí)行,產(chǎn)生相應(yīng)的業(yè)務(wù)成果。業(yè)務(wù)流程層是系統(tǒng)以業(yè)務(wù)流程為中心的基礎(chǔ)。
表示層由業(yè)務(wù)應(yīng)用接口以及服務(wù)、待擴(kuò)展的系統(tǒng)接口、門戶網(wǎng)站等構(gòu)成,主要作用是給服務(wù)請(qǐng)求者提供服務(wù)以及服務(wù)提供者根據(jù)業(yè)務(wù)需求改變服務(wù)等。
以目前J出版社的現(xiàn)有系統(tǒng)為基礎(chǔ)可以構(gòu)建若干服務(wù),有單據(jù)合并服務(wù)、出/入庫(kù)服務(wù)、盤庫(kù)服務(wù)、庫(kù)存查詢服務(wù)、材料及工具使用服務(wù)等。將這些服務(wù)分別在服務(wù)中心注冊(cè),通過(guò)使用BPEL語(yǔ)言,把服務(wù)按照恰當(dāng)?shù)捻樞蚓幣呕蚓幹茷橐粋€(gè)業(yè)務(wù)流程。最后以發(fā)布Web服務(wù)的方式使得企業(yè)內(nèi)部和外部、廠商和供應(yīng)商之間能夠進(jìn)行有效的交互。
4基于SOA架構(gòu)系統(tǒng)的若干分析
本文細(xì)化了企業(yè)服務(wù)總線(ESB)的內(nèi)部結(jié)構(gòu),使業(yè)務(wù)組件層(作為較小粒度的服務(wù))和業(yè)務(wù)服務(wù)層都可以注冊(cè)其自身服務(wù),能更靈活地被系統(tǒng)綁定和使用。服務(wù)的粒度決定了業(yè)務(wù)的靈活性,粒度越小,業(yè)務(wù)就越靈活。但并不是所有業(yè)務(wù)流程都需要靈活性,如業(yè)務(wù)相對(duì)較穩(wěn)定的工資管理,它的服務(wù)粒度應(yīng)該做的大些;而對(duì)于出版業(yè)特有的,比如出庫(kù)/入庫(kù)流程、盤庫(kù)流程等,為了獲取更大的靈活度,它們應(yīng)該化分為更小的粒度。
系統(tǒng)由于采用企業(yè)服務(wù)總線(ESB)結(jié)構(gòu),很好的屏蔽了各個(gè)應(yīng)用子系統(tǒng)底層差異而帶來(lái)的不兼容問(wèn)題,服務(wù)請(qǐng)求者和服務(wù)提供者也不必直接建立連接。而對(duì)于開發(fā)人員而言,由于SOA的松耦合特性使業(yè)務(wù)在發(fā)生變更時(shí)不必大動(dòng)干戈的去升級(jí)系統(tǒng),開發(fā)人員可以像堆積木一樣去構(gòu)建系統(tǒng)服務(wù),大大降低了開發(fā)周期以及開發(fā)成本。
隨著企業(yè)的發(fā)展,企業(yè)的IT系統(tǒng)也越來(lái)越多,SOA屏蔽了不同系統(tǒng)平臺(tái)底層的差異,提高遺留系統(tǒng)“服務(wù)”的重用,使不同平臺(tái)軟件開發(fā)能更好地融合在一起,構(gòu)建起性能優(yōu)越,功能更強(qiáng)大的軟件系統(tǒng)。企業(yè)內(nèi)部人員或者客戶通過(guò)發(fā)布的Web服務(wù)就可調(diào)用相應(yīng)的服務(wù)。服務(wù)的重用性極大的提高的系統(tǒng)的使用率,避免了浪費(fèi),為企業(yè)節(jié)約的成本。
5結(jié)論
本文通過(guò)對(duì)基于SOA的出版社物流信息系統(tǒng)的研究,構(gòu)建了統(tǒng)一的企業(yè)服務(wù)總線( ESB),很好的實(shí)現(xiàn)了企業(yè)中各個(gè)遺留系統(tǒng)的無(wú)縫結(jié)合。本系統(tǒng)采用J2EE技術(shù)開發(fā),Jboss作為應(yīng)用服務(wù)器以及ESB