第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)_第1頁(yè)
第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)_第2頁(yè)
第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)_第3頁(yè)
第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)_第4頁(yè)
第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第07章_電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù)電子商務(wù)概論07國(guó)貿(mào)營(yíng)銷(xiāo)專(zhuān)業(yè)主講:陳 婷*第七章 電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù) 前臺(tái)(客戶(hù)端)開(kāi)發(fā)技術(shù) 后臺(tái)(服務(wù)器端)技術(shù) Web Service技術(shù) *第一節(jié) 前臺(tái)(客戶(hù)端)開(kāi)發(fā)技術(shù) 一、用戶(hù)界面體系結(jié)構(gòu)動(dòng)態(tài)內(nèi)容表現(xiàn)有三種用戶(hù)界面體系結(jié)構(gòu),一是服務(wù)器端提供動(dòng)態(tài)邏輯,二是使用腳本語(yǔ)言來(lái)表現(xiàn)動(dòng)態(tài)內(nèi)容,三是通過(guò)運(yùn)行在客戶(hù)端的應(yīng)用程序來(lái)實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容。*一、用戶(hù)界面體系結(jié)構(gòu):服務(wù)器端邏輯體系結(jié)構(gòu)(1)客戶(hù)機(jī)服務(wù)器瀏覽器用戶(hù)動(dòng)作內(nèi)容和控制的產(chǎn)生控制邏輯業(yè)務(wù)邏輯內(nèi)容構(gòu)建請(qǐng)求響應(yīng)圖7-1 服務(wù)器端邏輯體系結(jié)構(gòu) *一、用戶(hù)界面體系結(jié)構(gòu):服務(wù)器端邏輯體系結(jié)構(gòu)(2) 由于在Web服務(wù)器上,

2、最簡(jiǎn)單和最常用的體系結(jié)構(gòu)是完全依靠服務(wù)器來(lái)提供用戶(hù)界面內(nèi)容??蛻?hù)端包括一個(gè)瀏覽器,主要用來(lái)顯示從服務(wù)器上得到的頁(yè)面。每一個(gè)用戶(hù)動(dòng)作,例如按下一個(gè)按鈕,都產(chǎn)生一個(gè)對(duì)服務(wù)器的請(qǐng)求指令,服務(wù)器處理這個(gè)請(qǐng)求并計(jì)算結(jié)果,生成一個(gè)新的頁(yè)面再次發(fā)送到客戶(hù)端。服務(wù)器端的操作可以分成三個(gè)步驟:控制邏輯 業(yè)務(wù)邏輯 內(nèi)容構(gòu)建 *一、用戶(hù)界面體系結(jié)構(gòu):客戶(hù)端腳本體系結(jié)構(gòu)(1)向客戶(hù)端提供動(dòng)態(tài)內(nèi)容的另一種途徑是將腳本作為HTML頁(yè)面的一部分,從服務(wù)器傳送到客戶(hù)端,腳本通常包括一些不需要與服務(wù)器應(yīng)用程序通信就能在客戶(hù)端執(zhí)行的應(yīng)用邏輯,如圖7-2所示。復(fù)雜的邏輯仍然由服務(wù)器端執(zhí)行,這就需要客戶(hù)端給服務(wù)器端發(fā)出新的請(qǐng)求,服務(wù)

3、器端處理后,將處理結(jié)果返回給客戶(hù)端,最終還是由腳本作進(jìn)一步處理。這種體系結(jié)構(gòu)的優(yōu)點(diǎn)是服務(wù)器與用戶(hù)的通信較少,需要的服務(wù)器資源也比較少(由于在客戶(hù)端執(zhí)行一些業(yè)務(wù)邏輯),可以對(duì)用戶(hù)動(dòng)作給出更多的響應(yīng)(如鼠標(biāo)的移動(dòng))。支持該體系結(jié)構(gòu)的技術(shù),代表性的有ECMAScript/JavaScript/Jscript、VBScript和 DHTML(Dynamic HTML)。*一、用戶(hù)界面體系結(jié)構(gòu):客戶(hù)端腳本體系結(jié)構(gòu)(2)瀏覽器用戶(hù)請(qǐng)求頁(yè)面切換產(chǎn)生頁(yè)面/簡(jiǎn)單控制邏輯內(nèi)容修改切換/復(fù)雜控制邏輯商務(wù)邏輯內(nèi)容構(gòu)建+邏輯嵌入客戶(hù)機(jī)服務(wù)器響應(yīng) 圖7-2 客戶(hù)端腳本體系結(jié)構(gòu) *一、用戶(hù)界面體系結(jié)構(gòu):客戶(hù)端應(yīng)用體系結(jié)構(gòu)(

4、1)在客戶(hù)端加入邏輯的另一個(gè)體系結(jié)構(gòu)是在客戶(hù)端運(yùn)行一個(gè)功能完全的應(yīng)用程序。用戶(hù)可以下載這個(gè)程序(每次站點(diǎn)訪(fǎng)問(wèn)的下載或者將這個(gè)應(yīng)用程序放在用戶(hù)的高速緩存中)。此后它將控制用戶(hù)的交互和內(nèi)容構(gòu)造。當(dāng)服務(wù)器上執(zhí)行的業(yè)務(wù)邏輯必須初始化時(shí),通信才成為必要。這種通信是通過(guò)內(nèi)嵌在http中的協(xié)議來(lái)完成的,并且它只傳輸必要的網(wǎng)絡(luò)數(shù)據(jù)(并不需要傳輸HTML數(shù)據(jù)內(nèi)容)。因此,在客戶(hù)端和服務(wù)器端均需要附加的通信邏輯。該體系結(jié)構(gòu)的優(yōu)點(diǎn)是消除了用戶(hù)界面和業(yè)務(wù)邏輯的區(qū)別;與服務(wù)器的通信量很少;Web頁(yè)面可離線(xiàn)瀏覽;不需要很多服務(wù)器資源。*一、用戶(hù)界面體系結(jié)構(gòu):客戶(hù)端應(yīng)用體系結(jié)構(gòu)(2)瀏覽器用戶(hù)開(kāi)始應(yīng)用程序 下載+版本控制通

5、信邏輯商業(yè)邏輯客戶(hù)機(jī)服務(wù)器下載applet應(yīng)用控制邏輯通信邏輯內(nèi)容構(gòu)建邏輯請(qǐng)求*一、用戶(hù)界面體系結(jié)構(gòu):客戶(hù)端應(yīng)用體系結(jié)構(gòu)(93)支持客戶(hù)端應(yīng)用體系結(jié)構(gòu)的技術(shù)有:Java applets是可以作為Web文檔中的附件來(lái)分發(fā)的Java程序。Applets的代碼可以被支持Java的瀏覽器解釋和執(zhí)行。Java應(yīng)用程序是運(yùn)行在客戶(hù)端系統(tǒng)上的獨(dú)立的應(yīng)用程序,這種客戶(hù)端系統(tǒng)與瀏覽器無(wú)關(guān)。Active X為一組綜合技術(shù),這些技術(shù)使得用任何語(yǔ)言寫(xiě)的軟件構(gòu)件在網(wǎng)絡(luò)環(huán)境中能相互操作。/exporter1.alibaba3/expleads/formyyckt.html?srctrace=y&src=googl

