引言
ASP(Application Service Provider,應(yīng)用服務(wù)提供商),是針對中小企業(yè)發(fā)展起來的一種嶄新的服務(wù)模式.它通過網(wǎng)絡(luò)以租賃的方式向中小企業(yè)提供綜合的信息化建設(shè)服務(wù)。企業(yè)從Internet登錄使用,只租不買。按服務(wù)付費(fèi)。因此,ASP從根本上降低了中小企業(yè)內(nèi)部部署信息系統(tǒng)資源的負(fù)擔(dān)。ASP的興起不僅為企業(yè)的信息化建設(shè)開創(chuàng)了全新的局面。而且對整個(gè)軟件產(chǎn)業(yè)起到了革命性的作用。本文首先對ASP平臺技術(shù)進(jìn)行了分析。并以此為基礎(chǔ)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ASP平臺的ERP應(yīng)用系統(tǒng)。從而為基于ASP平臺的應(yīng)用開發(fā)提供了一個(gè)很好的研究實(shí)例。
1 ASP平臺研究
1.1 ASP平臺的基本特征
ASP平臺主要是為眾多的中小企業(yè)提供信息化建設(shè)和應(yīng)用技術(shù)的綜合服務(wù),它是通過網(wǎng)絡(luò)以租賃的形式實(shí)現(xiàn)。因此ASP平臺具有以下基本的特征:
1)網(wǎng)絡(luò)數(shù)據(jù)存儲;贏SP的應(yīng)用特點(diǎn),用戶的數(shù)據(jù)都是存儲在服務(wù)商的數(shù)據(jù)中心。考慮到平臺上大量的共享性數(shù)據(jù)。而每個(gè)企業(yè)的數(shù)據(jù)又必須獨(dú)立存儲和備份。因此數(shù)據(jù)存儲必須有合理分離共享性數(shù)據(jù)和企業(yè)獨(dú)立數(shù)據(jù)的存儲機(jī)制。
2)單點(diǎn)登陸應(yīng)用。ASP為企業(yè)提供多種應(yīng)用服務(wù)。而每個(gè)企業(yè)可能需要的應(yīng)用服務(wù)是不同的,傳統(tǒng)應(yīng)用軟件每個(gè)不同的系統(tǒng)一般都有單獨(dú)的登錄和權(quán)限管理模式。因此用戶在使用不同的系統(tǒng)時(shí)必須分別登錄各子系統(tǒng)。ASP應(yīng)用系統(tǒng)更應(yīng)該突出其公共平臺的特點(diǎn),實(shí)現(xiàn)單點(diǎn)登錄,共享服務(wù)的模式。
3)更高的安全要求。傳統(tǒng)的企業(yè)應(yīng)用軟件一般是安裝在企業(yè)內(nèi)部網(wǎng)中使用的.ASP應(yīng)用是在Internet上使用,企業(yè)數(shù)據(jù)存儲于公共應(yīng)用服務(wù)提供商的數(shù)據(jù)中心,因此安全性要求要高得多.系統(tǒng)必須從物理安全、網(wǎng)絡(luò)安全、應(yīng)用安全等多個(gè)級別全方位保證。
4)信息的可交換性。ASP平臺提供的公共應(yīng)用服務(wù)決定了企業(yè)的信息表示將更為統(tǒng)一規(guī)范.因此企業(yè)間的信息交換更為容易直接。
1.2 AsP平臺的體系結(jié)構(gòu)
1.2.1 B/C模式
基于網(wǎng)絡(luò)應(yīng)用的ASP平臺,其最適合使用B/s(Browser/Server,瀏覽器/服務(wù)器)結(jié)構(gòu),B/S結(jié)構(gòu)是在C/S結(jié)構(gòu)的基礎(chǔ)上發(fā)展而來的。在C/S結(jié)構(gòu)的基礎(chǔ)上,增加中間應(yīng)用層(商業(yè)邏輯層),由原來的兩層結(jié)構(gòu)變?yōu)槿龑咏Y(jié)構(gòu),結(jié)構(gòu)如圖1.1。
圖1.1 B/S的三層結(jié)構(gòu)圖
在三層應(yīng)用結(jié)構(gòu)中,用戶界面(客戶端)負(fù)責(zé)處理用戶的輸入和向客戶輸出。商業(yè)邏輯層負(fù)責(zé)建立數(shù)據(jù)庫的連接,根據(jù)用戶的請求生成訪問數(shù)據(jù)庫的SQL語句。并把結(jié)果返回給客戶端。數(shù)據(jù)庫層負(fù)責(zé)實(shí)際數(shù)據(jù)庫存儲和檢索,響應(yīng)中間層的數(shù)據(jù)處理請求,并把結(jié)果返回給中間層。使用B/s模式開發(fā)ASP平臺應(yīng)用具有界面統(tǒng)一、操作簡單、易于開發(fā)和維護(hù)等優(yōu)點(diǎn).而且增加的web層在一定程度上能有效地防止用戶的非法入侵。
1.2.2 J2EE體系結(jié)構(gòu)
J2EE是Sun公司在1999年底提出的開發(fā)、部署、運(yùn)行和管理基于Java分布式應(yīng)用的平臺規(guī)范。J2EE的目標(biāo)是:提供平臺無關(guān)的、可移植的、支持并發(fā)訪問和安全的、完全基于Java的開發(fā)服務(wù)器端中間件1.3.2多企業(yè)應(yīng)用方案的標(biāo)準(zhǔn)。它以Java 2平臺標(biāo)準(zhǔn)版(J2SE)為基礎(chǔ),繼承ASP平臺的特點(diǎn)是一套應(yīng)用系統(tǒng)需要服務(wù)多個(gè)企了標(biāo)準(zhǔn)版的許多優(yōu)點(diǎn)。還提供了對EJB、Java Servlet、業(yè)管理模式差別很大的企業(yè),針對這種“一對多”的數(shù)JSP等技術(shù)的全面支持。J2EE使用EJB Server作為商據(jù)存儲和應(yīng)用程序模式,可以有以下幾種技術(shù)方案:業(yè)組件的部署環(huán)境,在EJB Server中提供了分布式計(jì)1)企業(yè)信息存儲于同一個(gè)數(shù)據(jù)庫的同一組表中,算環(huán)境中組件需要的服務(wù),例如組件生命周期的管根據(jù)具體情況在表中增加企業(yè)代號,以區(qū)分不同企業(yè)理、數(shù)據(jù)庫連接的管理、分布式事務(wù)的支持、組件的命的數(shù)據(jù)信息,多企業(yè)共享一套應(yīng)用軟件。名服務(wù)等。J2EE利用Java語言自身具有的跨平臺性、2)企業(yè)信息分別存儲于同一個(gè)數(shù)據(jù)庫中的不同可移植性、對象特性、內(nèi)存管理等方面的性能,為應(yīng)用表中,每增加一個(gè)企業(yè)就在數(shù)據(jù)庫中增加一組業(yè)務(wù)服務(wù)器的實(shí)現(xiàn)提供一個(gè)完整的底層框架。表,以區(qū)分不同企業(yè)的數(shù)據(jù)信息,多企業(yè)共享一套應(yīng)面向中小型企業(yè)的ASP平臺屬于比較大型的應(yīng)用軟件。其安全性和穩(wěn)定性要求較高,而基于J2EE的平臺3)企業(yè)信息分別存儲于不同的數(shù)據(jù)庫中,每增加結(jié)構(gòu)能夠很好的適應(yīng)這些要求。·一個(gè)企業(yè)就新建一個(gè)數(shù)據(jù)庫,以區(qū)分不同企業(yè)的數(shù)據(jù)
1.3 平臺關(guān)鍵技術(shù)信息,多企業(yè)共享一套應(yīng)用軟件。
單點(diǎn)登陸,企業(yè)信息分別存儲于不同的數(shù)據(jù)庫中,每增加在ASP系統(tǒng)中,為保證系統(tǒng)的安全性和靈活性, 一個(gè)企業(yè)就新建一個(gè)數(shù)據(jù)庫,以區(qū)分不同企業(yè)的數(shù)據(jù)平臺每個(gè)應(yīng)用系統(tǒng)都有其獨(dú)立的登陸功能,當(dāng)某一用信息,每個(gè)企業(yè)分別使用一份自己的應(yīng)用軟件副本。戶使用平臺的多種應(yīng)用軟件時(shí),按傳統(tǒng)的方式會出現(xiàn)對以上這4中方案進(jìn)比較,結(jié)果如表1.1。多次登陸的情況。為解決這種問題,我們設(shè)計(jì)一種“單表1.1 ASP平臺實(shí)現(xiàn)技術(shù)方案比較點(diǎn)登陸”的解決方案。
此單點(diǎn)登陸實(shí)現(xiàn)的前提是平臺上的各種應(yīng)用系統(tǒng)都采用B/s結(jié)構(gòu)。需要在各應(yīng)用系統(tǒng)間統(tǒng)一用戶認(rèn)證標(biāo)志.用戶登錄后可以得到用戶令牌,各應(yīng)用系統(tǒng)認(rèn)可統(tǒng)一的用戶令牌,該功能在平臺公共服務(wù)的“安全管理”中實(shí)現(xiàn)。用戶令牌應(yīng)當(dāng)是安全加密的,并且要限定時(shí)效期。
針對多系統(tǒng)應(yīng)用.用戶需要設(shè)置一個(gè)統(tǒng)一的帳號,并以此帳號進(jìn)行單點(diǎn)登陸,該帳號與各應(yīng)用系統(tǒng)的帳號形成映射關(guān)系。單點(diǎn)登陸的原理應(yīng)用系統(tǒng)必須支持對單點(diǎn)登錄的支持,但應(yīng)用系統(tǒng)之間應(yīng)該是松耦合,在ASP系統(tǒng)平臺設(shè)計(jì)時(shí)各種應(yīng)用都必須考慮支持單點(diǎn)登錄。
用戶在安全管理平臺上注冊一個(gè)單點(diǎn)登錄賬號。然后針對每個(gè)應(yīng)用系統(tǒng)綁定一個(gè)該應(yīng)用系統(tǒng)中原有的賬號.并維護(hù)這些注冊和綁定信息。綁定的過程需要單點(diǎn)登錄管理應(yīng)用服務(wù)器到應(yīng)用系統(tǒng)服務(wù)器上驗(yàn)證用戶提供的該應(yīng)用系統(tǒng)中原有賬號和密碼。應(yīng)用服務(wù)器均以相同的接口提供該功能支持。
圖1.2單點(diǎn)登陸原理
從系統(tǒng)的靈活性、可定制性以及開發(fā)復(fù)雜性綜合分析.第4種方案雖然會增加服務(wù)器代碼存儲空間.同時(shí)需要增加代碼管理。但是考慮到用戶需求變化的可能性,為保證系統(tǒng)實(shí)用性,該方案優(yōu)點(diǎn)還是明顯的。
2 基于ASP平臺的EIuP系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)設(shè)計(jì)要求
軟件網(wǎng)絡(luò)化和ASP是兩個(gè)概念。因此基于ASP平臺的ERP與傳統(tǒng)的ERP系統(tǒng)也有著明顯的區(qū)別.主要體現(xiàn)在:
1)要符合整個(gè)平臺的體系結(jié)構(gòu)和應(yīng)用特征,如要支持網(wǎng)絡(luò)的應(yīng)用,單點(diǎn)登陸等。
2)高度的模塊化。根據(jù)ASP應(yīng)用系統(tǒng)動應(yīng)具有動態(tài)適應(yīng)性的特點(diǎn)。ERP系統(tǒng)的設(shè)計(jì)需要高度的模塊化,支持根據(jù)用戶的需求和特點(diǎn)進(jìn)行系統(tǒng)配置。
3)系統(tǒng)的完全開放性。系統(tǒng)要能很好的支持和其它系統(tǒng)的集成以及和用戶本地系統(tǒng)的集成。
4)有比傳統(tǒng)應(yīng)用更加嚴(yán)密的安全策略,數(shù)據(jù)共享授權(quán)控制。戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示。同時(shí)它也可
5)各種標(biāo)準(zhǔn)的靈活可配置性,如物料、部門、單據(jù)以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的的編碼規(guī)則要能根據(jù)行業(yè)和企業(yè)特點(diǎn)靈活自定義。操作。
2.2 系統(tǒng)功能模塊劃分3.2基于Struts框架的系統(tǒng)開發(fā)
基于ASP平臺的ERP系統(tǒng)是針對中小型生產(chǎn)性、Struts實(shí)現(xiàn)了著名的MVC開發(fā)模式.它是由一組企業(yè)而設(shè)計(jì)的,整個(gè)系統(tǒng)的功能模塊劃分如圖2.1。相互協(xié)作的類、Sedvet以及Jsp TagLib組成。Struts的
圖2.1 ERP系統(tǒng)功能模塊圖
2.3 系統(tǒng)后臺設(shè)計(jì)
考慮到采用ASP多企業(yè)應(yīng)用的模式,系統(tǒng)后臺數(shù)據(jù)庫采用能夠支持海量數(shù)據(jù)的Oracle數(shù)據(jù)庫。它具有良好的兼容性和可移植性以及高可用性。同時(shí)支持透明集成。
數(shù)據(jù)庫的設(shè)計(jì)充分考慮了數(shù)據(jù)庫的實(shí)體完整性、參照完整性和應(yīng)用完整性,并遵照第三范式,該范式要求屬性不依賴于其它非主屬性。考慮到實(shí)際的情況對數(shù)據(jù)庫的數(shù)據(jù)采取了一定數(shù)據(jù)冗余的折中處理。
3 ERP系統(tǒng)的實(shí)現(xiàn)
結(jié)合ASP平臺的技術(shù)分析和ERP系統(tǒng)的設(shè)計(jì)要求,系統(tǒng)采用J2EE體系結(jié)構(gòu)。MVC的設(shè)計(jì)模式實(shí)現(xiàn)。
3.1 MVC設(shè)計(jì)模式
MVC是J2EE平臺上推薦的一種設(shè)計(jì)模式。它把一個(gè)應(yīng)用的輸入、處理、輸出流程按照視圖、控制、模型的方式進(jìn)行分離.將WEB應(yīng)用分為三層:控制層、模型層、視圖層,也稱為控制器、模型、視圖;贛VC模式的系統(tǒng)構(gòu)架如圖3.1。
圖3.1 基于MVC的系統(tǒng)架構(gòu)
模型層負(fù)責(zé)表達(dá)和訪問商業(yè)數(shù)據(jù),執(zhí)行商業(yè)邏輯和操作。也就是說,這一層就是現(xiàn)實(shí)生活中功能的軟件模擬;在模型層變化的時(shí)候,它將通知視圖層并提供后者訪問自身狀態(tài)的能力,同時(shí)控制層也可以訪問其功能函數(shù)以完成相關(guān)的任務(wù)。
視圖層負(fù)責(zé)顯示模型層的內(nèi)容。它從模型層取得數(shù)據(jù)并指定這些數(shù)據(jù)如何被顯示出來。在模型層變化的時(shí)候。它將自動更新。另外視圖層也會將用戶的輸入傳送給控制器。
控制層負(fù)責(zé)定義應(yīng)用程序的行為。它可以分派用工作原理主要通過4個(gè)核心組件來實(shí)現(xiàn).這4個(gè)核心組件包括:ActionServlet、Action Classes、ActionMapping(包括ActionForwara)、ActionFrom Bean。實(shí)現(xiàn)的過程中前臺的jsp頁面主要是由HTML和JSTL(標(biāo)準(zhǔn)標(biāo)簽庫)組成。由于Struts中前臺標(biāo)簽功能還比較弱,限制較多,而且比較麻煩,所以用JSTL取代,JST不僅簡潔而且功能強(qiáng)大。完全可以取代Struts中的標(biāo)簽。開發(fā)中我們只需在每個(gè)JSP頁面頭上加入對JSTL標(biāo)準(zhǔn)標(biāo)簽的引用即可,引用方法如下:
<%@taglib uri=”http://java.sun.com/jstl/core”
prefix=”C”%>//
引入核心庫后臺控制實(shí)現(xiàn)了頁面提交一命令確認(rèn)一數(shù)據(jù)處理一頁面跳轉(zhuǎn)的功能。針對每個(gè)模塊需要完成Action、Bean和Form的編寫,其中Action通過execute()方法調(diào)用Bean中的邏輯實(shí)現(xiàn),同時(shí)由ActionMapping和ActionForward執(zhí)行控制和頁面的跳轉(zhuǎn),表單Form是負(fù)責(zé)應(yīng)用系統(tǒng)消息轉(zhuǎn)移(或者說狀態(tài)轉(zhuǎn)移)的非持久性數(shù)據(jù)存儲。
4 總結(jié)
本文通過對ASP平臺特點(diǎn)和技術(shù)的研究,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于ASP平臺的ERP應(yīng)用系統(tǒng)。該系統(tǒng)充分考慮了和平臺的集成性;诖嗽O(shè)計(jì)可以開發(fā)更多的ASP平臺應(yīng)用系統(tǒng),從而為中小企業(yè)信息化建設(shè)提供更多、更可靠的應(yīng)用服務(wù)。
本文創(chuàng)新點(diǎn)是基于ASP(Application Service Provider)平臺技術(shù)的ERP應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于ASP平臺的ERP系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/1082063496.html