電子商務(wù)
網(wǎng)站建設(shè)關(guān)于系統(tǒng)開(kāi)發(fā)模式與解決方案。電子商務(wù)系統(tǒng)的開(kāi)發(fā)模式是電子商務(wù)應(yīng)用軟件的開(kāi)發(fā)構(gòu)建方式。深圳網(wǎng)站建設(shè)公司認(rèn)為目前,其開(kāi)發(fā)模式基本上可以分成傳統(tǒng)的 Web開(kāi)發(fā)模式和基于組件的開(kāi)發(fā)模式這兩類。
網(wǎng)站建設(shè)公司本欄目下文就這個(gè)問(wèn)題詳細(xì)與各位進(jìn)行探討并分享由資深網(wǎng)站建設(shè)框架規(guī)劃師整理的開(kāi)發(fā)經(jīng)驗(yàn)。

1.傳統(tǒng)的Web開(kāi)發(fā)模式
系統(tǒng)開(kāi)發(fā)工作主要集中在Web服務(wù)器上的各種靜態(tài)、動(dòng)態(tài)網(wǎng)頁(yè)的制作方面。Web應(yīng)用最初的開(kāi)發(fā)模式是靜態(tài)頁(yè)面開(kāi)發(fā)模式,隨著Web技術(shù)的發(fā)展,又出現(xiàn)了CGI、ASP、PHP,JSP等動(dòng)態(tài)頁(yè)面開(kāi)發(fā)模式,這些都是傳統(tǒng)的Web開(kāi)發(fā)模式。
1)靜態(tài)頁(yè)面開(kāi)發(fā)模式
靜態(tài)網(wǎng)頁(yè)是相對(duì)于動(dòng)態(tài)網(wǎng)頁(yè)而言,是指沒(méi)有后臺(tái)數(shù)據(jù)庫(kù)、不含程序和不可交互的網(wǎng)頁(yè)。在網(wǎng)站設(shè)計(jì)中,純粹HTMI.格式的網(wǎng)頁(yè)通常就被稱為“靜態(tài)網(wǎng)頁(yè)”,早期的網(wǎng)站一般都是由靜態(tài)網(wǎng)頁(yè)制作的。靜態(tài)網(wǎng)頁(yè)是以.htm、.html、. shtml、. xml等為后綴的。但是,在HTML格式的網(wǎng)頁(yè)上,也可以出現(xiàn)各種動(dòng)態(tài)的效果,如GIF格式的動(dòng)畫(huà)、Flash、滾動(dòng)字幕等,這些“動(dòng)態(tài)效果”只是視覺(jué)上的,與動(dòng)態(tài)網(wǎng)頁(yè)是不同的。
2)動(dòng)態(tài)頁(yè)面開(kāi)發(fā)模式
動(dòng)態(tài)網(wǎng)頁(yè)是與靜態(tài)網(wǎng)頁(yè)相對(duì)應(yīng)的,網(wǎng)頁(yè)URL 以. asp、.jsp、. php、. perl、. cgi等形式為后綴。這里說(shuō)的動(dòng)態(tài)網(wǎng)頁(yè),能夠很容易地進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn),還能根據(jù)訪問(wèn)者的反應(yīng)產(chǎn)生不同的超鏈接,顯示不同的內(nèi)容。動(dòng)態(tài)網(wǎng)頁(yè)與網(wǎng)頁(yè)上的各種動(dòng)畫(huà)、滾動(dòng)字幕等視覺(jué)上的“動(dòng)態(tài)效果”沒(méi)有直接關(guān)系。動(dòng)態(tài)網(wǎng)頁(yè)也可以是純文字內(nèi)容的,還可以包含各種動(dòng)畫(huà)的內(nèi)容,這些只是網(wǎng)頁(yè)具體內(nèi)容的表現(xiàn)形式,無(wú)論網(wǎng)頁(yè)是否具有動(dòng)態(tài)效果,采用動(dòng)態(tài)網(wǎng)站技術(shù)生成的網(wǎng)頁(yè)都稱為動(dòng)態(tài)網(wǎng)頁(yè)。
2.基于組件的開(kāi)發(fā)編程模式
這一方式主要利用了軟件的可重用性思想。基于組件的開(kāi)發(fā)是在一定的軟件模型的支持下,重用組件庫(kù)中的軟件組件,通過(guò)組合構(gòu)造應(yīng)用系統(tǒng)軟件的過(guò)程。開(kāi)發(fā)的主要工作是在組件庫(kù)中查找各類合適的軟件,對(duì)組件庫(kù)中沒(méi)有的組件,在網(wǎng)上查詢購(gòu)買或者自己開(kāi)發(fā),最后將相關(guān)的組件組裝。由于軟件可重用理論發(fā)展很快,盡管思路相似,但是這種模式的編程工具和手段卻不盡相同,比較有代表性的包括以下幾種。
1)CORBA技術(shù)
CORBA (Common Object Request Broker Architecture,公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范,或者說(shuō)CORBA體系結(jié)構(gòu)是對(duì)象管理組織為解決分布式處理環(huán)境中,硬件和軟件系統(tǒng)的互聯(lián)而提出的一種解決方案。使用CORBA,用戶能在不知道軟件和硬件平臺(tái)及網(wǎng)絡(luò)位置的情況下透明地獲取信息;CORBA自動(dòng)進(jìn)行許多網(wǎng)絡(luò)規(guī)劃任務(wù),如對(duì)象注冊(cè)、定位、激活;CORBA能處理多路徑請(qǐng)求;CORBA有分幀和錯(cuò)誤處理機(jī)制,還能并行處理以及執(zhí)行操作。
OMA (Object Management Architecture,對(duì)象管理體系結(jié)構(gòu)〉定義了組成CORBA的四個(gè)主要部分:
(1) ORB (Object Request Broker,對(duì)象請(qǐng)求代理),作為對(duì)象互通信的軟總線。(2)CORBA Services,定義加人ORB的系統(tǒng)級(jí)服務(wù),如安全性、命名和事務(wù)處理。(3)CORBA Facilities,定義應(yīng)用程序級(jí)服務(wù),如復(fù)合文檔等。
(4)Business Objects,定義現(xiàn)實(shí)世界的對(duì)象和應(yīng)用,如銀行賬戶。
ORB是 CORBA中的核心部分。ORB提供了一種機(jī)制,通過(guò)這種機(jī)制,對(duì)象可以透明地發(fā)出請(qǐng)求和接收響應(yīng)。分布的、可以互操作的對(duì)象利用ORB構(gòu)造可以互操作的應(yīng)用。
2) Microsoft DCOM
Microsoft DCOM (Distributed Component Object Model,分布式公共對(duì)象模型)是COM (Component Object Model,公共對(duì)象模型)的擴(kuò)展,它支持不同的兩臺(tái)機(jī)器上的組件間的通信,而且不論它們是運(yùn)行在局域網(wǎng)、廣域網(wǎng),還是 Internet上。應(yīng)用程序借助DCOM將能夠任意進(jìn)行空間分布,從而滿足客戶和應(yīng)用的需求。
由于DCOM是COM這個(gè)組件技術(shù)的無(wú)縫升級(jí),所以能夠從現(xiàn)有的有關(guān)COM的知識(shí)中獲益,可將以前在COM中開(kāi)發(fā)的應(yīng)用程序、組件、工具移入分布式的環(huán)境中。DCOM可將底層網(wǎng)絡(luò)協(xié)議的細(xì)節(jié)屏蔽,從而能夠集中精力解決用戶所要求的問(wèn)題。
DCOM還可以工作在位于企業(yè)內(nèi)部或者除了公共因特網(wǎng)之外的其他網(wǎng)絡(luò)中。DCOM是作為Windows操作系統(tǒng)中的一部分集成的,并且很快在所有的主流UNIX平臺(tái)和IBM的大型服務(wù)器產(chǎn)品中出現(xiàn)。
3) .NET Framework
.NET Framework支持生成和運(yùn)行下一代應(yīng)用程序及 XMI.Web Services 的內(nèi)部Windows組件。.NET Framework旨在實(shí)現(xiàn)下列目標(biāo)。
(1)提供一個(gè)一致的面向?qū)ο蟮木幊汰h(huán)境,而無(wú)論對(duì)象代碼是否在本地存儲(chǔ)和執(zhí)行。
(2)提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。
(3)提供一個(gè)可提高代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)執(zhí)行安全性的代碼執(zhí)行環(huán)境。
(4)提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問(wèn)題的代碼執(zhí)行環(huán)境。
(5)按照工業(yè)標(biāo)準(zhǔn)生成所有通信,以確?;?NET Framework的代碼可與任何其他代碼集成。
.NET Framework具有兩個(gè)主要組件:公共語(yǔ)言運(yùn)行庫(kù)和.NET Framework類庫(kù)。公共語(yǔ)言運(yùn)行庫(kù)是.NET Framework的基礎(chǔ)。公共語(yǔ)言運(yùn)行庫(kù)可以看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等核心服務(wù),并且還強(qiáng)制實(shí)施嚴(yán)格的類型安全及可提高安全性和可靠性的其他形式的代碼準(zhǔn)確性。
.NET Framework類庫(kù)是一個(gè)綜合性的面向?qū)ο蟮目芍赜妙愋图?,可使用它開(kāi)發(fā)多種應(yīng)用程序,包括傳統(tǒng)的命令行或圖形用戶界面(GUI)應(yīng)用程序,也包括基于ASP.NET所提供的最新創(chuàng)新的應(yīng)用程序(如Web窗體和 XMLWeb Services)。
4)J2EE
Sun公司的J2EE是開(kāi)發(fā)分布式企業(yè)軟件應(yīng)用的平臺(tái),J2EE架構(gòu)是一個(gè)多層的結(jié)構(gòu)。
J2EE架構(gòu)具體包括以下幾層。
(1)用戶層:用來(lái)與用戶交互,并把來(lái)自系統(tǒng)的信息顯示給用戶。
(2)Web層:Web層產(chǎn)生表示邏輯、并接收來(lái)自客戶端的用戶反饋。在所接收的客戶端請(qǐng)求的基礎(chǔ)上,表示層對(duì)用戶的請(qǐng)求產(chǎn)生相應(yīng)的回應(yīng)。
(3)業(yè)務(wù)層:業(yè)務(wù)層處理應(yīng)用的核心業(yè)務(wù)邏輯,為低層業(yè)務(wù)提供必要的接口。業(yè)務(wù)組件通常被實(shí)現(xiàn)為EJB容器內(nèi)的EJB組件。其中,EJB容器提供組件生命周期、管理持久性、事務(wù)和資源分配等。
(4) EIS層:該層為企業(yè)的信息系統(tǒng)服務(wù),包括數(shù)據(jù)庫(kù)系統(tǒng)、事務(wù)處理系統(tǒng)、企業(yè)資源計(jì)劃系統(tǒng)等。EIS是J2EE應(yīng)用與非J2EE應(yīng)用的連接點(diǎn)。
J2EE平臺(tái)已經(jīng)成為使用最廣泛的Web程序設(shè)計(jì)技術(shù)。該技術(shù)主要支持兩類軟件的開(kāi)發(fā)和應(yīng)用,一類是做高級(jí)信息系統(tǒng)框架的Web應(yīng)用服務(wù)器(Web Application Server),另一類是在Web應(yīng)用服務(wù)器上運(yùn)行的Web應(yīng)用程序(Web Application)。J2EE實(shí)際上為Web應(yīng)用系統(tǒng)提供了容器平臺(tái),用戶所開(kāi)發(fā)的程序組件在容器內(nèi)運(yùn)行。
5) Struts
Apache Struts是由一個(gè)著名的軟件組織Apache提供的、開(kāi)放源代碼的、用于幫助開(kāi)發(fā)人員創(chuàng)建基于Java的 Web應(yīng)用程序的開(kāi)發(fā)框架。它實(shí)現(xiàn)了MVC (Model-View-Controller,模型-視圖-控制器)架構(gòu),目前在電子商務(wù)系統(tǒng)的開(kāi)發(fā)中已經(jīng)得到廣泛的應(yīng)用。
MVC模式可以增加程序代碼彈性,將程序代碼整理切割為三部分,Model部分是業(yè)務(wù)與應(yīng)用領(lǐng)域相關(guān)邏輯、管理狀態(tài)的對(duì)象,Controller部分接收來(lái)自View所輸入的資料并與Model部分互動(dòng),是業(yè)務(wù)流程控制之處,View部分則負(fù)責(zé)展現(xiàn)資料、接收使用者輸入資料。
Struts 作為一種比較成熟的Web應(yīng)用開(kāi)發(fā)框架,主要提供了以下三種重要的組件。
(1)請(qǐng)求處理器(Request Handler):用于將客戶端請(qǐng)求映射成標(biāo)準(zhǔn)的URI (UniformResource ldentifier,統(tǒng)一資源標(biāo)志符)。
(2)響應(yīng)處理器(Response Handler):將控制傳遞給能完成響應(yīng)的資源。
(3)標(biāo)記庫(kù)(Tag L.ibrary):幫助開(kāi)發(fā)人員使用服務(wù)器頁(yè)面技術(shù)(如JSP)創(chuàng)建基于表單的交互式應(yīng)用程序。
Struts具有以下一系列優(yōu)點(diǎn)。
(1)具有MVC模型的所有特性和優(yōu)點(diǎn)。
(2)簡(jiǎn)化了基于MVC的應(yīng)用程序的開(kāi)發(fā)。
(3)提供了很多對(duì)象實(shí)現(xiàn)MVC的基本特征。
(4)允許開(kāi)發(fā)人員使用XML文件來(lái)配置很多默認(rèn)的框架。
(5)提供了一個(gè)靈活的體制來(lái)處理錯(cuò)誤和異常。
(6)提供了一個(gè)方便的方法對(duì)應(yīng)用程序的信息進(jìn)行國(guó)際化。
Struts是對(duì)MVC設(shè)計(jì)模式的一種實(shí)現(xiàn)。MVC設(shè)計(jì)模式為構(gòu)建可擴(kuò)展、可重用的代碼打下了一個(gè)堅(jiān)實(shí)的基礎(chǔ),MVC模式最大的特性在于使開(kāi)發(fā)人員必須抽象自己的代碼,把項(xiàng)目分解為表示、邏輯和控制三部分,而分化的作用正如一個(gè)交響樂(lè)團(tuán)中的音樂(lè)、團(tuán)員和指揮。
由于Struts已經(jīng)為開(kāi)發(fā)者提供了一個(gè)非常優(yōu)秀的MVC模式的應(yīng)用框架,利用Struts開(kāi)發(fā)MVC系統(tǒng)可以大大加快開(kāi)發(fā)的效率。在開(kāi)發(fā)時(shí)可以采用如下的開(kāi)發(fā)流程。
(1)收集和定義應(yīng)用需求。
(2)基于數(shù)據(jù)采集和顯示的原則定義和開(kāi)發(fā)用戶界面需求。
(3)為每一個(gè)用戶界面定義訪問(wèn)路徑。
(4)定義ActionMapping、建立應(yīng)用業(yè)務(wù)邏輯之間的聯(lián)系。
(5)開(kāi)發(fā)滿足用戶界面需求的所有支持對(duì)象。
(6)基于每一個(gè)用戶界面需求提供的數(shù)據(jù)屬性來(lái)創(chuàng)建對(duì)應(yīng)的ActionForm對(duì)象。
(7)開(kāi)發(fā)被ActionMapping 調(diào)用的Action對(duì)象。
(8)開(kāi)發(fā)應(yīng)用業(yè)務(wù)邏輯對(duì)象。
(9)對(duì)應(yīng) ActionMapping設(shè)計(jì)的流程創(chuàng)建JSP頁(yè)面。
(10)建立合適的配置文件struts-config. xml,web. xml。
(11)開(kāi)發(fā)、測(cè)試和部署開(kāi)發(fā)好的應(yīng)用系統(tǒng)。
Struts是一種優(yōu)秀的J2EE MVC架構(gòu)方式。其有效地體現(xiàn)了MVC設(shè)計(jì)模式的特點(diǎn),對(duì)應(yīng)用程序的顯示、表示和數(shù)據(jù)的后端代碼進(jìn)行了抽象,整合了JSP和Java Servlet的技術(shù)優(yōu)勢(shì),利用Taglib 獲得可重用代碼和抽象Java代碼,利用ActionServlet配合struts-config.xml實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)導(dǎo)航。增強(qiáng)了開(kāi)發(fā)人員對(duì)系統(tǒng)的整體把握,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性。好了,
深圳網(wǎng)站建設(shè)公司本文關(guān)于“電子商務(wù)網(wǎng)站建設(shè)關(guān)于系統(tǒng)開(kāi)發(fā)模式與解決方案”就分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。