6、e&tracelog=cgs_g_yczhuce&activity=ppcok*二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :瘦客戶(hù)機(jī)和胖客戶(hù)機(jī)(1)有關(guān)用戶(hù)界面體系結(jié)構(gòu)的討論總是與瘦客戶(hù)和胖客戶(hù)的討論有關(guān)。在客戶(hù)/服務(wù)器的應(yīng)用中,瘦客戶(hù)是指客戶(hù)機(jī)被設(shè)計(jì)得很小,大多數(shù)的數(shù)據(jù)操作都在服務(wù)器端進(jìn)行;而胖客戶(hù)是指在本地客戶(hù)端執(zhí)行大多數(shù)的數(shù)據(jù)處理,只有數(shù)據(jù)本身是存儲(chǔ)在服務(wù)器上。對(duì)Web應(yīng)用而言,服務(wù)器端邏輯體系結(jié)構(gòu)是典型的瘦客戶(hù),而客戶(hù)端應(yīng)用體系結(jié)構(gòu)和大部分的需要特定插件的多媒體技術(shù),可以被看作是一種胖客戶(hù),雖然在大多數(shù)情況下服務(wù)器還要處理數(shù)據(jù)存取的其他任務(wù)。胖客戶(hù)與瘦客戶(hù)有其各自的特點(diǎn) *二、體系

7、結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :瘦客戶(hù)機(jī)和胖客戶(hù)機(jī)(2) 胖客戶(hù)與瘦客戶(hù)的性能比較 胖客戶(hù) 瘦客戶(hù) 客戶(hù)端功能強(qiáng)大,客戶(hù)自主性強(qiáng) 客戶(hù)端功能少,缺少靈活性 部署和管理比較困難,每次系統(tǒng)更新升級(jí),所有客戶(hù)端都必須重新安裝部署和管理比較容易,系統(tǒng)更新升級(jí)只需重新安裝服務(wù)器端 對(duì)客戶(hù)要求較高,可能需要專(zhuān)門(mén)培訓(xùn)對(duì)客戶(hù)要求較低,只要會(huì)用瀏覽器就可以操作 胖客戶(hù)體系結(jié)構(gòu)的總費(fèi)用高,但服務(wù)提供商的費(fèi)用較低,用戶(hù)要配置較高性能的計(jì)算機(jī)而承擔(dān)較高的費(fèi)用瘦客戶(hù)體系結(jié)構(gòu)的總費(fèi)用低,但服務(wù)提供商的費(fèi)用較高 *二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :易用性(1)在易用性是選擇用戶(hù)界面體系結(jié)構(gòu)的一個(gè)主要參考標(biāo)準(zhǔn)。易用性是指用戶(hù)不需要特殊

8、培訓(xùn)就可使用這些程序,它是應(yīng)用程序能否被用戶(hù)接受的重要指標(biāo)。在互聯(lián)網(wǎng)環(huán)境下,易用性有著特殊的含義。MEHolzschlag提出了構(gòu)成一個(gè)良好界面設(shè)計(jì)的特征:隱語(yǔ)的使用、清晰、統(tǒng)一、定位、導(dǎo)航功能。不同的界面體系結(jié)構(gòu)所表現(xiàn)出來(lái)的易用性是不一樣的。 *二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :易用性(2)服務(wù)器端邏輯體系結(jié)構(gòu)。該體系結(jié)構(gòu)只能容納很簡(jiǎn)單的用戶(hù)界面(超鏈接或表單),這就限制了向用戶(hù)提供高水平的導(dǎo)航與定位幫助??蛻?hù)端腳本體系結(jié)構(gòu)。腳本能比純粹的靜態(tài)方法提供更加復(fù)雜的導(dǎo)航和定位幫助,但腳本語(yǔ)言缺少像Java的AWT或Swing那樣的圖形用戶(hù)界面腳本庫(kù)支持,且運(yùn)行的腳本在每一次訪(fǎng)問(wèn)時(shí)都要下載,因此腳本

9、語(yǔ)言不適合實(shí)現(xiàn)非常復(fù)雜的行為。 客戶(hù)端應(yīng)用體系結(jié)構(gòu)。復(fù)雜的語(yǔ)言元素和標(biāo)準(zhǔn)庫(kù)使得客戶(hù)端應(yīng)用比腳本支持更復(fù)雜的邏輯行為,但要充分利用程序語(yǔ)言和標(biāo)準(zhǔn)庫(kù)的功能來(lái)設(shè)計(jì)一個(gè)優(yōu)良的、友好的用戶(hù)界面需要在界面設(shè)計(jì)方面有相當(dāng)豐富的經(jīng)驗(yàn)。 *二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :時(shí)間性能(1)時(shí)間性能是另一個(gè)用以選擇適當(dāng)?shù)捏w系結(jié)構(gòu)的關(guān)鍵因素。處理Web用戶(hù)界面時(shí)可能出現(xiàn)的時(shí)間瓶頸:初始化時(shí)間,直到第一個(gè)用戶(hù)交互完成的時(shí)間(下載時(shí)間)客戶(hù)端處理一個(gè)用戶(hù)交互所需的時(shí)間(客戶(hù)裝入)需要與服務(wù)器交互的次數(shù)(服務(wù)器依賴(lài)度)從客戶(hù)端向服務(wù)器傳輸消息及反饋結(jié)果所需的時(shí)間(網(wǎng)絡(luò)傳輸時(shí)間)服務(wù)器處理用戶(hù)交互所需的時(shí)間(服務(wù)器裝入)*二、

10、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù):時(shí)間性能(2)不同的界面體系結(jié)構(gòu),其時(shí)間性能也不同服務(wù)器端邏輯體系結(jié)構(gòu)。對(duì)于服務(wù)器端邏輯體系結(jié)構(gòu)而言,服務(wù)器 的響應(yīng)信息不僅包括事件需要的數(shù)據(jù),還包括這些數(shù)據(jù)所需的設(shè)計(jì) 定義,這就導(dǎo)致客戶(hù)同服務(wù)器之間存在頻繁的、大量的信息傳輸, 因此響應(yīng)時(shí)間較長(zhǎng)。 客戶(hù)端腳本體系結(jié)構(gòu)。由于腳本提供了在客戶(hù)端上運(yùn)行一些控制邏 輯的功能,提高了系統(tǒng)的響應(yīng)速度??蛻?hù)端應(yīng)用體系結(jié)構(gòu)??蛻?hù)端應(yīng)用程序的主要缺點(diǎn)是初始化時(shí)需要 較長(zhǎng)的下載時(shí)間。目前解決該問(wèn)題的技術(shù)有: 延遲模塊裝載應(yīng)用程序分割 客戶(hù)端安裝 Applet緩存 *二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù) :安全性(1)在前面的章節(jié)里我們已經(jīng)知道了

