我們已經(jīng)走進(jìn)電子商務(wù)時代,本書將帶您進(jìn)入電子商務(wù)應(yīng)用開發(fā)的世界。本書第一章介紹電子商務(wù)理念及有關(guān)技術(shù)基礎(chǔ),包括Internet、Web和Java。第二章介紹IBM電子商務(wù)應(yīng)用框架,包括WebSphere。第三章給您帶來WebSphere Studio應(yīng)用開發(fā)技術(shù)。第四、五章分別介紹新一代Web應(yīng)用的關(guān)鍵技術(shù):Java Servlet和JSP。第六章介紹新一代Web應(yīng)用服務(wù)器軟件:WebSphere應(yīng)用服務(wù)器。第七章帶給您新一代Web應(yīng)用編程技術(shù):WebSphere應(yīng)用編程技術(shù)。本書附錄中的實驗指導(dǎo)帶您一起走過使用WebSphere技術(shù)開發(fā)電子商務(wù)應(yīng)用的過程。 本書特別適合于信息技術(shù)類的高年級大學(xué)生和研究生,以及從事電子商務(wù)應(yīng)用開發(fā)的技術(shù)人員。通過學(xué)習(xí)本書,您將了解電子商務(wù)應(yīng)用開發(fā)的先進(jìn)技術(shù),并快速掌握WebSphere電子商務(wù)應(yīng)用開發(fā)的基本技術(shù)。 第一章 電子商務(wù)基礎(chǔ)知識 Web正改變著我們生活的方方面面,但任何領(lǐng)域都沒有象商務(wù)運(yùn)作方式那樣經(jīng)歷著一場快速而巨大的變革。眾多商家正在準(zhǔn)備或已經(jīng)走向轉(zhuǎn)變到電子商務(wù)的道路,即使用Internet技術(shù)轉(zhuǎn)變關(guān)鍵的商務(wù)過程。本章介紹電子商務(wù)理念及有關(guān)技術(shù)基礎(chǔ),包括Internet、Web和Java。 1.1 電子商務(wù)理念 從20世紀(jì)70年代以來,很多機(jī)構(gòu)依靠電子數(shù)據(jù)交換(EDI、Electronic Data Interchange)實現(xiàn)業(yè)務(wù)處理的自動化。EDI著重于商業(yè)伙伴之間的事務(wù)處理標(biāo)準(zhǔn)化,但是EDI標(biāo)準(zhǔn)缺乏靈活性和可擴(kuò)展性。進(jìn)入20世紀(jì)90年代,隨著Web技術(shù)的發(fā)展,尤其是在1995年Java出現(xiàn)以后,許多機(jī)構(gòu)開始采用Web應(yīng)用系統(tǒng)來支持電子商務(wù)。電子商務(wù)(e-business)是指借助Internet及相關(guān)技術(shù)進(jìn)行商務(wù)活動,而一個電子商務(wù)(an e-business)是這樣的一個機(jī)構(gòu),它通過內(nèi)部網(wǎng)、外部網(wǎng)和Web將關(guān)鍵業(yè)務(wù)系統(tǒng)直接連接到客戶、員工、供應(yīng)商和業(yè)務(wù)伙伴。一個機(jī)構(gòu)要轉(zhuǎn)型為一個電子商務(wù),就要使用Internet技術(shù)轉(zhuǎn)變關(guān)鍵的業(yè)務(wù)過程,如客戶關(guān)系管理、電子商貿(mào)、供應(yīng)鏈管理、企業(yè)內(nèi)部管理。這個轉(zhuǎn)變過程也是一個綜合使用Internet技術(shù)、信息技術(shù)、商務(wù)技術(shù)轉(zhuǎn)變業(yè)務(wù)方式的過程。 然而,電子商務(wù)不僅僅是技術(shù)更新。轉(zhuǎn)變到電子商務(wù)必須對需要做什么有一個明確的藍(lán)圖,以及對實現(xiàn)這個藍(lán)圖有一個清晰的發(fā)展指南。電子商務(wù)周期模型正是為企業(yè)開展電子商務(wù)提供了一個模型。電子商務(wù)周期(參見圖1-1)由四個組成階段,包括轉(zhuǎn)變、構(gòu)造、運(yùn)行和利用。想要轉(zhuǎn)變到電子商務(wù)的機(jī)構(gòu)無論何時均可以從任何一個階段開始。這也是一個重復(fù)的過程。
圖1-1:電子商務(wù)周期模型
1) 轉(zhuǎn)變階段是關(guān)于轉(zhuǎn)變核心的商務(wù)過程,也就是要將現(xiàn)有的商務(wù)模型擴(kuò)展到網(wǎng)絡(luò)世界以創(chuàng)造一個電子商務(wù)模型。應(yīng)用Internet技術(shù)為商務(wù)創(chuàng)造最大限度的價值,電子商務(wù)改變著客戶關(guān)系管理、供應(yīng)鏈和電子商貿(mào)的傳統(tǒng)準(zhǔn)則。在轉(zhuǎn)變商務(wù)過程時,每一個商務(wù)過程應(yīng)該放在整體環(huán)境中加以考慮。否則,充其量只是離散的各個更好的商務(wù)過程,無法帶來期望的改善客戶服務(wù)和提高電子商務(wù)價值的效果。 2) 構(gòu)造階段是關(guān)于構(gòu)造新的應(yīng)用系統(tǒng)。轉(zhuǎn)變核心的商務(wù)過程需要新一代的應(yīng)用系統(tǒng)。構(gòu)造階段也包括使用一個基于開放標(biāo)準(zhǔn)的途徑將已有應(yīng)用系統(tǒng)遷移到Web上。要求電子商務(wù)應(yīng)用系統(tǒng)是基于標(biāo)準(zhǔn)的、以服務(wù)器為中心的、可伸縮的、可快速部署、易用和易管理的。 3) 運(yùn)行階段涉及一個可伸縮的、可用的、安全的運(yùn)行環(huán)境。圍繞著商務(wù)和應(yīng)用系統(tǒng)通常有一個基礎(chǔ)設(shè)施?;A(chǔ)設(shè)施提供的服務(wù)要求是可用的、可伸縮的、易管理的和安全的。 4) 利用階段是關(guān)于知識和信息的利用。這里的焦點是知識管理,也就是說利用我們知道的東西。與信息管理不同,知識管理包括對顯式知識和隱式知識的管理。傳統(tǒng)的IT系統(tǒng)處理的是顯式知識,即能寫下來并能編程處理的。而隱式知識是人們知道的但沒有被寫下來的東西,它基于直覺、經(jīng)驗和洞察力。 從簡單的開始,快速地增長。從現(xiàn)有的基礎(chǔ)上構(gòu)造電子商務(wù)應(yīng)用系統(tǒng),逐步將核心業(yè)務(wù)擴(kuò)展到Internet上,最終實現(xiàn)電子商務(wù)帶來的巨大的投資回報。然而,電子商務(wù)的技術(shù)基礎(chǔ)主要包括Internet、Web和Java,本章以下各節(jié)介紹這些技術(shù)的基礎(chǔ)知識。 1.2 Internet基礎(chǔ)知識 Internet已經(jīng)成為企業(yè)、政府和研究機(jī)構(gòu)共享信息的基礎(chǔ)設(shè)施,同時也是開展電子商務(wù)的基礎(chǔ)。Internet 的先驅(qū)是ARPANET。美國國防高級研究計劃局 (Defense Advanced Research Project Agency、簡稱DARPA)于20 世紀(jì) 60 年代后期資助開發(fā)了一種叫做 ARPANET的實驗性通訊系統(tǒng)。起初,它僅用于連接美國軍事機(jī)構(gòu)的計算機(jī)網(wǎng)絡(luò),但隨后不久,這個網(wǎng)絡(luò)很快擴(kuò)展到與國防有關(guān)的公司和研究機(jī)構(gòu)。從此,面向特定應(yīng)用需求的不同網(wǎng)絡(luò)協(xié)議及網(wǎng)絡(luò)技術(shù)相繼出現(xiàn),同時也帶來了網(wǎng)絡(luò)互連的問題。如果兩個網(wǎng)絡(luò)使用不同的協(xié)議,即使采用某種網(wǎng)絡(luò)技術(shù)將它們在物理上互相連接起來,應(yīng)用系統(tǒng)(如郵件系統(tǒng))之間也無法相互溝通。為此,很多組織,如CCITT(Consultative Committee on International Telephony and Telegraphy,現(xiàn)在成為 ITU-T,即International Telecommunications Union - Telecommunication Standardization Sector)和ISO(國際標(biāo)準(zhǔn)化組織),開始考慮定義一套分層協(xié)議族,使得應(yīng)用系統(tǒng)之間能相互通信,即使這些應(yīng)用系統(tǒng)運(yùn)行在不同的網(wǎng)絡(luò)環(huán)境中(如不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)技術(shù))。DARPA從1970年左右開始研究一套稱之為TCP/IP的分層協(xié)議族,于1978年左右基本定形。ARPANET于1980年左右開始采用TCP/IP協(xié)議族,并于1983年全面實現(xiàn)。與此同時,TCP/IP協(xié)議族在 UNIX操作系統(tǒng)中也得到了實現(xiàn)(由加利福尼亞大學(xué)伯克利分校完成),并免費(fèi)分發(fā)。從此,TCP/IP在大學(xué)和研究機(jī)構(gòu)中迅速傳播,并成為連接UNIX系統(tǒng)的標(biāo)準(zhǔn)協(xié)議。這些互相連接的網(wǎng)絡(luò)廣泛深入到大學(xué)和其它組織(一開始主要是非贏利組織)。由于個人計算機(jī)的迅速普及,該網(wǎng)絡(luò)擴(kuò)展到全球大部分地方,并且開始吸引成千上萬的個人以及贏利組織加入,由此逐漸形成了所謂的 Internet(因特網(wǎng))。Internet指的是全球性互連網(wǎng)絡(luò)。它由下列網(wǎng)絡(luò)群構(gòu)成: 1) 主干網(wǎng):通常為大規(guī)模網(wǎng)絡(luò),這些網(wǎng)絡(luò)主要用來與其它網(wǎng)絡(luò)互連,如美國的NSFNET(NSF是指美國國家自然科學(xué)基金會)、歐洲的EBONE、大型的商用主干網(wǎng)。 2) 區(qū)域網(wǎng):如連接大專院校的區(qū)域網(wǎng)。 3) 商用網(wǎng)絡(luò):為客戶提供連接骨干網(wǎng)的服務(wù)的網(wǎng)絡(luò),或只供公司內(nèi)部使用且連接到Internet的網(wǎng)絡(luò)。 4) 局域網(wǎng):如校園網(wǎng)。 90年代,Internet發(fā)展十分迅猛,這與1991年HTML的問世和Gopher的免費(fèi)發(fā)放有關(guān),也與1993年Mosaic的問世有關(guān),Internet的商用也加速了Internet的擴(kuò)張。到20世紀(jì)末,Internet已經(jīng)成為一種通過服務(wù)器將小型網(wǎng)絡(luò)連接起來的錯綜復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)。大部分情況下,服務(wù)器通過專門進(jìn)行 Internet 通訊的線路來傳送數(shù)據(jù)。個人計算機(jī)則通過直接線路,或者通過電話線和調(diào)制解調(diào)器連接到這些服務(wù)器上。直接線路一般是高速的電訊線路,專門用于在建筑物之間或組織之間傳送數(shù)據(jù)。而標(biāo)準(zhǔn)的電話線路,現(xiàn)在主要是綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)的線路,則通常用于連接個人計算機(jī)。
[[i] 本帖最后由 戀豬明 于 2006-5-16 12:40 AM 編輯 [/i]]
|
WebSphere快速入門(2)
1.3 Web基本知識 Web(World Wide Web、萬維網(wǎng))技術(shù)是電子商務(wù)的核心技術(shù)。Web的思想可追溯到Tim Berners-Lee于1989年3月在CERN (Centre European pour la Recherche Nucleaire,或稱European Laboratory for Particle Physics、歐洲粒子物理實驗室)寫的一個關(guān)于信息管理的項目建議書(Information Management: A Proposal)。該建議書提出了分布式超文本系統(tǒng)的設(shè)想,旨在將CERN已有的幾個信息服務(wù)器一體化,并提供一個簡單的用戶界面來存取各種形式的信息。1990年Web瀏覽器和Web服務(wù)器使用面向?qū)ο蠹夹g(shù)相繼在CERN實現(xiàn)。Berners-Lee 和他的合作伙伴成功引入了構(gòu)成Web體系結(jié)構(gòu)的基本元素:Web服務(wù)器、Web瀏覽器、瀏覽器與服務(wù)器之間的通信協(xié)議HTTP(Hypertext Transfer Protocol 、超文本傳輸協(xié)議)、寫Web文檔的語言HTML(Hypertext Markup Language、超文本標(biāo)記語言)、以及用來標(biāo)識Web上資源的URL(Universal Resource Locator 、統(tǒng)一資源定位器)。1993年,美國伊利諾斯大學(xué)國家超級計算應(yīng)用中心NCSA (National Center for Supercomputing Applications)的Marc Andreesen及其合作者發(fā)布了稱為Mosaic的瀏覽器,這是第一個較健壯的易用的瀏覽器,它具有友善的圖形用戶界面。從此,Web迅速成長為全球范圍內(nèi)的信息寶庫。1994 年,W3 聯(lián)盟在Tim Berners-Lee的領(lǐng)導(dǎo)下成立,該組織通過制定技術(shù)規(guī)范與提供參考軟件來發(fā)展Web的技術(shù)標(biāo)準(zhǔn)并促進(jìn)Web產(chǎn)品之間的互操作性。 URL(Universal Resource Locator 、統(tǒng)一資源定位器)用來唯一標(biāo)識Web上的資源,包括Web 頁面、圖象文件(如gif 格式文件和jpeg格式文件)、音頻文件(如au格式)、視頻文件 (如mpeg格式文件)。URL的格式為:協(xié)議://主機(jī)名<:端口號>/標(biāo)識符(例如 [url]http://www.:80/index.html[/url] )。協(xié)議可以是HTTP、HTTPS(安全的超文本傳輸協(xié)議)、FTP;主機(jī)名用來標(biāo)識被請求的服務(wù)器;端口通常為不同協(xié)議保留,例如FTP和HTTP守護(hù)進(jìn)程偵聽不同的端口,F(xiàn)TP缺省的端口號為21,HTTP缺省的端口號為80;標(biāo)識符說明被請求的是什么,可以是文件名(含路徑)或一個應(yīng)用關(guān)鍵字 (如/cgi-bin/和/servlet/)加上一些信息(如一個腳本的名字和servlet的名字)。例如,用戶鍵入URL格式的地址(例如 [url]http://www.:80/index.html[/url] );瀏覽器請求主機(jī)[url]www.[/url] 在80端口提供的HTTP服務(wù),并要求取得該服務(wù)器上的index.html文件;服務(wù)器接受請求,取得該文件;服務(wù)器把文件返回瀏覽器,并告訴瀏覽器這是一個HTML文件;瀏覽器在顯示器上顯示這個頁面。在瀏覽器和web服務(wù)器之間使用的協(xié)議是HTTP。 HTTP(Hyper Text Transfer Protocol、超文本傳輸協(xié)議)是用來在互連網(wǎng)上傳輸文檔的協(xié)議,它是Web上最常用也是最重要的協(xié)議,也是Web服務(wù)器和Web客戶(如瀏覽器)之間傳輸Web頁面的基礎(chǔ)。HTTP是建立在TCP/IP之上的應(yīng)用協(xié)議,但并不是面向連接的,而是一種請求/應(yīng)答(Request/Response)式協(xié)議。瀏覽器通常通過HTTP向Web服務(wù)器發(fā)送一個HTTP請求,其中包括一個方法、可能的幾個頭、一個體。常用的方法類型包括:GET(請求一個網(wǎng)頁)、POST(傳送一個表單中的信息)、PUT(存入這個信息、類似于FTP中的PUT)和DELETE(刪除這個信息)。Web服務(wù)器接受到HTTP請求之后,執(zhí)行客戶所請求的服務(wù),生成一個HTTP應(yīng)答返回給客戶。HTTP應(yīng)答有一個狀態(tài)行、可能的幾個頭、一個體。在頭中可以定義返回文檔的內(nèi)容類型(MIME類型)、Cache控制、失效時間。MIME類型包括:“text/html”(HTML文本)、“image/jpeg”(JPEG圖)、“audio/ra”(RealAudio文件)。HTTP本身也在不斷完善和發(fā)展,目前,常用的是HTTP1.1,它更好地利用TCP的特性,對HTTP1.0作了改進(jìn)。 HTML (Hypertext Markup Language、超文本標(biāo)記語言)是Web誕生與發(fā)展的要素之一,它旨在使得Web頁面能顯示在任何HTML使能的瀏覽器中,而與連網(wǎng)的機(jī)器平臺無關(guān)。HTML并不是一個程序設(shè)計語言,而是一個標(biāo)記語言,它所提供的標(biāo)記是由SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)的通用標(biāo)記語言)定義的。SGML是ISO(國際標(biāo)準(zhǔn)化組織)在1986年推出的一個用來創(chuàng)建標(biāo)記語言的語言標(biāo)準(zhǔn),它源自IBM早在1969年開發(fā)的GML(Generalized Markup Language),該語言的名稱也正好包含了三位創(chuàng)始人姓字的第一個字母,他們分別是Charles F. Goldfarb, Edward Mosher,Raymond Lorie。SGML是一種元語言,即用來定義標(biāo)記語言的語言,它提供了一種將數(shù)據(jù)內(nèi)容與顯示分離開來的數(shù)據(jù)表示方法,使得數(shù)據(jù)獨立于機(jī)器平臺和處理程序。這些特性促使Tim Berners-Lee 采用SGML來創(chuàng)建稱之為HTML的標(biāo)記語言。1993年形成HTML 1.0,以后不斷完善,HTML 4.0發(fā)表于1997年。特別需要指出的是HTML提供的鏈接機(jī)制是Web的本質(zhì)特性之一。但是,HTML更多的關(guān)注Web瀏覽器如何在頁面上安排文本、圖象和按鈕等,過多地考慮外觀使其缺乏對結(jié)構(gòu)化數(shù)據(jù)的表示能力。另外,HTML中有限的標(biāo)記不能滿足很多Web應(yīng)用的需要,如基于Web的大型出版系統(tǒng)和新一代的電子商務(wù),而為各種應(yīng)用需要不斷地往HTML中增加標(biāo)記顯然不是最終的解決方法,究其原因是HTML缺乏可擴(kuò)展性。解決方案應(yīng)該是簡化SGML使之能應(yīng)用到Web上。為此,從1996年開始,W3C(World Wide Web Consortium) 的一個工作組在Jon Bosak的領(lǐng)導(dǎo)下致力于設(shè)計一個超越HTML能力范圍的新語言,這個語言后來被命名為XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言)。1998年2月,W3C發(fā)布了XML 1.0作為其推薦標(biāo)準(zhǔn)。現(xiàn)在,W3C已經(jīng)用XML設(shè)計出一個與HTML4.01功能等價的語言,稱為XHTML1.0 (Extensible HyperText Markup Language)。 Web客戶通常指的是Web瀏覽器,如Netscape Navigator和Microsoft Internet Explorer。這種瀏覽器能理解多種協(xié)議,如HTTP、HTTPS、FTP;也能理解多種文檔格式,如text、HTML、JPEG(一種圖象文件格式)、XML(有的尚未支持);也具備根據(jù)對象類型調(diào)用外部應(yīng)用的功能。需要指出的是HTML文檔中的鏈接在Web瀏覽器中通常以帶下劃線的方式顯示,用戶點擊某個鏈接就能瀏覽到所鏈接的Web資源,這也是Web的魅力所在。 Web服務(wù)器(或稱HTTP服務(wù)器)提供HTTP服務(wù)。本來Web服務(wù)器只提供“靜態(tài)”內(nèi)容,即返回在URL里指定的文件的內(nèi)容,一般具備將URL名映射到文件名的功能,并能實施某種安全策略?,F(xiàn)在,可采用CGI(通用網(wǎng)關(guān)接口)技術(shù)或Java Servlet技術(shù)從一個運(yùn)行的程序里得出“動態(tài)”內(nèi)容,可以采用應(yīng)用關(guān)鍵字(如/cgi-bin/和/servlet/)來組織腳本文件和Servlet文件,而且現(xiàn)在的Web服務(wù)器通常還具備連接數(shù)據(jù)庫的功能,這些形成了Web應(yīng)用的出現(xiàn)。通常,一個Web服務(wù)器還提供其它服務(wù),如FTP服務(wù)。有的還可作為代理服務(wù)器。一個代理服務(wù)器是一個可以從別的服務(wù)器上為它的客戶取文件的服務(wù)器。代理服務(wù)器可以通過緩存應(yīng)答(頁面)使得響應(yīng)時間更快,也可以降低網(wǎng)絡(luò)流量,對外能隱藏內(nèi)部網(wǎng)信息。 總之,URL、HTTP、HTML(以及XML)、Web服務(wù)器和Web瀏覽器是構(gòu)成Web的五大要素。Web的本質(zhì)內(nèi)涵是一個建立在Internet基礎(chǔ)上的網(wǎng)絡(luò)化超文本信息傳遞系統(tǒng),而Web的外延是不斷擴(kuò)展的信息空間。Web的基本技術(shù)在于對Web資源的標(biāo)識機(jī)制(如URL)、應(yīng)用協(xié)議(如HTTP和HTTPS)、數(shù)據(jù)格式(如HTML和XML)。這些技術(shù)的發(fā)展日新月異,同時新的技術(shù)不斷涌現(xiàn),因此Web的發(fā)展前景不可限量。 1.4 Java 簡介 現(xiàn)代技術(shù)的發(fā)展,尤其是網(wǎng)絡(luò)技術(shù),給現(xiàn)代企業(yè)帶來了許多新的機(jī)遇和挑戰(zhàn),如改善客戶服務(wù)、全球化和信息檢索等,這些在技術(shù)上反映為信息的獲取、系統(tǒng)管理、系統(tǒng)集成、新技術(shù)的開發(fā)、Internet、Intranet等等與商業(yè)的結(jié)合。而這些要求一個隨處可用的開放的結(jié)構(gòu)和在不同的平臺之間低成本的信息傳遞方式,Java正好滿足這些要求。 Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。用Java實現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動感的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。 Java平臺由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個獨立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1.x版發(fā)展到1.2版。目前常用的Java平臺基于Java1.2。 Java語言是一個支持網(wǎng)絡(luò)計算的面向?qū)ο蟪绦蛟O(shè)計語言。Java語言吸收了Smalltalk語言和C++語言的優(yōu)點,并增加了其它特性,如支持并發(fā)程序設(shè)計、網(wǎng)絡(luò)通信、和多媒體數(shù)據(jù)控制等。主要特性如下: 1) Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。 2) Java語言是一個面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定,而C++ 語言只對虛函數(shù)使用動態(tài)綁定??傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。 3) Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java.net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。 4) Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。 5) Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 6) Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 7) Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實現(xiàn)的。 8) Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式, 然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。在運(yùn)行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 9) Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來越接近于C++。 10) Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread(Runnable) 的構(gòu)造子將一個實現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。 11) Java語言是動態(tài)的。Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境。Java程序需要的類能動態(tài)地被載入到運(yùn)行環(huán)境,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。另外,Java中的類有一個運(yùn)行時刻的表示,能進(jìn)行運(yùn)行時刻的類型檢查。 Java語言的優(yōu)良特性使得Java應(yīng)用具有無比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對對象技術(shù)的全面支持和Java平臺內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開發(fā)時間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個隨處可用的開放結(jié)構(gòu)和在多平臺之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類庫。 1) JDBC(Java Database Connectivity)提供連接各種關(guān)系數(shù)據(jù)庫的統(tǒng)一接口。 2) EJB(Enterprise JavaBeans)使得開發(fā)者方便地創(chuàng)建、部署和管理跨平臺的基于組件的企業(yè)應(yīng)用。 3) Java RMI(Java Remote Method Invocation)用來開發(fā)分布式Java應(yīng)用程序。一個Java對象的方法能被遠(yuǎn)程Java虛擬機(jī)調(diào)用。這樣,遠(yuǎn)程方法激活可以發(fā)生在對等的兩端,也可以發(fā)生在客戶端和服務(wù)器之間,只要雙方的應(yīng)用程序都是用Java寫的。 4) Java IDL(Java Interface Definition Language) 提供與CORBA(Common Object Request Broker Architecture)的無逢的互操作性。這使得Java能集成異構(gòu)的商務(wù)信息資源。 5) JNDI(Java Naming and Directory Interface)提供從Java平臺到的統(tǒng)一的無逢的連接。這個接口屏蔽了企業(yè)網(wǎng)絡(luò)所使用的各種命名和目錄服務(wù)。 6) JMAPI(Java Management API)為異構(gòu)網(wǎng)絡(luò)上系統(tǒng)、網(wǎng)絡(luò)和服務(wù)管理的開發(fā)提供一整套豐富的對象和方法。 7) JMS(Java Message Service)提供企業(yè)消息服務(wù),如可靠的消息隊列、發(fā)布和訂閱通信、以及有關(guān)推拉(Push/Pull)技術(shù)的各個方面。 8) JTS(Java transaction Service)提供存取事務(wù)處理資源的開放標(biāo)準(zhǔn),這些事務(wù)處理資源包括事務(wù)處理應(yīng)用程序、事務(wù)處理管理及監(jiān)控。
在Java技術(shù)中,值得關(guān)注的還有JavaBeans,它是一個開放的標(biāo)準(zhǔn)的組件體系結(jié)構(gòu),它獨立于平臺,但使用Java語言。一個JavaBean是一個滿足JavaBeans規(guī)范的Java類,通常定義了一個現(xiàn)實世界的事物或概念。一個JavaBean的主要特征包括屬性、方法和事件。通常,在一個支持JavaBeans規(guī)范的開發(fā)環(huán)境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可視地操作JavaBean,也可以使用JavaBean構(gòu)造出新的JavaBean。JavaBean的優(yōu)勢還在于Java帶來的可移植性?,F(xiàn)在,EJB (Enterprise JavaBeans) 將JavaBean概念擴(kuò)展到Java服務(wù)端組件體系結(jié)構(gòu),這個模型支持多層的分布式對象應(yīng)用。除了JavaBeans,典型的組件體系結(jié)構(gòu)還有DCOM和CORBA,關(guān)于這些組件體系結(jié)構(gòu)的深入討論超出了本書的范圍。 第二章 電子商務(wù)應(yīng)用框架 要轉(zhuǎn)變傳統(tǒng)的業(yè)務(wù)過程,就需要開發(fā)和部署電子商務(wù)應(yīng)用系統(tǒng)的一個基礎(chǔ),電子商務(wù)應(yīng)用框架正是這樣的一個基礎(chǔ)。許多企業(yè)希望電子商務(wù)應(yīng)用系統(tǒng)具備下列特征: 1) 基于標(biāo)準(zhǔn); 2) 以服務(wù)器為中心; 3) 可伸縮; 4) 能利用已有的核心系統(tǒng); 5) 可快速部署和易用; 6) 易管理。 本章介紹的電子商務(wù)應(yīng)用框架能滿足企業(yè)開發(fā)電子商務(wù)應(yīng)用系統(tǒng)的上述需求。所謂一個框架是指一個可復(fù)用的設(shè)計,表示為一組抽象的元素范例以及元素范例之間合作的接口??蚣苁怯嗅槍π缘?,如一個用戶界面框架只為軟件系統(tǒng)的用戶界面提供了一個設(shè)計,而一個應(yīng)用框架為整個應(yīng)用系統(tǒng)提供了一個設(shè)計。一個應(yīng)用框架中的元素范例也可稱之為組件。本節(jié)介紹的電子商務(wù)應(yīng)用框架基于業(yè)界標(biāo)準(zhǔn);它為開發(fā)和部署電子商務(wù)應(yīng)用系統(tǒng)提供了一組完整的服務(wù);它提供的Web應(yīng)用編程模型定義了Web應(yīng)用拓?fù)浣Y(jié)構(gòu)以及使用框架提供的服務(wù)來設(shè)計Web應(yīng)用的一個模型。這個框架基于獨立于平臺和提供商的技術(shù)標(biāo)準(zhǔn),包括關(guān)于客戶端、應(yīng)用服務(wù)器、網(wǎng)絡(luò)、數(shù)據(jù)和基礎(chǔ)設(shè)施的標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)使得客戶能在任何時候在網(wǎng)絡(luò)上的任何地方存取有關(guān)數(shù)據(jù)和服務(wù),也使得開發(fā)的應(yīng)用軟件只需寫一次就能到處運(yùn)行,并能即插即用各種組件。下面介紹電子商務(wù)應(yīng)用框架的基本系統(tǒng)模型、體系結(jié)構(gòu)和Web應(yīng)用編程模型。 |
|
WebSphere快速入門(3)
2.1 基本系統(tǒng)模型 電子商務(wù)應(yīng)用框架為設(shè)計電子商務(wù)解決方案提供了一個模型。這個框架基于一個多層的分布式環(huán)境,在這個環(huán)境中,任何多的各層應(yīng)用邏輯和商業(yè)服務(wù)分離為各種組件,這些組件通過網(wǎng)絡(luò)相互通信。在它的最基本的形式中,可以被描述為一個“邏輯上”的3層計算模型,即分層是在邏輯上的,并不要求是物理上的。這個基本的3層系統(tǒng)模型包括客戶、Web 應(yīng)用服務(wù)器、服務(wù)器(見圖2-1)。在這3個邏輯層中的應(yīng)用元素通過一組業(yè)界標(biāo)準(zhǔn)的協(xié)議、服務(wù)和軟件連接器互相連接起來。 圖2-1:基本系統(tǒng)模型
1. 客戶。這個應(yīng)用框架支持廣泛的客戶端設(shè)備,從個人數(shù)字助理(PDA)、智能卡(smartcard)、數(shù)字無繩電話等大眾普遍使用的設(shè)備到網(wǎng)絡(luò)計算機(jī)和個人計算機(jī)。將這些客戶端設(shè)備連結(jié)到Web應(yīng)用服務(wù)器的思路是使用一組被廣泛支持的基于Internet的技術(shù)和協(xié)議??蛻舳说闹饕饔檬菍?yīng)用產(chǎn)生的結(jié)果信息顯示給用戶。正因為如此,這種客戶通常被稱為“瘦客戶”,也就是說在客戶端執(zhí)行的應(yīng)用邏輯很少或沒有,這樣,很小的軟件(如Web瀏覽器)需要在客戶端安裝。 2. Web應(yīng)用服務(wù)器。Web應(yīng)用服務(wù)器是這樣的一個平臺,它為應(yīng)用的業(yè)務(wù)邏輯提供了一個運(yùn)行環(huán)境。它包括HTTP服務(wù)器和企業(yè)Java服務(wù),支持分布式網(wǎng)絡(luò)環(huán)境下應(yīng)用軟件的快速開發(fā)和部署。應(yīng)用軟件在Web應(yīng)用服務(wù)器及其內(nèi)嵌的JVM(Java Virtual Machine,Java虛擬機(jī))中運(yùn)行。這些服務(wù)端的組件通過HTTP或IIOP(Internet Inter-ORB Protocol)與客戶和其它組件通信,并利用網(wǎng)絡(luò)基礎(chǔ)架構(gòu)提供的目錄和安全服務(wù)。這些組件還可以利用數(shù)據(jù)庫、事務(wù)處理、和群件等設(shè)施。 3. 連到外部服務(wù)的連接器。外部服務(wù)通常是企業(yè)在信息技術(shù)上多年投資的結(jié)果,是人們?nèi)粘9ぷ魉蕾嚨膽?yīng)用和數(shù)據(jù)。這些應(yīng)用和數(shù)據(jù)是重要的商務(wù)資源,需要以一種安全且可控的方式連接到Web上,使得企業(yè)充分發(fā)揮它們的作用為顧客、業(yè)務(wù)伙伴和員工服務(wù)。連接器就是使得它成為現(xiàn)實的一種機(jī)制。連接器將中間層內(nèi)新增的業(yè)務(wù)邏輯連結(jié)到企業(yè)已有的應(yīng)用和數(shù)據(jù),從而將Internet的力量無縫地連接到企業(yè)中來。
這個電子商務(wù)基本系統(tǒng)模型集中體現(xiàn)了面向Web的網(wǎng)絡(luò)計算風(fēng)格,并結(jié)合了顯示、業(yè)務(wù)邏輯、數(shù)據(jù)存貯這3層應(yīng)用元素。這個基本系統(tǒng)模型的特性如下: 1. 基于Web瀏覽器/Java applet使能的廣泛的客戶連接。 2. 易管理的客戶,通過配置需要很少或無須本地的軟件安裝和數(shù)據(jù)備份。 3. 寫一次、到處可運(yùn)行的應(yīng)用軟件的快速開發(fā)及即時部署。 4. 提倡軟件復(fù)用,使得新添程序量最小化、生產(chǎn)效率最大化,并提高軟件質(zhì)量。 5. 與外部服務(wù)的連接,在這些外部服務(wù)系統(tǒng)中駐留著已有業(yè)務(wù)應(yīng)用和數(shù)據(jù),充分發(fā)揮它們的作用為顧客、業(yè)務(wù)伙伴和員工服務(wù)。 2.2 體系結(jié)構(gòu) 電子商務(wù)應(yīng)用框架的體系結(jié)構(gòu)為開發(fā)和部署電子商務(wù)應(yīng)用系統(tǒng)提供了一組完整的服務(wù)。這個體系結(jié)構(gòu)由下列關(guān)鍵元素構(gòu)成(參見圖2-2):
圖2-2:應(yīng)用框架的體系結(jié)構(gòu)
1) 客戶基于Web瀏覽器/Java applet模式,使得對應(yīng)用系統(tǒng)的存取變得很普遍,并且應(yīng)用組件能即時發(fā)送。 2) 網(wǎng)絡(luò)基礎(chǔ)設(shè)施提供了如TCP/IP、目錄和安全等服務(wù),這些服務(wù)的能力可通過開放且標(biāo)準(zhǔn)的接口和協(xié)議來存取。 3) 應(yīng)用服務(wù)器軟件為電子商務(wù)應(yīng)用系統(tǒng)提供了一個平臺,包括HTTP服務(wù)器、數(shù)據(jù)庫和事務(wù)處理服務(wù)、郵件和群件服務(wù)、和消息服務(wù)。 4) 應(yīng)用集成使得異構(gòu)應(yīng)用系統(tǒng)間相互通信,使得Web能存取現(xiàn)有數(shù)據(jù)和應(yīng)用系統(tǒng)。 5) Web應(yīng)用編程環(huán)境為創(chuàng)建動態(tài)和健壯的電子商務(wù)應(yīng)用系統(tǒng)提供了服務(wù)端Java編程環(huán)境。 6) 電子商務(wù)應(yīng)用服務(wù)為方便電子商務(wù)解決方案的創(chuàng)建提供了高層應(yīng)用的特定功能。 7) 系統(tǒng)管理用來滿足網(wǎng)絡(luò)計算的管理需求,系統(tǒng)中的元素包括用戶、應(yīng)用、服務(wù)、基礎(chǔ)構(gòu)架、和硬件。 8) 開發(fā)工具用來創(chuàng)建、組裝、部署、和管理應(yīng)用系統(tǒng)。
1. 客戶 客戶通常為“瘦客戶”,也就是說在客戶端執(zhí)行的應(yīng)用邏輯很少或沒有,這樣,很小的軟件(如Web瀏覽器)需要在客戶端安裝。在這個模型中,應(yīng)用被安排在服務(wù)器上并動態(tài)地即時(on-demand )下載到發(fā)出請求的客戶。正因為如此,新一代應(yīng)用的客戶端部分應(yīng)該用HTML、DHTML、XML、Java applets來實現(xiàn)。這種新一代應(yīng)用支持廣泛的客戶端設(shè)備,從大眾普遍使用的個人數(shù)字助理(PDA)和智能卡(smartcard)等設(shè)備到網(wǎng)絡(luò)計算機(jī)和個人計算機(jī)。
2. 網(wǎng)絡(luò)基礎(chǔ)設(shè)施 它為整個體系結(jié)構(gòu)提供了一個安全的可伸縮的分布式網(wǎng)絡(luò)平臺,包括下列均基于開放標(biāo)準(zhǔn)的服務(wù): 1) TCP/IP和網(wǎng)絡(luò)服務(wù)。如DHCP和WAP,DHCP為進(jìn)入網(wǎng)絡(luò)的設(shè)備動態(tài)地分配IP地址,而WAP(Wireless Application Protocol、無繩應(yīng)用協(xié)議)將信息和電話服務(wù)發(fā)送到移動電話和其它的無繩設(shè)備。 2) 安全服務(wù)?;诠_密鑰技術(shù)的安全服務(wù)支持用戶辨認(rèn)和鑒別、存取控制、保密、數(shù)據(jù)完整性和交易的無否認(rèn)性。 3) 目錄服務(wù)?;贚DAP(Lightweight Directory Access Protocol、輕型目錄存取協(xié)議)的目錄服務(wù)定位網(wǎng)絡(luò)中的用戶、服務(wù)和資源。 4) 文件和打印服務(wù)。可以通過Web瀏覽器來存取和管理文件和打印服務(wù)
3. 應(yīng)用服務(wù)器軟件 應(yīng)用服務(wù)器軟件層為開發(fā)和支撐運(yùn)行在Web應(yīng)用服務(wù)器上的電子商務(wù)應(yīng)用系統(tǒng)的商務(wù)邏輯提供了核心功能。包括下列服務(wù): 1) HTTP服務(wù)器。它協(xié)調(diào)、收集并組合包含靜態(tài)和動態(tài)內(nèi)容的Web頁面,并將它們發(fā)送給客戶。 2) 郵件和社團(tuán)服務(wù)。它們提供e-mail、工作日歷、小組工作安排、聊天、新聞組討論等服務(wù)。 3) 群件服務(wù)。它提供一個豐富的共享的虛擬工作間,并支持業(yè)務(wù)工作流程的協(xié)調(diào)。 4) 數(shù)據(jù)庫服務(wù)。它將一個面向?qū)ο髷?shù)據(jù)庫的特性及功能與Web應(yīng)用服務(wù)器集成起來。 5) 事務(wù)處理服務(wù)。它通過提供一個高可用的、健壯的、可擴(kuò)充的、安全的事務(wù)處理應(yīng)用執(zhí)行環(huán)境來擴(kuò)展Web應(yīng)用服務(wù)器的功能。 6) 消息發(fā)送服務(wù)。它提供健壯的異步通信和消息代理設(shè)施來支持通信的發(fā)表/訂閱模型和消息轉(zhuǎn)換。
4. 應(yīng)用集成 應(yīng)用集成部分使得異構(gòu)應(yīng)用系統(tǒng)間在企業(yè)內(nèi)或跨越企業(yè)相互通信,這些異構(gòu)應(yīng)用系統(tǒng)可能是用不同的程序設(shè)計語言實現(xiàn)的,也可能建立在不同的體系結(jié)構(gòu)之上。企業(yè)目前的大量關(guān)鍵數(shù)據(jù)和應(yīng)用程序(特別是事務(wù)處理程序)駐留在已有的系統(tǒng)中。應(yīng)用集成使得Web客戶以及服務(wù)器能與企業(yè)已有系統(tǒng)中的數(shù)據(jù)和程序一起工作,將Internet的力量無縫地連接到企業(yè)中來。所支持的集成方法包括連接器、應(yīng)用消息發(fā)送服務(wù)、商務(wù)過程集成與工作流服務(wù)、組件集成服務(wù)。
5. Web應(yīng)用編程環(huán)境 Web應(yīng)用編程環(huán)境基于Java servlets、Java Server Pages (JSP)、Enterprise Java services 和 Enterprise JavaBean 組件模型, 為創(chuàng)建在Web應(yīng)用服務(wù)器上的動態(tài)和健壯的商務(wù)應(yīng)用提供了編程環(huán)境。該環(huán)境提供了有關(guān)服務(wù)來鼓勵業(yè)務(wù)邏輯與顯示的分離,使得應(yīng)用能按用戶興趣和客戶端設(shè)備來動態(tài)剪裁內(nèi)容。
6. 電子商務(wù)應(yīng)用服務(wù) 電子商務(wù)應(yīng)用服務(wù)部分便利電子商務(wù)解決方案的創(chuàng)建。該部分包括的是面向高層應(yīng)用的組件。它們建立在應(yīng)用服務(wù)器軟件及網(wǎng)絡(luò)基礎(chǔ)設(shè)施的基礎(chǔ)上,并面向特定應(yīng)用類型的功能需求按照應(yīng)用框架的編程模型來實現(xiàn)的。比如支付服務(wù)和定單管理服務(wù)。 7. 系統(tǒng)管理 對于企業(yè)內(nèi)部,系統(tǒng)管理服務(wù)為支持端到端的管理提供了核心功能,提供的有關(guān)工具和服務(wù)來支持應(yīng)用系統(tǒng)整個生命周期的管理,從安裝和配置到運(yùn)作特性的監(jiān)控。跨越企業(yè),系統(tǒng)管理服務(wù)提供一個協(xié)作管理途徑,包括策略管理和數(shù)據(jù)倉庫等。 8. 開發(fā)工具 開發(fā)工具用來創(chuàng)建、組裝、部署、和管理應(yīng)用系統(tǒng)。 |
|
WebSphere快速入門(4)
2.3 Web應(yīng)用編程模型 Web應(yīng)用是這樣的應(yīng)用系統(tǒng),它利用Web客戶(如Web瀏覽器)、Web服務(wù)器和標(biāo)準(zhǔn)的Internet協(xié)議。通常,Web應(yīng)用也能利用來自外部非Web服務(wù)的應(yīng)用系統(tǒng)和數(shù)據(jù)。Web應(yīng)用編程模型定義了Web應(yīng)用拓?fù)浣Y(jié)構(gòu)以及使用框架提供的服務(wù)來設(shè)計Web應(yīng)用的模型。
圖2-3:Web應(yīng)用的拓?fù)浣Y(jié)構(gòu)
圖2-3顯示了Web應(yīng)用的拓?fù)浣Y(jié)構(gòu)(包括主要的元素)。值得注意的是,Web應(yīng)用服務(wù)器和外部服務(wù)是不同邏輯層,它們可能運(yùn)行在同一臺機(jī)器上。另外,Web應(yīng)用服務(wù)器的功能可能分散在多臺機(jī)器上。通常,一個Web應(yīng)用中的前端和業(yè)務(wù)邏輯部分運(yùn)行在不同的機(jī)器上。Web應(yīng)用的拓?fù)浣Y(jié)構(gòu)包含的元素有客戶、Web應(yīng)用服務(wù)器、基礎(chǔ)設(shè)施服務(wù)和外部服務(wù)。 1. 客戶 客戶使用Internet技術(shù)標(biāo)準(zhǔn)(如TCP/IP、HTTP、HTML和XML)與Web應(yīng)用服務(wù)器通信來存取業(yè)務(wù)邏輯和數(shù)據(jù)。客戶端的基本功能是接受并驗證用戶輸入,顯示從Web應(yīng)用服務(wù)器到用戶的返回結(jié)果。客戶可以是Internet 、Intranet(內(nèi)部網(wǎng))和Extranet(外部網(wǎng))中的客戶。Web應(yīng)用編程模型的重要準(zhǔn)則之一是Web應(yīng)用的商務(wù)邏輯總是運(yùn)行在服務(wù)端而不是在客戶端。其優(yōu)點如下: 1) 支持更廣泛的客戶端設(shè)備 2) Web應(yīng)用服務(wù)器能集成對資源(如數(shù)據(jù)庫)的存取,從而簡化應(yīng)用的設(shè)計,增強(qiáng)可伸縮性,并提供對資源的更好保護(hù)。 3) 運(yùn)行在服務(wù)端的商務(wù)邏輯容易得到保護(hù)、更新和維護(hù)。 4) 運(yùn)行在服務(wù)端的商務(wù)邏輯使得用戶的應(yīng)用環(huán)境得到集中管理并能在不同的客戶機(jī)上重建。
2. Web應(yīng)用服務(wù)器 Web應(yīng)用服務(wù)器是 Web應(yīng)用拓?fù)浣Y(jié)構(gòu)的核心,它為Web應(yīng)用提供了廣泛的程序設(shè)計、數(shù)據(jù)存取和應(yīng)用集成等服務(wù)。我們可以把一個Web應(yīng)用看作一個客戶與Web站點之間一系列的交互作用。整個交互過程從顯示在Web瀏覽器中一個頁面開始。用戶單擊該頁面上的一個按鈕或鏈接就產(chǎn)生一個請求,該請求被送到Web應(yīng)用服務(wù)器。Web應(yīng)用服務(wù)器對這個請求進(jìn)行處理,產(chǎn)生新的頁面,并送回到客戶端。在Web瀏覽器中顯示的新頁面就是這一次請求的結(jié)果,可能也是下一次請求的開始。所以說,Web應(yīng)用包含了一組交互或處理步驟,每一步必須產(chǎn)生一個頁面形式的響應(yīng),這個頁面作為后繼交互作用的入口。
圖2-4:Web應(yīng)用的交互模型
深究單個交互的細(xì)節(jié),不難發(fā)現(xiàn)這里有三個共用的處理要求,包括業(yè)務(wù)邏輯層、用戶界面層和交互控制器層(參見圖2-4)。具體來講: 1) 業(yè)務(wù)邏輯層。記錄并處理用戶輸入的部分。比如:對應(yīng)于在購物籃中添加一項商品的數(shù)據(jù)庫更新操作,或從一個銀行帳戶到另一個的資金轉(zhuǎn)帳操作。 2) 用戶界面層。構(gòu)造HTML頁面的部分。構(gòu)造出來的頁面將被送回給用戶,它決定了交互結(jié)果的顯示形式和風(fēng)格。 3) 交互控制器層??刂破渌氐牟糠?。處理HTTP請求,從業(yè)務(wù)邏輯層選擇要運(yùn)行的組件,根據(jù)業(yè)務(wù)邏輯的運(yùn)行結(jié)果從用戶界面層選擇相應(yīng)的組件,以構(gòu)造響應(yīng)頁面。 這三層正好對應(yīng)到經(jīng)典的M/V/C(Model/View/Controller,模型/視圖/控制器)范例。這一點很重要,因為不同層通常需要不同的開發(fā)技術(shù)和工具。應(yīng)用框架為各層提供使用各種組件的支持,這些組件之間有一個良定的接口。
3. 基礎(chǔ)設(shè)施服務(wù) 除了上述程序設(shè)計機(jī)制, 應(yīng)用開發(fā)者還需要運(yùn)行時刻的服務(wù)來支撐Web應(yīng)用。方便地定位應(yīng)用組件、保證它們的可用性以及對它們安全的存取和執(zhí)行等等都是在Internet、Intranet和Extranet環(huán)境中實施Web應(yīng)用的關(guān)鍵要素?;A(chǔ)設(shè)施服務(wù)為支持Web應(yīng)用提供下列設(shè)施: 1) 目錄服務(wù),本框架支持使用JNDI來存取基于LDAP協(xié)議的安全目錄服務(wù)。 2) 認(rèn)證授權(quán),這個設(shè)施能產(chǎn)生用來鑒別用戶和服務(wù)器的證書。公開密鑰技術(shù)已經(jīng)成為電子商務(wù)首選的可信賴的機(jī)制,而認(rèn)證授權(quán)是公開密鑰技術(shù)中的一個關(guān)鍵部分,它提供了數(shù)據(jù)保密、數(shù)據(jù)完整性、簽名驗證和用戶鑒別等特性。 3) 防火墻,它作為可信賴的內(nèi)部網(wǎng)絡(luò)和不可信賴的外部網(wǎng)絡(luò)之間的一個接口。通常,防火墻使用報文過濾器根據(jù)報文的源地址、宿地址、和服務(wù)類別(即端口號)來過濾報文流。使用防火墻來控制外部網(wǎng)絡(luò)中的那些(IP級)能允許存取內(nèi)部網(wǎng)絡(luò)、能使用那種類別的應(yīng)用服務(wù);同樣的模式能控制內(nèi)部網(wǎng)絡(luò)對外部網(wǎng)絡(luò)的存取。 4) 代理服務(wù)器,它起到為多個瀏覽器檢索Internet上數(shù)據(jù)的作用。作為客戶和Web應(yīng)用服務(wù)器之間的一個管道,代理服務(wù)器將客戶的請求遞交給有關(guān)的服務(wù)器并把服務(wù)器的響應(yīng)返回給客戶。這種工作方式還可以提供附加功能,如地址安全性和緩沖功能。
4. 外部服務(wù) 在這些外部服務(wù)系統(tǒng)中駐留著企業(yè)已有的應(yīng)用和數(shù)據(jù)、以及商業(yè)伙伴的服務(wù)系統(tǒng),如支付服務(wù)和外部信息服務(wù)。通常,這些應(yīng)用和服務(wù)系統(tǒng)控制著關(guān)鍵的商務(wù)過程,需要與Web服務(wù)器集成起來為顧客、業(yè)務(wù)伙伴和員工服務(wù)。
使用電子商務(wù)應(yīng)用框架開發(fā)和部署電子商務(wù)應(yīng)用系統(tǒng)帶來下列優(yōu)勢: 1) 極大地方便電子商務(wù)應(yīng)用系統(tǒng)的快速開發(fā)和部署。 2) 適應(yīng)任何客戶端設(shè)備。 3) 確保應(yīng)用系統(tǒng)能移植到各種不同的服務(wù)器環(huán)境中。 4) 利用并擴(kuò)展已有的信息技術(shù)資源。 這也是形成這個電子商務(wù)應(yīng)用框架的重要原則 |
|
WebSphere快速入門(5)
2.4 WebSphere 電子商務(wù)的靈魂是軟件,而電子商務(wù)應(yīng)用系統(tǒng)通常采用以Web服務(wù)器為中心的計算模式(參見基本系統(tǒng)模型),因此,Web應(yīng)用服務(wù)器軟件是電子商務(wù)市場的焦點。IBM WebSphere Application Server(WebSphere應(yīng)用服務(wù)器)是眾多Web應(yīng)用服務(wù)器軟件中的杰出代表。 事實上,IBM WebSphere產(chǎn)品系列是一套典型的電子商務(wù)應(yīng)用開發(fā)工具及運(yùn)行環(huán)境。該產(chǎn)品系列包括: 1) NetObject Fusion提供許多構(gòu)建和組織站點的工具,可用來建立和管理整個Web站點; 2) NetObject BeanBuilder是一個構(gòu)建applets的可視化寫作工具; 3) NetObjects ScriptBuilder提供了Smart HTML、JavaScript、JSP等的編輯器; 4) Lotus Domino Go Webserver是一個Servlet使能的Web服務(wù)器; 5) IBM WebSphere Studio提供了項目工作臺和有關(guān)向?qū)?,這些向?qū)Э捎脕泶嫒?shù)據(jù)庫、創(chuàng)建JavaBean和servlet等等; 6) IBM WebSphere Application Server (WebSphere應(yīng)用服務(wù)器)是一個Web應(yīng)用服務(wù)器(內(nèi)含IBM Http Server),它本質(zhì)上是適合于servlet的Web服務(wù)器插件,提供了增強(qiáng)的Servlet API和Servlets管理工具,并集成了JSP技術(shù)和數(shù)據(jù)庫連接技術(shù)。 第三章 WebSphere Studio應(yīng)用開發(fā) 本章結(jié)合IBM WebSphere Studio產(chǎn)品的使用,介紹電子商務(wù)應(yīng)用開發(fā)技術(shù)。 3.1 Lotus Domino Go Webserver Lotus Domino Go Webserver是一個Web服務(wù)器軟件。它具有下列特性: = 支持CGI、Servlet和一些其它的應(yīng)用編程接口。這些應(yīng)用編程接口用來創(chuàng)建動態(tài)頁面。 = 具備代理服務(wù)器(Proxy Server)的功能。一個代理服務(wù)器是一個請求代理(Broker)。瀏覽器把請求發(fā)到代理服務(wù)器,代理服務(wù)器從網(wǎng)上或從緩存里取這個頁。 = 支持SSL 3.0。SSL用來確保在web服務(wù)器和web瀏覽器之間安全通信。 = 支持PICS(Platform for Internet Content Selection)。PICS使得用戶可以過濾他們遇到的材料,按照材料的分級(由Web管理員設(shè)置)接受或者拒絕材料。 = 集成了搜索引擎。集成的搜索引擎是NetQuestion. = 易維護(hù)性。如很容易地維護(hù)用戶和訪問控制列表 下面就Domino Go Webserver的特性及有關(guān)使用技術(shù)加以詳述,包括Web服務(wù)器的配置、啟動Web服務(wù)器、URL與目錄映射規(guī)則、服務(wù)器日志、訪問控制、代理服務(wù)器。 1.Web服務(wù)器的配置 配置Lotus Domino Go Webserver有兩種方式,一種是使用Web瀏覽器來配置和管理,另一種是直接編輯配置文件。第一種方法更簡單。安裝Lotus Domino Go Webserver 之后,啟動Web服務(wù)器,使用web瀏覽器打開[url]http://127.0.0.1/frntpage.html[/url],輸入用戶名和口令后,瀏覽器就顯示配置和管理Web服務(wù)器的表單。.這些表單是CGI程序和HTML表格的結(jié)合,為配置Web服務(wù)器或查看Web服務(wù)器的當(dāng)前配置提供一個簡單的方法。瀏覽器可以和服務(wù)器在同一臺機(jī)器上或在訪問Web服務(wù)器的遠(yuǎn)程的客戶機(jī)上。在遠(yuǎn)程的客戶機(jī)上進(jìn)行配置和管理時需要訪問[url]http://your./[/url],當(dāng)然要求輸入正確的用戶名和口令。另一種方法是直接編輯配置文件。缺省地,配置文件名為httpd.cnf,在系統(tǒng)目錄下,通常是C:\WINNT。配置文件是由指示語句(directive)構(gòu)成的。通過更新這些directives來設(shè)置Web服務(wù)器的配置項,如主機(jī)名(Hostname)和URL傳遞規(guī)則(Passing Rules)。 2.啟動Widows NT上的Web服務(wù)器 有兩種方式來啟動Widows NT上的Web服務(wù)器。第一種是從服務(wù)面板啟動(NT Service Panel->StartUp Panel),有3個可選的啟動類型(Auto、Manual、Disable),并提供了從系統(tǒng)賬號啟動的方式,當(dāng)選擇從系統(tǒng)賬號啟動Web服務(wù)器時,還可以選擇在桌面上啟動圖形用戶界面來顯示日志或跟蹤信息。另一種是用命令行啟動,命令的語法為:whttpg [-p port] [-r config_file]。其中,端口號(port)指定Web服務(wù)器偵聽的端口,而配置文件名(config_file)指定Web服務(wù)器的配置文件,通常不是缺省的配置文件(在WINNT目錄下的httpd.cnf文件)。 需要指出的是在一個Widows NT上可以運(yùn)行多個Web服務(wù)器,但是有兩個注意事項。第一,同時運(yùn)行的Web服務(wù)器必須使用不同的端口。第二,最多有一個Web服務(wù)器可以從服務(wù)面板啟動,也就是說,附加的Web服務(wù)器需要用命令行啟動,并使用不同的端口,但可以使用同一個配置文件(建議使用不同的配置文件為妥)。另外,一個Web服務(wù)器可以有多個IP地址,每個IP地址有不同的主機(jī)名,這稱為多IP服務(wù)器。一個Web服務(wù)器也可以只有一個IP地址,但是有多個主機(jī)名,這稱為虛擬主機(jī)。多IP和虛擬主機(jī)可以為不同的虛擬主機(jī)提供不同的信息,盡管不同的虛擬主機(jī)是由同一個Web服務(wù)器服務(wù)的。 3.URL與目錄映射規(guī)則 URL(Uniform Resource Locator、統(tǒng)一資源定位器)是指定Web上資源項的地址的約定規(guī)則。它包括協(xié)議、后面跟著完整的主機(jī)名、和請求。一個URL的語法時: 協(xié)議://主機(jī)名[:端口][/[目錄名[/...][/文件名[?變量名= 值[&...]]]]]。 協(xié)議指的是提供http、https、ftp等服務(wù)的有關(guān)協(xié)議,Go WebServer服務(wù)器提供自己的http和https服務(wù),并代理ftp、gopher、wais等服務(wù)。通常,Web服務(wù)器把URL的主機(jī)名和端口后面的部分映射到一個路徑和文件名,即所謂的目錄映射。Go WebServer的Web文檔根目錄缺省為c:\WWW\HTML,在安裝該Web服務(wù)器軟件時可以指定Web文檔根目錄。當(dāng)服務(wù)器收到的URL請求沒有規(guī)定文件名字時,Web服務(wù)器會在相應(yīng)的目錄里搜索某個文件名列表,該文件名列表稱為歡迎頁面(Welcome Pages)列表。歡迎頁面列表通常包括Welcome.html和index.htm等。關(guān)于目錄映射,Go WebServer使用URL傳遞規(guī)則來實現(xiàn)所需的目錄映射。傳遞模板及示例如下: 傳遞模板 動作 請求模板 替代的文件路徑 示例 Pass /test/* c:\myhome\test\* 其中,請求模板代表被請求的URL,可以包含(*)通配符。當(dāng)一個URL匹配請求模板時,Web服務(wù)器按照替代的文件路徑訪問系統(tǒng)資源。這些規(guī)則可以用來維護(hù)物理文件系統(tǒng)的獨立性。而動作類型及其含義如下: (1) Map:Web服務(wù)器按照替代的文件路徑改變URL,繼續(xù)比較。 (2) Pass:Web服務(wù)器接受請求。 (3) Fail:Web服務(wù)器拒絕請求。 (4) Exec:Web服務(wù)器接受請求,并按照替代的文件路徑運(yùn)行一個CGI程序。 (5) Redirect:Web服務(wù)器使用一個由替代的文件路徑確定的URL來響應(yīng)。 (6) NameTrans:Web服務(wù)器接受請求,在處理請求的名字轉(zhuǎn)換步驟中,運(yùn)行一個由替代的文件路徑 確定的API應(yīng)用。 (7) Service:Web服務(wù)器接受請求,在處理請求的服務(wù)步驟中,運(yùn)行一個由替代的文件路徑確定的API 應(yīng)用。 如果設(shè)置了下列傳遞規(guī)則: = Map /beta/* /text/* = Exec /cgi-bin/* c:\www\cgi-bin\* = Pass /* c:\www\html\* = Pass /abc.html c:\abc.html URL請求與實際的系統(tǒng)資源之間的對應(yīng)舉例如下: 表3-1:URL到系統(tǒng)資源之間的對應(yīng)舉例 URL請求 對應(yīng)的系統(tǒng)資源 應(yīng)用的規(guī)則 /cgi-bin/search.exe c:\www\cgi-bin\serch.exe 規(guī)則1)、2) /index.html c:\www\html\index.html 規(guī)則3) /beta/download.html c:\www\html\test\download.html 規(guī)則1)、3) /abc.html c:\www\html\abc.html 規(guī)則3) 在匹配了Map規(guī)則以后,服務(wù)器會繼續(xù)比較余下的規(guī)則。服務(wù)器會在Exec和Pass規(guī)則后停止比較。第4個規(guī)則永遠(yuǎn)不會被使用,因為任何可以匹配第4個規(guī)則的都會匹配第3個規(guī)則。因此,Pass /* 規(guī)則通常應(yīng)該放在最后。 |
|
WebSphere快速入門(6)
4.服務(wù)器日志 缺省地web服務(wù)器會在c:\www\logs目錄下記錄所有東西,Web服務(wù)器每天在午夜啟動一個新的日志文件(如果那時它在運(yùn)行的話)。否則,Web服務(wù)器會在某天首次啟動時開始一個新的日志文件。日志文件通常包括下列類型: (1) httpd-log:記錄Web被訪問的統(tǒng)計情況。 (2) agent-log:記錄客戶使用的Web瀏覽器的情況。 (3) referer-log:記錄引用到請求頁面的頁面的情況。 (4) httpd-error:記錄Web服務(wù)器內(nèi)部錯誤的情況 (5) cgi-error:記錄CGI錯誤的情況。 日志的刪除可以選擇在若個天后刪除,或在若個MB存儲空間被用完后刪除,或運(yùn)行“User Exit” 刪除。也可以通過配置:對某些請求不作記錄。 5.訪問控制 Web服務(wù)器中的資源通常需要各種不同程度的保護(hù)??梢栽赪eb服務(wù)器的配置文件里進(jìn)行保護(hù)設(shè)置,也可以在每一個目錄里設(shè)置ACL(Access Control List),ACL是一個包含保護(hù)規(guī)則列表的文件,用來保護(hù)同一個目錄的文件。保護(hù)的類型有用戶名保護(hù)和地址保護(hù)等方式,用戶名保護(hù)決定誰可以訪問這個資源(可以要求口令驗證),地址保護(hù)使用地址模板來決定哪些客戶機(jī)(IP地址)可以訪問這個資源。 6.代理服務(wù)器 代理服務(wù)器是一個可以為它的客戶從別的服務(wù)器那里取得文件的服務(wù)器。一個代理可以降低網(wǎng)絡(luò)流量,對Internet隱藏內(nèi)部網(wǎng)信息。可以代理http、ftp、gopher、wais和SSL隧道(如https和snews),通常通過設(shè)置URL傳遞規(guī)則來實現(xiàn)。為啟用SSL代理,還必須啟用connect方法。要使用Web服務(wù)器提供的代理功能,瀏覽器必須設(shè)置該Web服務(wù)器為代理服務(wù)器并指定這個Web服務(wù)器的端口。 啟用的代理緩存功能可以提高運(yùn)行效率。代理緩存是在代理服務(wù)器端保存http、https或ftp等緩存文件以減少不必要的重復(fù)的請求處理。有幾個設(shè)置參數(shù)需要注意:緩存文件的一個給定的存儲空間稱為緩存容量,存放緩存文件的目錄稱為緩存文件的根目錄,對某些URL進(jìn)行緩存(其它的不需要)稱為緩存過濾。另外,未被使用的緩存文件的時間限制用來規(guī)定服務(wù)器保存未被使用的緩存文件的最長時間,而存儲空間回收用來移走過期的緩存文件 |
|
WebSphere快速入門(7)
3.2 IBM WebSphere Studio Web站點的內(nèi)容是由靜態(tài)和動態(tài)內(nèi)容組成的。靜態(tài)內(nèi)容以HTML、圖片等形式出現(xiàn)。除了在客戶端的動態(tài)效果以外,在一個Web服務(wù)器上動態(tài)內(nèi)容通常以服務(wù)器端程序的形式存在,它們在被請求時產(chǎn)生動態(tài)內(nèi)容。許多站點已經(jīng)使用applet來達(dá)到在web上的動態(tài)效果。雖然這個方法能做到這一點,但是java和網(wǎng)絡(luò)性能的問題阻礙了這種方法的大規(guī)模應(yīng)用。服務(wù)器端生成動態(tài)內(nèi)容在大多數(shù)情況下是更好的方法。因為: = 更容易支持瘦客戶。 = 提供更大的靈活性和安全性。 = 在大多數(shù)情況下動態(tài)內(nèi)容來自數(shù)據(jù)庫。 = 服務(wù)器端程序可以執(zhí)行數(shù)據(jù)庫操作,然后向瀏覽器報告結(jié)果。 服務(wù)器端生成動態(tài)內(nèi)容符合瘦客戶或超瘦客戶設(shè)計模式,它使得軟件開發(fā)者在一個web應(yīng)用的客戶端放盡量少的商務(wù)或數(shù)據(jù)訪問邏輯。而胖客戶是指在一個應(yīng)用的客戶端放置了太多商務(wù)邏輯和訪問。這會影響網(wǎng)頁的下載時間,可能引起其它問題。服務(wù)器端數(shù)據(jù)庫訪問是一個好的解決方案,可以更好地利用服務(wù)器,從客戶減輕客戶端的負(fù)擔(dān)。通過Java訪問數(shù)據(jù)庫是利用JDBC(Java Database Connectivity)應(yīng)用編程接口進(jìn)行的。總之,在為一個網(wǎng)站提供動態(tài)內(nèi)容時,會涉及到服務(wù)器端應(yīng)用程序。CGI和/或Servlets將是典型的部署載體。Servlet是生成動態(tài)內(nèi)容的焦點。然而,大多數(shù)動態(tài)內(nèi)容會涉及到數(shù)據(jù)庫。 WebSphere Studio提供了項目工作臺和有關(guān)向?qū)?。項目工作臺用來把各種生成的組件集成進(jìn)一個項目,而各種向?qū)Э捎脕泶嫒?shù)據(jù)庫、創(chuàng)建JavaBean和servlet等等。 1.項目工作臺 項目工作臺是一個在資源控制管理下的Web站點對象管理工具,其站點管理能力與NetObject Fusion大致雷同。項目工作臺具有下列特性: (1) 同任何網(wǎng)站開發(fā)工具互操作。通過將站點對象的文件類型注冊到相關(guān)的應(yīng)用,項目工作臺可用來啟動應(yīng)用(工具)來操作(打開,顯示)站點對象。從而能有效的管理那些與站點有關(guān)的對象資源,與資源控制環(huán)境的交互使得Web站點的小組開發(fā)得以有效地進(jìn)行。因此它是能集成很多網(wǎng)站開發(fā)工具的理想的工具集成環(huán)境。 (2) 提供靈活的站點發(fā)布能力。項目工作臺為兩類對象資源提供各自獨立的發(fā)布路徑,一類是Servlets和JavaBeans,另一類是所有其它的東西。項目工作臺提供了網(wǎng)站的本地發(fā)布或遠(yuǎn)程發(fā)布兩種方式。 WebSphere Studio 有一個雙框圖形用戶界面,還有許多與桌面應(yīng)用程序相似的功能特性。以下分別介紹框架、分解視圖、具欄和按鈕、過濾器。 (1) 框架 左邊的框架顯示所選項目及其文件夾的圖形分層。右邊的框架顯示在左邊框架中選擇的一些項目的細(xì)節(jié)。 l 一個項目可包含文件和文件夾。 l 文件夾可包含文件或其它文件夾。 l 文件包含數(shù)據(jù)。 您可以按喜歡的方法來組織文件,并使它容易地將一個項目中的有關(guān)文件作為一個單元進(jìn)行管理,比如,公布一個項目中的若干個文件或所有文件至目標(biāo)服務(wù)器上(如 WebSphere 應(yīng)用服務(wù)器)。 (2) 分解視圖 當(dāng)您從視圖菜單中選擇分解視圖表,文件夾及子文件夾中的所有文件將顯示在詳細(xì)視圖表中。表格包括附加的路徑信息以幫助您區(qū)分它們。文件夾本身不顯示。 快捷方式按鈕位于工作臺的右下方,您可對分解視圖的開或關(guān)進(jìn)行切換。 (3) 工具欄和按鈕 此界面包括菜單欄、工具欄、狀態(tài)欄和過濾器按鈕的垂直行。 l 菜單欄允許您訪問所有的可用功能。 l 工具欄允許您快速訪問大多數(shù)的普通功能和向?qū)А? l 過濾器通過文件擴(kuò)展名或文件類型來控制顯示文件。 l 狀態(tài)欄列出一般信息,例如您的視圖的大小和對象的數(shù)目,也包括被過濾器隱藏的文件數(shù)。 (4) 過濾器 過濾器按鈕位于主窗口的右邊。它通過文件類型和文件擴(kuò)展名來控制哪些文件顯示在詳細(xì)框架中。單擊它可進(jìn)行開和關(guān)的切換。打開過濾器,請單擊過濾器按鈕,在詳細(xì)視圖中將顯示此種文件類型的文件。過濾器類別是:HTML 文件、圖像文件、SQL 文件、Java 文件、Java 類文件、文本文件。同時要打開多個過濾器,請在單擊每個過濾器按鈕時按下 Ctrl 鍵。要暫時關(guān)閉所有過濾器,請先從視圖菜單中選擇“過濾器”,然后選擇“顯示全部”。 在分解視圖上使用過濾器能夠管理在分組中選擇文件類型的所有文件,而不考慮它們的相對位置。 例如,若要打開一個包含文件夾及子文件夾的項目,但其中只有 HTML 文件, 您就可打開分解視圖和 HTML 文件過濾器來顯示整個項目中的所有 HTML 文件。 2.向?qū)? 有關(guān)向?qū)Ъ捌浠竟δ苋缦拢? (1) SQL 向?qū)В簞?chuàng)建一個可被數(shù)據(jù)庫訪問 Servlet 使用的 SQL 語句。語句可查詢關(guān)系數(shù)據(jù)庫,并從表中選擇數(shù)據(jù)顯示在 Web 頁面上。SQL向?qū)б筮B接數(shù)據(jù)庫,以驗證連接參數(shù),提取元數(shù)據(jù)來支持SQL語句的開發(fā)。 (2) 數(shù)據(jù)庫訪問向?qū)В簞?chuàng)建 Servlet 來訪問關(guān)系數(shù)據(jù)庫。使用一個生成的SQL文件,數(shù)據(jù)庫訪問sevlet向?qū)?個文件:servlet、servletBean、輸入HTML表格、輸出頁面(JSP)、和可選的錯誤頁面(JSP)。其中,可選的輸入表格(HTML)用來為SQL命令傳參數(shù),ServletBean提供一個可執(zhí)行方法來調(diào)用SQL命令,Servlet創(chuàng)建那個ServletBean的一個實例,執(zhí)行它的方法,然后決定調(diào)用有關(guān)結(jié)果頁面。 (3) 基本 Servlet向?qū)В簞?chuàng)建使用指定的 JavaBean(包括 Navigator 和為 VisualAge for Java Enterprise Access Builder 建立 VisualAge 時的命令)的 Servlet。它同時產(chǎn)生一個調(diào)用 Servlet 及捕捉用戶輸入的輸入頁面和顯示結(jié)果的輸出頁面。 (4) 到期 HTML Servlet向?qū)В簞?chuàng)建隨日期而更改內(nèi)容的Servlet。則它生成 Servlet 以及包括 HTML 的變量部分的頁面。 (5) 注冊Servlet向?qū)В簞?chuàng)建一個可在 WebSphere應(yīng)用服務(wù)器 的 UserProfile 特性中設(shè)置或獲得數(shù)據(jù)的Servlet。這使可維護(hù) Web 訪問器的詳細(xì)信息,并且此訪問器對于用戶注冊和其它的 Web 應(yīng)用程序都是一樣的。 向?qū)瑫r產(chǎn)生一個調(diào)用 Servlet 及捕捉用戶輸入的輸入頁面和顯示結(jié)果的輸出頁面。 (6) JavaBean向?qū)В簞?chuàng)建能夠進(jìn)行編輯和擴(kuò)展的JavaBean的基本實現(xiàn)。 指定在 Bean 中所需的屬性,向?qū)?chuàng)建方法來設(shè)置和獲得其值。 一旦完成 Bean,就可在基本向?qū)е惺褂盟? 上述向?qū)焖俚刂谱饔糜趧?chuàng)建和顯示動態(tài)內(nèi)容的中間層(和客戶層)元素的原型有用,對提供模板代碼來定制有用。而且與WebSphere應(yīng)用服務(wù)器的“編程模型”緊密集成。下面以使用數(shù)據(jù)庫訪問向?qū)槔齺韯?chuàng)建訪問數(shù)據(jù)庫的Servlet。數(shù)據(jù)庫訪問向?qū)椭鷦?chuàng)建Java Servlet,它用來從關(guān)系數(shù)據(jù)庫中檢索指定數(shù)據(jù)并在 HTML 頁面中顯示信息。 向?qū)枰?SQL 語句文件,Studio SQL 向?qū)椭鷦?chuàng)建它。該 SQL 語句告訴數(shù)據(jù)庫訪問 Servlet 連接哪個數(shù)據(jù)庫、搜索哪個表格、選擇哪個數(shù)據(jù)以及如何排序。實際上,無需知道 Java 或 SQL 語法,就可創(chuàng)建數(shù)據(jù)庫訪問 Servlet。瀏覽至想放置 .jsp 文件的文件夾。 從“工具”菜單,選擇“Studio 向?qū)А薄? (1) 選擇“數(shù)據(jù)庫訪問 Servlet”。 (2) 單擊“下一步”啟動向?qū)?,繼續(xù)標(biāo)記的頁面。 (3) 當(dāng)完成所有要求后單擊“完成”。 (4) 當(dāng)完成后,可“照原樣”使用文件或根據(jù)需要進(jìn)行定制。 向?qū)?chuàng)建: (1) 調(diào)用 Servlet 的輸入頁面(.html) (2) 提供實現(xiàn)指定 SQL 語句數(shù)據(jù)庫訪問邏輯的 JavaBean 文件(.class 和 .java) (3) 配置 Servlet 的 Servlet 配置文件(.servlet) (4) 包含選中數(shù)據(jù)庫列 JSP 和 HTML 的輸出標(biāo)記的 JSP 文件(.jsp) (5) 按照下列步驟完成數(shù)據(jù)庫訪問 Servlet 向?qū)В? 注意:可使用這樣的方式建立和測試數(shù)據(jù)庫Servlet,使用某一現(xiàn)有數(shù)據(jù)庫,通過修改 .servlet 配置文件中的一個或多個以下值,將其創(chuàng)建為另一個 Servlet: = URL = driver = userID = password 此方法可能需要數(shù)據(jù)庫服務(wù)器的模式別名。請參閱 Servlet 配置文件,了解更多關(guān)于 .servlet 文件的詳細(xì)信息。 3.腳本編輯 IBM WebSphere Studio能與NetObjects ScriptBuilder很好的集成起來。從WebSphere Studio的項目工作臺項可以啟動ScriptBuilder來對有關(guān)文件進(jìn)行編輯,可編輯的文件類型包括HTML、JavaScript、Java、JSP和XML等。 NetObjects ScriptBuilder是適合于Web的腳本開發(fā)工具,為Web站點的客戶端和服務(wù)器端腳本提供了一個快速的開發(fā)方法。它將強(qiáng)大的腳本編輯器與豐富的可視化開發(fā)工具有機(jī)結(jié)合,以加速腳本的開發(fā)。它也是架構(gòu)Netscape,、Microsoft、 IBM、Sun Microsystems等各大公司的不同Web腳本環(huán)境的橋梁。它支持CFML (Cold Fusion Markup Language)、Dynamic HTML、 ECMAScript、 HTML、JSP、Java、LotusScript、ASP、CDF (Channel Definition Format)、DOM (Document Object Model)、Jscript、VBScript、JavaScript、LiveWire、Perl、和WML (Wireless Markup Language)。使用NetObjects ScriptBuilder, 開發(fā)者能夠: (1) 檢查腳本的語法錯誤 (2) 創(chuàng)建面向?qū)ο蟮哪_本組件。 (3) 訪問語言的參考書目 (4) 使用XML定制語言參考書 (5) 檢查文檔與瀏覽器的兼容性 (6) 把所需的語言元素拖放到文檔中。 (7) 使用標(biāo)準(zhǔn)的Web語言或其它語言 (8) 快速導(dǎo)航到嵌入的函數(shù)和組件 (9) 自動化重復(fù)性的任務(wù) (10) 預(yù)覽文檔 |
|
WebSphere快速入門(8)
3.3 NetObjects Fusion NetObject Fusion是一個可視化的Web站點的構(gòu)建和管理工具。NetObjects Fusion是Web站點構(gòu)建過程的中心。NetObjects Fusion是一個面向站點的工具,而不是僅僅處理單個頁面。在Web站點開發(fā)的過程中,會創(chuàng)建許多頁面,頁面之間有很多鏈接。手工地更改這個結(jié)構(gòu)是相當(dāng)困難的。用NetObjects Fusion可以設(shè)計Web站點的通用元素,創(chuàng)建并維護(hù)Web站點的結(jié)構(gòu),構(gòu)建各個頁面,并能容易地維護(hù)這些頁面。 總之,使用NetObject Fusion,可以設(shè)計Web站點、構(gòu)建各個頁面、容易地維護(hù)Web站點。下面介紹NetObject Fusion 中的站點視圖(Site view)、頁面視圖(Page view)、樣式視圖(Style view)、對象集視圖(Assets View、或稱資源視圖)、和發(fā)布視圖(Publishing view)。 1.站點視圖 站點的結(jié)構(gòu)視圖(參見圖3-1)是站點視圖的一種,單擊“輪廓視圖”標(biāo)簽就顯示站點的輪廓視圖。在結(jié)構(gòu)視圖中,頁面的顏色是可以由開發(fā)者選擇,通常用來為頁面分組,但是頁面顏色對實際頁面沒有影響。用戶站點的文件格式為“*.nod”,模板文件格式為“*.nft”, 樣式文件格式為“*.ssf”。使用站點視圖,可以創(chuàng)建(或修改)一個站點的層次結(jié)構(gòu)、操縱頁面、引入/導(dǎo)出(Import/Export)站點、引入模板以改變站點的風(fēng)格、打印站點的結(jié)構(gòu)圖等等。例如,可以引入一個已有的站點將它轉(zhuǎn)成NetObjects Fusion的格式或保留為外部HTML頁面。如果這些被引入的頁面不會被改變,通??梢詫⒁氲捻撁姹A魹橥獠縃TML頁面。 圖3-1:站點視圖
2.頁面視圖 站點的頁面視圖(見圖3-2)包括頁面布局(Page Layout)和主控邊框(MasterBorder),并提供面板和工具欄。面板包括屬性面板和對象樹,工具欄包括標(biāo)準(zhǔn)工具欄、表單工具欄、組件工具欄、和高級工具欄。對象樹是關(guān)于當(dāng)前頁面中所有對象的樹狀結(jié)構(gòu),開發(fā)者可以通過對象樹來定位目標(biāo)對象,也可以直接選擇目標(biāo)對象。一旦選定目標(biāo)對象,屬性面板就顯示該對象的屬性,對象屬性依賴于對象的類型,不同類型的對象(如文本和applet)有不同的屬性,可以使用屬性面板來設(shè)置對象屬性,當(dāng)然有的屬性可以可視地編輯。 在頁面視圖中,可以可視地或通過屬性面板來定義主控邊框和頁面布局。主控邊框勾畫出一個頁面的五個區(qū)域:中間的布局區(qū)域和四個(左、右、上、下)邊緣區(qū)域。這些邊緣區(qū)域包含多個頁面共有的元素,如水平標(biāo)注和導(dǎo)航條,可以通過屬性面板設(shè)置主控邊框的自動邊框(AutoFrame)屬性,把某些邊緣設(shè)置成框架(frame)。關(guān)于布局,而布局區(qū)域用來放置該頁面的內(nèi)容。需要注意的是頁面布局包括頁面的實際內(nèi)容,不僅僅是頁面的布局,也許一個頁面有好幾個布局或版本,例如有框架(frame)的和沒有框架的版本。NetObjects Fusion使用表格(table)來組織它生成的HTML頁的內(nèi)容,也可以通過設(shè)置布局屬性來選擇布局是表單。也可以通過彈出菜單或單擊屬性面板中的“HTML”按扭在來顯示生成的HTML文檔。 圖3-2 頁面視圖 工具欄通常在窗口的邊上,也可以拖進(jìn)窗口里面(如圖3-2)。工具欄包括標(biāo)準(zhǔn)工具欄、表單工具欄、組件工具欄、和高級工具欄。這些工具欄為頁面的制作提供了許多實用工具。 (1) 標(biāo)準(zhǔn)工具條 = 選擇(Select):選擇一個特定的組件并移到另一個地點或重新設(shè)置大小。 = 縮放(Zoom In/Out):使頁面的視圖圍繞鼠標(biāo)擊中的區(qū)域放大或縮小。 = 文本(Text):向頁面增加一個包含一些文本的組件。 = 圖片(Picture):向頁面增加一個圖片??梢允且粋€.gif或.jpg文件。Fusion接受BMP,PCX,PICT,GIF,JPEG的圖。 = 熱點(Hotspots):把一個圖片中的某個區(qū)域標(biāo)記為可單擊(鏈接到某個URL),從而使該區(qū)域成為熱點。這個區(qū)域可以是圓形、矩形、和多邊形 = 布局區(qū)域(Layout Region):在布局區(qū)域或主控邊框里創(chuàng)建一個布局區(qū)域,它可以擁有與包含元素不同的布局屬性(例如,一個不同的背景色)。 = 表格(Table):創(chuàng)建一個HTML表格,可以規(guī)定表格的行數(shù)和列數(shù)。 = 表單區(qū)域(Form Area):創(chuàng)建一個或多個表單??梢赃x擇創(chuàng)建基于布局區(qū)域的表單、基于表格的表單、或基于文本的表單。也可以把一個表單加到邊緣區(qū)域,從而能在多個頁面里顯示。 = 導(dǎo)航條(Navigation Bar):用來創(chuàng)建導(dǎo)航條。可以使用按鈕或文字形式,從當(dāng)前頁面鏈向站點里的別的頁面,比如在Web站點結(jié)構(gòu)里的父層、當(dāng)前層或子層。 = 水平標(biāo)注(Banner)。用來在頁面的任何地方創(chuàng)建一個水平標(biāo)注,反映這個頁面的名字。通常在頁面的頂部,來標(biāo)志這個頁面。 = 繪制(Draw):繪制工具,這些工具用來在一個頁面里畫圓形、矩形、圓角矩形和多邊形。 = 直線(Line):畫直線的工具,這些工具用來在一個頁面里畫水平線、任意角度的在線、站點樣式的水平線。 需要注意的是Hotspots、Draw、Line這三個工具還包括可選的子工具,按下按扭不放就會顯示可選的子工具,保持按下按扭并移動就可選擇所要的工具。 (2) 表單工具欄 這些工具用來創(chuàng)建表單。表單可以用來收集信息,然后送回服務(wù)器端CGI程序或Java Servlet。 = 表單按扭(Button):一個表單按鈕通常被用來啟動一個后端服務(wù)程序或來重置表單。 = 表單復(fù)選框(Check Box):一個復(fù)選框代表一個布爾值,選中表示真值,否則表示假。 = 表單單選按扭(Radio Button):一個單選按鈕是一組單選按扭的一部分,這組單選按扭是互斥的,即只能有一個為真,而別的都為假互斥的。 = 表單編輯字段(Edit Field):表單上的一個區(qū)域,用戶可以輸入一行信息如名或姓。 = 表單多行文本(Multi-Line):表單上的一個區(qū)域,用戶可以輸入多行信息,如對一個產(chǎn)品的說明或目錄里的一項。 = 表單組合框(Combo box):一個下拉列表,用戶可以選擇。一個例子是:頭發(fā)顏色的列表。用戶可以選一個。 (3) 組件工具欄 = 動態(tài)按扭(DynaButtons):對按鈕使用站點風(fēng)格 = 磁帶(Ticker Tape):一個水平滾動文字區(qū)域,不斷重復(fù)。 = 站點映射器(Site Mapper):一個用來顯示站點結(jié)構(gòu)的按扭。 = 消息板(Message Board):一個BBS 設(shè)施 = 表單句柄(Form Handler):實現(xiàn)一個簡單的CGI程序。用來檢查表單中的字段 = 圖片反轉(zhuǎn)(Picture Rollover):一個反轉(zhuǎn)按扭。當(dāng)鼠標(biāo)滾過圖片,圖片改變成指定的圖片反轉(zhuǎn)。當(dāng)= 鼠標(biāo)在圖片上單擊,圖片會改變,一個URL鏈接會顯示。 = 基于時間的圖片(Time Based Picture):在這個地點的不同時間顯示不同的圖。 = 圖片加載器(Picture Loader):使用其它資源中的圖片 = 旋轉(zhuǎn)圖片(Rotating Picture):簡單動畫。通常用來顯示廣告。 (4)高級工具欄 = Media:一個子工具條,包括了一些項目象Shockwave、Quicktime、Video、Sound和別的插件 = Java:允許往頁面上加一個Java applet。 = ActiveX Control:允許往頁面上加一個ActiveX控件。 = Data:一個子工具條,允許你訪問內(nèi)部和外部數(shù)據(jù)對象。 = External HTML:包括一些需要特殊的、手工寫的HTML頁面。可以在外部引用HTML文件并把 它們放在站點的任何地方,而不是引入并轉(zhuǎn)換這個HTML。NetObjects Fusion在發(fā)布Web站點時不分析這個HTML。 上述工具欄提供的有關(guān)工具可用來增加頁面的互動性。如可以在頁面上增加腳本、放置ActiveX控件、增加Java applets等等。腳本可以加到一個Fusion生成的HTML元素的前面、后面或里面。增加Java applets時使用Java對象屬性設(shè)置有關(guān)參數(shù),F(xiàn)usion將增加的class文件作為對象集(assets)中的元素。 3.樣式視圖 樣式視圖(參見圖3-3)可用來選擇站點樣式、編輯樣式、或創(chuàng)建新的樣式。Fusion提供的樣式適合于簡單的站點或者可用來取得用戶的反饋信息,重要的站點通常需要創(chuàng)建新的樣式。Fusion用樣式中指定的字體生成水平標(biāo)注和按鈕上的文字。因此,應(yīng)該為水平標(biāo)注和按鈕選擇任何你的系統(tǒng)里的字體,F(xiàn)usion將使用指定的字體生成有關(guān)圖象,瀏覽器只看到一個圖象。對于在HTML里創(chuàng)建的文字組件,瀏覽器可以控制自己使用的字體。 圖3-3:樣式視圖
4. 對象集視圖 對象集視圖(參見圖3-4)是一個管理所有對象的地方,包括文件、鏈接、數(shù)據(jù)對象、變量,對象通過別名來訪問。Fusion提供預(yù)定義的變量,如日期、時間和站點名等等。開發(fā)者可以創(chuàng)建自己的變量,并在對象集視圖中管理。每當(dāng)開發(fā)者需要選擇圖象或別的文件時,打開文件對話框(Open File dialog)上會有一個對象集標(biāo)簽(Assets tab),單擊該標(biāo)簽就顯示對象集中的有關(guān)文件,開發(fā)者就可以選擇所需要的文件。這種就對象進(jìn)行統(tǒng)一管理的方式支持“一次更新,每個地方都更新”。例如標(biāo)識公司的圖案(logo),如果一個公司改變了它的標(biāo)識圖案,只要在對象集視圖中改變有關(guān)標(biāo)識圖案的文件,F(xiàn)usion可以改變這個站點里的每一頁。
圖3-4:對象集視圖
5.發(fā)布視圖 發(fā)布視圖(參見圖3-5)用來配置發(fā)布選項,并進(jìn)行發(fā)布。發(fā)布選項包括本地發(fā)布位置和遠(yuǎn)程發(fā)布位置等。本地發(fā)布是指發(fā)布到本機(jī)的文件系統(tǒng)里,遠(yuǎn)程發(fā)布需要使用FTP把文件傳輸?shù)椒?wù)器。如果你選擇發(fā)布到一個遠(yuǎn)程站點,這個站點必須支持FTP,發(fā)布者必須知道所需的用戶名和口令。通常在正式發(fā)布之前需要發(fā)布到一個臨時服務(wù)器上進(jìn)行測試,并需要使用不同平臺上的不同瀏覽器進(jìn)行測試。發(fā)布時,F(xiàn)usion將生成HTML頁面以及目錄結(jié)構(gòu),拷貝所有的對象到指定的目錄,這些目錄里包含HTML文件、圖象、Java 類等等。目錄結(jié)構(gòu)可以是單一的(flat)、基于對象類型的(asset)、或基于站點區(qū)域的(section)。所有生成的HTML使用相對路徑。在發(fā)布之前還可以使用預(yù)覽功能。預(yù)覽創(chuàng)建HTML文件,生成任何需要的圖象,但它不拷貝任何別的對象,從而不顯示嵌入的組件。在按下CTRL 鍵時單擊預(yù)覽按扭就可以只預(yù)覽當(dāng)前頁。
圖3-5:發(fā)布視圖
總之,F(xiàn)usion是一個Web站點的組裝工具,對管理站點范圍的格式模板有強(qiáng)力支持,支持豐富的“對象”,鏈接和對象集管理使得部署到多個站點變得很容易??梢允褂肍usion設(shè)計站點結(jié)構(gòu)、構(gòu)建和管理站點頁面、設(shè)計和寫頁面內(nèi)容、設(shè)計站點的圖形化風(fēng)格、管理和測試站點的對象集、把站點發(fā)布到本地或遠(yuǎn)程服務(wù)器、更新和維護(hù)站點。 |
|