自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

系分論文:論XML技術(shù)在Internet平臺(tái)上的應(yīng)用

企業(yè)動(dòng)態(tài)
2002年10月,我參與了一個(gè)三層在線商城的項(xiàng)目開發(fā),該項(xiàng)目整合了來自不同商家的信息,方便在線用戶的查詢和購買。

隨著Internet信息技術(shù)的發(fā)展,我所在的公司準(zhǔn)備開發(fā)一個(gè)網(wǎng)上商城,這樣各個(gè)商家就可以把自己的產(chǎn)品信息在這個(gè)網(wǎng)上商城中發(fā)布,并且提供了在線購買。也就是開發(fā)一個(gè)電子商務(wù)平臺(tái),在這個(gè)平臺(tái)上,整合了來自不同商家的信息,方便在線用戶的查詢和購買。有點(diǎn)類似現(xiàn)實(shí)中的商城,為各個(gè)商家提供地方,方便消費(fèi)者購買。

本人有幸成為這個(gè)項(xiàng)目的系統(tǒng)分析員之一,參與了這個(gè)系統(tǒng)的設(shè)計(jì),并且對(duì)系統(tǒng)中的關(guān)鍵實(shí)現(xiàn)技術(shù)也進(jìn)行了一一驗(yàn)證。整個(gè)網(wǎng)上商城系統(tǒng)由三層組成。在數(shù)據(jù)層,由于各個(gè)商家自己有著不同的數(shù)據(jù)庫來存儲(chǔ)自己信息,為了實(shí)行信息在同一平臺(tái)上的共享和處理,我們采用XML數(shù)據(jù)的形式來實(shí)行數(shù)據(jù)間的轉(zhuǎn)換和處理。在業(yè)務(wù)邏輯層,在聯(lián)機(jī)會(huì)話的持續(xù)時(shí)間內(nèi),用戶的賬戶數(shù)據(jù)在內(nèi)存中以XML DOM形式表示,在表示層,所有給用戶的信息首先都封裝成XML數(shù)據(jù),然后用服務(wù)器或者客戶機(jī)附帶的XSLT轉(zhuǎn)換,根據(jù)瀏覽器的性能將XML數(shù)據(jù)轉(zhuǎn)換為HTML在前端顯示。

在數(shù)據(jù)層,我們面臨的***個(gè)的問題就是如何統(tǒng)一認(rèn)識(shí)將要采用的XML數(shù)據(jù)的元素。剛開始是由一個(gè)人來定義XML數(shù)據(jù)的元素,但是后來發(fā)現(xiàn),這樣定義處理的XML元素很難獲得別人的認(rèn)同,并且對(duì)于不同的商家,所定義的XML元素不具有代表性。于是,在爭(zhēng)取到領(lǐng)導(dǎo)的支持后,把以前的XML元素設(shè)計(jì)推倒重來,而且借鑒了國外關(guān)于類似設(shè)計(jì)所采用的域分析的方法,該方法就是一個(gè)用于確定網(wǎng)上商城這個(gè)域的術(shù)語,范圍,共性和變性的過程。就這樣為了尋求一個(gè)統(tǒng)一的XML元素的定義,我們成立了一個(gè)小組來進(jìn)行的網(wǎng)上商城的域分析,這個(gè)小組有商家代表,數(shù)據(jù)庫設(shè)計(jì)員,參與多個(gè)項(xiàng)目的有豐富經(jīng)驗(yàn)的程序員和一個(gè)專門指導(dǎo)該組域分析的大學(xué)專家組成。

在小組會(huì)議的開始,我們首先達(dá)成一個(gè)共識(shí),那就是需要采用一直標(biāo)準(zhǔn)術(shù)語來避免交流中產(chǎn)生的誤解。于是,我們?cè)趧傞_始的一周內(nèi)先確定的關(guān)于網(wǎng)上商城的一下公用術(shù)語,比如store(商城),shop(店面),ware(商品)等,作為XML最基本的元素。