11、安全性包括服務(wù)器端的安全(包括CGI/Servlet安全和防火墻)、客戶(hù)端的安全以及通信信道的安全(如何保證在服務(wù)器與用戶(hù)間消息傳遞的真實(shí)性、完整性和保密性)。這里討論的是針對(duì)客戶(hù)端的安全,因?yàn)楫?dāng)客戶(hù)端訪(fǎng)問(wèn)某個(gè)Web站點(diǎn)時(shí),其完整性可能因惡意的ActiveX控件或其他代碼而遭到破壞。 服務(wù)器端邏輯體系結(jié)構(gòu)。單純的靜態(tài)內(nèi)容在客戶(hù)端既不執(zhí)行也不解釋任何代碼,僅僅是呈現(xiàn)出來(lái),因此它對(duì)客戶(hù)端的威脅最小,到目前為止,幾乎沒(méi)有發(fā)現(xiàn)什么安全漏洞。*二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù):安全性(2)客戶(hù)端腳本體系結(jié)構(gòu)。 DHTML依靠于JavaScript,所以客戶(hù)端的安全問(wèn)題主要是JavaScript(JScrip

12、t)的安全性問(wèn)題。JavaScript沒(méi)有內(nèi)置的安全模式阻止惡意腳本損害客戶(hù)系統(tǒng)。它的安全性完全靠功能約束實(shí)現(xiàn)。客戶(hù)端的JavaScript并沒(méi)有刪除和改寫(xiě)文件的功能,也沒(méi)有任何類(lèi)型的網(wǎng)絡(luò)元語(yǔ)。但語(yǔ)言本身也存在一些漏洞,給系統(tǒng)帶來(lái)了安全隱患。 客戶(hù)端應(yīng)用體系結(jié)構(gòu)。從安全的角度分析,客戶(hù)端應(yīng)用技術(shù)劃分為兩個(gè)范疇 : 當(dāng)有關(guān)HTML文件被請(qǐng)求時(shí),瀏覽器立即自動(dòng)下載并啟動(dòng)動(dòng)態(tài)內(nèi)容應(yīng)用程序分割 需要用戶(hù)進(jìn)行安裝的應(yīng)用程序 Applet緩存 *二、體系結(jié)構(gòu)選型與跨平臺(tái)技術(shù):平臺(tái)兼容性 服務(wù)器端邏輯體系結(jié)構(gòu)。由于該體系結(jié)構(gòu)的代碼均在服務(wù)器端運(yùn)行,而HTML幾乎被所有瀏覽器支持,因此無(wú)需從客戶(hù)端考慮平臺(tái)問(wèn)題

13、。客戶(hù)端腳本體系結(jié)構(gòu)。使用客戶(hù)端腳本體系結(jié)構(gòu),將有許多不兼容問(wèn)題出現(xiàn)。雖然很多平臺(tái)都支持JavaScript,但在不同產(chǎn)品中存在明顯的差異。 客戶(hù)端應(yīng)用體系結(jié)構(gòu)。由于從一開(kāi)始就采取了很多措施來(lái)標(biāo)準(zhǔn)化Java語(yǔ)言和APIs,因此Java的兼容性做得比較好。但是在開(kāi)發(fā)applet時(shí),由于采用Java版本不同,也引起了一些平臺(tái)兼容性問(wèn)題。JDK的低版本被廣泛支持,JDK高版本的某些特性則不被所有的瀏覽器和操作系統(tǒng)支持。 *三、腳本語(yǔ)言及CSS樣式表應(yīng)用:腳本語(yǔ)言(1)腳本語(yǔ)言是介于 HTML 和 Java、C+ 和 Visual Basic 之類(lèi)的編程語(yǔ)言之間的語(yǔ)言。HTML 通常用于格式化文本和鏈

14、接網(wǎng)頁(yè)。編程語(yǔ)言通常用于向計(jì)算機(jī)發(fā)送一系列復(fù)雜指令。腳本語(yǔ)言也可用來(lái)向計(jì)算機(jī)發(fā)送指令,但它們的語(yǔ)法和規(guī)則沒(méi)有可編譯的編程語(yǔ)言那樣嚴(yán)格和復(fù)雜。腳本語(yǔ)言主要用于格式化文本和調(diào)用以編程語(yǔ)言編寫(xiě)的已編譯好的組件。ECMAScript。ECMAScript是由ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))標(biāo)準(zhǔn)化后,并以 ECMA-262語(yǔ)言規(guī)范的形式對(duì)外公開(kāi)發(fā)布。它是從 JavaScript1.1和Jscript1.0等技術(shù)上發(fā)展起來(lái)的。ECMAScript僅僅是一種規(guī)范描述,定義了腳本語(yǔ)言的所有屬性、方法和對(duì)象,其他的語(yǔ)言可以實(shí)現(xiàn)以ECMAScript為基準(zhǔn)的功能。ECMAScript目前發(fā)布的最高版本是3.0。

15、*三、腳本語(yǔ)言及CSS樣式表應(yīng)用:腳本語(yǔ)言(2)JavaScript。JavaScript是網(wǎng)景公司開(kāi)發(fā)的腳本語(yǔ)言,它的1.3版完全符合了ECMAScript腳本語(yǔ)言規(guī)范第一版。該語(yǔ)言包括一些核心對(duì)象和核心語(yǔ)言元素構(gòu)成的核心集。JScript。JScript是微軟公司開(kāi)發(fā)的腳本語(yǔ)言,它的3.0版基本符合了ECMAScript腳本語(yǔ)言規(guī)范第一版,目前微軟聲稱(chēng)J(Jscript 8.0)幾乎支持ECMAScript3.0所有功能。JScript只有在 Microsoft IE或 Microsoft IIS的解釋器下才能運(yùn)行。VBScript。VBScript是Microsoft

16、 Visual Basic家族的新成員。VBScript為IE帶來(lái)了“動(dòng)態(tài)腳本”,同樣也被 Windows腳本主機(jī)和Microsoft IIS所支持。 *三、腳本語(yǔ)言及CSS樣式表應(yīng)用:腳本語(yǔ)言(3)DHTML。DHTML是將HTML 、CSS和腳本語(yǔ)言有機(jī)結(jié)合來(lái)制作動(dòng)感的、交互性網(wǎng)頁(yè)的技術(shù) 。其中HTML用來(lái)定義網(wǎng)頁(yè)元素,如段落、表格等。 CSS用來(lái)描述元素屬性,如大小、顏色、位置等。 腳本語(yǔ)言用來(lái)操縱網(wǎng)頁(yè)元素和瀏覽器。 DHTML并不是什么新的技術(shù),它只不過(guò)是一些現(xiàn)有網(wǎng)頁(yè)技術(shù)與標(biāo)準(zhǔn)的整合。DHTML技術(shù)主要包括: 樣式表(Microsoft和 Netscape) 內(nèi)容的定位(Microso

17、ft和 Netscape) 動(dòng)態(tài)內(nèi)容(僅限于Microsoft) 數(shù)據(jù)綁定(僅限于Microsoft)可下載的字體(僅限于Netscape) *三、腳本語(yǔ)言及CSS樣式表應(yīng)用:CSS樣式表(1)層疊樣式表(Cascading Style Sheets,CSS)是一組樣式,樣式中的屬性在HTML文檔中依次出現(xiàn),并顯示在瀏覽器中。通??捎?種方法將定義的樣式與HTML文檔結(jié)合 內(nèi)聯(lián)樣式??梢允褂肧TYLE屬性?xún)?nèi)聯(lián)樣式。<HTML><HEAD><TITLE>CSS Sample:內(nèi)聯(lián)樣式</TITLE></HEAD><BODY>

