摘 要: 提出了協(xié)同物流商務(wù)(CLC)的概念,分析了協(xié)同物流商務(wù)系統(tǒng)(CLCS)的商業(yè)模型,對CLCS的體系結(jié)構(gòu)及開發(fā)模式進(jìn)行了研究。
關(guān)鍵詞: 協(xié)同商務(wù) 物流 信息系統(tǒng) 開發(fā)模式
當(dāng)前,大量的支持物流企業(yè)聯(lián)盟及第三方物流的商品化軟件已經(jīng)出現(xiàn),包括運(yùn)輸管理(TM)、客戶關(guān)系管理(CRM)、倉儲管理(WM)等,幾乎物流企業(yè)運(yùn)作的各個信息處理環(huán)節(jié)都有相應(yīng)的信息處理系統(tǒng)。協(xié)同物流商務(wù)CLC(Collaborative Logistics Commerce)是一種新的軟件和服務(wù)策略,它將上述信息單元集成在一起,并且利用Internet技術(shù)將物流企業(yè)的市場、服務(wù)、客戶等統(tǒng)一在一個全球知識網(wǎng)中。
協(xié)同物流商務(wù)信息系統(tǒng)已經(jīng)超出了傳統(tǒng)的管理信息系統(tǒng)的內(nèi)涵,也超越了普通意義的網(wǎng)站,成為物流企業(yè)管理信息系統(tǒng)與電子商務(wù)二大應(yīng)用的結(jié)合點(diǎn)。它是電子商務(wù)的一種綜合實(shí)現(xiàn)模式,同時又是一個基于Web的應(yīng)用系統(tǒng)。通過與企業(yè)其他信息系統(tǒng)的集成,使企業(yè)員工、客戶、供應(yīng)商和合作伙伴能夠從單一的渠道訪問其所需要的個性化信息。
1 協(xié)同物流商務(wù)系統(tǒng)(CLCS)商業(yè)模型
CLCS的一個關(guān)鍵屬性是數(shù)據(jù)和應(yīng)用的松散耦合集成,即一個不依賴于具體數(shù)據(jù)源的統(tǒng)一數(shù)據(jù)模型。這個數(shù)據(jù)模型對應(yīng)著Internet知識系統(tǒng)元框架中的本體模型。事實(shí)上,協(xié)同物流商務(wù)是Internet商務(wù)神經(jīng)系統(tǒng)的一種具體實(shí)現(xiàn),它的關(guān)鍵部件就是按照本體論建立起來的元框架模型(Meta-model)。因?yàn)樗鸬搅硕喾N離散系統(tǒng)互連的作用,所以在商業(yè)上稱為E-Hub,如圖1所示。
CLCS的另一個關(guān)鍵屬性是所有的信息倉庫都具有Internet可視性并且可被全局存取。一個CLCS用戶通過標(biāo)準(zhǔn)瀏覽器,可以在一定權(quán)限控制下從物流企業(yè)信息系統(tǒng)中任意瀏覽所需數(shù)據(jù)。從這個意義上說,協(xié)同物流商務(wù)增加了商務(wù)流轉(zhuǎn)過程的透明度,打破了企業(yè)之間的地理位置鴻溝。隨著商業(yè)智能(Business Intelligence)技術(shù)的不斷發(fā)展,融合了數(shù)據(jù)倉庫、數(shù)據(jù)挖掘技術(shù)的智能E-Hub已經(jīng)演變成為商業(yè)智能的標(biāo)準(zhǔn)成分。它作為協(xié)同物流商務(wù)的神經(jīng)中樞,可以輔助企業(yè)進(jìn)行商業(yè)分析與決策,并且為商業(yè)智能解決方案提供統(tǒng)一的、基于Web、易于融合多種數(shù)據(jù)源和應(yīng)用系統(tǒng)的界面,稱之為企業(yè)信息門戶(Enterprise Information Portal)。
建立協(xié)同物流商務(wù)信息系統(tǒng)就是要為第三方物流企業(yè)建立企業(yè)信息門戶。協(xié)同物流商務(wù)信息平臺可以讓物流企業(yè)管理貨物的全方位信息,并讓企業(yè)與其他合作伙伴、尤其是與貨物的供應(yīng)商及客戶,通過Internet共享這些信息。
2 協(xié)同物流商務(wù)系統(tǒng)體系結(jié)構(gòu)模型
最初的企業(yè)信息平臺,由于當(dāng)時各方面技術(shù)的限制,通常采用簡單的C/S結(jié)構(gòu)和結(jié)構(gòu)化編程技術(shù),應(yīng)用范圍也只是局限在企業(yè)內(nèi)部。最近幾年,出現(xiàn)了多層結(jié)構(gòu)和Web機(jī)制的第三代真正的網(wǎng)絡(luò)化信息平臺,編程技術(shù)也從以前結(jié)構(gòu)化編程到完全的面向?qū)ο蠹夹g(shù),采用的數(shù)據(jù)庫從關(guān)系型數(shù)據(jù)庫過渡到對象關(guān)系數(shù)據(jù)庫。
當(dāng)前先進(jìn)的基于Internet的企業(yè)信息平臺普遍采用Web技術(shù)及大量業(yè)界標(biāo)準(zhǔn)。協(xié)同物流商務(wù)系統(tǒng)體系結(jié)構(gòu)整體可分為5層:底層服務(wù)層、核心服務(wù)層、應(yīng)用組件層、集成應(yīng)用層和實(shí)施理念層。圖2為其體系結(jié)構(gòu)模型圖。
(1)底層平臺層
主要指異構(gòu)分布的計(jì)算機(jī)硬件環(huán)境、操作系統(tǒng)、網(wǎng)絡(luò)與通信協(xié)議、數(shù)據(jù)庫、中間件等支撐環(huán)境。Windows由于成本低廉、界面友好,成為許多軟件廠商的首選操作系統(tǒng)平臺。由于協(xié)同物流商務(wù)系統(tǒng)龐大的數(shù)據(jù)量和較高的性能要求,因此底層數(shù)據(jù)庫都采用Oracle、SQL Server、Sybase等大型數(shù)據(jù)庫。
(2)核心服務(wù)層
核心服務(wù)層實(shí)際上就是一組對象模型,它主要完成三個功能:①向下連接并操縱數(shù)據(jù)庫。②向上為CLCS應(yīng)用組件提供基本服務(wù)。③為應(yīng)用軟件提供應(yīng)用編程接口(API)以集成應(yīng)用軟件。
(3)應(yīng)用組件層
CLCS應(yīng)用組件實(shí)際上是由調(diào)用CLCS基礎(chǔ)服務(wù)的一組程序(界面)組成,并能夠完成一定應(yīng)用功能的功能模塊。各物流信息平臺開發(fā)廠商都不斷豐富自己的應(yīng)用組件,并將統(tǒng)一的用戶界面歸入了應(yīng)用組件層。目前,幾乎所有的物流信息系統(tǒng)都支持Web方式的訪問和操縱,較新的B/S結(jié)構(gòu)的信息系統(tǒng)都是以Web瀏覽器為客戶端。
(4)集成應(yīng)用層
應(yīng)用工具主要指各種財務(wù)領(lǐng)域軟件、Word等辦公用軟件以及所有CLCS以外的其他應(yīng)用軟件。CLCS通過多種方式與這些應(yīng)用軟件實(shí)現(xiàn)集成。
(5)實(shí)施理念層
CLCS歸根結(jié)底不是企業(yè)的經(jīng)營管理模式而只是一種軟件工具。這種軟件工具只有在先進(jìn)的企業(yè)運(yùn)作模式下才能發(fā)揮作用,因此CLC的實(shí)施幾乎都離不開SCM、JIT等先進(jìn)的管理理念和質(zhì)量標(biāo)準(zhǔn)。只有在這些先進(jìn)思想的指導(dǎo)下,CLC的實(shí)施才能確保成功并發(fā)揮較大的作用。
3 協(xié)同物流商務(wù)系統(tǒng)的開發(fā)模式
在應(yīng)用系統(tǒng)開發(fā)過程中,C/S體系結(jié)構(gòu)得到了廣泛的應(yīng)用,但C/S結(jié)構(gòu)存在著很多體系結(jié)構(gòu)上的問題。例如:當(dāng)客戶端數(shù)目激增時,服務(wù)器端的性能會因?yàn)樨?fù)載過重而大大衰減;一旦應(yīng)用的需求發(fā)生變化,客戶端和服務(wù)器端的應(yīng)用程序都需要進(jìn)行修改,這給應(yīng)用維護(hù)和升級帶來了極大的不便;大量的數(shù)據(jù)傳輸增加了網(wǎng)絡(luò)的負(fù)載等。
隨著分布式對象技術(shù)的逐漸成熟,多層分布式應(yīng)用體系結(jié)構(gòu)得到了越來越多的應(yīng)用。應(yīng)用系統(tǒng)只有向多層分布式轉(zhuǎn)變,才能最終解決C/S結(jié)構(gòu)存在的問題。在多層架構(gòu)下,應(yīng)用可以分布在不同的系統(tǒng)平臺上,通過分布式技術(shù)實(shí)現(xiàn)異構(gòu)平臺間對象的相互通信。將應(yīng)用系統(tǒng)集成于分布式系統(tǒng)之上,能極大地提高系統(tǒng)的可擴(kuò)展性。
對應(yīng)于多層開發(fā)模式,目前有二種開發(fā)平臺可以選擇:一種是基于SUN的J2EE的開發(fā)模式;一種是基于Microsoft的.NET Framework的開發(fā)模式。下面就這二種開發(fā)模式進(jìn)行分析。
(1)基于J2EE的MVC開發(fā)模式
MVC(Model-View-Controller)是指把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離。這樣一個應(yīng)用被分成三個層——模型層、視圖層、控制層。
視圖(View)代表用戶交互界面,對于Web應(yīng)用來說,可以概括為HTML界面,但也有可能為XHTML、XML和Applet。
模型(Model)就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。模型接收視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應(yīng)用例子。
控制(Controller)可以理解為從用戶接收請求,將模型與視圖匹配在一起,共同完成用戶的請求。
基于J2EE的MVC開發(fā)模型如圖3所示。充當(dāng)視圖、控制器、模塊的組件分別是:JSP文件、Servlet引擎和EJB組件。其技術(shù)原理是:①用Servlet引擎作為后臺總控制(Controller)。②JSP在前臺運(yùn)行(View)。③Servlet接受用戶的輸入,分別調(diào)用不同的JSP程序向客戶反饋信息,JSP/Servlet通過HTTP連接在服務(wù)器端和客戶端傳遞數(shù)據(jù)。④JSP/Servlet并不直接通過JDBC訪問數(shù)據(jù)庫系統(tǒng),而是把參數(shù)傳遞給事先編好的JavaBean和EJB組(Model),由它進(jìn)行數(shù)據(jù)庫的操作,這樣可以把系統(tǒng)內(nèi)部的數(shù)據(jù)封裝保護(hù)起來。⑤JavaBean和EJB將事務(wù)進(jìn)行處理,數(shù)據(jù)庫返回的最后結(jié)果,由JSP/Servlet送到前端顯示出來。
這種開發(fā)模式的優(yōu)勢在于很容易進(jìn)行分布式網(wǎng)絡(luò)計(jì)算。許多企業(yè)的事務(wù)處理邏輯都能做成EJB組件,以達(dá)到重復(fù)使用的目的,既封裝了某些關(guān)鍵的操作,又方便了開發(fā)者,提高了系統(tǒng)的開發(fā)速度,并且系統(tǒng)的伸縮性、安全性也得到了很大的提高。
(2)基于.NET框架的ASP.NET開發(fā)模式
Microsoft.NET是微軟公司全新的可創(chuàng)建互操作的分布式應(yīng)用程序開發(fā)平臺,客戶端和服務(wù)器間能夠自由地用HTTP進(jìn)行通信。不論二個程序采用何種平臺和編程語言,應(yīng)用程序間通信都不受現(xiàn)有Proxy和防火墻的限制,真正做到了能跨平臺、跨語言運(yùn)行。.NET平臺內(nèi)建立了對Web Service的支持。Web Service與現(xiàn)在的組件技術(shù)不同之處在于它使用普遍存在的、獨(dú)立于平臺、獨(dú)立于軟件供應(yīng)商的標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)格式(如HTTP和XML)進(jìn)行通信,主要目標(biāo)是跨平臺的可互操作性。.NET技術(shù)的實(shí)質(zhì)是建構(gòu)在.NET CLR(Common Language Runtime,通用語言運(yùn)行庫)和Assembly(裝配)技術(shù)上。其基本框架如圖4所示。
.NET框架主要由三個部分組成:通用語言運(yùn)行庫CLR、統(tǒng)一類庫(Class Library)和ASP.NET。
運(yùn)用ASP.NET可以開發(fā)基于.NET框架的三層結(jié)構(gòu)的Web應(yīng)用,其體系結(jié)構(gòu)如圖5所示。這里有表示層、應(yīng)用邏輯層以及數(shù)據(jù)層三個邏輯層。這三層結(jié)構(gòu)將分布式應(yīng)用程序的不同方面清楚地分開。業(yè)務(wù)邏輯被封裝到一個.NET部件內(nèi)(實(shí)現(xiàn)為一個VB.NET類庫)。數(shù)據(jù)庫訪問通過一個處理所有和SQL Server管理的提供者交互的類實(shí)現(xiàn)。該類采用ADO.NET提供的對象對數(shù)據(jù)庫進(jìn)行操作,通過存儲過程訪問存儲在數(shù)據(jù)庫中的數(shù)據(jù)。
其中,表示層使用ASP.NET Web Form結(jié)合用戶控件寫成。由于使用Visual Studio .NET創(chuàng)建該站點(diǎn),因此使用Code-behind的方式,每個.aspx頁面的代碼封裝在一個單獨(dú)的文件內(nèi),并調(diào)用XML Web Service提供的服務(wù),完成頁面加載的功能。Library .NET中間應(yīng)用層邏輯封裝到名為Library .Components的命名空間中。數(shù)據(jù)層使用存儲過程來進(jìn)行數(shù)據(jù)操作。它不僅提供了與中間層更為清楚的分離,還有助于闡明事務(wù)上下文和范圍。在存儲過程中只封裝了基本的查詢,業(yè)務(wù)邏輯放在中間層類以及.NET XML Web Service中。
4 結(jié)束語
隨著企業(yè)對信息化的需求越來越迫切,構(gòu)筑適合第三方物流企業(yè)行業(yè)特點(diǎn)的信息系統(tǒng)顯得尤為重要。本文首先提出了協(xié)同物流商務(wù)的概念,并分析了它的商業(yè)模型。在系統(tǒng)分析協(xié)同物流商務(wù)系統(tǒng)體系結(jié)構(gòu)模型的基礎(chǔ)上,對其開發(fā)模式進(jìn)行了較為具體的分析。Web應(yīng)用是當(dāng)今分布式應(yīng)用最廣泛的應(yīng)用形式,基于多層結(jié)構(gòu)的應(yīng)用系統(tǒng)顯著提高了應(yīng)用程序的跨平臺性和互操作性,同時增強(qiáng)了系統(tǒng)的靈活性、開放性,因此是開發(fā)物流信息系統(tǒng)的理想選擇。本文給出了開發(fā)一個交通行業(yè)的通用物流信息平臺的工程實(shí)例。該平臺基于.NET框架,用ASP.NET開發(fā),在實(shí)際運(yùn)用中已取得良好的經(jīng)濟(jì)效益。
參考文獻(xiàn)
1 厲小軍,朱鴻斌,胡上序.基于B/S結(jié)構(gòu)的第三方物流系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).計(jì)算機(jī)工程,2003;29(1)
2 王強(qiáng)兵,劉廣鐘.基于J2EE的Web企業(yè)計(jì)算.計(jì)算機(jī)工程,2002;28(1)
3 羅鴻.ERP原理、設(shè)計(jì)、實(shí)施.北京:電子工業(yè)出版社,2002
4 理查德·安德森著,王毅譯.ASP.NET 1.0高級編程.北京:清華大學(xué)出版社,2003