摘要:電子商務應用系統(tǒng)通常包括表達邏輯、業(yè)務邏輯、數(shù)據(jù)邏輯等層次組成,其中每一層在設計中除了功能合理滿足用戶需求外,當線上業(yè)務井噴發(fā)展時,每個層次的高性能和擴展能力是實際電子商務系統(tǒng)中技術關鍵點,作者在實踐中探索了業(yè)務邏輯的性能優(yōu)化方法,通過多個邏輯層次數(shù)據(jù)靜態(tài)化處理,達到海量數(shù)據(jù)在整個服務鏈中用快速傳遞訪問的效果。
關鍵詞:電子商務,服務器,業(yè)務邏輯,標簽
注:論文研究資助項目:江蘇省科技廳2008年省級科技創(chuàng)新與成果轉化專項(家庭在線電子商務網站 http://www.folok.com).項目編號BC2008097.作者為項目主持人.完成日期2008-2010.
互聯(lián)網著名的“8秒原則”為服務提供商在技術上帶來極高的要求——用戶在訪問Web網頁時,如果時間超過8秒就會感到不耐煩,如果下載需要太長時間,則會放棄訪問。事實上,美國每年由于網絡緩慢甚至不通等問題導致電子商務方面的損失可達43.7億美元。訪問體驗將直接關系到用戶網站粘度,速度慢將導致網站的重復使用度、依賴度、忠誠度下降,因而性能優(yōu)化至關重要。
一、電子商務系統(tǒng)的組成層劃分
電子商務系統(tǒng)[1]結構復雜,為了便于優(yōu)化性能,在實踐中將復雜系統(tǒng)按各邏輯部分的側重點不同,重新設定邊界,在soa方法論中界定為:表達邏輯、業(yè)務邏輯、應用邏輯、數(shù)據(jù)邏輯。其中最前端的是表達邏輯,一般是用戶看到的靜態(tài)html,圖片等用戶界面。業(yè)務邏輯部分是軟件產品的核心,它客觀存在于軟件產品內部,但是無法對使用者產生直觀刺激,因此業(yè)務邏輯不能與使用者直接交互。而界面交互部分是業(yè)務邏輯與使用者進行交流的接口,使用者通過界面交互部分,與業(yè)務進行交流,從而使得軟件產品發(fā)揮其作用。應用邏輯是指應用的計算過程,包括一系列告訴軟件應用如何操作的指令。數(shù)據(jù)邏輯是指數(shù)據(jù)的集中存儲優(yōu)化控制等一系列操作過程。[2]
二、基于java技術的電子商務系統(tǒng)服務架構
在實際應用中,考慮到將來業(yè)務擴長的需要,技術系統(tǒng)必需具有與業(yè)務相適應的可伸縮能力,系統(tǒng)采用重量級j2ee方案,開發(fā)過程遵循mvc思想,分離表達、應用、業(yè)務、數(shù)據(jù)等層次。具體就是用IBM http server (HIS) 作靜態(tài)的表示邏輯服務,Websphere 作為應用邏輯提供java容器,用戶開發(fā)的ejb、serverlet、jsp等應用為業(yè)務邏輯實際業(yè)務計算,后端oracle 作為數(shù)據(jù)邏輯實現(xiàn)數(shù)據(jù)的統(tǒng)一存儲。
三、性能優(yōu)化
目前動態(tài)網站的實現(xiàn)方式無非兩種,一種是直接使用腳本語言,嵌入HTML代碼中,由腳本語言與數(shù)據(jù)庫打交道,即時獲得所需信息。這種方式的優(yōu)點在于:開發(fā)相對簡單,速度相對較快;但缺點是維護麻煩,程序運行效率較低,穩(wěn)定性差,不易擴充。另一種方法就是前臺用戶頁由后臺程序自動生成靜態(tài)HTML文件,由程序制作成各種功能供前臺頁面調用。這種方法的優(yōu)點在于維護方便,頁面打開速度快,運行穩(wěn)定,如果前臺使用的頁面制作成模板,則更是可以快速的復制頁面,達到快速開店的效果。缺點在于制作時比較麻煩,對程序的開發(fā)要求比較高。鑒于此,特提出如下網站架構新方案:
1.程序架構
網站采用JAVA+ORACLE+HTML+CSS+TEMPLET+TAB構建。前臺頁面制作成TEMPLET模板,模板文件的樣式由CSS控制;根據(jù)業(yè)務要求,后臺用JAVA制作成各種能滿足不同需求的功能類,負責從ORACLE數(shù)據(jù)庫中取出數(shù)據(jù),并制定相應的標簽TAB,根據(jù)標簽的參數(shù),由模板文件調用并按指定的形式展示;后臺人員在進行相關操作時,由特定的功能類將模板文件中的標簽替換成取出的數(shù)據(jù),然后生成最終的HTML頁面,供用戶查看。
2.實現(xiàn)
(1)模板
根據(jù)家庭在線網站的特點,模板可以分為如下幾大類:首頁類、商品詳細類、類別商品類、購物車類、文章類。以上類別的模板還可以根據(jù)要求做出幾個樣式,比如按四季分成春夏秋冬四個樣式。到了不同的季節(jié)就更換成該季節(jié)的樣式,這樣不但保證了網站整體的統(tǒng)一性,還兼顧了多樣性,并且根本無需耗費技術人員的時間,真正提高效率。購物車類可以再細分為購物車頁、填寫訂單信息頁以及訂單成功頁。軟文可以再分為文章詳細頁、類別文章頁等等。
(2)程序
根據(jù)這種方式做出來的網站,頁面中沒有一句腳本語言的代碼,程序所要做的就是編寫各種功能類,比如標簽解析類,數(shù)據(jù)讀取類,生成HTML文件類等等。在這些類中,標簽解析類與生成HTML文件類是屬于公共的類,其功能是共用的。而數(shù)據(jù)讀取類則需要根據(jù)頁面的要求定制。
(3)數(shù)據(jù)庫
為了支持以上架構的功能,數(shù)據(jù)庫需要增加一些對象,比如對于標簽,有必要建立一個表來維護,這樣理論上可以支持無限標簽,并且可以隨時查閱與修改標簽的功能。還需要建立一個表,用來維護模板文件的資料,比如模板文件的路徑、模板文件的使用對象(也就是說有哪些HTML文件使用了該模板)、模板文件當前使用的樣式等等,還可以根據(jù)需要隨時添加修改刪除模板文件。
(4)訂單
電子商務網站最重要的功能就在于網上訂單功能。由于家庭在線是一個門戶型B2C網站,因此網站的購物車應實現(xiàn)完全統(tǒng)一,不同的只是賣場。這樣在進行訂單處理時,可以制作統(tǒng)一的訂單處理類,對所有的訂單實現(xiàn)處理。
(5)服務器
由于前臺頁面全部采用了靜態(tài)HTML頁,所以大大減輕了服務器的負擔。服務器不但可以騰出更多寶貴的資源來處理訂單和大容量的訪問,提高響應速度,而且穩(wěn)定性更高。在當前有限的投資條件下,可以更好地發(fā)揮其功效,達到一個更高級別的應用。
三、結束語
通過以上方案的實施,可以總結出本方案優(yōu)點有:運行速度快,執(zhí)行效率高;制作流程一目了然,簡單高效;對服務器的要求降低,可擴充性強;使用簡單方便,可以有效降低維護成本;功能齊全,支持快速復制,二次開發(fā)成本低;定制方便快捷,可方便地更換、調節(jié)顯示樣式與模板,真正實現(xiàn)網頁的多樣性等優(yōu)點。該方案家庭在線電子商務網上平臺(http://www.folok.com)的系統(tǒng)應用中取得了較好的效果[3]。
參考文獻:
[1] Wiki. Electronic commerce [EB/OL]. http://en.wikipedia.org/wiki/E-commerce,2010-9-10
[2] Wiki. Service-oriented architecture [EB/OL].
http://en.wikipedia.org/wiki/Service-oriented_architecture,2010-8-6
[3] 朱建新,朱益峰. 利用LVS和NAT構建高可用的Linux負載均衡集群[J].南通大學學報.
2005(2):25-28