- 電子商務(wù)數(shù)據(jù)庫技術(shù)(第3版)
- 潘郁
- 3623字
- 2019-12-11 15:42:24
3.3.4 B/S系統(tǒng)的結(jié)構(gòu)
傳統(tǒng)的基于C/S結(jié)構(gòu)的管理信息系統(tǒng)經(jīng)過30多年(從1985年至今)的發(fā)展已得到了廣泛的應(yīng)用,它為企業(yè)管理信息系統(tǒng)的共享集成和分布式應(yīng)用做出了巨大貢獻。但是傳統(tǒng)的C/S結(jié)構(gòu)也存在著許多的缺點,如安裝、升級、維護困難;使用不方便,培訓費用高;軟件建設(shè)周期長,適應(yīng)性差;系統(tǒng)生命周期短,移植困難,升級麻煩;系統(tǒng)建設(shè)質(zhì)量難以保證。隨著In-ternet的興起以及電子商務(wù)的發(fā)展,人們對數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)提出了新的要求。
進入20世紀90年代后,數(shù)字信號處理技術(shù)、網(wǎng)絡(luò)通信技術(shù)、多媒體技術(shù)和產(chǎn)業(yè)發(fā)展逐漸成熟并匯合,從而奠定了智能聯(lián)網(wǎng)的技術(shù)基礎(chǔ)。Internet技術(shù)掀起了全球信息產(chǎn)業(yè)的一場深刻革命,它不僅改變了人們的生活方式和商業(yè)行為,而且改變了人們的辦公方式。
同時,Intranet在各個技術(shù)領(lǐng)域都為電子商務(wù)的應(yīng)用創(chuàng)造了條件,其具有以下特點。
(1)安全性強。Intranet可以理解為防火墻后面的企業(yè)內(nèi)部Internet。從安全性方面考慮,Intranet是在企業(yè)內(nèi)部,它和Internet之間有一道防火墻,從而可保證企業(yè)的信息不受外界攻擊,同時又不是與外界隔絕的。通過防火墻,可以在企業(yè)內(nèi)部對信息進行嚴格控制,保證信息在有控制、有監(jiān)視的狀態(tài)下被適當?shù)娜耸褂谩?/p>
(2)Web技術(shù)的應(yīng)用。Intranet很重要的一個技術(shù)就是Web技術(shù)。Web技術(shù)在政府辦公和業(yè)務(wù)處理中的應(yīng)用使得政府信息系統(tǒng)的開發(fā)、維護和升級產(chǎn)生了飛躍性、根本性的變化。
(3)管理信息的“集中器”。“Hub”是一個把物理設(shè)備、網(wǎng)卡連接在一起的“集中器”,而Intranet實際上是一個企業(yè)管理信息的“Hub”,是在更高層次上的一種集中器。它把信息集中管理起來,讓用戶能夠在適當?shù)臅r候得到適當?shù)男畔ⅰ?/p>
Intranet獨創(chuàng)性地將C/S結(jié)構(gòu)擴展為B/S結(jié)構(gòu),以不變應(yīng)萬變。基于Intranet的B/S結(jié)構(gòu)的發(fā)展為信息系統(tǒng)開發(fā)人員提供了一個新的框架結(jié)構(gòu),使他們能很快地把注意力從用戶界面等細節(jié)問題轉(zhuǎn)移到更核心的問題上去,不管開發(fā)的是哪種應(yīng)用程序、哪種平臺,在瀏覽器上都能使用。通過Intranet,信息系統(tǒng)的維護、培訓和分銷變得很容易,軟件版本的升級更新也無須牽扯到用戶,只需將服務(wù)器端的軟件更新,所有的用戶就都能自動更新應(yīng)用。
基于Internet/Intranet的B/S結(jié)構(gòu)從本質(zhì)上講,與傳統(tǒng)的C/S結(jié)構(gòu)都是用一種請求和應(yīng)答方式來執(zhí)行應(yīng)用的。但傳統(tǒng)的C/S結(jié)構(gòu)在客戶端集中了大量的應(yīng)用軟件,而B/S結(jié)構(gòu)則是一種基于Hyperlink(超鏈接)、HTML(超文本標識語言)、Java的三層或多層C/S結(jié)構(gòu),其客戶端僅需要單一的瀏覽器軟件,是一種全新的體系結(jié)構(gòu)。B/S結(jié)構(gòu)解決了跨平臺問題,通過瀏覽器可以訪問幾個應(yīng)用平臺,形成一種一點對幾點、多點對多點的結(jié)構(gòu)模式。
早期的B/S系統(tǒng)也是兩層,Web服務(wù)器只是簡單地接受Web瀏覽器通過HTTP提交的請求,進行所需要的處理,并且以HTML格式化的文檔作為響應(yīng)。瀏覽器上見到的是靜態(tài)的HTML頁面。
隨著應(yīng)用的擴大和技術(shù)的發(fā)展,兩層的B/S結(jié)構(gòu)自然延伸為三層的瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),或多層的結(jié)構(gòu)模式。瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器的三層體系結(jié)構(gòu)示意圖如圖3.4所示。

