基于SOA架構(gòu)的倉(cāng)儲(chǔ)管理信息系統(tǒng)研究
第 1 章 緒論
隨著企業(yè)規(guī)模的不斷壯大和各企業(yè)之間合作關(guān)系的逐漸密切,企業(yè)之間的商業(yè)生態(tài)系統(tǒng)現(xiàn)已頗具規(guī)模,這推動(dòng)了物流業(yè)的迅猛發(fā)展。與傳統(tǒng)物流業(yè)相比,現(xiàn)代物流不管是從規(guī)模還是從完善的功能方面都有了一個(gè)質(zhì)的飛越。它將生產(chǎn)、加工、運(yùn)輸、倉(cāng)儲(chǔ)、銷(xiāo)售等各環(huán)節(jié)科學(xué)合理的結(jié)合起來(lái),大大降低了企業(yè)的物資消耗和運(yùn)輸成本,提高了勞動(dòng)生產(chǎn)效率,形成了一套全新的信息化服務(wù)體系。
現(xiàn)代物流是一個(gè)跨企業(yè)的實(shí)體流通過(guò)程,與傳統(tǒng)物流業(yè)相比,更加注重商品的多樣化,各企業(yè)之間的合作以及與其他功能的配合,其目標(biāo)是在各企業(yè)之間提供統(tǒng)一的業(yè)務(wù)交流標(biāo)準(zhǔn)。通過(guò)為各相關(guān)企業(yè)提供信息共享、安全透明、實(shí)時(shí)快捷的服務(wù)來(lái)促進(jìn)整個(gè)物流行業(yè)的健康發(fā)展。倉(cāng)儲(chǔ)作為物流體系的核心,為企業(yè)生產(chǎn)商、供應(yīng)商和需求方提供一系列信息化服務(wù)。安全、準(zhǔn)確、透明的倉(cāng)儲(chǔ)信息是處理好物資傳輸和管理不確定性的迫切要求,但傳統(tǒng)簡(jiǎn)單、靜態(tài)的倉(cāng)儲(chǔ)管理已經(jīng)不能滿(mǎn)足企業(yè)對(duì)各種資源的協(xié)調(diào)利用和信息共享的要求。利用 SOA技術(shù)構(gòu)建的倉(cāng)儲(chǔ)信息管理系統(tǒng)可以將不同企業(yè)、不同地區(qū)的資源信息集合到一起,提供全方位的信息化服務(wù)。
構(gòu)建軟件系統(tǒng)體系架構(gòu)中,最常用的是 C/S 或 B/S 架構(gòu),但由于開(kāi)發(fā)技術(shù)和平臺(tái)等限制,難以形成統(tǒng)一的行業(yè)標(biāo)準(zhǔn)。另外,基于此類(lèi)架構(gòu)的軟件大多只能供某個(gè)企業(yè)單獨(dú)使用,無(wú)法滿(mǎn)足如今跨領(lǐng)域跨企業(yè)的應(yīng)用系統(tǒng)需要。在這兩種架構(gòu)中,各業(yè)務(wù)模塊之間難以重用,很難對(duì)所有信息進(jìn)行統(tǒng)一管理和適應(yīng)各企業(yè)的業(yè)務(wù)變化,信息的更新、查詢(xún)及安全性也很難達(dá)到用戶(hù)的需求。因此探討并開(kāi)發(fā)基于 SOA 的軟件系統(tǒng)變得十分迫切。
……
1.2 SOA 的國(guó)內(nèi)外研究現(xiàn)狀
在國(guó)際上,各大 IT 巨頭公司紛紛給出 SOA 應(yīng)用軟件和行業(yè)解決方案,SOA標(biāo)準(zhǔn)化研討會(huì)也在各個(gè)國(guó)家召開(kāi),不但推動(dòng) SOA 標(biāo)準(zhǔn)化的工作。SOA 已經(jīng)成為目前最具商業(yè)價(jià)值的體系結(jié)構(gòu)。在國(guó)內(nèi),SOA 經(jīng)過(guò)了從“概念導(dǎo)入”到快速發(fā)展的發(fā)展過(guò)程,逐漸被不同用戶(hù)探索和接受。近年來(lái),我國(guó)智慧城市建設(shè)、企業(yè) IT 技術(shù)集成等建設(shè)中都開(kāi)始實(shí)施 SOA 架構(gòu),一些互聯(lián)網(wǎng)企業(yè)也紛紛將 SOA 技術(shù)作為自己的企業(yè)開(kāi)發(fā)路線。SOA 與物聯(lián)網(wǎng)、云計(jì)算的融合方案也在逐步實(shí)施。
晉元 Primeton EOS是采用面向構(gòu)建技術(shù)實(shí)現(xiàn)的企業(yè)級(jí)應(yīng)用開(kāi)發(fā)平臺(tái),它將 SOA、XML 技術(shù)、構(gòu)建技術(shù)緊密的結(jié)合起來(lái),實(shí)現(xiàn)了 SCA/SDO 規(guī)范。能夠支持跨平臺(tái)、系統(tǒng)復(fù)用、業(yè)務(wù)變更等一系列服務(wù),并支持電信、政府、金融等行業(yè)客戶(hù)關(guān)鍵技術(shù)的運(yùn)行。
用友的 U9是行業(yè)中一款耳熟能詳?shù)漠a(chǎn)品,它支持多集團(tuán)、多公司的跨國(guó)內(nèi)外環(huán)境,在供應(yīng)鏈及相關(guān)領(lǐng)域應(yīng)用顯著。U9是一款全面應(yīng)用 SOA 的企業(yè)管理軟件產(chǎn)品,實(shí)現(xiàn) ESB、支持 BPM,能夠滿(mǎn)足企業(yè)集團(tuán)業(yè)務(wù)的全球化部署和管理,其先進(jìn)的管理模式在財(cái)務(wù)、生產(chǎn)制造等十幾個(gè)領(lǐng)域得到了應(yīng)用與實(shí)施。
此外,我國(guó)的研究機(jī)構(gòu)和高等院校,如中國(guó)科學(xué)研究院,北京大學(xué)等也已經(jīng)開(kāi)始著手 SOA 相關(guān)課題的研究,并與企業(yè)進(jìn)行多方面的合作和雙向培養(yǎng) SOA技術(shù)人員。由此可見(jiàn),SOA 中的“服務(wù)”呈現(xiàn)出了廣泛互聯(lián)的特征,在各行業(yè)中具有極強(qiáng)的生命力。
……
第 2 章 SOA 及相關(guān)技術(shù)
從以上定義可以看到,“服務(wù)”是 SOA 的核心元素,是面向?qū)ο蠛兔嫦蚪M件之上的更高級(jí)抽象。SOA 的最大優(yōu)勢(shì)在于重用和互操作,面向?qū)ο蟮募軜?gòu)可以將各企業(yè)的 IT 資源融合為一種規(guī)范的、可使用的模式。SOA 不僅是一種技術(shù),,更是一種無(wú)需關(guān)心底層實(shí)現(xiàn)的高度抽象化的架構(gòu)思想,它將應(yīng)用層從底層硬件中提取出來(lái),對(duì)外將詳細(xì)的實(shí)現(xiàn)過(guò)程做了掩蓋,這樣有利于粗粒度組件的集成和部署。SOA 體系架構(gòu)不僅可以提高 IT 部門(mén)的效率,縮短開(kāi)發(fā)周期,允許企業(yè)平衡現(xiàn)有的資源和財(cái)產(chǎn),實(shí)現(xiàn)對(duì)各種資源的優(yōu)化配置,而且可以充分發(fā)揮企業(yè)業(yè)務(wù)整合的優(yōu)勢(shì),從而最大限度地提升企業(yè)和用戶(hù)的收益。
隨著軟件工程的不斷發(fā)展,軟件開(kāi)發(fā)方法從結(jié)構(gòu)化方法到面向服務(wù)方法,使得系統(tǒng)開(kāi)發(fā)在可重用性、可管理性和可擴(kuò)展性等方面得到了不斷的完善。軟件開(kāi)發(fā)方法越來(lái)越符合人們?nèi)粘K伎嫉哪J剑哺舆m應(yīng)應(yīng)用服務(wù)系統(tǒng)的開(kāi)發(fā)。各類(lèi)軟件開(kāi)發(fā)方法的比較如表 2-1 所示。
由表可知,面向服務(wù)方法以“服務(wù)”為基本元素,實(shí)現(xiàn)了更加級(jí)別的復(fù)用,從而降低了應(yīng)用系統(tǒng)的開(kāi)發(fā)維護(hù)成本,滿(mǎn)足企業(yè)不斷變化的業(yè)務(wù)流程,越來(lái)越符合人們的日常思維習(xí)慣。
在面向服務(wù)架構(gòu)的基礎(chǔ)體系結(jié)構(gòu)中,服務(wù)是一段包含服務(wù)描述接口的程序,它必須是低內(nèi)聚高耦合;服務(wù)描述定義了服務(wù)的請(qǐng)求和響應(yīng)格式,服務(wù)質(zhì)量級(jí)別等;服務(wù)發(fā)布者是提供服務(wù)的平臺(tái)總稱(chēng),它能發(fā)布并更新服務(wù)注冊(cè)中心的服務(wù),并響應(yīng)服務(wù)請(qǐng)求者的服務(wù)請(qǐng)求;服務(wù)請(qǐng)求者是服務(wù)的使用者,當(dāng)它需要服務(wù)時(shí),首先在服務(wù)注冊(cè)中心進(jìn)行服務(wù)查找,相應(yīng)的服務(wù)描述匹配成功后即可調(diào)用所需的服務(wù);服務(wù)注冊(cè)中心是存儲(chǔ)服務(wù)信息的“倉(cāng)庫(kù)”,是連接服務(wù)發(fā)布者和服務(wù)請(qǐng)求者通信的橋梁。這三種角色就是通過(guò)發(fā)布、查找和綁定三種操作進(jìn)行轉(zhuǎn)換,不需要知道各種轉(zhuǎn)換之間的具體實(shí)現(xiàn)細(xì)節(jié)。SOA 中的每個(gè)實(shí)體可以使三個(gè)角色中的一種或者多種。
……
在面向服務(wù)的體系架構(gòu)中,服務(wù)交互過(guò)程只是一種思想,實(shí)現(xiàn) SOA 架構(gòu)需要依賴(lài)一定的技術(shù)。由上一章節(jié)可知,Web Services 是實(shí)現(xiàn) SOA 架構(gòu)的主流技術(shù),為 SOA 架構(gòu)的實(shí)現(xiàn)提供理論基礎(chǔ)和實(shí)踐環(huán)境。
對(duì)于 Web 服務(wù),人們對(duì)它的理解層出不窮,W3C 將它定義為,“Web 服務(wù)是一種獨(dú)立的可自我描述的應(yīng)用程序組件,能夠使用開(kāi)放協(xié)議進(jìn)行通信,可被統(tǒng)一描述、發(fā)現(xiàn)和集成”。
SOAP (Simple Object Access Protocol),即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,是由微軟、Lotus 等眾多知名企業(yè)在 2000 年 5 月首次向 W3C 提出,SOAP 是一種用于應(yīng)用程序通信的通信協(xié)議,可以支持應(yīng)用程序擴(kuò)展,有良好的平臺(tái)和編程語(yǔ)言獨(dú)立性,可以簡(jiǎn)單的被調(diào)用和處理。一條 SOAP 消息必須包含 SOAP Envelop 元素和 SOAP Body 元素,而 SOAP Header 元素和 Fault 元素是可選的。
本章首先從 SOA 的定義入手,分析了面向?qū)ο蠓椒ê推渌椒ǖ膮^(qū)別,得到面向?qū)ο蠓椒ǖ膬?yōu)勢(shì),接著研究了 SOA 的基礎(chǔ)體系結(jié)構(gòu)。并通過(guò)分析對(duì)比選出最適合系統(tǒng)開(kāi)發(fā)的 SOA 實(shí)現(xiàn)技術(shù)——Web Services,著重研究了 Web 服務(wù)標(biāo)準(zhǔn)規(guī)范,最后詳細(xì)闡述了發(fā)布 Web 服務(wù)的 Apache CXF 框架的各部分組件。
……
3.1 系統(tǒng)業(yè)務(wù)流程分析......................................15
3.1.1 供應(yīng)商業(yè)務(wù)需求.......................................16
3.1.2 生產(chǎn)商業(yè)務(wù)需求........................................17
3.1.3 經(jīng)銷(xiāo)商業(yè)務(wù)需求.......................................18
3.2 系統(tǒng)功能需求分析.......................................18
3.2.1 系統(tǒng)用戶(hù)管理需求....................................19
3.2.2 入庫(kù)作業(yè)管理需求.....................................19
3.2.3 庫(kù)內(nèi)作業(yè)管理需求...................................20
3.2.4 出庫(kù)作業(yè)管理需求.................................22
3.3 本章小結(jié)..............................................24
第 4 章 基于 SOA 架構(gòu)倉(cāng)儲(chǔ)管理信息系統(tǒng)的設(shè)計(jì)...............25
4.1 系統(tǒng)設(shè)計(jì)原則..........................................25
4.2 系統(tǒng)架構(gòu)設(shè)計(jì)..........................................26
4.2.1 傳統(tǒng)的開(kāi)發(fā)模式....................................26
4.2.2 面向服務(wù)的系統(tǒng)總體架構(gòu).............................26
4.3 系統(tǒng)流程設(shè)計(jì)..........................................28
4.4 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)......................................29
4.4.1 供應(yīng)商端倉(cāng)儲(chǔ)管理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)........................29
4.4.2 生產(chǎn)商端倉(cāng)儲(chǔ)管理系統(tǒng)結(jié)構(gòu)設(shè)計(jì).......................31
4.4.3 經(jīng)銷(xiāo)商端倉(cāng)儲(chǔ)管理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)......................32
4.5 系統(tǒng)服務(wù)建模設(shè)計(jì)......................................34
4.5.1 服務(wù)建模的原則.....................................34
4.5.2 服務(wù)組件設(shè)計(jì)........................................34
4.5.3 服務(wù)接口設(shè)計(jì).......................................36
4.5.4 服務(wù)訪問(wèn)設(shè)計(jì)........................................37
4.6 數(shù)據(jù)庫(kù)設(shè)計(jì)...........................................37
4.7 本章小結(jié).............................................43
第 5 章 基于 SOA 架構(gòu)倉(cāng)儲(chǔ)管理信息系統(tǒng)的實(shí)現(xiàn)...............44
5.1 系統(tǒng)實(shí)現(xiàn)平臺(tái).........................................44
5.2 表現(xiàn)層的實(shí)現(xiàn)..........................................44
5.3 服務(wù)層實(shí)現(xiàn)...........................................46
5.3.1 服務(wù)端實(shí)現(xiàn).........................................47
5.3.2 CXF 注冊(cè)和發(fā)布服務(wù) .............................47
5.3.3 客戶(hù)端調(diào)用 Web 服務(wù)............................48
5.4 業(yè)務(wù)層實(shí)現(xiàn)..........................................48
5.5 數(shù)據(jù)持久層實(shí)現(xiàn)......................................50
5.6 數(shù)據(jù)層實(shí)現(xiàn)..........................................52
5.7 部分界面及功能實(shí)現(xiàn)..................................52
5.8 本章小結(jié)...........................................55
……
第 5 章 基于 SOA 架構(gòu)倉(cāng)儲(chǔ)管理信息系統(tǒng)的實(shí)現(xiàn)
本系統(tǒng)采用 SOA 架構(gòu)模式,結(jié)合 J2EE 平臺(tái)的多層次分布式應(yīng)用模式進(jìn)行架構(gòu)搭建。開(kāi)發(fā)平臺(tái)采用 Eclipse IDE,應(yīng)用服務(wù)器采用 Apache tomcat6.0,Web服務(wù)發(fā)布采用 Apache CXF,數(shù)據(jù)庫(kù)持久層采用 Hibernate 實(shí)現(xiàn)。數(shù)據(jù)庫(kù)系采用SQL Server 2008,另外對(duì)于頁(yè)面美化與布局使用了 Dreamweaver 工具。
表現(xiàn)層并不需要進(jìn)行業(yè)務(wù)邏輯處理,主要負(fù)責(zé)用戶(hù)和中間層的交互,可以將中間層的消息顯示給用戶(hù),同時(shí)也可以傳輸用戶(hù)的請(qǐng)求給中間層。由于不參與業(yè)務(wù)邏輯處理,因此它的改變不會(huì)對(duì)中間層產(chǎn)生影響。在本系統(tǒng)中,表現(xiàn)層的實(shí)現(xiàn)采用 MVC 模式,該模式允許一個(gè)模型對(duì)應(yīng)多個(gè)視圖,采用該模式的好處是當(dāng)模型發(fā)生變化時(shí),可以更好的維護(hù)系統(tǒng),代碼的復(fù)制也會(huì)減少,同時(shí)整個(gè)系統(tǒng)的結(jié)構(gòu)也更加的清晰。
控制器 Servlet 主要負(fù)責(zé)與模型交互,響應(yīng)用戶(hù)請(qǐng)求并把相應(yīng)結(jié)果調(diào)用到視圖端顯示出來(lái)?刂破鞯牡闹饕ぷ髁鞒淌牵谝徊,通過(guò)用戶(hù)的請(qǐng)求信息來(lái)判斷將要完成的用戶(hù)需求服務(wù),第二步,查看 CXF 總線上的 WSDL 文檔,根據(jù)文檔中的信息綁定服務(wù)的地址,并將相應(yīng)的結(jié)果通過(guò)消息返回給用戶(hù)。
本文所設(shè)計(jì)的倉(cāng)儲(chǔ)信息管理系統(tǒng)中的服務(wù)層功能實(shí)現(xiàn)是依賴(lài)于業(yè)務(wù)層功能實(shí)現(xiàn)。系統(tǒng)在傳統(tǒng)三層架構(gòu)(數(shù)據(jù)持久層、業(yè)務(wù)層和表現(xiàn)層)的基礎(chǔ)上增加了服務(wù)層,服務(wù)層在此基礎(chǔ)上將其封裝成 Web 服務(wù),完成了服務(wù)的生成。但是這個(gè)生成的 Web 服務(wù)只是存儲(chǔ)在服務(wù)層中,并沒(méi)有發(fā)布出去給用戶(hù)使用,因此服務(wù)層還需要將實(shí)現(xiàn) Web 服務(wù)的發(fā)布功能。
……
結(jié)論
本文的研究工作和成果主要包括以下幾個(gè)方面:
首先,研究了現(xiàn)代物流中的核心模塊——倉(cāng)儲(chǔ)管理,分析了其在企業(yè)中的地位和作用,并結(jié)合 SOA 的發(fā)展?fàn)顩r對(duì)基于 SOA 架構(gòu)的倉(cāng)儲(chǔ)管理信息系統(tǒng)進(jìn)行研究。
其次,通過(guò)分析對(duì)比,引入業(yè)界廣泛認(rèn)可的 Web Services 技術(shù)來(lái)實(shí)現(xiàn) SOA架構(gòu),采用 XML 進(jìn)行數(shù)據(jù)表示,整個(gè)實(shí)現(xiàn)過(guò)程是通過(guò)用 WSDL 、UDDI 和SOAP 協(xié)議分別進(jìn)行服務(wù)的描述、定義、發(fā)現(xiàn)和調(diào)用。
第三,根據(jù)倉(cāng)儲(chǔ)管理信息系統(tǒng)的需求分析和基于 SOA 架構(gòu)系統(tǒng)的設(shè)計(jì)原則,從系統(tǒng)總體框架、系統(tǒng)流程、系統(tǒng)功能結(jié)構(gòu)、服務(wù)建模、數(shù)據(jù)庫(kù)等方面對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)。重點(diǎn)是服務(wù)組件和接口的設(shè)計(jì)。
最后,對(duì) SOA 架構(gòu)的倉(cāng)儲(chǔ)管理信息系統(tǒng)進(jìn)行設(shè)計(jì)實(shí)現(xiàn),用到 Apache CXF框架對(duì)所需的服務(wù)進(jìn)行發(fā)布,便于客戶(hù)端調(diào)用相應(yīng)的服務(wù)。
參考文獻(xiàn)(略)
本文編號(hào):44484
本文鏈接:http://sikaile.net/guanlilunwen/glzh/44484.html