朱華明 賈海天
(1、蘇州大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,江蘇 蘇州 215021 2、太倉(cāng)職業(yè)教育中心校,江蘇 太倉(cāng) 215400 3、蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院,江蘇 太倉(cāng) 215400)
電子數(shù)據(jù)交換(Electric Data Interchange,EDI)是一種利用計(jì)算機(jī)進(jìn)行商務(wù)處理的新方法,它是將貿(mào)易、運(yùn)輸、保險(xiǎn)、銀行和海關(guān)等行業(yè)的信息,用一種國(guó)際公認(rèn)的標(biāo)準(zhǔn)格式,通過(guò)計(jì)算機(jī)通信網(wǎng)絡(luò),使各有關(guān)部門、公司和企業(yè)之間進(jìn)行數(shù)據(jù)交換和處理,并完成以貿(mào)易為中心的全部業(yè)務(wù)過(guò)程。由于EDI的使用可以完全取代傳統(tǒng)的紙張文件的交換,因此也有人稱它為“無(wú)紙貿(mào)易”或“電子貿(mào)易”。
EDI是一種在公司之間傳輸訂單、發(fā)票等作業(yè)文件的電子化手段。它通過(guò)計(jì)算機(jī)通信網(wǎng)絡(luò)將貿(mào)易、動(dòng)輸、保險(xiǎn)、銀行和海關(guān)等行業(yè)信息,用一種國(guó)際公認(rèn)的標(biāo)準(zhǔn)格式,實(shí)現(xiàn)各有關(guān)部門或公司與企業(yè)之間的數(shù)據(jù)交換與處理,并完成以貿(mào)易為中心的全部過(guò)程,它是80年代發(fā)展起來(lái)的一種新穎的電子化貿(mào)易工具,是計(jì)算機(jī)、通信和現(xiàn)代管理技術(shù)相結(jié)合的產(chǎn)物。國(guó)際標(biāo)準(zhǔn)化組織(ISO)將EDI描述成“將貿(mào)易(商業(yè))或行政事務(wù)處理按照一個(gè)共認(rèn)的標(biāo)準(zhǔn)變成結(jié)構(gòu)化的事務(wù)處理或信息數(shù)據(jù)格式,從計(jì)算機(jī)到計(jì)算機(jī)的電子傳輸”。而ITU-T(原CCITT)將EDI定義為“從計(jì)算機(jī)到計(jì)算機(jī)之間的結(jié)構(gòu)化的事務(wù)數(shù)據(jù)互換”。又由于使用EDI可以減少甚至消除貿(mào)易過(guò)程中的紙面文件,因此EDI又被人們通俗地稱為“無(wú)紙貿(mào)易”。統(tǒng)一數(shù)據(jù)交換平臺(tái)主要實(shí)現(xiàn)功能是:(1)電子數(shù)據(jù)交換(2)傳輸數(shù)據(jù)的存證 (3)報(bào)文標(biāo)準(zhǔn)格式轉(zhuǎn)換 (4)安全保密 (5)提供信息查詢(6)提供技術(shù)咨詢服務(wù)(7)提供晝夜24小時(shí)不間斷服務(wù) (8)提供信息增殖服務(wù)等。
我國(guó)必須要盡快發(fā)展EDI業(yè)務(wù),具體體現(xiàn)在以下兩個(gè)方面:
(1)對(duì)外開(kāi)放的發(fā)展,特別是對(duì)外經(jīng)濟(jì)貿(mào)易活動(dòng)規(guī)模的迅速擴(kuò)大,導(dǎo)致與國(guó)外商業(yè)(及其他類型)數(shù)據(jù)交換量的急劇擴(kuò)大。根據(jù)許多國(guó)家統(tǒng)計(jì),單證費(fèi)用占產(chǎn)品貿(mào)易額的7%左右,我國(guó)對(duì)外貿(mào)易每年的單證費(fèi)用大約是70億美元,如果采用EDI技術(shù),估計(jì)每年僅此一項(xiàng)就可節(jié)省數(shù)十億美元。
(2)中國(guó)已經(jīng)加入世界貿(mào)易組織,加入世界貿(mào)易組織一方面意味著我國(guó)國(guó)內(nèi)市場(chǎng)已經(jīng)納入了世界大市場(chǎng),另一方面也意味著我們的生產(chǎn)要面向世界的大循環(huán)中。因此,在未來(lái)世界貿(mào)易組織活動(dòng)中,我們要想在競(jìng)爭(zhēng)激烈的國(guó)際貿(mào)易市場(chǎng)中站穩(wěn)腳跟,全面推廣、采用EDI技術(shù)已成為我國(guó)一項(xiàng)重要的技術(shù)政策。它對(duì)促使我國(guó)消除國(guó)際貿(mào)易中的技術(shù)壁壘,推進(jìn)產(chǎn)品和企業(yè)步入國(guó)際統(tǒng)一的大市場(chǎng),無(wú)疑有十分深遠(yuǎn)的影響。
結(jié)合實(shí)際工作需要,作者在多個(gè)保稅物流園信息化建設(shè)中遇到這樣的問(wèn)題,這些問(wèn)題是物流系統(tǒng)急待解決的問(wèn)題,對(duì)各個(gè)子系統(tǒng)的核心業(yè)務(wù)構(gòu)成了關(guān)鍵性的影響,正因?yàn)檫@些問(wèn)題,所以我們需要建立統(tǒng)一的數(shù)據(jù)交換平臺(tái)來(lái)完成實(shí)際項(xiàng)目中的需求。
各個(gè)企業(yè)各個(gè)單位之間都開(kāi)發(fā)和應(yīng)用了自己的信息化系統(tǒng)。各個(gè)單位之間使用了不同的開(kāi)發(fā)技術(shù)和后臺(tái)數(shù)據(jù)庫(kù),它們之間是分離,沒(méi)有關(guān)系的。企業(yè)集成不僅僅能創(chuàng)建一個(gè)三(表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)訪問(wèn)層)層應(yīng)用結(jié)構(gòu),還能使一個(gè)應(yīng)用分布到多臺(tái)計(jì)算機(jī)上。分布式應(yīng)用中,單個(gè)的一層是無(wú)法自己運(yùn)行的,而集成應(yīng)用中的每一個(gè)應(yīng)用都能獨(dú)立運(yùn)行,它們時(shí)間通過(guò)偶合完成功能。異步消息傳遞體系結(jié)構(gòu)來(lái)集成多個(gè)應(yīng)用,異構(gòu)數(shù)據(jù)庫(kù)的同步問(wèn)題是實(shí)際項(xiàng)目中急待解決的問(wèn)題。
電子數(shù)據(jù)交換最主要的任務(wù)是實(shí)現(xiàn)不同系統(tǒng),不同業(yè)務(wù)之間的數(shù)據(jù)交換與系統(tǒng)整合,下圖是一個(gè)實(shí)際項(xiàng)目中各個(gè)系統(tǒng)的分布圖(圖1),各個(gè)系統(tǒng)之間是彼此獨(dú)立的,使用各自不同的數(shù)據(jù)庫(kù)。首先企業(yè)端通過(guò)一站式申報(bào)平臺(tái)申報(bào)單證信息到海關(guān)由海關(guān)進(jìn)行審批工作,如果海關(guān)審批通過(guò),相應(yīng)的企業(yè)端信息狀態(tài)則進(jìn)行變更,然后企業(yè)端發(fā)送車輛信息到物流園區(qū)場(chǎng)站系統(tǒng),場(chǎng)站系統(tǒng)接收到海關(guān)端的放行信息和企業(yè)端發(fā)送的車輛信息則進(jìn)行車輛通過(guò)放行工作。
同時(shí)一站式平臺(tái)可以通過(guò)Web服務(wù)接收企業(yè)ERP系統(tǒng)發(fā)送過(guò)來(lái)的核庫(kù)信息,并且把核庫(kù)信息保存到一站式系統(tǒng)后發(fā)送核庫(kù)報(bào)文到海關(guān)系統(tǒng),由海關(guān)相關(guān)人員進(jìn)行核銷操作,實(shí)現(xiàn)海關(guān)庫(kù)存的核減。