在小組討論的過程中,有成員建議對(duì)于域分析,分多個(gè)階段進(jìn)行,每個(gè)階段提交域分析報(bào)告,比如***階段的域分析報(bào)告主要為標(biāo)準(zhǔn)術(shù)語以及各個(gè)商家信息共性和可變性的表格,第二階段的域分析報(bào)告,對(duì)于域分析中的商家可變性的東西進(jìn)行詳細(xì)說明。我們采納這個(gè)建議,獲得了很好的效果。就這樣,通過3周的域分析,我們小組最終提交一份完整的關(guān)于XML網(wǎng)上商城元素的詳細(xì)表格,由于這些XML元素是由各個(gè)部分和商家代表討論處理的,所以很快被整個(gè)項(xiàng)目組成員所接收,并且這些XML元素在后來的開發(fā)中證明是非常完整,能夠清楚地反映數(shù)據(jù)的結(jié)構(gòu),大大提高了整個(gè)的系統(tǒng)的開發(fā)效率。

在業(yè)務(wù)邏輯層,由于所有數(shù)據(jù)庫的信息都被轉(zhuǎn)換為XML數(shù)據(jù)結(jié)構(gòu),所以在處理數(shù)據(jù)庫信息的時(shí)候還必須對(duì)XML數(shù)據(jù)進(jìn)行XML語法分析,并且將分析出來的結(jié)果送往程序。在這兒我們考慮采用XML DOM(文檔對(duì)象模型)來保存這些語法分析出來的XML數(shù)據(jù)。比如在聯(lián)機(jī)會(huì)話的持續(xù)時(shí)間內(nèi),一個(gè)用戶的帳戶數(shù)據(jù)首先從傳統(tǒng)的關(guān)系型數(shù)據(jù)庫中讀取出來,轉(zhuǎn)換為XML數(shù)據(jù)結(jié)果,并且通過一個(gè)XML語法分析器,將XML數(shù)據(jù)轉(zhuǎn)換成為DOM對(duì)象保存在內(nèi)存中,程序通過Java的DOM API 訪問這些對(duì)象。在這兒為了更好地選擇處理XML的技術(shù)和方法,我還比較其他兩種分析XML數(shù)據(jù)并且保存的方法。

比較了幾種方法,發(fā)現(xiàn)DOM有個(gè)缺點(diǎn)就是當(dāng)它保持的數(shù)據(jù)非常多的時(shí)候,將大量占用內(nèi)存的存儲(chǔ)空間。但是,使用DOM API也有一個(gè)明顯的好處就是簡(jiǎn)單,它可以通過Java程序直接使用一些方法調(diào)用DOM樹上的數(shù)據(jù)。為此在設(shè)計(jì)的時(shí)候,盡可能地重復(fù)調(diào)用已經(jīng)存儲(chǔ)在內(nèi)存中的DOM 對(duì)象上面的數(shù)據(jù),避免對(duì)于相同的數(shù)據(jù)有多個(gè)DOM對(duì)象存在。在編碼過程中面臨的問題不是很多,關(guān)鍵是讓程序員熟悉DOM API的各種調(diào)用方法。

在表示層,考慮到將大量的運(yùn)算負(fù)荷分布在用戶端,既用戶可以根據(jù)自己的需求選擇或者制訂不同的應(yīng)用程序以處理數(shù)據(jù),我們?cè)O(shè)計(jì)把所有給用戶的信息首先都封裝成XML數(shù)據(jù),然后用服務(wù)器或者客戶機(jī)附帶的的XSLT轉(zhuǎn)換,根據(jù)瀏覽器的性能將XML數(shù)據(jù)轉(zhuǎn)換為HTML在前端顯示。這樣的話,服務(wù)器只需要準(zhǔn)備一次的Web內(nèi)容,盡可能完善,準(zhǔn)確地將數(shù)據(jù)封裝到XML文件中,而XML的自解釋性可以使得用戶端在接收到XML文件的同時(shí)也理解數(shù)據(jù)的邏輯結(jié)構(gòu)和含義,再通過轉(zhuǎn)換程序,XML可轉(zhuǎn)換為用戶所需要的個(gè)性的多樣的HTML顯示方式。在設(shè)計(jì)中我們所選取的XSLT是一種用于操作XML文檔的高級(jí)語言,就像SQL是操作關(guān)系表的高級(jí)語言一樣。

