摘 要: 從網(wǎng)站需求入手,提出了C2C電子商務(wù)網(wǎng)站設(shè)計方案。采用自頂而下的設(shè)計方法給出網(wǎng)站的三層架構(gòu)。以架構(gòu)為基礎(chǔ),分別對網(wǎng)站界面、網(wǎng)站安全、信息發(fā)布、在線交易和系統(tǒng)管理模塊進(jìn)行分析和設(shè)計,同時重點(diǎn)對網(wǎng)站的緩存策略和異常處理進(jìn)行了說明。
關(guān)鍵詞: C2C電子商務(wù)網(wǎng)站; 軟件架構(gòu); 緩存; 異常處理
C2C電子商務(wù)網(wǎng)站是消費(fèi)者與消費(fèi)者之間的電子商務(wù)[1]。高職院校中高年級學(xué)生的圖書資料或其他一些物品在畢業(yè)時往往會被當(dāng)成廢舊物品處理,給學(xué)生提供一個平臺,可以讓學(xué)生在網(wǎng)上發(fā)布資料和物品信息,同時其他學(xué)生也可以發(fā)出借閱請求或在線訂單,就能形成資料或其他物品的共享。
1 C2C網(wǎng)站的解決方案
對高職院校C2C網(wǎng)站進(jìn)行業(yè)務(wù)需求分析,提出網(wǎng)站的設(shè)計方案包括以下幾個方面:
(1) 高職院校C2C網(wǎng)站界面
作為C2C網(wǎng)站頁面,需要為用戶提供良好的用戶體驗(yàn),讓用戶能夠方便地找到他們所需要的信息,可以通過搜索、分類瀏覽或?yàn)g覽網(wǎng)店等方式查找圖書資料和其他物品信息,必要時還必須為用戶提供幫助文檔、使用指南或出錯提示等。
(2) 安全設(shè)計
網(wǎng)站的很多信息是不能對外公開的,因此提供一個安全、可靠的認(rèn)證體系很重要,例如一般用戶可以瀏覽網(wǎng)站的圖書資料信息;每個會員的個人信息及其交易信息只有會員自己才可以查看和修改;網(wǎng)站系統(tǒng)的維護(hù)工作,只有具有管理員權(quán)限的人才能使用。
(3) 信息發(fā)布
信息的發(fā)布是為高職學(xué)生之間建立一個共享的信息平臺,因此要求會員只有在申請開店并得到管理員的審批獲得發(fā)布空間后才能發(fā)布資料和維護(hù)資料信息。
(4) 消息通知
作為一個信息發(fā)布和共享平臺,需要網(wǎng)站能與會員之間形成互動,例如某會員尋找到需要的某本書或資料,而書已被借走,可以向該書添加訂閱信息,一旦該書返還,即可接到消息;當(dāng)管理員開通網(wǎng)店后通過發(fā)送消息通知會員,其最簡單的方法就是通過電子郵件發(fā)送消息。
(5) 在線交易
會員可以在線選購圖書或發(fā)布交換請求,信息的提供者在收到訂單或請求后,根據(jù)信息處理訂單或請求,并完成一次交易或取消交易。由于高職學(xué)院主要是針對圖書資料進(jìn)行交易,因此真實(shí)交易可以通過線下電話聯(lián)系完成。
(6) 系統(tǒng)維護(hù)
對網(wǎng)站的一些日常維護(hù)工作和基本信息維護(hù)。
2 網(wǎng)站架構(gòu)
網(wǎng)站的軟件架構(gòu)對網(wǎng)站的搜索引擎友好性及用戶體驗(yàn)有著非常重要的影響,高職院校C2C網(wǎng)站架構(gòu)不一定非要復(fù)雜,但一定要做到層次清晰、業(yè)務(wù)分明。業(yè)務(wù)邏輯從界面分離出來,數(shù)據(jù)訪問應(yīng)從業(yè)務(wù)邏輯中分離出來;明確業(yè)務(wù)實(shí)體與數(shù)據(jù)庫之間的關(guān)系、系統(tǒng)異常的處理、數(shù)據(jù)的呈現(xiàn)以及緩存策略等。C2C網(wǎng)站的架構(gòu)采用典型的三層邏輯架構(gòu)[2],其組件架構(gòu)如圖1所示。
(1)通用組件
包含網(wǎng)站的一些通用的模塊,通用模塊將被其他組件所引用,主要有異常處理、日志處理。
(2)業(yè)務(wù)實(shí)體
表示真實(shí)的業(yè)務(wù)數(shù)據(jù),如產(chǎn)品信息、訂單等,用于在各層之間傳遞數(shù)據(jù)。
?。?)業(yè)務(wù)邏輯
業(yè)務(wù)邏輯組件封裝各種業(yè)務(wù)邏輯,包括網(wǎng)站的事務(wù)處理與數(shù)據(jù)緩存,使用數(shù)據(jù)訪問層提供的數(shù)據(jù)訪問服務(wù)。
(4)數(shù)據(jù)訪問層
實(shí)現(xiàn)網(wǎng)站的數(shù)據(jù)訪問邏輯,對數(shù)據(jù)進(jìn)行新增、刪除、查詢、修改等操作,主要是為業(yè)務(wù)邏輯組件服務(wù)。
(5)企業(yè)數(shù)據(jù)庫數(shù)據(jù)庫訪問塊
是微軟的企業(yè)數(shù)據(jù)庫的數(shù)據(jù)訪問模塊,抽象成對底層數(shù)據(jù)庫的訪問操作,完成數(shù)據(jù)的讀取與寫入。
(6)網(wǎng)站界面
用于向用戶顯示數(shù)據(jù),接收用戶響應(yīng)和響應(yīng)用戶事件,使用業(yè)務(wù)邏輯層或數(shù)據(jù)訪問層提供的數(shù)據(jù)訪問服務(wù)。
3 C2C網(wǎng)站的功能模塊設(shè)計
3.1 網(wǎng)站設(shè)計
C2C網(wǎng)站設(shè)計上應(yīng)從最終用戶的角度出發(fā),提高用戶體驗(yàn),網(wǎng)站要有統(tǒng)一外觀、布局合理、交互性良好,因此網(wǎng)站設(shè)計包含網(wǎng)站的母版頁、網(wǎng)站的導(dǎo)航系統(tǒng)、系統(tǒng)錯誤提示頁面和幫助頁面等,其中網(wǎng)站的響應(yīng)速度和網(wǎng)站交互性尤其重要。
(1)網(wǎng)站緩存
C2C網(wǎng)站往往存在一些數(shù)據(jù)不會經(jīng)常發(fā)生變化,但會被用戶經(jīng)常請求,用戶每次都需要從數(shù)據(jù)庫中查詢這些數(shù)據(jù),這對數(shù)據(jù)庫服務(wù)器的負(fù)荷和網(wǎng)絡(luò)流量造成浪費(fèi),并降低了響應(yīng)速度,如果從數(shù)據(jù)庫讀取出來后將其緩存起來,以后的請求則可以緩存中獲取數(shù)據(jù)。從分層邏輯組件圖中可以看出,用戶既可以從業(yè)務(wù)邏輯層獲取服務(wù),也可以直接從數(shù)據(jù)訪問層獲得數(shù)據(jù),此外還有一些頁面是屬于不會經(jīng)常變化的,也可以在業(yè)務(wù)邏輯層中實(shí)現(xiàn)頁面緩存。圖2所示為網(wǎng)站的緩存機(jī)制[3]。
(2)異常處理
網(wǎng)站在運(yùn)行時不可避免地會發(fā)生異常或錯誤,異常發(fā)生時不能向用戶顯示技術(shù)細(xì)節(jié),需要記錄下異常信息供管理員查看,并向用戶顯示一個友好的錯誤提示頁面[4]。網(wǎng)站的數(shù)據(jù)訪問層或業(yè)務(wù)邏輯層出現(xiàn)異常時,應(yīng)捕獲異常,然后記錄異?;虬l(fā)送異常特定消息,并將這些信息記錄下來,然后拋出異常,直至較高層捕獲并處理異常,此外網(wǎng)站運(yùn)行時出現(xiàn)未處理的異常,也需要向最終用戶顯示友好的自定義錯誤信息。圖3所示為網(wǎng)站的異常處理機(jī)制。
3.2 網(wǎng)站安全
C2C網(wǎng)站必須提供一個安全的系統(tǒng)保護(hù)用戶的利益,必須對用戶進(jìn)行身份驗(yàn)證,確保用戶的合法性;在用戶身份得到驗(yàn)證后還需要對用戶授予不同的權(quán)限,以保證該用戶具有對某些資源的訪問權(quán)限。網(wǎng)站主要有4類用戶:一般用戶、會員、店長和管理員。一般用戶可以瀏覽網(wǎng)站中部分資源,如瀏覽網(wǎng)店、圖書等,但不能發(fā)生交易,這類用戶可以通過在線注冊成為會員;會員即已經(jīng)注冊成為網(wǎng)站的認(rèn)證用戶,該類用戶在瀏覽網(wǎng)站時可以在線發(fā)出借閱請求和下訂單購買圖書資料,并具有個人管理區(qū)域,可以維護(hù)自己的個人信息、密碼和查看自己的交易記錄等;店長是成功申請開店的會員,該類用戶除擁有一般會員的所有服務(wù)外,還可以發(fā)布和維護(hù)圖書資料,以網(wǎng)店形式向其他用戶共享資料,并且處理其他會員提交的交易請求;管理員負(fù)責(zé)系統(tǒng)的維護(hù),包括一些基本資料的維護(hù)、會員的管理等。
3.2.1 認(rèn)證
認(rèn)證即確定當(dāng)前用戶是否為系統(tǒng)的有效用戶,包含許多需要身份認(rèn)證的模塊,如“會員信息管理”、“店長信息管理”、“管理員模塊”。NET.Framework的成員資格架構(gòu)使用成員資格應(yīng)用程序接口(Membership API)、提供程序(Providers)和數(shù)據(jù)存儲(Data Stores)來驗(yàn)證是否是合格用戶[5]。
(1) Membership API:主要完成創(chuàng)建用戶、對訪問網(wǎng)站的用戶進(jìn)行身份驗(yàn)證,以及管理密碼。另外ASP.NET提供Form認(rèn)證方式,將兩者結(jié)合可以容易實(shí)現(xiàn)網(wǎng)站身份驗(yàn)證。
(2) Providers:使用提供程序模式與不同的數(shù)據(jù)源之間通信,C2C網(wǎng)站使用SqlMembershipProviders類與數(shù)據(jù)庫進(jìn)行通信。
(3) Data Stores:是數(shù)據(jù)存儲區(qū),負(fù)責(zé)成員資格數(shù)據(jù)的長久存儲,C2C網(wǎng)站使用MS SQL Server進(jìn)行成員存儲。
3.2.2 授權(quán)
授權(quán)是當(dāng)用戶經(jīng)過系統(tǒng)驗(yàn)證后系統(tǒng)為用戶分配具有訪問什么資源的權(quán)限,采用角色管理指定用戶可以訪問的資源[5]。在C2C網(wǎng)站中建立Administrator、Sales、Member等角色,例如授予Member角色可以訪問的權(quán)限,當(dāng)一般用戶注冊成為會員后,將注冊會員添加到Member角色中,提供給用戶可以訪問的頁面和文件夾的權(quán)限。在ASP.NET中通過Roles、RoleProvider以編程方式確定是否屬于某個角色。
3.3 信息發(fā)布
網(wǎng)站會員通過開店申請成為店長后,需要發(fā)布和維護(hù)圖書資料信息,以供網(wǎng)站的訪問者瀏覽。因此,信息發(fā)布主要完成以下功能:
(1)店長可以方便查詢店中的資料,可以對資料進(jìn)行分類瀏覽、可方便地對資料進(jìn)行排序等操作。
(2)店長能快速錄入圖書資料信息,例如書名、類別、單價、數(shù)量、折扣、交易類型、圖片等。
?。?)店長能方便地更改某本書的資料,如修改價格、折扣、交易類型、內(nèi)容簡介等。
?。?)店長能方便地刪除圖書資料。
3.4 在線交易
高職院校的C2C網(wǎng)站,商品的提供者是學(xué)生,購買者是學(xué)生,因此他們之間不需要在線支付和物流配送,只需要線下商品提供者通過訂單的聯(lián)系信息聯(lián)系購買者來完成交易,另外除了使用銷售方式來共享圖書資料外,還可以通過借閱方式來實(shí)現(xiàn)資料的共享。這種方式與訂單方式類似,只是通過向提供者發(fā)出借閱請求,然后提供者根據(jù)借閱請求信息聯(lián)系請求者完成借閱活動,當(dāng)然當(dāng)圖書資料已被購買或借閱,應(yīng)顯示相應(yīng)圖書資料狀態(tài),避免消費(fèi)者繼續(xù)向該書發(fā)出請求[6]。圖4所示為在線交易中的訂單流程。
在線交易模塊主要完成的功能如下:
(1)訂單功能:在線會員下訂單,如果圖書資料交易類型可以出售,則會員用戶可以填寫聯(lián)系人姓名、送資料地址、聯(lián)系電話等并提交訂單;當(dāng)?shù)觊L收到訂單后,根據(jù)聯(lián)系信息聯(lián)系訂購者完成交易,并更新訂單狀態(tài),更新圖書資料狀態(tài),向圖書資料的收藏者發(fā)出郵件以通知圖書狀態(tài)的變化;當(dāng)會員提交訂單后可隨時查詢訂單處理情況,對于未處理的訂單,發(fā)起人可取消訂單。
(2)借閱功能:會員瀏覽圖書資料信息時,如果資料狀態(tài)為可以借閱,則用戶可以通過填寫聯(lián)系信息并提交借閱請求;店長收到請求后,根據(jù)聯(lián)系信息聯(lián)系借閱者完成交易,并更新請求狀態(tài),修改圖示資料的狀態(tài)為“借出”,同時發(fā)送郵件給所有收藏者以通知圖書資料狀態(tài)的變化。
(3)收藏夾功能:當(dāng)用戶瀏覽圖書資料信息時,可以將該書添加到收藏夾;當(dāng)用戶進(jìn)入網(wǎng)站后,可以在頁面中顯示收藏夾的內(nèi)容項(xiàng)目,通過鏈接可進(jìn)入收藏夾;可以在收藏夾中刪除商品。
3.5 系統(tǒng)管理
C2C網(wǎng)站的正常運(yùn)行離不開基礎(chǔ)數(shù)據(jù)支持,這些信息比較穩(wěn)定,網(wǎng)站運(yùn)行時這些數(shù)據(jù)很少發(fā)生變化,在整個系統(tǒng)中被共享使用,一般是由具有管理員權(quán)限的用戶使用,在系統(tǒng)管理模塊中主要實(shí)現(xiàn)圖書類別、院系信息和專業(yè)信息的增加、刪除和修改操作。
高職院校的C2C網(wǎng)站的設(shè)計雖然功能上相對簡單,但也需要進(jìn)行深入的分析,最終確定技術(shù)解決方案,然后再針對解決方案中功能模塊進(jìn)行更詳細(xì)的設(shè)計。當(dāng)然作為一個對高職院校自身服務(wù)的電子商務(wù)網(wǎng)站,在建設(shè)之前應(yīng)該考慮好網(wǎng)站模式、技術(shù)手段和客戶服務(wù),才能使網(wǎng)站處于良性的運(yùn)行狀態(tài)。
參考文獻(xiàn)
[1] 王宇川.電子商務(wù)網(wǎng)站規(guī)劃與建設(shè)[M].北京:電子工業(yè)出版社,2007:2-8.
[2] [美]PFLEEGER S L, [加]JOANNE M A. 軟件工程[M].楊衛(wèi)東,譯.北京:人民郵電出版社,2010:169-171.
[3] [美]BOOCH G, RUMBAUGH J, JACOBSON I.UML用戶指南[M].英文版第二版.北京:機(jī)械工業(yè)出版社,2006:252-256.
[4] (美)HART C, KAUFFMAN J, SUSSMAN D,et al.Beginning ASP.NET 2.0 with C#[M].孟憲瑞,易磊,譯. 北京:人民郵電出版社,2007:526-537.
[5] [美]BAIER D.開發(fā)更安全的ASP.NET 2.0應(yīng)用程序[M].華中宇,田亮君,陳文,譯.北京:人民郵電出版社,2008:125-137.
[6] 微軟公司.Web應(yīng)用、分析與實(shí)踐[M].北京:人民郵電出版社,2008:318-320.