圖1
整個(gè)系統(tǒng)之間是通過(guò)各自獨(dú)立的Windows服務(wù)監(jiān)控自己的數(shù)據(jù)庫(kù),對(duì)應(yīng)表發(fā)生變更以后,生成變更后的XML報(bào)文,通過(guò)路由設(shè)置由MQ消息隊(duì)列把報(bào)文發(fā)送到統(tǒng)一數(shù)據(jù)交換平臺(tái),統(tǒng)一數(shù)據(jù)交換平臺(tái)把報(bào)文通過(guò)路由配置發(fā)送到接收端,接收端服務(wù)接收到MQ報(bào)文以后,對(duì)接收的XML報(bào)文解析進(jìn)入接收端數(shù)據(jù)庫(kù)。各個(gè)報(bào)文定義使用Schema定義來(lái)完成,只有符合Schema規(guī)則定義的報(bào)文才可以進(jìn)入消息隊(duì)列來(lái)進(jìn)行傳輸。例如客戶關(guān)系Schema報(bào)文定義如(圖2)所示,只有符合Schema格式的報(bào)文才可以生成XML報(bào)文進(jìn)行傳輸。
根據(jù)需求架構(gòu)和傳輸?shù)膱?bào)文格式,我們制定了相應(yīng)的實(shí)現(xiàn)方法與實(shí)施方案來(lái)滿足客戶要求,實(shí)現(xiàn)信息的及時(shí)安全傳遞。