圖3.4 瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器的三層體系結(jié)構(gòu)
在瀏覽器/Web服務(wù)器/數(shù)據(jù)庫服務(wù)器的三層體系結(jié)構(gòu)中,表示層存在于客戶端,只需安裝一個瀏覽器軟件,客戶端的工作很簡單,負擔很輕。Web服務(wù)器既作為一個瀏覽服務(wù)器,又是應(yīng)用服務(wù)器。應(yīng)用邏輯層存在于這個中間服務(wù)器中,可以把整個應(yīng)用邏輯和商業(yè)規(guī)則駐留其上,而且支持多種DBMS和數(shù)據(jù)結(jié)構(gòu)。Web服務(wù)器的主要功能是:作為一個HTTP服務(wù)器,處理HTTP協(xié)議,接受請求并按照HTTP格式生成響應(yīng);執(zhí)行服務(wù)器端腳本(如VB-Script、JavaScript等);對于數(shù)據(jù)庫應(yīng)用,能夠創(chuàng)建、讀取、修改、刪除視圖實例。Web服務(wù)器通過對象中間件技術(shù)(如Java、DCOM、CORBA等),在網(wǎng)絡(luò)上尋找對象應(yīng)用程序,完成對象間的通信。數(shù)據(jù)層存在于數(shù)據(jù)庫服務(wù)器上,安裝有DBMS,提供SQL查詢、數(shù)據(jù)庫管理等服務(wù)。Web服務(wù)器與數(shù)據(jù)庫服務(wù)器的接口方式有ODBC、ADO、OLE/DB、JDBC、Native Call等。
與傳統(tǒng)的C/S結(jié)構(gòu)相比,B/S結(jié)構(gòu)具有許多優(yōu)點。
(1)B/S結(jié)構(gòu)是一種“瘦客戶機”模式,客戶端軟件僅需安裝瀏覽器,應(yīng)用界面單一,客戶端硬件配置要求較低,可由相對價廉的網(wǎng)絡(luò)計算機(NC)替代。
(2)B/S結(jié)構(gòu)具有同一的瀏覽器客戶端軟件,易于管理和維護。在C/S結(jié)構(gòu)中,操作人員必須熟悉不同的界面,為此需要對操作人員進行大量的培訓。而在B/S結(jié)構(gòu)中,因客戶端瀏覽器的人機界面風格單一,系統(tǒng)的開發(fā)和維護工作變得簡單易行,這有利于提高效率,不僅節(jié)省了開發(fā)成本,減少了維護客戶端軟件的時間和精力,而且方便了用戶的使用。B/S結(jié)構(gòu)中客戶端的數(shù)量幾乎不受限制,具有極大的可擴展性。
(3)B/S結(jié)構(gòu)無須開發(fā)客戶端軟件,瀏覽器軟件容易從網(wǎng)上下載或升級。
(4)B/S結(jié)構(gòu)應(yīng)用的開發(fā)效率高,開發(fā)周期短,見效快。對于開發(fā)人員的技術(shù)要求低,其版本更新只需集中維護放在服務(wù)器端的代碼即可。
(5)B/S結(jié)構(gòu)具有平臺無關(guān)性。B/S結(jié)構(gòu)具有極強的伸縮性,可以透明地跨越異質(zhì)網(wǎng)絡(luò)、計算機平臺,無縫地聯(lián)合使用數(shù)據(jù)庫、超文本、多媒體等多種形式的信息,可以選擇不同的廠家提供的設(shè)備和服務(wù)。
(6)B/S結(jié)構(gòu)具有開放性。B/S結(jié)構(gòu)采用公開的標準和協(xié)議,系統(tǒng)資源的冗余度小,可擴充性良好。
采用B/S結(jié)構(gòu)的系統(tǒng)有以下三種工作方式。
(1)簡單式。
簡單式即基于瀏覽器的B/S結(jié)構(gòu),利用HTML頁面在用戶的計算機上表示信息。在靜態(tài)頁面中,Web瀏覽器需要一個HTML頁面,提交一個URL地址到Web服務(wù)器。Web服務(wù)器從Internet上檢索到所需要的本地或遠程的網(wǎng)頁,并將所需網(wǎng)頁返回到Web瀏覽器上。Web瀏覽器顯示由HTML寫成的文檔、圖片、聲音和圖像,而Web服務(wù)器則是將Web頁發(fā)送至瀏覽器的具有特殊目的的文件服務(wù)器。瀏覽器打開一個和服務(wù)器的連接,服務(wù)器返回頁面結(jié)果并關(guān)閉連接。
有時也可以使用Java Applet、ActiveX和Java Bean來加強表達能力。通常,Applet給網(wǎng)頁帶來了動態(tài)特性,可將其和靜態(tài)頁面放置在同一個應(yīng)用中。
(2)交互式。
在交互式中,瀏覽器顯示的不只是靜態(tài)的和服務(wù)器端傳送來的頁面信息。在打開與服務(wù)器的連接及傳輸數(shù)據(jù)以前,HTML頁面顯示供用戶輸入的表單、文本域、按鈕,通過這些內(nèi)容與用戶交互。HTTP服務(wù)器將用戶輸入的信息傳遞給客戶服務(wù)器程序或腳本進行處理,Web服務(wù)器再從DBMS服務(wù)器中檢索數(shù)據(jù),然后把結(jié)果組成新頁面返回給瀏覽器,最后中斷瀏覽器和服務(wù)器的本次連接。這個模型允許用戶從各種后端服務(wù)器中請求信息。
通過使用HTTP作為中間件,利用調(diào)用CGI服務(wù)器程序和腳本,該模型支持簡單的C/S通信方式。由于每一個瀏覽器和服務(wù)器間的通信都要建立一個連接,因此相對于服務(wù)器資源而言,這種模型造價昂貴。Web服務(wù)器就像檢索一個普通的HTML頁一樣,將檢索到的內(nèi)容返回到瀏覽器中并進行顯示。在用戶填完并提交輸入表單后,就返回到服務(wù)器中執(zhí)行CGI程序。一個典型的CGI程序把從表單中取出的鍵入值匯入文件,或組成一個包含鍵入值的E-mail信息,再將它發(fā)送出去。
從被訪問的數(shù)據(jù)來看,該模型所訪問的數(shù)據(jù)往往是只讀的,如幫助文件、文檔、用戶信息等。這些非核心數(shù)據(jù)一般沒有處理能力,它們總是處在低訪問率上。這種模型已是一個三層結(jié)構(gòu)了,瀏覽器通過中間層軟件CGI間接操作Server程序,CGI與服務(wù)器端的數(shù)據(jù)庫互相溝通,再將查詢結(jié)果傳送至客戶端,而不是一味地將服務(wù)器端的資料全部接受過來。
(3)分布式。
這種模型將機構(gòu)中目前的已有設(shè)施與分布式數(shù)據(jù)源結(jié)合起來,最終會代替真正開放的C/S應(yīng)用程序。它無須下載HTML頁面,客戶程序是由可下載的Java編寫的,并可以在任何支持Java的瀏覽器(目前流行的IE或Navigator)上執(zhí)行Applet。當HTTP服務(wù)器將含有Java Applet的頁面下載到瀏覽器時,Applet在瀏覽器端運行并通過構(gòu)件(Component)支持的通信協(xié)議(IIOP, DCOM)與傳輸服務(wù)器上的小服務(wù)程序(Servlet)通信會話。這些小程序按構(gòu)件的概念撰寫,它收到信息后,經(jīng)過JDBC、ODBC或本地方法向數(shù)據(jù)庫服務(wù)器發(fā)出請求,數(shù)據(jù)庫服務(wù)器接到命令后,再將結(jié)果傳送給Servlet,最后將結(jié)果送至瀏覽器顯示出來。
目前,在瀏覽器上發(fā)布信息常用的文件格式有HTML文件和Java Applet類文件兩種。
HTML文件只能發(fā)布超文本格式的信息。HTML是Web上的第一種標記語言,用于編制Web網(wǎng)頁。在其基礎(chǔ)上發(fā)展出了功能更為強大的DHTML(動態(tài)標記語言)和XML(可擴展標記語言)。其中XML具有許多優(yōu)點,如提供了表達數(shù)據(jù)庫視圖的標準方法,明確區(qū)分了結(jié)構(gòu)、內(nèi)容和實例化,能夠?qū)ξ臋n進行有效性檢查,允許各行業(yè)定制自己的專用XML等。因此,有人認為XML是從關(guān)系模型以來對數(shù)據(jù)庫應(yīng)用的最重要的發(fā)展。
Java Applet類文件嵌入在HTML文件中,可發(fā)布圖形信息。
HTML文件和Java Applet類文件與數(shù)據(jù)庫相聯(lián)系的方法基本相同,都可以通過CGI方式、API(Application Interface)方式、ODBC方式來發(fā)布數(shù)據(jù)庫中的數(shù)據(jù)。另外,在Java Applet類文件中,還可以通過JDBC方式來與數(shù)據(jù)庫建立聯(lián)系。
下面以Microsoft的解決方案為例來說明B/S系統(tǒng)的實現(xiàn)方法。
B/S系統(tǒng)的Microsoft解決方案如圖3.5所示。在客戶端配置Windows 2000及以上操作系統(tǒng),Internet Explorer 4.0以上瀏覽器。在Web服務(wù)器端配置Windows Server 2000及以上操作系統(tǒng),Internet Information Server 4.0(IIS),Internet Server Application Programming Inter-face(ISAPI),Active Server Page(APS)。在數(shù)據(jù)庫服務(wù)器端配置Windows Server 2000及以上和SQL Server 2005。
Web服務(wù)器的構(gòu)成如圖3.5所示。其中ASP可以配合使用JavaScript、VBScript、Perl、ActiveX等代碼。定制的應(yīng)用程序可用Java或C++編寫。
數(shù)據(jù)庫服務(wù)器可以選擇Oracle、Sybase、MS SQL Server、DB2等DBMS,用于存放和管理企業(yè)共享數(shù)據(jù)。

圖3.5 B/S系統(tǒng)的Microsoft解決方案
- 移動端網(wǎng)絡(luò)營銷推廣實戰(zhàn)從入門到精通
- 日進3萬3:微店這樣開才賺錢
- 天正TArch 2014建筑設(shè)計從入門到精通
- 微博營銷:微時代營銷大革命
- 網(wǎng)上創(chuàng)業(yè):商業(yè)模式+操作實戰(zhàn)+案例分析
- 移動電商:商業(yè)分析+模式案例+應(yīng)用實戰(zhàn)(第2卷)
- 品質(zhì)電商運營實戰(zhàn):消費升級時代的電商變革
- 社群商業(yè):社群經(jīng)濟時代的掘金法則
- 網(wǎng)店裝修實務(wù)
- 從0到1學做直播帶貨
- 內(nèi)容電商運營系列:淘寶直播運營與主播修煉手冊
- 跨境電商獨立站運營:Shopify從入門到精通
- 微信營銷解密:移動互聯(lián)網(wǎng)時代的營銷革命(微信營銷布道者和理論奠基人撰寫,系統(tǒng)闡述微信營銷原則、方法、
- 眾包平臺中的欺詐檢測與風險預(yù)警
- 68招玩轉(zhuǎn)視頻號