




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第07章_電子商務實用開發技術電子商務概論07國貿營銷專業主講:陳 婷*第七章 電子商務實用開發技術 前臺(客戶端)開發技術 后臺(服務器端)技術 Web Service技術 *第一節 前臺(客戶端)開發技術 一、用戶界面體系結構動態內容表現有三種用戶界面體系結構,一是服務器端提供動態邏輯,二是使用腳本語言來表現動態內容,三是通過運行在客戶端的應用程序來實現動態內容。*一、用戶界面體系結構:服務器端邏輯體系結構(1)客戶機服務器瀏覽器用戶動作內容和控制的產生控制邏輯業務邏輯內容構建請求響應圖7-1 服務器端邏輯體系結構 *一、用戶界面體系結構:服務器端邏輯體系結構(2) 由于在Web服務器上,
2、最簡單和最常用的體系結構是完全依靠服務器來提供用戶界面內容。客戶端包括一個瀏覽器,主要用來顯示從服務器上得到的頁面。每一個用戶動作,例如按下一個按鈕,都產生一個對服務器的請求指令,服務器處理這個請求并計算結果,生成一個新的頁面再次發送到客戶端。服務器端的操作可以分成三個步驟:控制邏輯 業務邏輯 內容構建 *一、用戶界面體系結構:客戶端腳本體系結構(1)向客戶端提供動態內容的另一種途徑是將腳本作為HTML頁面的一部分,從服務器傳送到客戶端,腳本通常包括一些不需要與服務器應用程序通信就能在客戶端執行的應用邏輯,如圖7-2所示。復雜的邏輯仍然由服務器端執行,這就需要客戶端給服務器端發出新的請求,服務
3、器端處理后,將處理結果返回給客戶端,最終還是由腳本作進一步處理。這種體系結構的優點是服務器與用戶的通信較少,需要的服務器資源也比較少(由于在客戶端執行一些業務邏輯),可以對用戶動作給出更多的響應(如鼠標的移動)。支持該體系結構的技術,代表性的有ECMAScript/JavaScript/Jscript、VBScript和 DHTML(Dynamic HTML)。*一、用戶界面體系結構:客戶端腳本體系結構(2)瀏覽器用戶請求頁面切換產生頁面/簡單控制邏輯內容修改切換/復雜控制邏輯商務邏輯內容構建+邏輯嵌入客戶機服務器響應 圖7-2 客戶端腳本體系結構 *一、用戶界面體系結構:客戶端應用體系結構(
4、1)在客戶端加入邏輯的另一個體系結構是在客戶端運行一個功能完全的應用程序。用戶可以下載這個程序(每次站點訪問的下載或者將這個應用程序放在用戶的高速緩存中)。此后它將控制用戶的交互和內容構造。當服務器上執行的業務邏輯必須初始化時,通信才成為必要。這種通信是通過內嵌在http中的協議來完成的,并且它只傳輸必要的網絡數據(并不需要傳輸HTML數據內容)。因此,在客戶端和服務器端均需要附加的通信邏輯。該體系結構的優點是消除了用戶界面和業務邏輯的區別;與服務器的通信量很少;Web頁面可離線瀏覽;不需要很多服務器資源。*一、用戶界面體系結構:客戶端應用體系結構(2)瀏覽器用戶開始應用程序 下載+版本控制通
5、信邏輯商業邏輯客戶機服務器下載applet應用控制邏輯通信邏輯內容構建邏輯請求*一、用戶界面體系結構:客戶端應用體系結構(93)支持客戶端應用體系結構的技術有:Java applets是可以作為Web文檔中的附件來分發的Java程序。Applets的代碼可以被支持Java的瀏覽器解釋和執行。Java應用程序是運行在客戶端系統上的獨立的應用程序,這種客戶端系統與瀏覽器無關。Active X為一組綜合技術,這些技術使得用任何語言寫的軟件構件在網絡環境中能相互操作。/exporter1.alibaba3/expleads/formyyckt.html?srctrace=y&src=googl
6、e&tracelog=cgs_g_yczhuce&activity=ppcok*二、體系結構選型與跨平臺技術 :瘦客戶機和胖客戶機(1)有關用戶界面體系結構的討論總是與瘦客戶和胖客戶的討論有關。在客戶/服務器的應用中,瘦客戶是指客戶機被設計得很小,大多數的數據操作都在服務器端進行;而胖客戶是指在本地客戶端執行大多數的數據處理,只有數據本身是存儲在服務器上。對Web應用而言,服務器端邏輯體系結構是典型的瘦客戶,而客戶端應用體系結構和大部分的需要特定插件的多媒體技術,可以被看作是一種胖客戶,雖然在大多數情況下服務器還要處理數據存取的其他任務。胖客戶與瘦客戶有其各自的特點 *二、體系
7、結構選型與跨平臺技術 :瘦客戶機和胖客戶機(2) 胖客戶與瘦客戶的性能比較 胖客戶 瘦客戶 客戶端功能強大,客戶自主性強 客戶端功能少,缺少靈活性 部署和管理比較困難,每次系統更新升級,所有客戶端都必須重新安裝部署和管理比較容易,系統更新升級只需重新安裝服務器端 對客戶要求較高,可能需要專門培訓對客戶要求較低,只要會用瀏覽器就可以操作 胖客戶體系結構的總費用高,但服務提供商的費用較低,用戶要配置較高性能的計算機而承擔較高的費用瘦客戶體系結構的總費用低,但服務提供商的費用較高 *二、體系結構選型與跨平臺技術 :易用性(1)在易用性是選擇用戶界面體系結構的一個主要參考標準。易用性是指用戶不需要特殊
8、培訓就可使用這些程序,它是應用程序能否被用戶接受的重要指標。在互聯網環境下,易用性有著特殊的含義。MEHolzschlag提出了構成一個良好界面設計的特征:隱語的使用、清晰、統一、定位、導航功能。不同的界面體系結構所表現出來的易用性是不一樣的。 *二、體系結構選型與跨平臺技術 :易用性(2)服務器端邏輯體系結構。該體系結構只能容納很簡單的用戶界面(超鏈接或表單),這就限制了向用戶提供高水平的導航與定位幫助。客戶端腳本體系結構。腳本能比純粹的靜態方法提供更加復雜的導航和定位幫助,但腳本語言缺少像Java的AWT或Swing那樣的圖形用戶界面腳本庫支持,且運行的腳本在每一次訪問時都要下載,因此腳本
9、語言不適合實現非常復雜的行為。 客戶端應用體系結構。復雜的語言元素和標準庫使得客戶端應用比腳本支持更復雜的邏輯行為,但要充分利用程序語言和標準庫的功能來設計一個優良的、友好的用戶界面需要在界面設計方面有相當豐富的經驗。 *二、體系結構選型與跨平臺技術 :時間性能(1)時間性能是另一個用以選擇適當的體系結構的關鍵因素。處理Web用戶界面時可能出現的時間瓶頸:初始化時間,直到第一個用戶交互完成的時間(下載時間)客戶端處理一個用戶交互所需的時間(客戶裝入)需要與服務器交互的次數(服務器依賴度)從客戶端向服務器傳輸消息及反饋結果所需的時間(網絡傳輸時間)服務器處理用戶交互所需的時間(服務器裝入)*二、
10、體系結構選型與跨平臺技術:時間性能(2)不同的界面體系結構,其時間性能也不同服務器端邏輯體系結構。對于服務器端邏輯體系結構而言,服務器 的響應信息不僅包括事件需要的數據,還包括這些數據所需的設計 定義,這就導致客戶同服務器之間存在頻繁的、大量的信息傳輸, 因此響應時間較長。 客戶端腳本體系結構。由于腳本提供了在客戶端上運行一些控制邏 輯的功能,提高了系統的響應速度。客戶端應用體系結構。客戶端應用程序的主要缺點是初始化時需要 較長的下載時間。目前解決該問題的技術有: 延遲模塊裝載應用程序分割 客戶端安裝 Applet緩存 *二、體系結構選型與跨平臺技術 :安全性(1)在前面的章節里我們已經知道了
11、安全性包括服務器端的安全(包括CGI/Servlet安全和防火墻)、客戶端的安全以及通信信道的安全(如何保證在服務器與用戶間消息傳遞的真實性、完整性和保密性)。這里討論的是針對客戶端的安全,因為當客戶端訪問某個Web站點時,其完整性可能因惡意的ActiveX控件或其他代碼而遭到破壞。 服務器端邏輯體系結構。單純的靜態內容在客戶端既不執行也不解釋任何代碼,僅僅是呈現出來,因此它對客戶端的威脅最小,到目前為止,幾乎沒有發現什么安全漏洞。*二、體系結構選型與跨平臺技術:安全性(2)客戶端腳本體系結構。 DHTML依靠于JavaScript,所以客戶端的安全問題主要是JavaScript(JScrip
12、t)的安全性問題。JavaScript沒有內置的安全模式阻止惡意腳本損害客戶系統。它的安全性完全靠功能約束實現。客戶端的JavaScript并沒有刪除和改寫文件的功能,也沒有任何類型的網絡元語。但語言本身也存在一些漏洞,給系統帶來了安全隱患。 客戶端應用體系結構。從安全的角度分析,客戶端應用技術劃分為兩個范疇 : 當有關HTML文件被請求時,瀏覽器立即自動下載并啟動動態內容應用程序分割 需要用戶進行安裝的應用程序 Applet緩存 *二、體系結構選型與跨平臺技術:平臺兼容性 服務器端邏輯體系結構。由于該體系結構的代碼均在服務器端運行,而HTML幾乎被所有瀏覽器支持,因此無需從客戶端考慮平臺問題
13、。客戶端腳本體系結構。使用客戶端腳本體系結構,將有許多不兼容問題出現。雖然很多平臺都支持JavaScript,但在不同產品中存在明顯的差異。 客戶端應用體系結構。由于從一開始就采取了很多措施來標準化Java語言和APIs,因此Java的兼容性做得比較好。但是在開發applet時,由于采用Java版本不同,也引起了一些平臺兼容性問題。JDK的低版本被廣泛支持,JDK高版本的某些特性則不被所有的瀏覽器和操作系統支持。 *三、腳本語言及CSS樣式表應用:腳本語言(1)腳本語言是介于 HTML 和 Java、C+ 和 Visual Basic 之類的編程語言之間的語言。HTML 通常用于格式化文本和鏈
14、接網頁。編程語言通常用于向計算機發送一系列復雜指令。腳本語言也可用來向計算機發送指令,但它們的語法和規則沒有可編譯的編程語言那樣嚴格和復雜。腳本語言主要用于格式化文本和調用以編程語言編寫的已編譯好的組件。ECMAScript。ECMAScript是由ECMA(歐洲計算機制造商協會)標準化后,并以 ECMA-262語言規范的形式對外公開發布。它是從 JavaScript1.1和Jscript1.0等技術上發展起來的。ECMAScript僅僅是一種規范描述,定義了腳本語言的所有屬性、方法和對象,其他的語言可以實現以ECMAScript為基準的功能。ECMAScript目前發布的最高版本是3.0。
15、*三、腳本語言及CSS樣式表應用:腳本語言(2)JavaScript。JavaScript是網景公司開發的腳本語言,它的1.3版完全符合了ECMAScript腳本語言規范第一版。該語言包括一些核心對象和核心語言元素構成的核心集。JScript。JScript是微軟公司開發的腳本語言,它的3.0版基本符合了ECMAScript腳本語言規范第一版,目前微軟聲稱J(Jscript 8.0)幾乎支持ECMAScript3.0所有功能。JScript只有在 Microsoft IE或 Microsoft IIS的解釋器下才能運行。VBScript。VBScript是Microsoft
16、 Visual Basic家族的新成員。VBScript為IE帶來了“動態腳本”,同樣也被 Windows腳本主機和Microsoft IIS所支持。 *三、腳本語言及CSS樣式表應用:腳本語言(3)DHTML。DHTML是將HTML 、CSS和腳本語言有機結合來制作動感的、交互性網頁的技術 。其中HTML用來定義網頁元素,如段落、表格等。 CSS用來描述元素屬性,如大小、顏色、位置等。 腳本語言用來操縱網頁元素和瀏覽器。 DHTML并不是什么新的技術,它只不過是一些現有網頁技術與標準的整合。DHTML技術主要包括: 樣式表(Microsoft和 Netscape) 內容的定位(Microso
17、ft和 Netscape) 動態內容(僅限于Microsoft) 數據綁定(僅限于Microsoft)可下載的字體(僅限于Netscape) *三、腳本語言及CSS樣式表應用:CSS樣式表(1)層疊樣式表(Cascading Style Sheets,CSS)是一組樣式,樣式中的屬性在HTML文檔中依次出現,并顯示在瀏覽器中。通常可用4種方法將定義的樣式與HTML文檔結合 內聯樣式。可以使用STYLE屬性內聯樣式。<HTML><HEAD><TITLE>CSS Sample:內聯樣式</TITLE></HEAD><BODY>
18、<P STYLE=;color: red; font-family: 華文琥珀; font-style: Italic; serif;>紅色的“華文琥珀”斜體字,如果字體可用的話(一)。</P><P STYLE=;color: red; font-family: 華文琥珀; font-style: Italic;serif;>紅色的“華文琥珀”斜體字,如果字體可用的話(二)。</P></BODY></HTML>*三、腳本語言及CSS樣式表應用:CSS樣式表(2)嵌入樣式。一個樣式表可以使用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> 紅色的;華文琥珀;斜體字,如果字體可用的話(一)。</P><P> 紅色的;華文琥珀;斜體字,如果字體可用的話
20、(二)。</P></BODY></HTML> *三、腳本語言及CSS樣式表應用:CSS樣式表(3)輸入樣式: 一個樣式表可以使用CSS的import 聲明被輸入。<HTML><HEAD><TITLE>CSS Sample:輸入樣式</TITLE><style TYPE=;text/css; MEDIA=screen><!- import url(style.css); -></style></HEAD><BODY><P> 紅色的;華文琥珀;
21、斜體字,如果字體可用的話(一)。</P><P> 紅色的;華文琥珀;斜體字,如果字體可用的話(二)。</P></BODY></HTML> ? 如果STYLE中包含了其它的CSS規則,要注意所有的import 聲明必須放在樣式表的開始部分。*三、腳本語言及CSS樣式表應用:CSS樣式表(4)鏈接外部樣式。一個外部樣式表可以通過HTML的LINK元素連接到HTML文檔中,<LINK>標記放置在文檔的HEAD部分。<HTML><HEAD><TITLE>CSS Sample:鏈接外部樣式</
22、TITLE><LINK REL=StyleSheet HREF=;style.css; TYPE=;text/css; MEDIA=screen></HEAD><BODY> <P> 紅色的“華文琥珀”斜體字,如果字體可用的話(一)。 </P><P> 紅色的“華文琥珀”斜體字,如果字體可用的話(二)。</P></BODY></HTML>*第七章 電子商務實用開發技術 前臺(客戶端)開發技術 后臺(服務器端)技術 Web Service技術 *第二節 后臺(服務器端)技術一、服務器端技
23、術概述 動態頁面是由Web服務器根據客戶的請求(包括可能的參數)在運行時刻產生的Web頁面。而靜態頁面并不是在客戶發出請求之后產生的,通常事先存放在Web服務器的文件系統中。與提供靜態頁面相比,動態頁面的生成需要服務器做更多的事情。支持動態頁面生成的技術主要包括公共網關接口、服務器端腳本技術、插件技術、Servlet技術和JSP技術。*一、服務器端技術概述:公共網關接口 公共網關接口(Common Gateway Interface,CGI)是Web服務器生成動態頁面的原始方法,它是應用程序和Web服務器之間的接口標準。通常HTML表單和CGI一起使用,CGI程序允許用戶通過網頁把數據輸入數據
24、庫,也允許數據從數據庫流向用戶。CGI程序通常可以使用C/C+、PERL、TCL(Tool Command Language)、VB等語言來寫。但是,在CGI模型中,對每一個訪問CGI程序的HTTP請求,服務器端都會產生一個新的進程來處理這個請求。這種模式限制了服務器同時處理多個請求的能力,另外,CGI程序無法與Web服務器交互,因為兩者運行在不同的進程中。*一、服務器端技術概述:服務器端腳本技術和插件技術 服務器端腳本技術。服務器端腳本技術是指Web應用開發者在Web頁面中直接嵌入腳本生成動態頁面,當這些頁面被請求時,頁面中的腳本由服務器解釋產生動態內容。該技術的代表是Microsoft的A
25、SP(Active Server Pages)和Allaire的ColdFusion。該技術沒有跨平臺性,僅局限于某種類型的產品或操作系統,開發者必須學習某種特定的腳本語言。插件技術。各種Web服務器支持若干種典型的插件技術。包括Netscape NSAPI和Microsoft ISAPI。該技術能提供比較好的性能,但由于與Web服務器的耦合度太強,編程難度也較大。 *一、服務器端技術概述:Servlet 技術和JSP Servlet是產生動態內容的一種服務器端Java技術。具有以下特性:可移植性持久性和高性能 基于Java JSP是一種基于Java的腳本技術,具有下列特性:內容表達與數據生成
26、的分離 更好的MVC分層體系結構基于Java易用性 可移植性 基于Java 支持協作開發 *二、基于ASP的服務器端開發:ASP簡介 ASP是Active Server Pages(動態服務器網頁)的縮寫,它是Microsoft公司開發的一個服務器端的腳本環境,在站點的Web服務器上解釋腳本,可產生并執行動態、交互式且高效的站點服務器應用程序。ASP可以勝任基于Microsoft Web服務器的各種動態數據發布。以下是ASP所具有的一些特點: 使用VBScript、Jscript等簡單易懂的腳本語言 無需編譯,可在服務器端直接執行 與瀏覽器無關 ASP能與任何ActiveX scripting
27、語言相容 ASP的源程序不會被傳到客戶瀏覽器 面向對象 *二、基于ASP的服務器端開發:基于ASP技術的Web服務 器運行環境(1) ASP是微軟公司提供的,目前可在微軟公司的下列平臺上使用,其他的服務器在安裝了ASP組件后也能實現這個功能。一般站點都是用IIS作為服務器,PWS是為一般的PC用戶開發的。IIS是一種Web服務,主要包括服務器、FTP服務器等,它使得在Internet或Intranet上發布信息成了一件很容易的事。下面以WindowsXP為例,介紹Web服務器環境設置 Windows2003+IIS(Internet Information Service,Internet信息
28、服務) WindowsXP + IIS Windows2000 Advance Server + IIS Windows2000 Server + IIS*二、基于ASP的服務器端開發:基于ASP技術的Web服務 器運行環境(2) Windows2000 Pro + IIS Win98+PWS(Personnel Web Service) ? 下面以WindowsXP為例,介紹Web服務器環境設置。 (1)在安裝Windows系統時,IIS默認為不安裝,因此在配置Web之前需先安裝IIS。 (2)進入控制面板的“管理工具”里面,點擊“Internet服務管理器”,就進入了IIS服務器的管理界面
29、,如圖7-4所示。 *二、基于ASP的服務器端開發:基于ASP技術的Web服務 器運行環境(3) 圖7-4 目錄設置 圖7-5 屬性設置之一 *二、基于ASP的服務器端開發:基于ASP技術的Web服務 器運行環境(4)圖7-6 屬性設置之二 圖7-3 屬性設置之三 *二、基于ASP的服務器端開發:ASP同腳本語言的關系 ASP是一套服務器端的對象模型。 下面的例子用來說明ASP與腳本語言的關系:<%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語句和賦值語句都是腳本語言VBScript的標準語法,而Session(“Name”)則是ASP中Session對象的一個引用。VBscript(或JavaScript)是一種解釋型語言,由Web服務器或瀏覽器解釋執行。*三、基于JSP的服務器端開發:應用體系結構(1) 基于Servlet、JSP和JavaBeans的Web應用體系結構應用服務器CommandBeansDataBeans5ViewBeansResultJSPs含表格的HTML頁面CICSDB2CICS其他HTTP Server169527384*三、基于JSP的服務器端開
31、發:應用體系結構(2)HTML頁面。輸入的數據可以在瀏覽器通過HTML頁面中的JavaScript進行驗證,或者發給服務器后由Servlet來驗證。Servlet。Servlet從應用服務器取得控制權,來執行基本的流程控制。 Command Beans。控制業務邏輯的處理。Data Beans。保存由Command Beans或者后臺系統計算的結果。 View Beans。為JSPs和Data Beans架構了橋梁。 JSPs。為瀏覽器生成有關輸出。 *三、基于JSP的服務器端開發:MVC設計模式JSP設計遵循了MVC設計模式,該設計模式包含3個部件: 模型是針對有關數據以及與之關聯的事務處理
32、,它是業務邏輯 視圖是針對數據的顯示,它是頁面的構建 控制器是針對模型與外部世界的交互,它是交互的控制 MVC示圖MVC處理過程:首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理然后模型用業務邏輯來處理用戶的請求并返回數據最后控制器用相應的視圖格式化模型返回的數據,并通過表示層呈現給用戶。為什么使用MVC:MVC從根本上強制性的將數據層代碼和表示層代碼分開多個視圖能共享一個模型 ,由于模型返回的數據沒有進行格式化,同樣的構件能被不同界面使用。即模型取得的數據是原始數據,所以你可以采用視圖view進行自己的格式化數據,生成不同的展現視圖 MVC的應用程序的三個部件相互對立,可以使用控制
33、器來聯接不同的模型和視圖去完成用戶的需求 *四、基于.NET的開發技術:.NET基本概念 .NET是Microsoft面向XML Web服務的平臺,它使用一種統一的、個性化的方式將客戶的信息、設備和人員緊密聯系在一起。Microsoft 認為向分布式計算的轉變正在悄悄地進行著,.NET 的目的正是要加速產生下一代分布式計算的過程,是微軟用來實現XML,Web Services, SOA和敏捷性的技術。 .NET代表著聯通性、敏捷性和成功: 聯通性。.NET的遠景是讓所有的事物都連接起來敏捷性。它體現在商務敏捷性和IT敏捷性兩方面成功。 .NET創建敏捷的系統,帶來商務上的成功 *四、基于.NE
34、T的開發技術:.NET的三層架構 所謂三層體系結構是在客戶端與數據庫之間加入了一個組件層。三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了組件層進行處理。 .NET三層架構 *四、基于.NET的開發技術:.NET的開發語言C#語言。C#(讀作“Csharp”)是一種簡單、現代、面向對象且類型安全的編程語言,C#同時具備“應用程序快速開發”語言的高效率和C+固有的強大能力。C#吸收了Java的許多優點。C+.NET。從VisualC+.NET開始,標準C+語言已擴展成為托管編程提供支持。J#。VisualJ#提供獨立開發的類庫集以提供大多數JDK1.1.4級類庫的功能JScript
35、.NET。Microsoft實現ECMA?a name=baidusnap62262語言的新一代版本。通過將先前版本的JScript功能集與基于類的語言的最佳功能相結合,JScript.NET包含了這兩個領域的精華部分。*四、基于.NET的開發技術:一個簡單的.NET應用舉例該示例為用戶注冊的簡單例子。數據庫中只有一個表,表結構如下。 以三層架構搭建框架。共三層4個項目:表現層直接與用戶進行交互,顯示和獲取數據,并對用戶輸入進行檢驗。Web:B/S結構模型Windows:C/S結構模型。 BLL業務邏輯層:實現業務邏輯OleDbDAL數據訪問層:負責與數據庫通信,存取數據編號字段名名稱類型1I
36、d編號Integer2Name姓名Varchar(10)*第七章 電子商務實用開發技術 前臺(客戶端)開發技術 后臺(服務器端)技術 Web Service技術 *第三節 Web Service技術 一、Web Service的定義及特征 Web Service是一種新型的Web應用程序。它是自適應、自我描述、模塊化的應用程序,可以使用標準的互連網協議,將功能體現在互聯網和內聯網上。這些應用程序可以跨越Web進行發布、定位和調用,可將Web Service視作Web上的組件編程。 Web Service具備如下的特征:封裝完好。Web Service是一種組件,它自然具備組件的一些基本特征。對
37、于用戶而言,只能看到Web Service提供的網絡編程接口。 *一、Web Service的定義及特征 松散耦合。對象組件技術的一個基本特點就是透明性,即當一個組件的實現內容發生變化之后,調用它的用戶不會發現其中的變化,即組件的內容對用戶是透明的。高度的可集成能力。這種特性是由Web Service所采用的規范決定的。由于Web Service采取簡單的、易理解的標準Web協議作為組件界面描述和協同描述規范,完全屏蔽了不同軟件平臺的差異,實現了高度的可集成性。使用標準的協議和規范。Web Service要實現上述的優良特性,必須遵循定義良好的、開放的標準協議,如WSDL、XML、SOAP等。
38、 *二、Web Service架構與模型:Web Service架構無論Web Service使用哪種工具和語言開發,只要它是通過SOAP協議被調用,其架構都可用圖7-10描述。Web ClientWindows ClientWindows ClientSOAP RequestSOAP ResponseRequest HandlerWeb ServerWeb ServiceWeb ServiceWeb Service圖7-10 典型Web Service結構圖 *二、Web Service架構與模型:Web Service模型(1) Web Service體系結構基于三個角色之間的相互作用,這
39、三個角色是:服務提供者(Service Provider)服務注冊處(Service Registry)服務請求者(Service Requestor) 它們之間的相互作用關系如圖7-11所示。 *二、Web Service架構與模型:Web Service模型(2)服務注冊處服務描述發布WSDL UDDI發現WSDL UDDI服務請求者服務提供者服務服務描述圖7-11 Web Service體系結構中的角色關系 一個典型的服務是:服務提供者有一個從網絡可以訪問的軟件模塊(由Web Service實現),服務提供者還提供了這個服務的描述,并將它發布到服務請求者或者服務注冊處。 *二、Web S
40、ervice架構與模型:Web Service模型(2)Web Service模型中的角色 服務提供者。從企業的角度來看它是服務的所有者,從整個體系的角度看它是容納服務的平臺。 服務請求者。從企業的角度看它是一個尋求一定服務功能的請求者,從整個體系的角度來看它也是一個尋找和調用服務的應用程序。 服務注冊處。它是服務提供者發布其服務描述的地方。 Web Service模型中的操作 發布(Publication) 發現(Discovery)綁定(Binding) *三、Web Service技術基礎 :XML(1) XML(可擴展標記語言)是一種構造數據的技術,是W3C(World Wide We
41、b Consortium)的一個推薦標準。XML不僅允許用戶 定義自己的一套標記,而且允許用戶根據各種不同的規則來指定標記。 DTD(Document Type Definition)即文檔類型定義,指用不同于XML的獨立語法來規定XML文檔中各種元素集合的內容模式,語言直接沿襲了定義SGML語言的方法,具有以下特點:DTD使得XML文檔保持一致 DTD可以共享綁定(Binding) DTD提供了對XML語匯的形式化和完整的定義每個XML文檔由單個的DTD來限制 *三、Web Service技術基礎 :XML(2) XSL。XML文檔決定了文檔的內容,樣式表XSL(Extensible Sty
42、lesheet Language)則規定著文檔的顯示。XSL是通過XML進行定義的,遵守XML的語法規則,是XML的一種具體應用。 XSL由兩大部分組成:第一部分描述了如何將一個XML文檔進行轉換,轉換為可瀏覽或可輸出的格式;第二部分則定義了格式對象FO(Formatted Object)。 XSLT。XSLT(Extensible Stylesheet Language Transformations)標準用來描述如何識別、選擇、匹配XML文檔中的各個構成元件,包括元素、屬性、文字內容等。XSLT主要的功能就是轉換,它將一個沒有形式表現的XML內容文檔作為一個源樹,將其轉換為一個有樣式信息的
43、結果樹。 *三、Web Service技術基礎 :SOAP(1) SOAP(Simple Object Access Protocol,簡單對象訪問協議)是基于XML的,在分布式的環境中交換信息的簡單的協議。SOAP協議規范描述了有關SOAP的消息處理過程,并涉及到性能和安全性的問題。SOAP的消息路徑機制和可擴充的Header和Body機制又為分布式計算提供了很好的支持。它包括四個部分: SOAP信封。封裝定義了一個描述消息中的內容是什么,是誰發送的,誰應當接受并處理它以及如何處理它們的框架。 SOAP編碼規則。用于表示應用程序需要使用的數據類型的實例,SOAP的一個設計目標就是要利用XML
44、的可擴展性和可伸縮性來包裝和交換RPC調用。 SOAP RPC表示。表示遠程過程調用和應答的協定。 SOAP 綁定。使用底層協議交換信息。 *三、Web Service技術基礎 :SOAP(2)消息交換機制。從根本上來看,SOAP消息是從發送方到接受方的一種傳輸方法,但是SOAP消息一般會和實現模式結合。無論SOAP與哪種協議綁定,消息都可以通過消息路徑來指定路線發送,消息路徑機制使消息在到達最終目的地之前可以在一個或多個中間服務上處理。 SOAP模型。SOAP可理解成協議SOAP=RPC+HTTP+XML。XML提供了一個跨平臺的數據編碼格式化方法;SOAP則在XML之上,定義了一種跨系統平
45、臺的交換信息的簡單包裝方法;綁定于HTTP之上的SOAP協議,則是在包裝的協議之上,定義了在系統之間進行與編程語言、操作系統無關的遠程調用方法。使用XML和SOAP這樣的跨語言、跨平臺的解決方案簡化了多個應用之間的一致性問題。 *三、Web Service技術基礎 :WSDL(1)WSDL(Web Service Description Language,服務描述語言)提供了一個基于XML的簡單語匯表,用來描述通過網絡提 供的基于XML的Web Service,描述Web Service做什么,它在哪里及如何調用它。WSDL本身不規定如何發布或公布這種服務描述,而是將這項任務留給其他規范。WS
46、DL將Web Service描述定義為一組服務訪問點,客戶端可以通過這些服務訪問點,對包含面向文檔信息或面向過程調用的服務進行訪問(類似遠程過程調用)。WSDL首先對訪問的操作和訪問時使用的請求/響應消息進行抽象描述,然后將其綁定到具體的傳輸協議和消息格式上以最終定義具體部署的服務訪問點。相關的具體部署的服務訪問點通過組合就成為抽象的Web Service。 *三、Web Service技術基礎 :WSDL(2)WSDL(Web Service Description Language,服務描述語言)提供了一個基于XML的簡單語匯表,圖7-13描述了WSDL文檔在Web Service交互中的
47、作用。 3調用Web ServiceXML注冊表或WSDL儲存庫客戶機1Web服務管理員在XML注冊表或其他WSDL儲存庫中發布WSDL文檔2取得WSDL文檔圖 7-13 WSDL文檔在Web Service交互中的作用 *三、Web Service技術基礎 :WSDL(3)WSDL元素。在WSDL規范中,定義了如何使用SOAP消息格式、HTTP GET/POST消息格式以及MIME格式來完成Web Service交互的規范。WSDL文檔在Web Service的定義中使用下列元素: Types。數據類型定義的容器。 Message。通信消息的數據結構的抽象類型化定義。Operation。對服
48、務中所支持的操作的抽象描述。PortType。某個訪問入口點類型支持的操作的抽象集合。Port。定義為協議/數據格式綁定與具體Web訪問地址組合的單個服務訪問點。 Binding。特定端口類型的具體協議和數據格式規范的綁定。Service。相關服務訪問點的集合。 *三、Web Service技術基礎 :UDDI(1)UDDI概述。UDDI(Universal Description,Discovery and Integration,統一描述、發現和集成協議),定義了Web Service的發布和發現的方法。UDDI規范在XML和SOAP的基礎上定義了新的一層,在這一層次,UDDI提供了一種基
49、于分布式的商業注冊中心的方法,該商業注冊中心維護了一個Web Service的全球目錄,而且其中的信息描述格式基于通用的XML格式。 UDDI技術發現層。UDDI標準描述了一個由Web Service所構成的一個概念上的云狀結構,和一個定義Web應用服務框架的編程接口。UDDI標準和計劃用來在互聯網上建立起“發現”服務。這些“發現”服務提供了一致的發布接口,使得企業能編程進行“發現”操作。*三、Web Service技術基礎 :UDDI(2)UDDI標準包括了一個SOAP消息的XML Schema描述,一個UDDI標準API。UDDI的XML Schema定義了四種類型的信息: UDDI信息模
50、型圖 PublisherAssertion雙方間的關系由雙方確定BusinessEntity商業實體信息Business Service商業服務信息Binding Template綁定信息tModel技術模型信息Binding Template數據包含tModel的引用*三、Web Service技術基礎 :UDDI(3)商業實體信息(Business Entity)。商業實體信息包括公司的一般信息,如名稱、地址和聯系信息。商業服務信息(Business Service)。描述商業實體提供的服務。 綁定信息(Binding Template)。指服務訪問入口和使用的協議。 技術模型信息(tMo
51、del)。提供了Web Service的WSDL的入口及相關信息。 *四、Web Service的應用領域 面向商業的Web Service。指面向企業應用的服務,包括企業內部的ERP系統、企業間的SCM、CRM等系統。 面向消費者的Web Service。此類服務是對已有B2C網站的改造,為面向瀏覽器的Web應用增加Web Service的應用界面,使得第三方的桌面工具或其自身提供的增值桌面工具能夠利用更優秀的用戶界面提供跨越多個B2C服務的桌面服務。 面向設備的Web Service。此類服務的使用終端一般是手持設備或家電。面向系統的Web Service。指一些傳統意義上的系統服務, 如果將其移植到Internet/Intranet上,其作用范圍將從單個系統或局域網拓展到整個Internet或Intranet。 *本章小結本章首先介紹了前后臺的常用開發技術及所采用的應用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論