各個(gè)子系統(tǒng)之間有他們獨(dú)立的服務(wù)程序來(lái)完成,它們與統(tǒng)一數(shù)據(jù)交換平臺(tái)建立接口,然后由統(tǒng)一數(shù)據(jù)交換平臺(tái)進(jìn)行報(bào)文的路由分發(fā)。

圖3
如(圖3)所示,傳輸系統(tǒng)使用了WINDOWS服務(wù)來(lái)完成各個(gè)節(jié)點(diǎn)的數(shù)據(jù)監(jiān)控;根據(jù)上圖可以看出其內(nèi)部包括以下組成部分:
(1)WindowsServe_Fuzhou:Windows服務(wù)組件,負(fù)責(zé)各個(gè)子系統(tǒng)的數(shù)據(jù)傳輸;出庫(kù)動(dòng)作:Adapter組件接收到自己數(shù)據(jù)庫(kù)變更的時(shí)候,通過(guò)對(duì)應(yīng)配置指定的Schema生成XML報(bào)文,發(fā)送報(bào)文到MQ消息隊(duì)列里面。入庫(kù)動(dòng)作:接收到MQ隊(duì)列里面的XML報(bào)文、通過(guò)對(duì)應(yīng)的Schema進(jìn)行報(bào)文格式的解析,符合格式要求的報(bào)文通過(guò)Adapter組件進(jìn)入到自己的數(shù)據(jù)庫(kù)表里面。
(2)MSMQ:消息隊(duì)列傳輸組件,負(fù)責(zé)XML報(bào)文的傳輸工作;
(3)BIZTALK_MESSAGE:報(bào)文定義、解析、路由、配置組件;是整個(gè)傳輸系統(tǒng)的核心。使用配置文件來(lái)完成以上配置工作,提高系統(tǒng)的靈活性。
(4)LOG:系統(tǒng)日志模塊,用于報(bào)文的傳輸跟蹤與調(diào)試,建立統(tǒng)一的日志監(jiān)控平臺(tái),完成對(duì)每一筆報(bào)文的監(jiān)視工作,同時(shí)可以對(duì)出現(xiàn)異常的報(bào)文進(jìn)行分析工作,通過(guò)Web頁(yè)面顯示給客戶;
(5)SqlAdapter_fuzhou:數(shù)據(jù)庫(kù)(SQLSERVER)監(jiān)視組件,當(dāng)監(jiān)視到數(shù)據(jù)庫(kù)里面對(duì)應(yīng)的表發(fā)生變更以后,Adapter組件會(huì)啟動(dòng)BIZTALK_MESSAGE消息處理模塊,對(duì)數(shù)據(jù)表里面的記錄進(jìn)行操作,進(jìn)行出入庫(kù)操作,服務(wù)的數(shù)據(jù)訪問(wèn)層使用了傳統(tǒng)的三層架構(gòu)來(lái)完成,如(圖4)所示,數(shù)據(jù)庫(kù)與傳輸服務(wù)服務(wù)之間使用了ADO.net進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),通過(guò)數(shù)據(jù)訪問(wèn)層 (DAL)和業(yè)務(wù)邏輯層(BLL)完成,提高了系統(tǒng)的可讀性與靈活性;

