新電子商務平臺中Java XML的應用
近幾年,電子商務的發(fā)展速度比任何人想像中的還要快,電子商務平臺在未來經(jīng)濟體系中扮演著舉足輕重的角色。然而在電子商務平臺中,建立具有高度安全性、實用性以及可信度較強的應用軟件有著非常現(xiàn)實的意義,是人們必須探索與研究的重要課題。
1 XML異構(gòu)數(shù)據(jù)庫集成概念闡述
XML與Java有一個顯著的共同優(yōu)點,即平臺獨立。XML適用于平臺獨立、易于提取信息的文檔以及數(shù)據(jù)的處理。如果將XML看成是數(shù)據(jù)的名詞,那么Java就是數(shù)據(jù)處理的動詞。而Java則較適于平臺獨立、易于處理的面向?qū)ο蟮?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/應用">應用軟件解決方案。異構(gòu)數(shù)據(jù)源集成必須選擇一種全局的數(shù)據(jù)模式來統(tǒng)一異構(gòu)的源數(shù)據(jù)模式。在這一領(lǐng)域中,XML作為一種中間的數(shù)據(jù)接口,己經(jīng)顯示出其不可替代的重要性。
各個異構(gòu)數(shù)據(jù)庫的Schema通過相應的映射文件融入全局Schema。翻譯器根據(jù)映射文件和用戶的查詢條件和參數(shù),將邏輯查詢轉(zhuǎn)換為針對各物理數(shù)據(jù)庫的子查詢,并輸出相應的XML子文檔。在集成器的作用下,各XML子文檔中的數(shù)據(jù)均被轉(zhuǎn)換為一個DOM對象,通過用戶定制的業(yè)務規(guī)則,過濾、計算和合并這些DOM對象中的數(shù)據(jù),集成后的數(shù)據(jù)是一個XML文檔,通過轉(zhuǎn)換器以用戶定義的形式展現(xiàn)給客戶端??梢宰寯?shù)據(jù)在不同的來源中,根據(jù)通用的語法規(guī)則來開發(fā)基于Java的技術(shù)平臺,使用XML作為數(shù)據(jù)交換的標準。
2 電子商務平臺中引入XML與Java的意義
目前,能較好運行的B2B平臺由于系統(tǒng)間傳送的EDI文本是面向機器的,其人工可讀性以及擴展性太差,真正用來做實際商務的很少,因此仍無法吸引眾多企業(yè),大多數(shù)仍處在信息發(fā)布階段。因此,搭建一個具有可用性的電子商務交易平臺就非常重要了。
“Java+XML=真正的跨平臺電子商務系統(tǒng)” 是一個多對多的、以Web為基礎(chǔ)的貿(mào)易網(wǎng)絡(luò)。由于Java的跨平臺性,所以選擇Java作為軟件的開發(fā)工具,同時采用了XML具有良好的通用性以及共享性作為數(shù)據(jù)交換的標準。它使企業(yè)能夠更有效地在其供應鏈上完成購買、銷售以及協(xié)作活動,形成一個完整的供應鏈。由此奠定了其發(fā)展的廣闊前景。
3 電子商務平臺面臨的安全分析
(1)信息安全隱患
網(wǎng)絡(luò)通信的無紙化、信息化、高效率使得交易信息的保密性至關(guān)重要。電子商務的交易信息在網(wǎng)絡(luò)傳輸中,可能受到非法用戶的篡改。如果用戶的重要信息(如信用卡帳號以及密碼)泄漏,很可能使用戶蒙受財產(chǎn)損失,使得信息的完整性以及真實性受到破壞,企業(yè)信譽與用戶金錢受到損失。
(2)存在程序缺陷
由于調(diào)試JSP效率極低,調(diào)試JSP時必須等到前端程序結(jié)束才能看到效果,代碼嵌入頁面導致頁面臃腫、邏輯復雜,一點點小的修改都會引起JSP的重新編譯,因此,程序員以及美工的接口必須精確定義,進而確保編輯的安全性。
(3)缺乏法律保障
目前的《電子簽名法》對構(gòu)建基于Java XML技術(shù)的新一代電子商務平臺相應的行政管理、技術(shù)規(guī)范的支持力度依然十分薄弱。另外,對于我國特有的XML與Java的整合應用而言,推翻原有的傳統(tǒng)數(shù)據(jù)交換格式將會改變絕大部分軟件系統(tǒng),對于那些已投入運行的ERP系統(tǒng)來說實屬不易,系統(tǒng)間的轉(zhuǎn)換將成為企業(yè)與XML及 Java的整合應用之間的障礙。
4 電子商務平臺中XML與Java整合應用表現(xiàn)
(1)XML應用框架搭建
一個XML解析器(Parser)是一段可以讀入一個XML文檔并分析其結(jié)構(gòu)的代碼。實際上,為了能夠處理XML文檔,幾乎所有的XML應用都需要一個解析器,如圖1所示,它為用戶提供了一個接口,以及對后端存儲數(shù)據(jù)的一個接口。解析器能夠判斷一個XML文檔是否有效(validating)即是否遵守DTD/Schema標準。
在本系統(tǒng)中,將貨單XML文件定義為一個SavcInvoice類型的消息,基于事件的解析器實際上是通過串行方式來處理文檔的。因此,解析器之間的區(qū)別在于它們是否支持完整性檢查、文檔表現(xiàn)形式轉(zhuǎn)化以及它處理文檔的方式。例如,用戶在選訂商品時,這個過程類似于B2C網(wǎng)上商場的購物車。解析器自動構(gòu)成類似于一張二維表的數(shù)據(jù)結(jié)構(gòu),結(jié)賬時再把里面的值取出,并一一對應地顯示出來。將用戶所選的商品及其詳細信息以XML的格式保存起來,利用DOM對其操作。此時,對購物車里的商品的添加、修改以及刪除操作就變成了對這棵DOM樹中的節(jié)點的添加、修改以及刪除。實際操作是非常簡單與快捷的。
(2)封裝邏輯處理的Java-Bean
為了實現(xiàn)界面顯示以及邏輯處理的分離,基于Java XML的新一代電子商務平臺中使用Java Bean來封裝所有的邏輯處理。Bean的設(shè)計依據(jù)面向?qū)ο蟮脑瓌t,提供了該對象所擁有的屬性以及方法。通過對象的調(diào)用來完成相應的邏輯處理。例如,當企業(yè)要更新產(chǎn)品信息、發(fā)布拍賣品信息時,在編程實現(xiàn)的過程中用到大量的、不同參數(shù)的SQL語句,雖然可以利用Java的函數(shù)重載,但可讀性會降低,程序變得更加復雜。為了解決這個難題,本方法通過Java函數(shù),動態(tài)地生成不同的SQL語句。
//從數(shù)據(jù)庫中取的談話信息
sql=select msg from chatmsg where companyid=“+id+”and msgthne>“斗6me+” order by msgtime”;
rs=“stmt.executeQuery(sql);
……
//在JSP網(wǎng)頁程序中用JavaScript實現(xiàn)對話信息的粘貼
parent.chatdisplay.doeument.write(”%。=rs.getString(“msg”m>%):
scrollWindow();
當再執(zhí)行添加、更新操作時,只需調(diào)用Java與XML通用方法即可,無需在調(diào)用時傳入任何參數(shù),因為要執(zhí)行的SQL語句就會更簡單,效果就更明顯。
評論