摘 要: 基于Java XML的新一代電子商務(wù)平臺(tái)集成了XML高度結(jié)構(gòu)化以及Java語(yǔ)言跨平臺(tái)的優(yōu)點(diǎn),,其適用于企業(yè)與企業(yè)跨平臺(tái)計(jì)算機(jī)應(yīng)用系統(tǒng)之間的商務(wù)往來(lái)以及信息交換,,具有十分廣闊的應(yīng)用前景,。
關(guān)鍵詞: 電子商務(wù),;Java;XML,;B2B,;解析器
電子商務(wù)作為一種新型的貿(mào)易方式,極大地促進(jìn)了經(jīng)濟(jì)貿(mào)易的發(fā)展,,同時(shí)也正在改變?nèi)藗兊乃季S以及生活方式,。近幾年,電子商務(wù)的發(fā)展速度比任何人想像中的還要快,,電子商務(wù)平臺(tái)在未來(lái)經(jīng)濟(jì)體系中扮演著舉足輕重的角色,。然而在電子商務(wù)平臺(tái)中,建立具有高度安全性,、實(shí)用性以及可信度較強(qiáng)的應(yīng)用軟件有著非?,F(xiàn)實(shí)的意義,是人們必須探索與研究的重要課題,。
1 XML異構(gòu)數(shù)據(jù)庫(kù)集成概念闡述
XML與Java有一個(gè)顯著的共同優(yōu)點(diǎn),,即平臺(tái)獨(dú)立。XML適用于平臺(tái)獨(dú)立,、易于提取信息的文檔以及數(shù)據(jù)的處理,。如果將XML看成是數(shù)據(jù)的名詞,那么Java就是數(shù)據(jù)處理的動(dòng)詞,。而Java則較適于平臺(tái)獨(dú)立,、易于處理的面向?qū)ο蟮膽?yīng)用軟件解決方案。異構(gòu)數(shù)據(jù)源集成必須選擇一種全局的數(shù)據(jù)模式來(lái)統(tǒng)一異構(gòu)的源數(shù)據(jù)模式,。在這一領(lǐng)域中,,XML作為一種中間的數(shù)據(jù)接口,己經(jīng)顯示出其不可替代的重要性,。
各個(gè)異構(gòu)數(shù)據(jù)庫(kù)的Schema通過(guò)相應(yīng)的映射文件融入全局Schema,。翻譯器根據(jù)映射文件和用戶的查詢條件和參數(shù),將邏輯查詢轉(zhuǎn)換為針對(duì)各物理數(shù)據(jù)庫(kù)的子查詢,,并輸出相應(yīng)的XML子文檔,。在集成器的作用下,各XML子文檔中的數(shù)據(jù)均被轉(zhuǎn)換為一個(gè)DOM對(duì)象,,通過(guò)用戶定制的業(yè)務(wù)規(guī)則,,過(guò)濾、計(jì)算和合并這些DOM對(duì)象中的數(shù)據(jù),,集成后的數(shù)據(jù)是一個(gè)XML文檔,,通過(guò)轉(zhuǎn)換器以用戶定義的形式展現(xiàn)給客戶端??梢宰寯?shù)據(jù)在不同的來(lái)源中,,根據(jù)通用的語(yǔ)法規(guī)則來(lái)開(kāi)發(fā)基于Java的技術(shù)平臺(tái),,使用XML作為數(shù)據(jù)交換的標(biāo)準(zhǔn)。
2 電子商務(wù)平臺(tái)中引入XML與Java的意義
目前,,能較好運(yùn)行的B2B平臺(tái)由于系統(tǒng)間傳送的EDI文本是面向機(jī)器的,,其人工可讀性以及擴(kuò)展性太差,真正用來(lái)做實(shí)際商務(wù)的很少,,因此仍無(wú)法吸引眾多企業(yè),,大多數(shù)仍處在信息發(fā)布階段。因此,,搭建一個(gè)具有可用性的電子商務(wù)交易平臺(tái)就非常重要了,。
“Java+XML=真正的跨平臺(tái)電子商務(wù)系統(tǒng)” 是一個(gè)多對(duì)多的、以Web為基礎(chǔ)的貿(mào)易網(wǎng)絡(luò),。由于Java的跨平臺(tái)性,,所以選擇Java作為軟件的開(kāi)發(fā)工具,同時(shí)采用了XML具有良好的通用性以及共享性作為數(shù)據(jù)交換的標(biāo)準(zhǔn),。它使企業(yè)能夠更有效地在其供應(yīng)鏈上完成購(gòu)買(mǎi),、銷售以及協(xié)作活動(dòng),形成一個(gè)完整的供應(yīng)鏈,。由此奠定了其發(fā)展的廣闊前景。
3 電子商務(wù)平臺(tái)面臨的安全分析
(1)信息安全隱患
網(wǎng)絡(luò)通信的無(wú)紙化,、信息化,、高效率使得交易信息的保密性至關(guān)重要。電子商務(wù)的交易信息在網(wǎng)絡(luò)傳輸中,,可能受到非法用戶的篡改,。如果用戶的重要信息(如信用卡帳號(hào)以及密碼)泄漏,很可能使用戶蒙受財(cái)產(chǎn)損失,,使得信息的完整性以及真實(shí)性受到破壞,,企業(yè)信譽(yù)與用戶金錢(qián)受到損失。
(2)存在程序缺陷
由于調(diào)試JSP效率極低,,調(diào)試JSP時(shí)必須等到前端程序結(jié)束才能看到效果,,代碼嵌入頁(yè)面導(dǎo)致頁(yè)面臃腫、邏輯復(fù)雜,,一點(diǎn)點(diǎn)小的修改都會(huì)引起JSP的重新編譯,,因此,程序員以及美工的接口必須精確定義,,進(jìn)而確保編輯的安全性,。
(3)缺乏法律保障
目前的《電子簽名法》對(duì)構(gòu)建基于Java XML技術(shù)的新一代電子商務(wù)平臺(tái)相應(yīng)的行政管理、技術(shù)規(guī)范的支持力度依然十分薄弱,。另外,,對(duì)于我國(guó)特有的XML與Java的整合應(yīng)用而言,,推翻原有的傳統(tǒng)數(shù)據(jù)交換格式將會(huì)改變絕大部分軟件系統(tǒng),對(duì)于那些已投入運(yùn)行的ERP系統(tǒng)來(lái)說(shuō)實(shí)屬不易,,系統(tǒng)間的轉(zhuǎn)換將成為企業(yè)與XML及 Java的整合應(yīng)用之間的障礙,。
4 電子商務(wù)平臺(tái)中XML與Java整合應(yīng)用表現(xiàn)
(1)XML應(yīng)用框架搭建
一個(gè)XML解析器(Parser)是一段可以讀入一個(gè)XML文檔并分析其結(jié)構(gòu)的代碼。實(shí)際上,,為了能夠處理XML文檔,,幾乎所有的XML應(yīng)用都需要一個(gè)解析器,如圖1所示,,它為用戶提供了一個(gè)接口,,以及對(duì)后端存儲(chǔ)數(shù)據(jù)的一個(gè)接口。解析器能夠判斷一個(gè)XML文檔是否有效(validating)即是否遵守DTD/Schema標(biāo)準(zhǔn),。
在本系統(tǒng)中,,將貨單XML文件定義為一個(gè)SavcInvoice類型的消息,基于事件的解析器實(shí)際上是通過(guò)串行方式來(lái)處理文檔的,。因此,,解析器之間的區(qū)別在于它們是否支持完整性檢查、文檔表現(xiàn)形式轉(zhuǎn)化以及它處理文檔的方式,。例如,,用戶在選訂商品時(shí),這個(gè)過(guò)程類似于B2C網(wǎng)上商場(chǎng)的購(gòu)物車,。解析器自動(dòng)構(gòu)成類似于一張二維表的數(shù)據(jù)結(jié)構(gòu),,結(jié)賬時(shí)再把里面的值取出,并一一對(duì)應(yīng)地顯示出來(lái),。將用戶所選的商品及其詳細(xì)信息以XML的格式保存起來(lái),,利用DOM對(duì)其操作。此時(shí),,對(duì)購(gòu)物車?yán)锏纳唐返奶砑?、修改以及刪除操作就變成了對(duì)這棵DOM樹(shù)中的節(jié)點(diǎn)的添加、修改以及刪除,。實(shí)際操作是非常簡(jiǎn)單與快捷的,。
(2)封裝邏輯處理的Java-Bean
為了實(shí)現(xiàn)界面顯示以及邏輯處理的分離,基于Java XML的新一代電子商務(wù)平臺(tái)中使用Java Bean來(lái)封裝所有的邏輯處理,。Bean的設(shè)計(jì)依據(jù)面向?qū)ο蟮脑瓌t,,提供了該對(duì)象所擁有的屬性以及方法。通過(guò)對(duì)象的調(diào)用來(lái)完成相應(yīng)的邏輯處理,。例如,,當(dāng)企業(yè)要更新產(chǎn)品信息、發(fā)布拍賣(mài)品信息時(shí),,在編程實(shí)現(xiàn)的過(guò)程中用到大量的,、不同參數(shù)的SQL語(yǔ)句,,雖然可以利用Java的函數(shù)重載,但可讀性會(huì)降低,,程序變得更加復(fù)雜,。為了解決這個(gè)難題,本方法通過(guò)Java函數(shù),,動(dòng)態(tài)地生成不同的SQL語(yǔ)句,。
//從數(shù)據(jù)庫(kù)中取的談話信息
sql=select msg from chatmsg where companyid=“+id+”and msgthne>“斗6me+” order by msgtime”;
rs=“stmt.executeQuery(sql),;
……
//在JSP網(wǎng)頁(yè)程序中用JavaScript實(shí)現(xiàn)對(duì)話信息的粘貼
parent.chatdisplay.doeument.write(”<%,。=rs.getString(“msg”m>%):
scrollWindow();
當(dāng)再執(zhí)行添加,、更新操作時(shí),,只需調(diào)用Java與XML通用方法即可,無(wú)需在調(diào)用時(shí)傳入任何參數(shù),,因?yàn)橐獔?zhí)行的SQL語(yǔ)句就會(huì)更簡(jiǎn)單,,效果就更明顯。
(3)企業(yè)與用戶信息交換的實(shí)現(xiàn)
信息交換系統(tǒng)由存放在模式庫(kù)用戶端的對(duì)電子商務(wù)內(nèi)容進(jìn)行定義的XML文件,、數(shù)據(jù)模式文件以及服務(wù)器端信息交換代理程序三個(gè)功能模塊組成,。在這個(gè)系統(tǒng)里,從用戶端提取的XML的字串作為數(shù)據(jù)庫(kù)里一個(gè)字段的存儲(chǔ)內(nèi)容,,提交人及提交日期將會(huì)被提取拼裝成一個(gè)XML串提交給服務(wù)器,,然后作為一個(gè)字段存人數(shù)據(jù)庫(kù)。例如,,可以為每一個(gè)注冊(cè)企業(yè)開(kāi)辟一個(gè)網(wǎng)上交易的“平臺(tái)”,實(shí)際上是采取數(shù)據(jù)庫(kù)聊天室的機(jī)制,。它提供了三種安全機(jī)制:XML簽名機(jī)制,、安全性令牌傳播機(jī)制以及Java加密機(jī)制,如圖2所示,。
服務(wù)的核心目標(biāo)是提供機(jī)構(gòu)語(yǔ)言以及平臺(tái)的集成與交互,。當(dāng)企業(yè)開(kāi)始當(dāng)天的網(wǎng)上營(yíng)業(yè)時(shí),用戶才能登錄并進(jìn)入該平臺(tái),。該平臺(tái)屏蔽了無(wú)用的信息,,操作員以及用戶看到的都只是他們之間的對(duì)話信息。用戶在平臺(tái)里可以看見(jiàn)企業(yè)所有產(chǎn)品的信息,,并能與企業(yè)的操作員進(jìn)行產(chǎn)品的咨詢以及討價(jià)還價(jià),,當(dāng)達(dá)成協(xié)議后,通過(guò)網(wǎng)上訂單來(lái)完成購(gòu)物,。實(shí)時(shí)交易充分體現(xiàn)了Java與XML整合運(yùn)用的“市場(chǎng)”特性,,也是其不同于通常電子商務(wù)的特征之一,。
綜上所述,Java語(yǔ)言代碼級(jí)以及XML數(shù)據(jù)交換的整合運(yùn)用,,集成了XML可擴(kuò)展性,、良好的數(shù)據(jù)存儲(chǔ)格式、高度結(jié)構(gòu)化的特征以及Java語(yǔ)言跨平臺(tái)的優(yōu)點(diǎn),,具有高效,、靈活、適應(yīng)性強(qiáng)的特征,。為新一代的電子商務(wù)交易平臺(tái)的安全與信息處理提供了保障,,適用于企業(yè)與企業(yè)跨平臺(tái)計(jì)算機(jī)應(yīng)用系統(tǒng)之間的信息交換以及商務(wù)往來(lái),其應(yīng)用前景十分廣闊,。
但是,,基于Java XML的新一代電子商務(wù)平臺(tái)仍然存在一些技術(shù)與實(shí)踐中的不足,仍需要不斷地鉆研,,并提出有效的解決方案,,進(jìn)而有效地將Java、XML兩者結(jié)合,,并更廣泛地應(yīng)用于電子商務(wù)交易中,,促進(jìn)我國(guó)經(jīng)濟(jì)的快速發(fā)展。
參考文獻(xiàn)
[1] 王歡.用XML開(kāi)發(fā)Web應(yīng)用軟件[J].微電腦應(yīng)用,,2001,,17(9).
[2] 王立冬.Java虛擬機(jī)分析[J].北京理工大學(xué)學(xué)報(bào),2002,,22(1):60-63.
[3] 張勇,,馮玉才.XML數(shù)字簽名技術(shù)及其在Java中的具體實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2003,,23(9).
[4] 胡海璐.XML-Web Services高級(jí)編程范例[M].北京:電子工業(yè)出版社,,2009.
[5] 劉志軍.XML在分布式對(duì)象技術(shù)中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2002,,19(9).