圖4
(6)ORACLE Adapter:數(shù)據(jù)庫(kù)(ORACLE)監(jiān)視組件,對(duì)Oracle數(shù)據(jù)庫(kù)進(jìn)行監(jiān)視工作,系統(tǒng)通過(guò)不同類型的Adapter實(shí)現(xiàn)的多種數(shù)據(jù)庫(kù)的訪問(wèn)接口,如果有新的數(shù)據(jù)庫(kù)類型只需要增加對(duì)應(yīng)的Adapter就可以實(shí)現(xiàn)對(duì)應(yīng)的數(shù)據(jù)庫(kù)同步;
(7)Security_Module:消息傳遞過(guò)程中的加密解密組件,系統(tǒng)使用了證書(shū)加密機(jī)制來(lái)完成對(duì)XML報(bào)文的加密和解密工作;
具體代碼如圖5:
系統(tǒng)編譯測(cè)試完成以后,需要把服務(wù)部署到對(duì)應(yīng)的系統(tǒng)上面,各個(gè)系統(tǒng)之間是通過(guò)網(wǎng)閘分離開(kāi)來(lái)的,,所有系統(tǒng)之間的數(shù)據(jù)傳輸都需要通過(guò)統(tǒng)一數(shù)據(jù)交換平臺(tái)來(lái)完成。如(圖 1)所示,一站式平臺(tái)、海關(guān)端系統(tǒng)、場(chǎng)站系統(tǒng)分別部署自己的服務(wù)。各個(gè)服務(wù)相對(duì)獨(dú)立,同時(shí)與統(tǒng)一數(shù)據(jù)交換平臺(tái)進(jìn)行報(bào)文傳遞,用于完成報(bào)文的接收和發(fā)送工作,具體部署包括修改配置文件,DLL動(dòng)態(tài)鏈接庫(kù)的裝配 (其中Schema定義模塊需要裝配到操作系統(tǒng)目錄下面),運(yùn)行數(shù)據(jù)庫(kù)腳本和具體的服務(wù)安裝工作(主要包括連接數(shù)據(jù)庫(kù)設(shè)置、報(bào)文監(jiān)控系統(tǒng)的設(shè)置)。安裝部署完成以后打開(kāi)三個(gè)不同地點(diǎn)的WINDOWS服務(wù),系統(tǒng)部署完成,同時(shí)部署統(tǒng)一數(shù)據(jù)交換平臺(tái),對(duì)應(yīng)的統(tǒng)一監(jiān)控平臺(tái)使用微軟的BIZTALK系統(tǒng)集成軟件來(lái)整合,可以實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)的同步工作。通過(guò)實(shí)際項(xiàng)目的運(yùn)行工作,目前在運(yùn)行情況良好。

文章通過(guò)統(tǒng)一數(shù)據(jù)交換平臺(tái)與WINDOWS服務(wù)相結(jié)合實(shí)現(xiàn)數(shù)據(jù)訂閱分發(fā)機(jī)制給出了數(shù)據(jù)交換的一些具體解決方案。其中對(duì)XML報(bào)文的定義、解析、配置工作是系統(tǒng)實(shí)現(xiàn)的核心工作。
[1]康博著《BizTalk高級(jí)編程》,清華大學(xué)出版社,2005
[2]程明光主編,《電子商務(wù)數(shù)據(jù)交換標(biāo)準(zhǔn)與應(yīng)用》,人民郵電出版社,2006
[3]孫榮明 賈海天,基于WEB服務(wù)的B2B系統(tǒng)集成[J].中國(guó)新技術(shù)新產(chǎn)品,2009-4