18、<P STYLE=;color: red; font-family: 華文琥珀; font-style: Italic; serif;>紅色的“華文琥珀”斜體字,如果字體可用的話(huà)(一)。</P><P STYLE=;color: red; font-family: 華文琥珀; font-style: Italic;serif;>紅色的“華文琥珀”斜體字,如果字體可用的話(huà)(二)。</P></BODY></HTML>*三、腳本語(yǔ)言及CSS樣式表應(yīng)用:CSS樣式表(2)嵌入樣式。一個(gè)樣式表可以使用STYLE元素嵌入在文檔中,STY

19、LE元素放在文檔的HEAD部分。<HTML><HEAD><TITLE>CSS Sample:嵌入樣式</TITLE><style TYPE=;text/css; MEDIA=screen><!-Pfont-family: 華文琥珀; font-style: Italic;color: red;-></style></HEAD><BODY><P> 紅色的;華文琥珀;斜體字,如果字體可用的話(huà)(一)。</P><P> 紅色的;華文琥珀;斜體字,如果字體可用的話(huà)

20、(二)。</P></BODY></HTML> *三、腳本語(yǔ)言及CSS樣式表應(yīng)用:CSS樣式表(3)輸入樣式: 一個(gè)樣式表可以使用CSS的import 聲明被輸入。<HTML><HEAD><TITLE>CSS Sample:輸入樣式</TITLE><style TYPE=;text/css; MEDIA=screen><!- import url(style.css); -></style></HEAD><BODY><P> 紅色的;華文琥珀;

21、斜體字,如果字體可用的話(huà)(一)。</P><P> 紅色的;華文琥珀;斜體字,如果字體可用的話(huà)(二)。</P></BODY></HTML> ? 如果STYLE中包含了其它的CSS規(guī)則,要注意所有的import 聲明必須放在樣式表的開(kāi)始部分。*三、腳本語(yǔ)言及CSS樣式表應(yīng)用:CSS樣式表(4)鏈接外部樣式。一個(gè)外部樣式表可以通過(guò)HTML的LINK元素連接到HTML文檔中,<LINK>標(biāo)記放置在文檔的HEAD部分。<HTML><HEAD><TITLE>CSS Sample:鏈接外部樣式</

22、TITLE><LINK REL=StyleSheet HREF=;style.css; TYPE=;text/css; MEDIA=screen></HEAD><BODY> <P> 紅色的“華文琥珀”斜體字,如果字體可用的話(huà)(一)。 </P><P> 紅色的“華文琥珀”斜體字,如果字體可用的話(huà)(二)。</P></BODY></HTML>*第七章 電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù) 前臺(tái)(客戶(hù)端)開(kāi)發(fā)技術(shù) 后臺(tái)(服務(wù)器端)技術(shù) Web Service技術(shù) *第二節(jié) 后臺(tái)(服務(wù)器端)技術(shù)一、服務(wù)器端技

23、術(shù)概述 動(dòng)態(tài)頁(yè)面是由Web服務(wù)器根據(jù)客戶(hù)的請(qǐng)求(包括可能的參數(shù))在運(yùn)行時(shí)刻產(chǎn)生的Web頁(yè)面。而靜態(tài)頁(yè)面并不是在客戶(hù)發(fā)出請(qǐng)求之后產(chǎn)生的,通常事先存放在Web服務(wù)器的文件系統(tǒng)中。與提供靜態(tài)頁(yè)面相比,動(dòng)態(tài)頁(yè)面的生成需要服務(wù)器做更多的事情。支持動(dòng)態(tài)頁(yè)面生成的技術(shù)主要包括公共網(wǎng)關(guān)接口、服務(wù)器端腳本技術(shù)、插件技術(shù)、Servlet技術(shù)和JSP技術(shù)。*一、服務(wù)器端技術(shù)概述:公共網(wǎng)關(guān)接口 公共網(wǎng)關(guān)接口(Common Gateway Interface,CGI)是Web服務(wù)器生成動(dòng)態(tài)頁(yè)面的原始方法,它是應(yīng)用程序和Web服務(wù)器之間的接口標(biāo)準(zhǔn)。通常HTML表單和CGI一起使用,CGI程序允許用戶(hù)通過(guò)網(wǎng)頁(yè)把數(shù)據(jù)輸入數(shù)據(jù)

24、庫(kù),也允許數(shù)據(jù)從數(shù)據(jù)庫(kù)流向用戶(hù)。CGI程序通常可以使用C/C+、PERL、TCL(Tool Command Language)、VB等語(yǔ)言來(lái)寫(xiě)。但是,在CGI模型中,對(duì)每一個(gè)訪(fǎng)問(wèn)CGI程序的HTTP請(qǐng)求,服務(wù)器端都會(huì)產(chǎn)生一個(gè)新的進(jìn)程來(lái)處理這個(gè)請(qǐng)求。這種模式限制了服務(wù)器同時(shí)處理多個(gè)請(qǐng)求的能力,另外,CGI程序無(wú)法與Web服務(wù)器交互,因?yàn)閮烧哌\(yùn)行在不同的進(jìn)程中。*一、服務(wù)器端技術(shù)概述:服務(wù)器端腳本技術(shù)和插件技術(shù) 服務(wù)器端腳本技術(shù)。服務(wù)器端腳本技術(shù)是指Web應(yīng)用開(kāi)發(fā)者在Web頁(yè)面中直接嵌入腳本生成動(dòng)態(tài)頁(yè)面,當(dāng)這些頁(yè)面被請(qǐng)求時(shí),頁(yè)面中的腳本由服務(wù)器解釋產(chǎn)生動(dòng)態(tài)內(nèi)容。該技術(shù)的代表是Microsoft的A

