亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        XML在三層C/S模型中的應用

        2008-12-31 00:00:00蔣新濱
        網(wǎng)絡與信息 2008年10期

        摘要:XML在實現(xiàn)信息標準化、信息的交流與共享上具有其獨特的技術優(yōu)勢,受到了廣泛的重視。全文首先提出了基于XML的三層C/S模型,然后對其從數(shù)據(jù)獲取、傳輸至顯示以及外部處理的應用進行分析,接著以圖書資料管理系統(tǒng)為例說明了具體的實現(xiàn),最后對其應用優(yōu)勢進行總結(jié)。

        關鍵詞:XML;C/S模型

        1 問題的提出

        隨著Web技術、分布式對象技術兩者的有機結(jié)合,傳統(tǒng)的Client/Server主從結(jié)構逐漸向靈活的多級分布式Web模型進行著演變。多級分布式Web體系結(jié)構可劃分為三層:表示層(客戶機層)、功能層(應用服務器層)、數(shù)據(jù)層(數(shù)據(jù)庫服務器層)。由于XML可以自定義文件類型,有利于信息的表達和結(jié)構化組織,而且可以以一致的方式格式化和傳送數(shù)據(jù),若將其運用到三層C/S模型中,必將產(chǎn)生很大的網(wǎng)絡應用優(yōu)勢。

        2 基于XML的三層C/S模型

        從網(wǎng)絡體系結(jié)構各層次上看,基于XML的三層C/S模型具體實現(xiàn)的功能概括如下:

        數(shù)據(jù)層:實現(xiàn)數(shù)據(jù)的集成,XML數(shù)據(jù)產(chǎn)生于多種數(shù)據(jù)源,但都以統(tǒng)一的XML格式表達傳輸。

        功能層:實現(xiàn)數(shù)據(jù)的發(fā)送與處理,應用服務器通過HTTP交換數(shù)據(jù),通過DOM處理XML數(shù)據(jù)。

        表示層:實現(xiàn)數(shù)據(jù)的顯示,XML數(shù)據(jù)的可以有多種表現(xiàn)形式,而且可以為外部直接訪問、編輯或轉(zhuǎn)換,也可被其他系統(tǒng)所用。

        2.1從數(shù)據(jù)層獲取數(shù)據(jù)生成XML文檔

        由于XML能夠使不同來源的結(jié)構化的數(shù)據(jù)很容易地結(jié)合在一起,所以通過XML可以在中間層服務器上對從后端數(shù)據(jù)庫和其它應用處來的數(shù)據(jù)進行集成。然后,數(shù)據(jù)就能被發(fā)送到客戶或其他服務器做進一步的集合、處理和分發(fā)。雖然每個數(shù)據(jù)庫描述數(shù)據(jù)都是不同的,但XML可以自己定義文件標簽。例如:通過XML圖書管理資料,可以很容易以標準的方式按照書名、作者、圖書簡介或其他的標準進行分類。

        2.2 XML數(shù)據(jù)的發(fā)送與刷新

        利用XML開放的、基于文本的格式可以將它通過HTTP像HTML一樣傳送。同時,中間層應用服務器將支持XML更新功能,將數(shù)據(jù)服務器上數(shù)據(jù)的變化及時地傳遞給客戶,反之亦然。因此,中間層能夠從客戶端得到更新的數(shù)據(jù),并把數(shù)據(jù)傳送到數(shù)據(jù)儲存服務器上。

        2.3 XML數(shù)據(jù)在表示層的顯示

        XML描述的數(shù)據(jù)發(fā)到表示層后,能夠用多種方式顯示。XML定義的數(shù)據(jù),其顯示與內(nèi)容是分開的,因此允許對同一數(shù)據(jù)指定不同的顯示方式,使數(shù)據(jù)更合理地表現(xiàn)出來。CSS和XSL為數(shù)據(jù)的顯示提供相關的機制,本地的數(shù)據(jù)能夠以客戶配置、使用者選擇或其他標準決定的方式動態(tài)地表現(xiàn)出來。

        2.4 處理和編輯XML數(shù)據(jù)

        在基于XML的C/S模型中,不但能夠通過XML集合多個數(shù)據(jù)源的數(shù)據(jù),并把數(shù)據(jù)源數(shù)據(jù)及時傳輸給表示層,而且只要能理解XML數(shù)據(jù),就能從客戶層處理和編輯中間層的數(shù)據(jù),然后通過中間層與數(shù)據(jù)層之間的數(shù)據(jù)刷新機制,對數(shù)據(jù)層數(shù)據(jù)進行刷新。運用XML解析器讀入一串XML數(shù)據(jù),經(jīng)過處理產(chǎn)生一棵結(jié)構樹,并且使用DOM把所有數(shù)據(jù)元素作為對象。DOM實際上是一個應用編程接口(API),用來定義一種標準方法。通過這種方法,能夠處理XML結(jié)構樹的元素。對象模式控制著使用者如何同結(jié)構樹交流,并且把所有樹的元素作為對象暴露出來。DOM用擴展方式支持名域、數(shù)據(jù)類型、查詢和XSL轉(zhuǎn)化。

        3 基于XML的三層C/S模型應用實例

        基于XML的三層C/S模型的圖書資料管理系統(tǒng),其詳細實現(xiàn)如下:

        3.1 獲取數(shù)據(jù)生成XML文檔

        中間層通過XML獲取數(shù)據(jù)源數(shù)據(jù),生成XML文檔,其中每一個書目信息包括:書名、作者、圖書簡介、出版日期。下面所列的就是獲取數(shù)據(jù)源的一段典型例程。

        <%@ LANGUAGE=VBScript %>

        <? XML VERSION=\"1.0\" encoding=\"GB2312\" ?>

        <圖書資料管理>

        <%Set Connection=Server.CreateObject(\"ADODB.Connection\")

        Connection.Open

        Set ItemRecordset =Connection.Execute(\"select * from item \")

        Do while Not ItemRecordset.EOF%>`

        <書目>

        <書名><%= ItemRecordset(\"書名\") %></書名>

        <作者><%= ItemRecordset(\"作者\") %></作者>

        <圖書簡介><%= ItemRecordset(\"圖書簡介\") %></圖書簡介>

        <出版日期><%= ItemRecordset(\"出版日期

        \") %></出版日期>

        </書目>

        <%ItemRecordset.MoveNext Loop%>

        </圖書資料管理>

        3.2 XML文檔通過HTTP從應用服務器傳送到客戶機層,并且支持XML更新功能,使得中間層或數(shù)據(jù)服務器上數(shù)據(jù)的變化可以傳遞給客戶。

        3.3 XML數(shù)據(jù)在表示層(客戶機層)的表達

        發(fā)送到客戶端的數(shù)據(jù)(圖書資料管理數(shù)據(jù)),可以根據(jù)用戶對象及其不同的應用要求有不同的顯示形式。如下所示的XSL樣式表,就是一個顯示示例,將生成一個HTML文檔,包括一個表格,其中的一行就為一個“書目”元素。

        <xsl:template match=\"/\">

        <HTML>

        <HEAD>

        <TITLE>圖書資料管理</TITLE>

        </HEAD>

        <BODY>

        <TABLE>

        <xsl:for-each select=\"圖書資料管理\">

        <TR>

        <xsl:for-each select=\"書目\">

        <TD>

        <xsl:process-children/>

        </TD>

        </xsl:for-each>

        </TR>

        </xsl:for-each>

        </TABLE>

        </BODY>

        </HTML>

        </xsl:template>

        3.4 編輯、處理數(shù)據(jù)的實現(xiàn)

        只要理解了中間層XML文檔的數(shù)據(jù),就能從任何地方處理和編輯數(shù)據(jù)。如下例所示,LoadDocument程序打開XML文檔,然后調(diào)用另一個程序DisplayNode,用來顯示文檔的結(jié)構。LoadDocument傳遞給正在打開的XML文檔的ChildNodes屬性一個引用作為參數(shù),同時傳遞一個整數(shù)用來標示開始顯示的層次級別。代碼利用參數(shù)來格式化在Visual Basic文檔結(jié)構顯示窗口中的文本。

        DisplayNode屬性的函數(shù)遍歷文檔尋找需要的Node_Text節(jié)點類型串,一旦代碼找到一個Node_Text的節(jié)點,會利用NodeValue屬性來獲得相應的文本串。當前節(jié)點的ParentNode屬性指向一個元素類型的節(jié)點,元素節(jié)點實現(xiàn)一個NodeName屬性。

        Public Sub LoadDocument()

        Dim xDoc As MSXML.DOMDocument

        Set xDoc = New MSXML.DOMDocument

        xDoc.validateOnParse = False

        If xDoc.Load(\"C:\\My Documents\\sample.xml\") Then

        DisplayNode xDoc.childNodes, 0

        Else

        ' The document failed to load.

        End If

        End Sub

        Public Sub DisplayNode(ByRef Nodes As MSXML.IXMLDOMNodeList, _

        ByVal Indent As Integer)

        Dim xNode As MSXML.IXMLDOMNode

        Indent = Indent + 2

        For Each xNode In Nodes

        If xNode.nodeType = NODE_TEXT Then

        Debug.Print Space$(Indent) xNode.parentNode.nodeName \":\" xNode.nodeValue

        End If

        If xNode.hasChildNodes Then

        DisplayNode xNode.childNodes, Indent

        End If

        Next xNode

        End Sub

        4 總結(jié)

        運用基于XML的三層C/S模型,XML結(jié)構化的數(shù)據(jù)可以從商業(yè)規(guī)范和表現(xiàn)形式中分離出來,而且可以更詳細地定義某個數(shù)據(jù)對象的數(shù)據(jù)結(jié)構,解決了信息標準化的問題。通過在三層C/S模型使用XML,使得企業(yè)之間可以通過網(wǎng)絡,與合作伙伴間,進行跨平臺、跨操作系統(tǒng)的信息交換。

        參考文獻

        [1] Hiroshi Maruyama ,Kent Tamura , Naohiko Uramoto .XML and Java Developing Web Applications[M]. Addison-Wesley, August 1999.

        [2] 宋曉梁,劉東生,許滿武. 中間件及其在三層客戶機/服務器模型中的應用[N] . 計算機應用,1999-07-13.

        日本人妖熟女另类二区| 波多野结衣中文字幕在线视频| 国产精品二区在线观看| 亚洲黄色尤物视频| 日韩精品中文字幕免费人妻| 国产丝袜长腿在线看片网站| 成人av综合资源在线| 精品欧美一区二区三区久久久| 4455永久免费视频| 久久精品免视看国产成人| 国内大量揄拍人妻在线视频| 麻豆变态另类视频在线观看| 挑战亚洲美女视频网站| 97久久综合精品国产丝袜长腿 | 中文字幕久久久久人妻无码| 日韩少妇无码一区二区免费视频| 国产一区二区毛片视频| 91熟女av一区二区在线| 日本添下边视频全过程| 亚洲热妇无码av在线播放| 成人网站免费大全日韩国产| 成年女人免费v片| 精品日本一区二区视频| 精品久久人妻一区二区| 免费的小黄片在线观看视频| 玩弄放荡人妇系列av在线网站| 最近日本免费观看高清视频| 国产nv精品你懂得| 好爽要高潮了在线观看| 激情五月开心五月啪啪| 丝袜美腿亚洲一区二区| 日日婷婷夜日日天干| 国产美女遭强高潮网站| 国产乱子伦视频一区二区三区| 美女草逼视频免费播放| 一区二区三区午夜视频在线| 日本爽快片100色毛片| 香蕉视频在线精品视频| 俺来也俺去啦久久综合网| 亚色中文字幕| 99青青草视频在线观看|