1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>計算機論文>基于XML的三層C/S模型

    基于XML的三層C/S模型

    時間:2023-02-20 22:37:57 計算機論文 我要投稿

    基于XML的三層C/S模型

    基于XML的三層C/S模型

    華中科技大學電信系  鄧東華 楊宗凱 樂春暉

    摘要可擴展標志語言(簡稱XML)在實現信息標準化、信息的交流與共享上有其獨特的技術優勢,因此它受到了廣泛的重視。全文首先提出了基于XML的三層Client/Server模型;然后對其從數據獲取、傳輸至顯示以及外部處理的應用進行分析;接著以圖書資料管理系統為例,說明了其具體的實現;最后對基于XML的三層C/S模型在信息標準化、數據處理等方面的應用優勢進行了總結。

    關鍵詞XML,Client/Server模型 三層結構模型

    1.問題的提出

    可擴展的標記語言 (Extensible Markup Language,縮寫為XML)是SGML (Standard Generalized Markup Language,標準通用標記語言)的一個子集,是簡化的SGML。它是互聯網聯合組織(W3C)創建一組規范,以便于軟件開發人員和內容創作者在網頁上組織信息,其目的不僅在于滿足不斷增長的網絡應用需求,而且也在于確保在通過網絡進行交互合作時,具有良好的可靠性與互操作性。

    隨著Web技術、分布式對象技術兩者的有機結合,傳統的Client/Server主從結構逐漸向靈活的多級分布式Web計算模型進行著演變。多級分布式Web體系結構可劃分為三層:表示層(客戶機層)、功能層(應用服務器層)、數據層(數據庫服務器層)。

    而由于XML可以自定義文件類型,有利于信息的表達和結構化組織,而且可以以一致的方式格式化和傳送數據,若將其運用到三層Client/Server模型中,必將產生很大的網絡應用優勢。于是也就引出了本文討論的問題--基于XML的三層C/S模型。

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

    從網絡體系結構各層次上看,基于XML的三層C/S模型具體實現的功能概括如下:

    數據層--實現數據的集成,XML數據產生于多種數據源,但都以統一的XML格式表達傳輸。

    功能層--實現數據的發送與處理,應用服務器通過HTTP交換數據,通過DOM處理XML數據。

    表示層--實現數據的顯示,XML數據的可以有多種表現形式,而且可以為外部直接訪問、編輯或轉換,也可被其他系統所用。

    基于XML的三層Client/Server模型的應用結構如圖一所示:

    在基于XML的三層C/S模型中把XML作為一種結構化信息交換的表示方法,負責所有與數據源的通信,根據最終用戶的要求,聚集和組織從多個遠程數據庫服務器上獲取數據,并用XML形式交互式的把數據源返回的消息傳遞給客戶機。

    以下是對基于XML的三層C/S模型應用過程的分析:

    2.1從數據層獲取數據生成XML文檔

    由于XML能夠使不同來源的結構化的數據很容易的結合在一起,所以通過XML,可以在中間層服務器上對從后端數據庫和其它應用處來的數據進行集成。然后,數據就能被發送到客戶或其他服務器做進一步的集合、處理和分發。

    雖然每個數據庫描述數據都是不同的,但XML可以自己定義文件標簽,例如:通過XML,圖書管理資料就可以很容易以標準的方式按照書名、作者、圖書簡介或其他的標準進行分類。

    2.2 XML數據的發送與刷新

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

    2.3 XML數據在表示層的顯示

    XML描述的數據發到表示層后,能夠用多種方式顯示。XML定義的數據,其顯示與內容是分開的,因此允許對同一數據指定不同的顯示方式,使數據更合理地表現出來。CSS和XSL為數據的顯示提供了公布的機制,本地的數據能夠以客戶配置、使用者選擇或其他標準決定的方式動態地表現出來。如圖二所示:

    HTML描述數據的外觀,而XML描述數據本身。由于XML注重的是內容,其顯示要通過XSL(eXtensible Stylesheet Language,可擴展樣式語言)或CSS來實現。XSL是為XML文件定義的一種標識語言,它提供類似但卻遠遠超過CSS的強大功能。

    XSL以包含了一套元素集的XML語法規范而定義,該語法規范將被用來把XML文件轉換成HTML文件或XML文檔。一個XSL樣式表集合了一系列設計規則以用于將信息從XML文件中汲取出,并將其轉換成HTML等其它格式。XSL憑借其可擴展性能夠控制無窮無盡的標簽,而控制每個標簽的方式也是無窮盡的。這就給Web提供了高級的布局特性。

    2.4 處理和編輯XML數據

    在基于XML的C/S模型中,不但能夠通過XML集合多個數據源的數據,并把數據源數據及時傳輸給表示層,而且,只要能理解XML數據,就能從客戶層處理和編輯中間層的數據,然后通過中間層與數據層之間的數據刷新機制,對數據層數據進行刷新。

    運用XML解析器能夠讀入一串XML數據,經過處理,產生一棵結構樹,并且使用DOM把所有數據元素作為對象。解析器或者用腳本把數據進行進一步的處理,或者把數據移交給另外的應用軟件或對象進行進一步的處理。

    DOM實際上是一個應用編程接口(API),用來定義一種標準方法。通過這種方法,能夠處理XML結構樹的元素。對象模式控制著使用者如何同結構樹交流,并且把所有樹的元素作為對象暴露出來。DOM用擴展方式支持名域、數據類型、查詢和XSL轉化。

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

    下面具體介紹如何實現基于XML的三層C/S模型,以我們做所過的三層C/S 模式的圖書資料管理為例,它是基于XML表達、傳輸與處理的,其詳細實現如下:

    3.1 獲取數據生成XML文檔

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

    <%@ 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更新功能,使得中間層或數據服務器上數據的變化可以傳遞給客戶。

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

    發送到客戶端的數據(圖書資料管理數據),可以根據用戶對象及其不同的應用要求有不同的顯示形式。如下所示的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 編輯、處理數據的實現

    只要理解了中間層XML文檔的數據,就能從任何地方處理和編輯數據(圖書資料管理數據)。

    如下例所示,LoadDocument程序打開XML文檔,然后調用另一個程序DisplayNode,它用來顯示文檔的結構。LoadDocument傳遞給正在打開的XML文檔的ChildNodes屬性一個引用作為它的參數,同時傳遞一個整數用來標示開始顯示的層次級別。代碼利用參數來格式化在Visual Basic文檔結構顯示窗口中的文本。

    DisplayNode屬性的函數會遍歷文檔尋找需要的NODE_TEXT節點類型串,一旦代碼找到一個NODE_TEXT的節點,它會利用NodeValue屬性來獲得相應的文本串。另外,當前節點的ParentNode屬性指向一個元素類型的節點。元素節點實現了一個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.總結

    在基于XML的三層C/S模型中,中間層一次性從遠程數據庫中獲取滿足客戶需求的信息,生成相應的XML文檔,以后中間層就不需要再與遠程數據庫進行交互了,即與遠程數據庫的連接也就終止了。一旦中間件軟件把滿足客戶需要的信息組裝起來以后,就可以以XML 形式發送給客戶了,這樣客戶與中間層也就無需進一步交互。

    同時,豐富的XML數據發送給客戶端后,客戶應用和腳本語言就可以直接使用這些數據,這時客戶端與中間層服務器之間連接就可以中止了。

    因此,在C/S模型中發送給中間層的信息是簡潔的、個人化的和精確的。應用服務器負責在正確的時候組裝并交付正確的信息,這將網絡上的流量減小并提供了高度的交互能力和用戶的滿意程度。而且,由于中間層可以提供動態的、易訪問的內容,這些內容可以被客戶方操作。而且,無

    需刷新整個用戶界面就可以更新頁面的內容,這樣就減少了從服務器方獲取客戶方已有的信息所需的交互時間。用戶可以方便的遠程管理數據,使得網絡成為一種具有更大的交互性和互操作性的媒體。

    其次,運用基于XML的三層C/S模型,XML結構化的數據可以從商業規范和表現形式中分離出來,而且可以更詳細地定義某個數據對象的數據結構,解決了信息標準化的問題。

    通過在三層C/S模型使用XML,使得企業之間可以通過網絡,與合作伙伴間,進行跨平臺,跨操作系統的信息交換。

    參考文獻

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

    [2] Ed Tittel, Norbert Mikula , Ramesh Chandak . XML For DUMMIES [M]. IDG BOOKS Worldwide ,
    Inc ,1999.

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


    【基于XML的三層C/S模型】相關文章:

    基于XML的三層C/S模型08-06

    開發基于SQL SERVER 的C/S數據庫應用系統?08-06

    一種基于B/S結構與C/S結構結合的新體系結構08-06

    《z c s》08-15

    z c s08-15

    基于uCLinux和S3C4510B的網絡通信設計08-06

    CIMS環境下基于特征的產品模型08-06

    聲母Z、C、S08-15

    《z c s》說課稿08-08

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      亚洲v在线观看v | 中文字幕1级精品视频在线 午夜性色福利网 | 日韩精品受辱视频在线看 | 色婷婷综合缴情综免费观看 | 亚洲国产熟女激情 | 中文字幕亚洲视频一在线 |