25、SP(Active Server Pages)和Allaire的ColdFusion。該技術(shù)沒(méi)有跨平臺(tái)性,僅局限于某種類(lèi)型的產(chǎn)品或操作系統(tǒng),開(kāi)發(fā)者必須學(xué)習(xí)某種特定的腳本語(yǔ)言。插件技術(shù)。各種Web服務(wù)器支持若干種典型的插件技術(shù)。包括Netscape NSAPI和Microsoft ISAPI。該技術(shù)能提供比較好的性能,但由于與Web服務(wù)器的耦合度太強(qiáng),編程難度也較大。 *一、服務(wù)器端技術(shù)概述:Servlet 技術(shù)和JSP Servlet是產(chǎn)生動(dòng)態(tài)內(nèi)容的一種服務(wù)器端Java技術(shù)。具有以下特性:可移植性持久性和高性能 基于Java JSP是一種基于Java的腳本技術(shù),具有下列特性:內(nèi)容表達(dá)與數(shù)據(jù)生成

26、的分離 更好的MVC分層體系結(jié)構(gòu)基于Java易用性 可移植性 基于Java 支持協(xié)作開(kāi)發(fā) *二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):ASP簡(jiǎn)介 ASP是Active Server Pages(動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè))的縮寫(xiě),它是Microsoft公司開(kāi)發(fā)的一個(gè)服務(wù)器端的腳本環(huán)境,在站點(diǎn)的Web服務(wù)器上解釋腳本,可產(chǎn)生并執(zhí)行動(dòng)態(tài)、交互式且高效的站點(diǎn)服務(wù)器應(yīng)用程序。ASP可以勝任基于Microsoft Web服務(wù)器的各種動(dòng)態(tài)數(shù)據(jù)發(fā)布。以下是ASP所具有的一些特點(diǎn): 使用VBScript、Jscript等簡(jiǎn)單易懂的腳本語(yǔ)言 無(wú)需編譯,可在服務(wù)器端直接執(zhí)行 與瀏覽器無(wú)關(guān) ASP能與任何ActiveX scripting

27、語(yǔ)言相容 ASP的源程序不會(huì)被傳到客戶(hù)瀏覽器 面向?qū)ο?*二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):基于A(yíng)SP技術(shù)的Web服務(wù) 器運(yùn)行環(huán)境(1) ASP是微軟公司提供的,目前可在微軟公司的下列平臺(tái)上使用,其他的服務(wù)器在安裝了ASP組件后也能實(shí)現(xiàn)這個(gè)功能。一般站點(diǎn)都是用IIS作為服務(wù)器,PWS是為一般的PC用戶(hù)開(kāi)發(fā)的。IIS是一種Web服務(wù),主要包括服務(wù)器、FTP服務(wù)器等,它使得在Internet或Intranet上發(fā)布信息成了一件很容易的事。下面以WindowsXP為例,介紹Web服務(wù)器環(huán)境設(shè)置 Windows2003+IIS(Internet Information Service,Internet信息

28、服務(wù)) WindowsXP + IIS Windows2000 Advance Server + IIS Windows2000 Server + IIS*二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):基于A(yíng)SP技術(shù)的Web服務(wù) 器運(yùn)行環(huán)境(2) Windows2000 Pro + IIS Win98+PWS(Personnel Web Service) ? 下面以WindowsXP為例,介紹Web服務(wù)器環(huán)境設(shè)置。 (1)在安裝Windows系統(tǒng)時(shí),IIS默認(rèn)為不安裝,因此在配置Web之前需先安裝IIS。 (2)進(jìn)入控制面板的“管理工具”里面,點(diǎn)擊“Internet服務(wù)管理器”,就進(jìn)入了IIS服務(wù)器的管理界面

29、,如圖7-4所示。 *二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):基于A(yíng)SP技術(shù)的Web服務(wù) 器運(yùn)行環(huán)境(3) 圖7-4 目錄設(shè)置 圖7-5 屬性設(shè)置之一 *二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):基于A(yíng)SP技術(shù)的Web服務(wù) 器運(yùn)行環(huán)境(4)圖7-6 屬性設(shè)置之二 圖7-3 屬性設(shè)置之三 *二、基于A(yíng)SP的服務(wù)器端開(kāi)發(fā):ASP同腳本語(yǔ)言的關(guān)系 ASP是一套服務(wù)器端的對(duì)象模型。 下面的例子用來(lái)說(shuō)明ASP與腳本語(yǔ)言的關(guān)系:<%IF Session(“Name”)= “Zhangsan” THEN Result=“He is a boy” Get=TrueELSE Result=“He is not a boy”Ge

30、t=False END IF%> ? 此例中,IF語(yǔ)句和賦值語(yǔ)句都是腳本語(yǔ)言VBScript的標(biāo)準(zhǔn)語(yǔ)法,而Session(“Name”)則是ASP中Session對(duì)象的一個(gè)引用。VBscript(或JavaScript)是一種解釋型語(yǔ)言,由Web服務(wù)器或?yàn)g覽器解釋執(zhí)行。*三、基于JSP的服務(wù)器端開(kāi)發(fā):應(yīng)用體系結(jié)構(gòu)(1) 基于Servlet、JSP和JavaBeans的Web應(yīng)用體系結(jié)構(gòu)應(yīng)用服務(wù)器CommandBeansDataBeans5ViewBeansResultJSPs含表格的HTML頁(yè)面CICSDB2CICS其他HTTP Server169527384*三、基于JSP的服務(wù)器端開(kāi)

31、發(fā):應(yīng)用體系結(jié)構(gòu)(2)HTML頁(yè)面。輸入的數(shù)據(jù)可以在瀏覽器通過(guò)HTML頁(yè)面中的JavaScript進(jìn)行驗(yàn)證,或者發(fā)給服務(wù)器后由Servlet來(lái)驗(yàn)證。Servlet。Servlet從應(yīng)用服務(wù)器取得控制權(quán),來(lái)執(zhí)行基本的流程控制。 Command Beans??刂茦I(yè)務(wù)邏輯的處理。Data Beans。保存由Command Beans或者后臺(tái)系統(tǒng)計(jì)算的結(jié)果。 View Beans。為JSPs和Data Beans架構(gòu)了橋梁。 JSPs。為瀏覽器生成有關(guān)輸出。 *三、基于JSP的服務(wù)器端開(kāi)發(fā):MVC設(shè)計(jì)模式JSP設(shè)計(jì)遵循了MVC設(shè)計(jì)模式,該設(shè)計(jì)模式包含3個(gè)部件: 模型是針對(duì)有關(guān)數(shù)據(jù)以及與之關(guān)聯(lián)的事務(wù)處理

32、,它是業(yè)務(wù)邏輯 視圖是針對(duì)數(shù)據(jù)的顯示,它是頁(yè)面的構(gòu)建 控制器是針對(duì)模型與外部世界的交互,它是交互的控制 MVC示圖MVC處理過(guò)程:首先控制器接收用戶(hù)的請(qǐng)求,并決定應(yīng)該調(diào)用哪個(gè)模型來(lái)進(jìn)行處理然后模型用業(yè)務(wù)邏輯來(lái)處理用戶(hù)的請(qǐng)求并返回?cái)?shù)據(jù)最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過(guò)表示層呈現(xiàn)給用戶(hù)。為什么使用MVC:MVC從根本上強(qiáng)制性的將數(shù)據(jù)層代碼和表示層代碼分開(kāi)多個(gè)視圖能共享一個(gè)模型 ,由于模型返回的數(shù)據(jù)沒(méi)有進(jìn)行格式化,同樣的構(gòu)件能被不同界面使用。即模型取得的數(shù)據(jù)是原始數(shù)據(jù),所以你可以采用視圖view進(jìn)行自己的格式化數(shù)據(jù),生成不同的展現(xiàn)視圖 MVC的應(yīng)用程序的三個(gè)部件相互對(duì)立,可以使用控制