一個(gè)XSLT規(guī)范本事就是一個(gè)XML文檔,我們通過它的規(guī)范,描述出各個(gè)用戶可以選擇的各個(gè)HTML顯示模板,這樣客戶端程序只需選擇好模板,再加上接收到的XML數(shù)據(jù)文件,就可以方便地生成自己個(gè)性化的HTML文件,并且在瀏覽器中顯示出來。當(dāng)然在開發(fā)中遇到了不少問題,首先由于XSLT是一門起點(diǎn)比較高的語言,也比較煩瑣,掌握起來比較慢,使得對(duì)程序員的要求比較高。這樣導(dǎo)致使用XSLT語言編寫的HTML文件的模板過于冗長,作為設(shè)計(jì)師我一方面是希望模板程序盡可能地包含HTML頁面所有的功能和美觀,一方面又希望模板程序盡可能地短少,簡(jiǎn)潔,便于修改。

為了達(dá)到兩種選擇之間的平衡,以達(dá)到***效果,我對(duì)于基本模板的設(shè)計(jì),采用有經(jīng)驗(yàn)的程序員進(jìn)行設(shè)計(jì),并且要求盡可能多地寫全文檔,并且頻繁地開展小組會(huì)議,對(duì)頁面設(shè)計(jì)和美工人員詳細(xì)講述模板各個(gè)部分和功能。

在Internet平臺(tái)上采用XML技術(shù),明顯的效果之一是對(duì)于不同數(shù)據(jù)庫的支持,通過將各種數(shù)據(jù)轉(zhuǎn)換為XML文件,可以實(shí)行了數(shù)據(jù)間的轉(zhuǎn)換,共享和處理。效果二是支持了用戶的個(gè)性化服務(wù),支持用戶在不同的客戶端可以個(gè)性地選擇顯示界面。

由于HTML在許多復(fù)雜的Web應(yīng)用中遇到了問題,為了徹底解決這些問題,必須采用功能強(qiáng)大的XML來代替HTML作為Web頁面的書寫工具,而XML的廣泛使用,必定能夠推動(dòng)Web的不斷發(fā)展,開創(chuàng)Web應(yīng)用的新時(shí)代。對(duì)于XML技術(shù)在Internet平臺(tái)上的應(yīng)用,我更關(guān)注它的擴(kuò)展性,既讓XML包含更加豐富更完整的數(shù)據(jù)信息,目前公司所接觸的首先是軟件模型的交換和模型信息的保存,打算在XMI(XML Metadata Intercharge)展開工作。XMI作為一種試圖通過XML語言為程序員和其他用戶提供一種交換元數(shù)據(jù)信息的標(biāo)準(zhǔn)途徑,是作為MDA模型驅(qū)動(dòng)的模型交換的基礎(chǔ),是非常具有意義的工作。

【編輯推薦】

  1. 系分論文:論軟件開發(fā)平臺(tái)的選擇與應(yīng)用
  2. 系分論文:論軟件三層結(jié)構(gòu)的設(shè)計(jì)
  3. 軟考?xì)v年真題與經(jīng)驗(yàn)談
責(zé)任編輯:丁小雨 來源: 51cto
相關(guān)推薦

2009-02-21 22:40:32

系統(tǒng)分析師論文寫作軟件開發(fā)平臺(tái)

2009-02-03 10:29:31

系分論文軟件過程改進(jìn)CMM3

2009-02-23 20:09:25

系統(tǒng)分析師論文寫作XML

2009-01-19 19:44:53

軟考系統(tǒng)分析師論文

2009-01-20 20:02:18

系分論文軟件項(xiàng)目進(jìn)度管理

2009-02-21 22:49:56

系統(tǒng)分析師論文軟件三層結(jié)構(gòu)

2012-08-20 11:07:57

IBMdW

2012-08-28 11:05:10

IBMdW

2009-02-03 10:39:53

系分論文CMM改進(jìn)

2019-06-19 16:05:51

AppImageFlathubLinux

2012-04-26 13:37:43

ScalaJavaQCon

2010-06-09 17:46:53

2009-11-04 12:37:10

CDN接入技術(shù)

2011-07-28 15:07:23

iOS猜數(shù)游戲

2013-08-27 10:31:05

Headless模式Java SE設(shè)計(jì)模式

2017-03-20 17:20:35

iOSTensorFlow

2011-08-23 09:16:19

Python

2020-02-18 09:45:44

云計(jì)算云平臺(tái)IT

2011-12-20 20:40:07

Android

2015-05-18 16:53:36

Android
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)