




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
企業(yè)級(jí)信息系統(tǒng)開發(fā)技術(shù) 第10章WebServices開發(fā) 學(xué)習(xí)要點(diǎn) 1 掌握WebServices的基礎(chǔ)知識(shí) 2 熟悉構(gòu)建WebService的過程 緒 為什么需要分布式 EJB 分布式部署應(yīng)用程序 客戶端 Web端 EJB組件1 EJB組件2 EJB組件3 EJB組件n DB 緒 為什么需要分布式 分布式應(yīng)用 中心端服務(wù)器JavaEE 地區(qū)端服務(wù)器 net 地區(qū)端服務(wù)器 net 地區(qū)端服務(wù)器 net 地區(qū)端服務(wù)器 net 地區(qū)端服務(wù)器JavaEE 地區(qū)端服務(wù)器JavaEE 地區(qū)端服務(wù)器JavaEE 地區(qū)端服務(wù)器JavaEE EJB 情景 為什么要使用WebServices 兩個(gè)應(yīng)用系統(tǒng)之間需要交互數(shù)據(jù) 通信 如果是同一種語言Java EJB RMI IIOP Net NETRemoting RPC 如果是使用了不同的語言 Java調(diào)用 Net提供的功能 Java Net DB 這種方式有什么弊端 情景 為什么要使用WebServices 什么是服務(wù) Services 傳統(tǒng)上 我們把計(jì)算機(jī)后臺(tái)程序提供的功能 稱為 服務(wù) service 通俗地說 服務(wù) 就是計(jì)算機(jī)可以提供的某一種功能 根據(jù)來源的不同 服務(wù) 又可以分成兩種 本地服務(wù) 使用同一臺(tái)機(jī)器提供的服務(wù) 不需要網(wǎng)絡(luò) 網(wǎng)絡(luò)服務(wù) 使用另一臺(tái)計(jì)算機(jī)提供的服務(wù) 必須通過網(wǎng)絡(luò)才能完成 情景 為什么要使用WebServices Web服務(wù)是一種面向服務(wù)的架構(gòu)的技術(shù) 通過標(biāo)準(zhǔn)的Web協(xié)議提供服務(wù) 目的是保證不同平臺(tái)的應(yīng)用服務(wù)可以互操作 根據(jù)W3C的定義 Web服務(wù)應(yīng)當(dāng)是一個(gè)軟件系統(tǒng) 用以支持網(wǎng)絡(luò)間不同機(jī)器的互動(dòng)操作 網(wǎng)絡(luò)服務(wù)通常是許多應(yīng)用程序接口 API 所組成的 它們透過網(wǎng)絡(luò) 例如國(guó)際互聯(lián)網(wǎng) Internet 的遠(yuǎn)程服務(wù)器端 執(zhí)行客戶所提交服務(wù)的請(qǐng)求 WebService架構(gòu)的基本思想 就是盡量把非核心功能交給其他人去做 自己全力開發(fā)核心功能 Java Net stub存根 skeleton骨架 HTTP XML SOA與WebServices SOA是什么SOA是指為了解決在Internet環(huán)境下業(yè)務(wù)集成的需要 通過連接能完成特定任務(wù)的獨(dú)立功能實(shí)體實(shí)現(xiàn)的一種軟件系統(tǒng)架構(gòu) 面向服務(wù)是一種理念 面向服務(wù)的架構(gòu)是基于這種理念的架構(gòu)方法 面向服務(wù)在不少方面是以面向?qū)ο鬄榛A(chǔ) 當(dāng)前典型的面向服務(wù)的解決方案由服務(wù)和面向?qū)ο蟮慕M件構(gòu)成 SOA與WebServices 一個(gè)典型的電子商務(wù)流程 電子商務(wù)門戶 銷售商 工廠 支付寶 物流公司 SOA與WebServices 業(yè)務(wù)層 服務(wù) 電子商務(wù)門戶 訂單 支付 確認(rèn)支付 銷售商 支付寶 瀏覽 工廠 物流公司 組合服務(wù) 服務(wù) 清單 訂單 下單 發(fā)貨 支付 確認(rèn)支付 交貨 業(yè)務(wù)層 服務(wù) SOA與WebServices 服務(wù)之間是松耦合的服務(wù)可獨(dú)立存在 網(wǎng)購(gòu)電子商務(wù)門戶 訂單 支付 確認(rèn)支付 銷售商 支付寶 瀏覽 工廠 物流公司 組合服務(wù) 服務(wù) 清單 訂單 下單 發(fā)貨 支付 確認(rèn)支付 交貨 服務(wù)可獨(dú)立存在 接口和實(shí)現(xiàn)可分離的 服務(wù)隱藏了服務(wù)實(shí)現(xiàn)內(nèi)部復(fù)雜邏輯和技術(shù) 服務(wù)之間是松散耦合的 服務(wù)之間通過消息交互 SOA與WebServices 在架構(gòu)人員眼中 一切皆服務(wù) 技術(shù) 業(yè)務(wù) 管理人員業(yè)務(wù)人員 設(shè)計(jì)人員開發(fā)人員 客戶 合作伙伴 構(gòu)件技術(shù) 分布對(duì)象技術(shù) 應(yīng)用服務(wù)器技術(shù) 架構(gòu)人員 SOA與WebServices SOA一個(gè)架構(gòu)方法 將應(yīng)用程序的不同功能單元 服務(wù) 通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來 接口是采用中立的方式進(jìn)行定義的 它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái) 操作系統(tǒng)和編程語言 構(gòu)建在各種各樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互 SOA與WebServices WebServices從外部的使用者的角度而言 Web服務(wù)是一種部署在Web上的對(duì)象 組件 它有一個(gè)或多個(gè)端口 Port 這些端口用于接收客戶端的請(qǐng)求 并返回響應(yīng) Web服務(wù)的特點(diǎn) Web服務(wù)是基于標(biāo)準(zhǔn)的 WSDL UDDI SOAP XML TCP HTTP SMTP Web服務(wù)是跨平臺(tái) 跨語言的Web服務(wù)是面向消息的Web服務(wù)獲得了廣泛的支持 SOA與WebServices WebServices應(yīng)用 SOA與WebServices SOA架構(gòu) 第10章WebService開發(fā) 10 1Web服務(wù)概述10 2WEBService基礎(chǔ)10 3XML基礎(chǔ)10 4使用JAX WS構(gòu)建簡(jiǎn)單的WebService 10 1WebService概述 簡(jiǎn)單來說 WebService就是一個(gè)向外界暴露出接口的能夠通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程調(diào)用的應(yīng)用程序 更準(zhǔn)確地說 一方面WebService是一種部署在Web上的對(duì)象 另一方面WebService是建立在以XML為主的 開放的Web標(biāo)準(zhǔn)協(xié)議規(guī)范的基礎(chǔ)上的分布式應(yīng)用新平臺(tái) 也就是說WebService的實(shí)質(zhì)是一套標(biāo)準(zhǔn) 它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作 只需要遵守這一套標(biāo)準(zhǔn) 人們可以用任何語言 在任何平臺(tái)上實(shí)現(xiàn)所需要的WebService 并且可以順利地同網(wǎng)絡(luò)上任何其它亦遵守上述協(xié)議的WebService組件進(jìn)行互操作 從而可以實(shí)現(xiàn)一種高效 低廉的異構(gòu)平臺(tái)上應(yīng)用的集成 對(duì)于從事企業(yè)應(yīng)用開發(fā)來講 學(xué)習(xí)WebService技術(shù)是相當(dāng)必要的 10 1WebService概述 WebServices Web服務(wù) 定義 WebService是一種新的Web應(yīng)用程序分支 它們是自包含 自描述 模塊化的應(yīng)用 可以在網(wǎng)絡(luò) 通常為Web 中被描述 發(fā)布 查找以及通過Web來調(diào)用 使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議 像超文本傳輸協(xié)議HTTP和XML Webservice平臺(tái)是一套標(biāo)準(zhǔn) 它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性 你可以用任何你喜歡的語言 在任何你喜歡的平臺(tái)上寫Webservice 10 1WebService概述 WebService的特點(diǎn)跨平臺(tái)的可互操作性跨防火墻的通信應(yīng)用程序集成B2B的集成軟件和數(shù)據(jù)重用普遍 易用性 10 1 1WebService的核心標(biāo)準(zhǔn) WebService的核心標(biāo)準(zhǔn)XMLSOAPWSDLUDDI 10 1 1WebService的核心標(biāo)準(zhǔn) XML和XMLSchemaXML eXtensibleMarkupLangugage 即可擴(kuò)展標(biāo)記語言 是WebService技術(shù)架構(gòu)的基石 它是WebService中表示數(shù)據(jù)的基本格式 XMLSchema定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型 并給出了一種語言來擴(kuò)展這套數(shù)據(jù)類型 WebService平臺(tái)就是用XMLSchema作為其數(shù)據(jù)類型系統(tǒng)的 XML XML XMLSchema XMLSchema 10 1 1WebService的核心標(biāo)準(zhǔn) SOAPSOAP SimpleObjectAccessProtocol 簡(jiǎn)單對(duì)象訪問協(xié)議 提供了標(biāo)準(zhǔn)的RPC 遠(yuǎn)程過程調(diào)用協(xié)議 方法來調(diào)用WebService SOAP規(guī)范中定義了SOAP消息的格式 以及怎樣通過HTTP協(xié)議來使用SOAP SOAP是基于XML和XSD XMLSchemasDefinition 的 其中XML是SOAP的數(shù)據(jù)編碼方式 10 1 1WebService的核心標(biāo)準(zhǔn) WSDLWSDL WebServicesDescriptionLanguage WebServices描述語言 是一種基于XML的 用于描述WebService及其操作 參數(shù)和返回值的語言 一些最新的開發(fā)工具既能根據(jù)WebService生成WSDL文檔 又能通過導(dǎo)入WSDL文檔 生成調(diào)用相應(yīng)WebService的代碼 10 1 1WebService的核心標(biāo)準(zhǔn) UDDIUDDI UniversalDescriptionDiscoveryIntegration 統(tǒng)一描述 發(fā)現(xiàn)和集成協(xié)議 是WebService架構(gòu)下核心的服務(wù)描述 發(fā)現(xiàn)和集成機(jī)制 其目的是在網(wǎng)上自動(dòng)查找WebService 一旦WebService注冊(cè)到UDDI 客戶就可以很方便地查找和定位到所需要的WebService 10 1 2WebService體系架構(gòu) 服務(wù)提供者 ServiceProvider 從企業(yè)的角度看 這是服務(wù)的所有者 從體系結(jié)構(gòu)的角度看 這是托管被訪問服務(wù)的平臺(tái) 服務(wù)請(qǐng)求者 ServiceRequestor 從企業(yè)的角度看 這是要求滿足特定功能的企業(yè) 從體系結(jié)構(gòu)的角度看 這是尋找并調(diào)用服務(wù) 或啟動(dòng)與服務(wù)交互的應(yīng)用程序 服務(wù)請(qǐng)求者角色可以由瀏覽器來擔(dān)當(dāng) 由人或無用戶界面的程序 例如 另一個(gè)WebService 來控制它 服務(wù)注冊(cè)中心 ServiceRegistry 這是可搜索的服務(wù)描述注冊(cè)中心 服務(wù)提供者在此發(fā)布他們的服務(wù)描述 10 1 2WebService體系架構(gòu) Bind 綁定 服務(wù)請(qǐng)求者通過綁定調(diào)用服務(wù)提供者提供的服務(wù) Find 查找 服務(wù)請(qǐng)求者可以通過服務(wù)注冊(cè)中心查找特定種類的服務(wù) Publish 發(fā)布 服務(wù)提供者發(fā)布服務(wù)描述以使服務(wù)可訪問并且服務(wù)請(qǐng)求者可以查找它 第10章WebService開發(fā) 10 1Web服務(wù)概述10 2WEBService基礎(chǔ)10 3XML基礎(chǔ)10 4使用JAX WS構(gòu)建簡(jiǎn)單的WebService 10 2 1SOAP SOAP SimpleObjectAccessProtocol 簡(jiǎn)單對(duì)象訪問協(xié)議 是在分散或分布式的環(huán)境中交換信息的簡(jiǎn)單的協(xié)議 是一個(gè)基于XML的協(xié)議 SOAP在WebService中作為用于XML消息傳遞的一種非常普遍的協(xié)議 它包括四個(gè)部分 SOAP封裝 envelop 封裝定義了一個(gè)描述消息中的內(nèi)容是什么 是誰發(fā)送的 誰應(yīng)當(dāng)接受并處理它以及如何處理它們的框架 SOAP編碼規(guī)則 encodingrules 用于表示應(yīng)用程序需要使用的數(shù)據(jù)類型的實(shí)例 SOAPRPC表示 RPCrepresentation 表示遠(yuǎn)程過程調(diào)用和應(yīng)答的協(xié)定 SOAP綁定 binding 使用底層協(xié)議交換信息 雖然這四個(gè)部分都作為SOAP的一部分定義的 但它們?cè)诠δ苌鲜窍嘟坏?彼此獨(dú)立的 特別的 信封和編碼規(guī)則是被定義在不同的XML命名空間 namespace 中 這樣使得定義更加簡(jiǎn)單 10 2 1SOAP SOAP的兩個(gè)主要設(shè)計(jì)目標(biāo)是簡(jiǎn)單性和可擴(kuò)展性 這就意味著有一些傳統(tǒng)消息系統(tǒng)或分布式對(duì)象系統(tǒng)中的某些性質(zhì)將不是SOAP規(guī)范的一部分 SOAP可簡(jiǎn)單地理解為這樣一個(gè)開放協(xié)議的組合SOAP RPC HTTP XML 采用HTTP作為底層通訊協(xié)議 RPC作為一致性的調(diào)用途徑 XML作為數(shù)據(jù)傳送的格式 允許服務(wù)提供者和服務(wù)客戶經(jīng)過防火墻在INTERNET進(jìn)行通訊交互 RPC的描敘可能不太準(zhǔn)確 因?yàn)镾OAP一開始構(gòu)思就是要實(shí)現(xiàn)平臺(tái)與環(huán)境的無關(guān)性和獨(dú)立性 每一個(gè)通過網(wǎng)絡(luò)的遠(yuǎn)程調(diào)用都可以通過SOAP封裝起來 包括DCE DistributedComputingEnvironment RPCCALLS COM DCOMCALLS CORBACALLS JAVACALLS等等 10 2 1SOAP 客戶發(fā)送請(qǐng)求時(shí) 不管客戶是什么平臺(tái) 首先把請(qǐng)求轉(zhuǎn)換成XML格式 SOAP網(wǎng)關(guān)可自動(dòng)執(zhí)行這個(gè)轉(zhuǎn)換 為了保證傳送時(shí)參數(shù) 方法名 返回值的唯一性 SOAP協(xié)議使用了一個(gè)私有標(biāo)記表 從而服務(wù)器的SOAP網(wǎng)關(guān)可以正確地解析 而使用XML作為編碼表現(xiàn)形式 提供了更高層次上的抽象 從而實(shí)現(xiàn)與平臺(tái)和環(huán)境的無關(guān) 10 2 2WSDL WSDL WebServiceDescriptionLanguage 即Web服務(wù)器描述語言 是用XML文檔來描述Web服務(wù)的標(biāo)準(zhǔn) 是Web服務(wù)的接口定義語言 由Ariba Intel IBM Microsoft等共同提出 通過WSDL 可描述Web服務(wù)的三個(gè)基本屬性 服務(wù)做些什么 服務(wù)所提供的操作 方法 如何訪問服務(wù) 和服務(wù)交互的數(shù)據(jù)格式以及必要協(xié)議服務(wù)位于何處 協(xié)議相關(guān)的地址 如URL 10 2 2WSDL WSDL文檔在WebService的定義中使用下列元素 Types 數(shù)據(jù)類型定義的容器 Message 通信消息的數(shù)據(jù)結(jié)構(gòu)的抽象類型化定義 Operation 對(duì)服務(wù)中所支持的操作的抽象描述 PortType 對(duì)于某個(gè)訪問入口點(diǎn)類型所支持的操作的抽象集合 Binding 特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范的綁定 Port 定義為協(xié)議 數(shù)據(jù)格式綁定與具體Web訪問地址組合的單個(gè)服務(wù)訪問 Srvice 相關(guān)服務(wù)結(jié)點(diǎn)的集合 10 2 3UDDI UDDI UniversalDescription DiscoveryandIntegration 即統(tǒng)一描述 發(fā)現(xiàn)與集成協(xié)議標(biāo)準(zhǔn) 是一個(gè)非常重要的創(chuàng)新 它是第一個(gè)由平臺(tái)提供者 軟件開發(fā)者 交易市場(chǎng)運(yùn)營(yíng)者 電子商務(wù)企業(yè)和全球商務(wù)領(lǐng)頭羊?yàn)榻鉀QB2B電子商務(wù)的發(fā)展的局限性而一起提出的跨行業(yè)的解決方案 是一套基于Web的 分布式的 為Web服務(wù)提供的信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范 同時(shí)也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊(cè)以使得別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實(shí)現(xiàn)標(biāo)準(zhǔn) 10 2 3UDDI UDDI計(jì)劃是一個(gè)廣泛的 開放的行業(yè)計(jì)劃 它使得商業(yè)實(shí)體能夠 1 彼此發(fā)現(xiàn) 2 定義它們?cè)鯓釉趇nternet上互相作用 并在一個(gè)全球的注冊(cè)體系架構(gòu)中共享信息 UDDI是這樣一種基礎(chǔ)的系統(tǒng)構(gòu)筑模塊 它使商業(yè)實(shí)體能夠快速 方便地使用它們自身的企業(yè)應(yīng)用軟件來發(fā)現(xiàn)合適的商業(yè)對(duì)等實(shí)體 并以其實(shí)施電子化的商業(yè)貿(mào)易 UDDI同時(shí)也是Web服務(wù)集成的一個(gè)體系框架 它包含了服務(wù)描述與發(fā)現(xiàn)的標(biāo)準(zhǔn)規(guī)范 UDDI規(guī)范利用了W3C和Internet工程任務(wù)組織 IETF 的很多標(biāo)準(zhǔn)作為其實(shí)現(xiàn)基礎(chǔ) 比如XML HTTP和域名服務(wù) DNS 這些協(xié)議 10 2 3UDDI 通過這個(gè)開放性的計(jì)劃 企業(yè)可以發(fā)布他們所期望的在Web上實(shí)現(xiàn)商務(wù)流程對(duì)接的方式的相關(guān)信息和技術(shù)規(guī)范 這潛在地為B2B商務(wù)的成長(zhǎng)提供了動(dòng)力 UDDI將通過創(chuàng)建一個(gè)全球的 獨(dú)立平臺(tái) 運(yùn)用Internet發(fā)現(xiàn)商機(jī) 描述服務(wù)和綜合商務(wù)的開放式框架 使所有的貿(mào)易都從中獲利 UDDI計(jì)劃不由任何一家現(xiàn)有的公司實(shí)際運(yùn)作 同時(shí)它也不是一個(gè)標(biāo)準(zhǔn)的實(shí)體或者是一個(gè)新的公司 UDDI商業(yè)注冊(cè)中心被作為一個(gè)支持UDDI規(guī)范的Web服務(wù)來運(yùn)作 最初 Ariba IBM和Microsoft將運(yùn)作這個(gè)分布式的服務(wù) 但是額外的注冊(cè)中心的訪問入口仍然被期待著 一個(gè)訪問入口的委員會(huì) OperatorCouncil 將協(xié)助制定訪問入口的方針和服務(wù)質(zhì)量等問題 10 2 3UDDI 從UDDI可以獲得的直接收益包括 具備UDDI能力的企業(yè)可以在Internet上通過他們首選的企業(yè)應(yīng)用 快速便捷地發(fā)現(xiàn)合適的商業(yè)實(shí)體并實(shí)現(xiàn)彼此之間的互操作 這將最終推動(dòng)企業(yè)自身的經(jīng)濟(jì)收益 為企業(yè)迅疾地參與全球化的Internet經(jīng)濟(jì)提供了一個(gè)方便的發(fā)展道路 提供了一個(gè)為商業(yè)在一個(gè)簡(jiǎn)單的開放式環(huán)境中 循序漸進(jìn)地描述他們的服務(wù)和商業(yè)流程的途徑 提供了一組規(guī)范 使企業(yè)能夠在Internet上調(diào)用服務(wù)并為他們的首選客戶提供增值服務(wù) 小節(jié) Web服務(wù)基礎(chǔ) SOAP SimpleObjectAccessProtocol 簡(jiǎn)單對(duì)象訪問協(xié)議WSDL WebServiceDescriptionLanguage 即Web服務(wù)器描述語言UDDI UniversalDescription DiscoveryandIntegration 即統(tǒng)一描述 發(fā)現(xiàn)與集成協(xié)議標(biāo)準(zhǔn) 第10章WebService開發(fā) 10 1Web服務(wù)概述10 2WEBService基礎(chǔ)10 3XML基礎(chǔ)10 4使用JAX WS構(gòu)建簡(jiǎn)單的WebService 10 3XML基礎(chǔ) XML eXtensibleMakeupLanguage 即可擴(kuò)展標(biāo)記語言 是一種簡(jiǎn)單靈活的文本格式 可以作為創(chuàng)建新的標(biāo)記語言的基礎(chǔ) 以便在文檔發(fā)布和數(shù)據(jù)交換中使用 XML基于萬維網(wǎng)聯(lián)盟 W3C 的工作小組發(fā)布的一系列標(biāo)準(zhǔn) 因此 非常適合 且不限于 在基于Web的應(yīng)用程序中使用 XML是一套定義語義標(biāo)記的規(guī)則 這些標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí) 它也是元標(biāo)記語言 即定義了用于定義其它與特定領(lǐng)域有關(guān)的 語義的 結(jié)構(gòu)化的標(biāo)記語言的句法語言 10 3XML基礎(chǔ) 關(guān)于XML要理解的第一件事是 它不只是像超文本標(biāo)記語言 HypertextMarkupLanguage HTML 或是格式化的程序 XML是一種元標(biāo)記語言 用戶可以定義自己需要的標(biāo)記 這些標(biāo)記必須根據(jù)某些通用的原理來創(chuàng)建 但是在標(biāo)記的意義上 也具有相當(dāng)?shù)撵`活性 XML定義了一套元句法 與特定領(lǐng)域有關(guān)的標(biāo)記語言 如MusicML MathML和CML 都必須遵守 如果一個(gè)應(yīng)用程序可以理解這一元句法 那么它也就自動(dòng)地能夠理解所有的由此元語言建立起來的語言 關(guān)于XML要了解的第二件事是 XML標(biāo)記描述的是文檔的結(jié)構(gòu)和意義 它不描述頁面元素的格式化 可用樣式單為文檔增加格式化信息 文檔本身只說明文檔包括什么標(biāo)記 而不是說明文檔看起來是什么樣的 10 3XML基礎(chǔ) HotCopbyJacquesMoraliHenriBeloloandVictorWillisProducer JacquesMoraliPublisher PolyGramRecordsLength 6 20Written 978Artist VillagePeople HotCopJacquesMoraliHenriBeloloVictorWillisJacquesMoraliPolyGramRecords6 20978VillagePeople 10 3XML基礎(chǔ) XML是一種類似于HTML的標(biāo)記語言 但是它是被設(shè)計(jì)用來描述數(shù)據(jù)的 重點(diǎn)是什么是數(shù)據(jù) 如何存放數(shù)據(jù) 與描述信息相關(guān) 而HTML是被設(shè)計(jì)用來顯示數(shù)據(jù)的 重點(diǎn)是顯示數(shù)據(jù)以及如何顯示數(shù)據(jù)更好 與顯示信息相關(guān) XML不是HTML的替代品 XML和HTML是兩種不同用途的語言 XML被設(shè)計(jì)成什么都不做的 它只是用來組織 存儲(chǔ)和發(fā)送信息 XML是自由的 可以擴(kuò)展的 XML使用文檔類型定義 DTD 或者模式 Schema 來描述數(shù)據(jù) XML是一種跨平臺(tái)的 與軟 硬件無關(guān)的 處理信息的工具 10 3XML基礎(chǔ) XML的主要應(yīng)用 作為配置文件 SpringStrutsHibernateWeb應(yīng)用Tomcat的server xmlJBossEJB作為數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn) AJAXWebService 10 3 2DTD DTD DocumnetTypeDefinition 即文件類型定義 是XML1 0版規(guī)格的一部分 它是XML文件的驗(yàn)證機(jī)制 屬于XML文件組成的一部分 DTD在XML文件所扮演的角色就是定義XML文件的元素架構(gòu) 元素標(biāo)記和屬性 DTD是一種保證XML文檔格式正確的有效方法 可以通過比較XML文檔和DTD文件來看文檔是否符合規(guī)范 元素和標(biāo)簽使用是否正確 一個(gè)DTD文檔包含 元素的定義規(guī)則 元素間關(guān)系的定義規(guī)則 元素可使用的屬性 可使用的實(shí)體或符號(hào)規(guī)則 10 3 2DTD 調(diào)用DTD文件的方法有兩種 直接包含在XML文檔內(nèi)的DTD這種方法只需要在DOCTYPE聲明中插入一些特別的說明就可以了 調(diào)用獨(dú)立的DTD文件這種方法將DTD文檔存為后綴為 dtd的文件 然后在DOCTYPE聲明行中調(diào)用 XML輕松學(xué)習(xí)手冊(cè)ajie XML輕松學(xué)習(xí)手冊(cè)ajie 10 3 2DTD DTD的常用的術(shù)語如下 Schema 規(guī)劃 schema是數(shù)據(jù)規(guī)則的描述 主要完成兩件事 a 它定義元素?cái)?shù)據(jù)類型和元素之間的關(guān)系 b 它定義元素所能包含的內(nèi)容類型 DocumentTree 文檔樹 文檔樹是文檔元素分級(jí)結(jié)構(gòu)的形象表示 一個(gè)文檔結(jié)構(gòu)樹包含根元素 根元素是最頂級(jí)的元素 ParentElement ChildElement父元素是指包含有其它元素的元素 被包含的元素稱為它的子元素 Parser 解析器 Parser是一種檢查XML文檔是否遵循DTD規(guī)范的工具軟件 XML的parser發(fā)展為兩類 一種是 非確認(rèn)類parser 只檢測(cè)文檔是否遵守XML語法規(guī)則 是否用元素標(biāo)識(shí)建立了文檔樹 另一種是 確認(rèn)類parser 它不但檢測(cè)文檔語法 結(jié)構(gòu)樹 而且比較解析用戶使用的元素標(biāo)識(shí)是否遵守了相應(yīng)DTD文件的規(guī)范 10 3 3XMLSchema XMLSchema與DTD一樣是負(fù)責(zé)定義和描述XML文檔的結(jié)構(gòu)和內(nèi)容模式的 它可以定義XML文檔中存在哪些元素和元素之間的關(guān)系 并且可以定義元素和屬性的數(shù)據(jù)類型 XMLSchema本身是一個(gè)XML文檔 它符合XML語法結(jié)構(gòu) 可以用通用的XML解析器解析它 DTD的缺陷 描述能力有限沒有數(shù)據(jù)類型的支持約束定義能力不足不夠結(jié)構(gòu)化未使用XML作為描述手段 DTD沒有標(biāo)準(zhǔn)的編程接口 10 3 3XMLSchema XMLSchema的優(yōu)點(diǎn)有 XMLSchema基于XML 沒有專門的語法XML可以象其它XML文件一樣解析和處理XMLSchema支持一系列的數(shù)據(jù)類型 int float Boolean date等 XMLSchema提供可擴(kuò)充的數(shù)據(jù)模型XMLSchema支持綜合命名空間XMLSchema支持屬性組XMLSchema文檔后綴名是 xsd 完全符合XML語法 根元素是 命名空間是xmlns xsd 用元素定義實(shí)例文檔中的元素 10 3 3XMLSchema 例1 XMLSchema greeting xsd HelloWorld 10 3 3XMLSch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版六年級(jí)上冊(cè)科學(xué)教案計(jì)劃
- 人音版三年級(jí)下冊(cè)音樂教學(xué)問題解決計(jì)劃
- 雙減背景下學(xué)科作業(yè)差異化設(shè)計(jì)心得體會(huì)
- 六年級(jí)下冊(cè)交通生命安全教學(xué)計(jì)劃
- 以實(shí)踐為翼筑牢小學(xué)低段數(shù)感根基
- 統(tǒng)編版四年級(jí)語文上冊(cè)教學(xué)質(zhì)量提升計(jì)劃
- 初中八年級(jí)課外名著閱讀閱讀分享計(jì)劃
- 土方作業(yè)揚(yáng)塵污染防治措施
- 陜旅版五年級(jí)下冊(cè)英語閱讀計(jì)劃
- 教育統(tǒng)計(jì)數(shù)據(jù)采集崗位職責(zé)
- 第十七章其他熔化焊接與熱切割作業(yè)課件
- 金融學(xué) 曹龍騏 02教材課件
- 2022年混凝土攪拌站建設(shè)項(xiàng)目可行性研究報(bào)告
- 《覺醒年代》朗誦稿
- 2022年社會(huì)學(xué)概論考試重點(diǎn)廣東海洋
- 路基工程質(zhì)量通病及防治措施
- 福建省中小學(xué)教師職務(wù)考評(píng)登記表
- 北京市中級(jí)專業(yè)技術(shù)資格評(píng)審申報(bào)表
- 工廠供電課程設(shè)計(jì)1
- 鼠害蟲害防治管理制度
- PLM_項(xiàng)目建議書_PTC
評(píng)論
0/150
提交評(píng)論