33、器來(lái)聯(lián)接不同的模型和視圖去完成用戶(hù)的需求 *四、基于.NET的開(kāi)發(fā)技術(shù):.NET基本概念 .NET是Microsoft面向XML Web服務(wù)的平臺(tái),它使用一種統(tǒng)一的、個(gè)性化的方式將客戶(hù)的信息、設(shè)備和人員緊密聯(lián)系在一起。Microsoft 認(rèn)為向分布式計(jì)算的轉(zhuǎn)變正在悄悄地進(jìn)行著,.NET 的目的正是要加速產(chǎn)生下一代分布式計(jì)算的過(guò)程,是微軟用來(lái)實(shí)現(xiàn)XML,Web Services, SOA和敏捷性的技術(shù)。 .NET代表著聯(lián)通性、敏捷性和成功: 聯(lián)通性。.NET的遠(yuǎn)景是讓所有的事物都連接起來(lái)敏捷性。它體現(xiàn)在商務(wù)敏捷性和IT敏捷性?xún)煞矫娉晒Α?.NET創(chuàng)建敏捷的系統(tǒng),帶來(lái)商務(wù)上的成功 *四、基于.NE

34、T的開(kāi)發(fā)技術(shù):.NET的三層架構(gòu) 所謂三層體系結(jié)構(gòu)是在客戶(hù)端與數(shù)據(jù)庫(kù)之間加入了一個(gè)組件層。三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)訪(fǎng)問(wèn)、合法性校驗(yàn)等工作放到了組件層進(jìn)行處理。 .NET三層架構(gòu) *四、基于.NET的開(kāi)發(fā)技術(shù):.NET的開(kāi)發(fā)語(yǔ)言C#語(yǔ)言。C#(讀作“Csharp”)是一種簡(jiǎn)單、現(xiàn)代、面向?qū)ο笄翌?lèi)型安全的編程語(yǔ)言,C#同時(shí)具備“應(yīng)用程序快速開(kāi)發(fā)”語(yǔ)言的高效率和C+固有的強(qiáng)大能力。C#吸收了Java的許多優(yōu)點(diǎn)。C+.NET。從VisualC+.NET開(kāi)始,標(biāo)準(zhǔn)C+語(yǔ)言已擴(kuò)展成為托管編程提供支持。J#。VisualJ#提供獨(dú)立開(kāi)發(fā)的類(lèi)庫(kù)集以提供大多數(shù)JDK1.1.4級(jí)類(lèi)庫(kù)的功能JScript

35、.NET。Microsoft實(shí)現(xiàn)ECMA?a name=baidusnap62262語(yǔ)言的新一代版本。通過(guò)將先前版本的JScript功能集與基于類(lèi)的語(yǔ)言的最佳功能相結(jié)合,JScript.NET包含了這兩個(gè)領(lǐng)域的精華部分。*四、基于.NET的開(kāi)發(fā)技術(shù):一個(gè)簡(jiǎn)單的.NET應(yīng)用舉例該示例為用戶(hù)注冊(cè)的簡(jiǎn)單例子。數(shù)據(jù)庫(kù)中只有一個(gè)表,表結(jié)構(gòu)如下。 以三層架構(gòu)搭建框架。共三層4個(gè)項(xiàng)目:表現(xiàn)層直接與用戶(hù)進(jìn)行交互,顯示和獲取數(shù)據(jù),并對(duì)用戶(hù)輸入進(jìn)行檢驗(yàn)。Web:B/S結(jié)構(gòu)模型Windows:C/S結(jié)構(gòu)模型。 BLL業(yè)務(wù)邏輯層:實(shí)現(xiàn)業(yè)務(wù)邏輯OleDbDAL數(shù)據(jù)訪(fǎng)問(wèn)層:負(fù)責(zé)與數(shù)據(jù)庫(kù)通信,存取數(shù)據(jù)編號(hào)字段名名稱(chēng)類(lèi)型1I

36、d編號(hào)Integer2Name姓名Varchar(10)*第七章 電子商務(wù)實(shí)用開(kāi)發(fā)技術(shù) 前臺(tái)(客戶(hù)端)開(kāi)發(fā)技術(shù) 后臺(tái)(服務(wù)器端)技術(shù) Web Service技術(shù) *第三節(jié) Web Service技術(shù) 一、Web Service的定義及特征 Web Service是一種新型的Web應(yīng)用程序。它是自適應(yīng)、自我描述、模塊化的應(yīng)用程序,可以使用標(biāo)準(zhǔn)的互連網(wǎng)協(xié)議,將功能體現(xiàn)在互聯(lián)網(wǎng)和內(nèi)聯(lián)網(wǎng)上。這些應(yīng)用程序可以跨越Web進(jìn)行發(fā)布、定位和調(diào)用,可將Web Service視作Web上的組件編程。 Web Service具備如下的特征:封裝完好。Web Service是一種組件,它自然具備組件的一些基本特征。對(duì)

37、于用戶(hù)而言,只能看到Web Service提供的網(wǎng)絡(luò)編程接口。 *一、Web Service的定義及特征 松散耦合。對(duì)象組件技術(shù)的一個(gè)基本特點(diǎn)就是透明性,即當(dāng)一個(gè)組件的實(shí)現(xiàn)內(nèi)容發(fā)生變化之后,調(diào)用它的用戶(hù)不會(huì)發(fā)現(xiàn)其中的變化,即組件的內(nèi)容對(duì)用戶(hù)是透明的。高度的可集成能力。這種特性是由Web Service所采用的規(guī)范決定的。由于Web Service采取簡(jiǎn)單的、易理解的標(biāo)準(zhǔn)Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,完全屏蔽了不同軟件平臺(tái)的差異,實(shí)現(xiàn)了高度的可集成性。使用標(biāo)準(zhǔn)的協(xié)議和規(guī)范。Web Service要實(shí)現(xiàn)上述的優(yōu)良特性,必須遵循定義良好的、開(kāi)放的標(biāo)準(zhǔn)協(xié)議,如WSDL、XML、SOAP等。

38、 *二、Web Service架構(gòu)與模型:Web Service架構(gòu)無(wú)論Web Service使用哪種工具和語(yǔ)言開(kāi)發(fā),只要它是通過(guò)SOAP協(xié)議被調(diào)用,其架構(gòu)都可用圖7-10描述。Web ClientWindows ClientWindows ClientSOAP RequestSOAP ResponseRequest HandlerWeb ServerWeb ServiceWeb ServiceWeb Service圖7-10 典型Web Service結(jié)構(gòu)圖 *二、Web Service架構(gòu)與模型:Web Service模型(1) Web Service體系結(jié)構(gòu)基于三個(gè)角色之間的相互作用,這

39、三個(gè)角色是:服務(wù)提供者(Service Provider)服務(wù)注冊(cè)處(Service Registry)服務(wù)請(qǐng)求者(Service Requestor) 它們之間的相互作用關(guān)系如圖7-11所示。 *二、Web Service架構(gòu)與模型:Web Service模型(2)服務(wù)注冊(cè)處服務(wù)描述發(fā)布WSDL UDDI發(fā)現(xiàn)WSDL UDDI服務(wù)請(qǐng)求者服務(wù)提供者服務(wù)服務(wù)描述圖7-11 Web Service體系結(jié)構(gòu)中的角色關(guān)系 一個(gè)典型的服務(wù)是:服務(wù)提供者有一個(gè)從網(wǎng)絡(luò)可以訪(fǎng)問(wèn)的軟件模塊(由Web Service實(shí)現(xiàn)),服務(wù)提供者還提供了這個(gè)服務(wù)的描述,并將它發(fā)布到服務(wù)請(qǐng)求者或者服務(wù)注冊(cè)處。 *二、Web S

40、ervice架構(gòu)與模型:Web Service模型(2)Web Service模型中的角色 服務(wù)提供者。從企業(yè)的角度來(lái)看它是服務(wù)的所有者,從整個(gè)體系的角度看它是容納服務(wù)的平臺(tái)。 服務(wù)請(qǐng)求者。從企業(yè)的角度看它是一個(gè)尋求一定服務(wù)功能的請(qǐng)求者,從整個(gè)體系的角度來(lái)看它也是一個(gè)尋找和調(diào)用服務(wù)的應(yīng)用程序。 服務(wù)注冊(cè)處。它是服務(wù)提供者發(fā)布其服務(wù)描述的地方。 Web Service模型中的操作 發(fā)布(Publication) 發(fā)現(xiàn)(Discovery)綁定(Binding) *三、Web Service技術(shù)基礎(chǔ) :XML(1) XML(可擴(kuò)展標(biāo)記語(yǔ)言)是一種構(gòu)造數(shù)據(jù)的技術(shù),是W3C(World Wide We

41、b Consortium)的一個(gè)推薦標(biāo)準(zhǔn)。XML不僅允許用戶(hù) 定義自己的一套標(biāo)記,而且允許用戶(hù)根據(jù)各種不同的規(guī)則來(lái)指定標(biāo)記。 DTD(Document Type Definition)即文檔類(lèi)型定義,指用不同于XML的獨(dú)立語(yǔ)法來(lái)規(guī)定XML文檔中各種元素集合的內(nèi)容模式,語(yǔ)言直接沿襲了定義SGML語(yǔ)言的方法,具有以下特點(diǎn):DTD使得XML文檔保持一致 DTD可以共享綁定(Binding) DTD提供了對(duì)XML語(yǔ)匯的形式化和完整的定義每個(gè)XML文檔由單個(gè)的DTD來(lái)限制 *三、Web Service技術(shù)基礎(chǔ) :XML(2) XSL。XML文檔決定了文檔的內(nèi)容,樣式表XSL(Extensible Sty

42、lesheet Language)則規(guī)定著文檔的顯示。XSL是通過(guò)XML進(jìn)行定義的,遵守XML的語(yǔ)法規(guī)則,是XML的一種具體應(yīng)用。 XSL由兩大部分組成:第一部分描述了如何將一個(gè)XML文檔進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換為可瀏覽或可輸出的格式;第二部分則定義了格式對(duì)象FO(Formatted Object)。 XSLT。XSLT(Extensible Stylesheet Language Transformations)標(biāo)準(zhǔn)用來(lái)描述如何識(shí)別、選擇、匹配XML文檔中的各個(gè)構(gòu)成元件,包括元素、屬性、文字內(nèi)容等。XSLT主要的功能就是轉(zhuǎn)換,它將一個(gè)沒(méi)有形式表現(xiàn)的XML內(nèi)容文檔作為一個(gè)源樹(shù),將其轉(zhuǎn)換為一個(gè)有樣式信息的

43、結(jié)果樹(shù)。 *三、Web Service技術(shù)基礎(chǔ) :SOAP(1) SOAP(Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議)是基于XML的,在分布式的環(huán)境中交換信息的簡(jiǎn)單的協(xié)議。SOAP協(xié)議規(guī)范描述了有關(guān)SOAP的消息處理過(guò)程,并涉及到性能和安全性的問(wèn)題。SOAP的消息路徑機(jī)制和可擴(kuò)充的Header和Body機(jī)制又為分布式計(jì)算提供了很好的支持。它包括四個(gè)部分: SOAP信封。封裝定義了一個(gè)描述消息中的內(nèi)容是什么,是誰(shuí)發(fā)送的,誰(shuí)應(yīng)當(dāng)接受并處理它以及如何處理它們的框架。 SOAP編碼規(guī)則。用于表示應(yīng)用程序需要使用的數(shù)據(jù)類(lèi)型的實(shí)例,SOAP的一個(gè)設(shè)計(jì)目標(biāo)就是要利用XML

44、的可擴(kuò)展性和可伸縮性來(lái)包裝和交換RPC調(diào)用。 SOAP RPC表示。表示遠(yuǎn)程過(guò)程調(diào)用和應(yīng)答的協(xié)定。 SOAP 綁定。使用底層協(xié)議交換信息。 *三、Web Service技術(shù)基礎(chǔ) :SOAP(2)消息交換機(jī)制。從根本上來(lái)看,SOAP消息是從發(fā)送方到接受方的一種傳輸方法,但是SOAP消息一般會(huì)和實(shí)現(xiàn)模式結(jié)合。無(wú)論SOAP與哪種協(xié)議綁定,消息都可以通過(guò)消息路徑來(lái)指定路線(xiàn)發(fā)送,消息路徑機(jī)制使消息在到達(dá)最終目的地之前可以在一個(gè)或多個(gè)中間服務(wù)上處理。 SOAP模型。SOAP可理解成協(xié)議SOAP=RPC+HTTP+XML。XML提供了一個(gè)跨平臺(tái)的數(shù)據(jù)編碼格式化方法;SOAP則在XML之上,定義了一種跨系統(tǒng)平

45、臺(tái)的交換信息的簡(jiǎn)單包裝方法;綁定于HTTP之上的SOAP協(xié)議,則是在包裝的協(xié)議之上,定義了在系統(tǒng)之間進(jìn)行與編程語(yǔ)言、操作系統(tǒng)無(wú)關(guān)的遠(yuǎn)程調(diào)用方法。使用XML和SOAP這樣的跨語(yǔ)言、跨平臺(tái)的解決方案簡(jiǎn)化了多個(gè)應(yīng)用之間的一致性問(wèn)題。 *三、Web Service技術(shù)基礎(chǔ) :WSDL(1)WSDL(Web Service Description Language,服務(wù)描述語(yǔ)言)提供了一個(gè)基于XML的簡(jiǎn)單語(yǔ)匯表,用來(lái)描述通過(guò)網(wǎng)絡(luò)提 供的基于XML的Web Service,描述Web Service做什么,它在哪里及如何調(diào)用它。WSDL本身不規(guī)定如何發(fā)布或公布這種服務(wù)描述,而是將這項(xiàng)任務(wù)留給其他規(guī)范。WS

46、DL將Web Service描述定義為一組服務(wù)訪(fǎng)問(wèn)點(diǎn),客戶(hù)端可以通過(guò)這些服務(wù)訪(fǎng)問(wèn)點(diǎn),對(duì)包含面向文檔信息或面向過(guò)程調(diào)用的服務(wù)進(jìn)行訪(fǎng)問(wèn)(類(lèi)似遠(yuǎn)程過(guò)程調(diào)用)。WSDL首先對(duì)訪(fǎng)問(wèn)的操作和訪(fǎng)問(wèn)時(shí)使用的請(qǐng)求/響應(yīng)消息進(jìn)行抽象描述,然后將其綁定到具體的傳輸協(xié)議和消息格式上以最終定義具體部署的服務(wù)訪(fǎng)問(wèn)點(diǎn)。相關(guān)的具體部署的服務(wù)訪(fǎng)問(wèn)點(diǎn)通過(guò)組合就成為抽象的Web Service。 *三、Web Service技術(shù)基礎(chǔ) :WSDL(2)WSDL(Web Service Description Language,服務(wù)描述語(yǔ)言)提供了一個(gè)基于XML的簡(jiǎn)單語(yǔ)匯表,圖7-13描述了WSDL文檔在Web Service交互中的

47、作用。 3調(diào)用Web ServiceXML注冊(cè)表或WSDL儲(chǔ)存庫(kù)客戶(hù)機(jī)1Web服務(wù)管理員在XML注冊(cè)表或其他WSDL儲(chǔ)存庫(kù)中發(fā)布WSDL文檔2取得WSDL文檔圖 7-13 WSDL文檔在Web Service交互中的作用 *三、Web Service技術(shù)基礎(chǔ) :WSDL(3)WSDL元素。在WSDL規(guī)范中,定義了如何使用SOAP消息格式、HTTP GET/POST消息格式以及MIME格式來(lái)完成Web Service交互的規(guī)范。WSDL文檔在Web Service的定義中使用下列元素: Types。數(shù)據(jù)類(lèi)型定義的容器。 Message。通信消息的數(shù)據(jù)結(jié)構(gòu)的抽象類(lèi)型化定義。Operation。對(duì)服

48、務(wù)中所支持的操作的抽象描述。PortType。某個(gè)訪(fǎng)問(wèn)入口點(diǎn)類(lèi)型支持的操作的抽象集合。Port。定義為協(xié)議/數(shù)據(jù)格式綁定與具體Web訪(fǎng)問(wèn)地址組合的單個(gè)服務(wù)訪(fǎng)問(wèn)點(diǎn)。 Binding。特定端口類(lèi)型的具體協(xié)議和數(shù)據(jù)格式規(guī)范的綁定。Service。相關(guān)服務(wù)訪(fǎng)問(wèn)點(diǎn)的集合。 *三、Web Service技術(shù)基礎(chǔ) :UDDI(1)UDDI概述。UDDI(Universal Description,Discovery and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議),定義了Web Service的發(fā)布和發(fā)現(xiàn)的方法。UDDI規(guī)范在XML和SOAP的基礎(chǔ)上定義了新的一層,在這一層次,UDDI提供了一種基

49、于分布式的商業(yè)注冊(cè)中心的方法,該商業(yè)注冊(cè)中心維護(hù)了一個(gè)Web Service的全球目錄,而且其中的信息描述格式基于通用的XML格式。 UDDI技術(shù)發(fā)現(xiàn)層。UDDI標(biāo)準(zhǔn)描述了一個(gè)由Web Service所構(gòu)成的一個(gè)概念上的云狀結(jié)構(gòu),和一個(gè)定義Web應(yīng)用服務(wù)框架的編程接口。UDDI標(biāo)準(zhǔn)和計(jì)劃用來(lái)在互聯(lián)網(wǎng)上建立起“發(fā)現(xiàn)”服務(wù)。這些“發(fā)現(xiàn)”服務(wù)提供了一致的發(fā)布接口,使得企業(yè)能編程進(jìn)行“發(fā)現(xiàn)”操作。*三、Web Service技術(shù)基礎(chǔ) :UDDI(2)UDDI標(biāo)準(zhǔn)包括了一個(gè)SOAP消息的XML Schema描述,一個(gè)UDDI標(biāo)準(zhǔn)API。UDDI的XML Schema定義了四種類(lèi)型的信息: UDDI信息模

50、型圖 PublisherAssertion雙方間的關(guān)系由雙方確定BusinessEntity商業(yè)實(shí)體信息Business Service商業(yè)服務(wù)信息Binding Template綁定信息tModel技術(shù)模型信息Binding Template數(shù)據(jù)包含tModel的引用*三、Web Service技術(shù)基礎(chǔ) :UDDI(3)商業(yè)實(shí)體信息(Business Entity)。商業(yè)實(shí)體信息包括公司的一般信息,如名稱(chēng)、地址和聯(lián)系信息。商業(yè)服務(wù)信息(Business Service)。描述商業(yè)實(shí)體提供的服務(wù)。 綁定信息(Binding Template)。指服務(wù)訪(fǎng)問(wèn)入口和使用的協(xié)議。 技術(shù)模型信息(tMo

51、del)。提供了Web Service的WSDL的入口及相關(guān)信息。 *四、Web Service的應(yīng)用領(lǐng)域 面向商業(yè)的Web Service。指面向企業(yè)應(yīng)用的服務(wù),包括企業(yè)內(nèi)部的ERP系統(tǒng)、企業(yè)間的SCM、CRM等系統(tǒng)。 面向消費(fèi)者的Web Service。此類(lèi)服務(wù)是對(duì)已有B2C網(wǎng)站的改造,為面向?yàn)g覽器的Web應(yīng)用增加Web Service的應(yīng)用界面,使得第三方的桌面工具或其自身提供的增值桌面工具能夠利用更優(yōu)秀的用戶(hù)界面提供跨越多個(gè)B2C服務(wù)的桌面服務(wù)。 面向設(shè)備的Web Service。此類(lèi)服務(wù)的使用終端一般是手持設(shè)備或家電。面向系統(tǒng)的Web Service。指一些傳統(tǒng)意義上的系統(tǒng)服務(wù), 如果將其移植到Internet/Intranet上,其作用范圍將從單個(gè)系統(tǒng)或局域網(wǎng)拓展到整個(gè)Internet或Intranet。 *本章小結(jié)本章首先介紹了前后臺(tái)的常用開(kāi)發(fā)技術(shù)及所采用的應(yīng)用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論