安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-總體流程控制和公用模塊_第1頁(yè)
安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-總體流程控制和公用模塊_第2頁(yè)
安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-總體流程控制和公用模塊_第3頁(yè)
安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-總體流程控制和公用模塊_第4頁(yè)
安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-總體流程控制和公用模塊_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書——總體流程控制和公用模塊第1頁(yè)共18頁(yè)安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書(總體流程控制和公共模塊設(shè)計(jì))版本號(hào):V0.3安徽移動(dòng)通信有限責(zé)任公司南京聯(lián)創(chuàng)科技股份有限公司二○○三年八月修改歷史版本號(hào)日期編寫者修改內(nèi)容0.12003-8-1任保同完成初稿0.22003-9-16任保同修改了文檔格式,增加了數(shù)據(jù)庫(kù)操作部分的處理流程0.32003-9-26任保同修改了首頁(yè),增加了目錄,修改了一些錯(cuò)別字

目錄安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng) 1詳細(xì)設(shè)計(jì)說(shuō)明書 1(總體流程控制和公共模塊設(shè)計(jì)) 11. 軟件結(jié)構(gòu) 41.1. 功能模塊一覽表 42. 技術(shù)實(shí)現(xiàn) 43. 各模塊詳細(xì)設(shè)計(jì) 53.1. 截獲過(guò)濾模塊設(shè)計(jì) 53.1.1. 模塊描述 53.1.2. 處理流程 53.1.3. 類對(duì)象設(shè)計(jì) 83.2. 登錄控制模塊設(shè)計(jì) 83.2.1. 模塊描述 83.2.2. 處理流程 93.2.3. 類對(duì)象設(shè)計(jì) 103.3. 數(shù)據(jù)庫(kù)操作模塊設(shè)計(jì) 103.3.1. 模塊描述 103.3.2. 處理流程 113.3.3. 類對(duì)象設(shè)計(jì) 133.4. 頁(yè)面組合設(shè)計(jì) 143.4.1. 模塊描述 143.4.2. 類對(duì)象設(shè)計(jì) 143.5. 錯(cuò)誤處理設(shè)計(jì) 153.5.1. 模塊描述 153.5.2. 處理流程 153.6. 配置設(shè)計(jì) 153.6.1. 模塊描述 153.6.2. 處理流程 154. 錯(cuò)誤處理 175. 附錄 175.1. 定義 175.2. 參考資料 18

軟件結(jié)構(gòu)前臺(tái)總體流程控制主要包括截獲過(guò)濾層、登錄控制、權(quán)限驗(yàn)證、請(qǐng)求資源配置和跳轉(zhuǎn)控制、數(shù)據(jù)源配置等幾個(gè)模塊??傮w大致流程如下:總體流程控制由以上各模塊配合完成,各模塊的具體功能和實(shí)現(xiàn)方法在模塊設(shè)計(jì)中說(shuō)明。功能模塊一覽表模塊名稱簡(jiǎn)單描述截獲過(guò)濾模塊將一些客戶狀態(tài)驗(yàn)證、客戶請(qǐng)求資源的權(quán)限驗(yàn)證統(tǒng)一處理。登錄控制模塊控制用戶登錄系統(tǒng),確保系統(tǒng)的安全。數(shù)據(jù)庫(kù)操作模塊可復(fù)用的數(shù)據(jù)庫(kù)操作模塊。頁(yè)面組合設(shè)計(jì)為所有的頁(yè)面設(shè)定模版,統(tǒng)一頁(yè)面風(fēng)格。錯(cuò)誤處理設(shè)計(jì)統(tǒng)一錯(cuò)誤信息的處理,包括錯(cuò)誤信息的生成和展示。系統(tǒng)配置設(shè)計(jì)配置設(shè)計(jì),主要定義了數(shù)據(jù)源、Action、Form等的引用方法。技術(shù)實(shí)現(xiàn)參見(jiàn)《安徽移動(dòng)經(jīng)營(yíng)分析系統(tǒng)詳細(xì)設(shè)計(jì)說(shuō)明書-應(yīng)用集成發(fā)》基本設(shè)計(jì)概念。各模塊詳細(xì)設(shè)計(jì)截獲過(guò)濾模塊設(shè)計(jì)模塊描述本模塊截獲過(guò)濾層,截獲所有客戶端的請(qǐng)求資源,對(duì)客戶狀態(tài)、客戶請(qǐng)求資源作逐一的驗(yàn)證,只有所有驗(yàn)證都通過(guò)的請(qǐng)求才定位到請(qǐng)求的資源。 設(shè)計(jì)的主要目的是將一些客戶狀態(tài)驗(yàn)證、客戶請(qǐng)求資源的權(quán)限驗(yàn)證統(tǒng)一處理。處理流程SignonFilter主要完成兩個(gè)任務(wù):截獲用戶的所有請(qǐng)求,并判斷此時(shí)用戶session是否過(guò)期,如果沒(méi)有過(guò)期,供以后的模塊處理。在用戶session過(guò)期,截獲用戶請(qǐng)求的資源,包括URI和各種參數(shù),保存下來(lái)。講用戶的請(qǐng)求定位到登錄模塊,登錄成功后,登錄模塊讀取SignonFilter保存的信息,并定位到讀取的資源。流程圖如下: OperateFilter主要完成以下任務(wù):讀取參數(shù),判斷用戶的操作類型,決定如何跳轉(zhuǎn)。如果用戶的操作類型為數(shù)據(jù)庫(kù)操作,根據(jù)操作類型,判斷用戶是否有操作的權(quán)限,根據(jù)權(quán)限驗(yàn)證情況確定跳轉(zhuǎn)。流程圖如下。注意:數(shù)據(jù)操作處理(查詢、插入、刪除、修改)的要求:查詢操作傳遞參數(shù)action=browse&funcmoducode=xxx插入操作時(shí)傳遞參數(shù)action=insert&funcmoducode=xxx刪除操作時(shí)傳遞參數(shù)action=delete&funcmoducode=xxx修改操作時(shí)傳遞參數(shù)action=update&funcmoducode=xxx或者插入、刪除、修改操作時(shí)傳遞參數(shù)action=edit&funcmoducode=xxx使用Action控制跳轉(zhuǎn)時(shí),頁(yè)面調(diào)轉(zhuǎn)增加參數(shù)action=goto。如果不按照上述方式傳遞參數(shù),則流程控制模塊會(huì)強(qiáng)制性的將客戶請(qǐng)求跳轉(zhuǎn)到錯(cuò)誤處理頁(yè)面。類對(duì)象設(shè)計(jì)FilterManager管理所有的過(guò)濾器的處理,負(fù)責(zé)創(chuàng)建FilterChain,并初始化FilterChain中的過(guò)濾器。FilterChain是一個(gè)容器,所有的過(guò)濾器都按一定的順序存放在其中。SignonFilter檢查用戶狀態(tài),用戶是否登錄、Session是否有效等,如果用戶未登錄或Session已經(jīng)過(guò)期,跳轉(zhuǎn)到登錄界面。對(duì)于Session過(guò)期的情況,保存用戶當(dāng)前請(qǐng)求的資源,當(dāng)用戶登錄成功后,直接跳轉(zhuǎn)到當(dāng)前請(qǐng)求的資源。OperateFilter驗(yàn)證用戶是否有瀏覽或操作(增刪改)權(quán)限,這個(gè)過(guò)濾器會(huì)根據(jù)用戶的權(quán)限和所請(qǐng)求的操作判斷是否執(zhí)行用戶的請(qǐng)求。如果用戶有相應(yīng)的權(quán)限,則執(zhí)行用戶的請(qǐng)求,如果用戶沒(méi)有相應(yīng)的權(quán)限,則不執(zhí)行用戶的請(qǐng)求并返回給用戶一條錯(cuò)誤信息。Target客戶端請(qǐng)求的資源。登錄控制模塊設(shè)計(jì)模塊描述本模塊登錄控制模塊,完成用戶登錄時(shí)的各種驗(yàn)證,包括,用戶輸入是否為空的驗(yàn)證(不允許為空)、用戶是否存在,用戶名和密碼是否正確、登錄IP是否合法、登錄時(shí)間是否合法等一系列驗(yàn)證。本模塊的目的是保證合法的用戶的登錄和保證不合法的用戶不能登錄,確保系統(tǒng)的安全。處理流程用戶登錄的過(guò)程要完成一系列的驗(yàn)證,按照順序,依次是用戶是否存在的驗(yàn)證、用戶密碼是否存在的驗(yàn)證、用戶登錄IP是否合法的驗(yàn)證、用戶登錄時(shí)間是否合法的驗(yàn)證。任何一次驗(yàn)證不能通過(guò),則用戶的狀態(tài)始終為未登錄狀態(tài),只有當(dāng)前一次驗(yàn)證通過(guò)后,才進(jìn)行下面的驗(yàn)證,只有當(dāng)某個(gè)用戶通過(guò)所有的驗(yàn)證后,才能成功的登錄。類對(duì)象設(shè)計(jì)LogonAction相當(dāng)于這一模塊的“客戶端“,負(fù)責(zé)調(diào)用LogonDAO和LogonVO來(lái)完成用戶登錄的驗(yàn)證和資源的重新定位。LogonDAO這是真正的邏輯處理的地方,完成包括用戶是否存在,用戶名和密碼是否正確、登錄IP是否合法、登錄時(shí)間是否合法在內(nèi)的一系列驗(yàn)證。LogonVO存儲(chǔ)需要驗(yàn)證的數(shù)據(jù),便于訪問(wèn),它是由LogonDAO創(chuàng)建的。DataSource這一部分完成數(shù)據(jù)庫(kù)的查詢和數(shù)據(jù)的封裝,數(shù)據(jù)的封裝結(jié)果以LogonVO的形勢(shì)返回給LogonDAO和LogonAction。數(shù)據(jù)庫(kù)操作模塊設(shè)計(jì)模塊描述本模塊數(shù)據(jù)庫(kù)操作模塊,作為數(shù)據(jù)庫(kù)操作的公共模塊,使管理數(shù)據(jù)庫(kù)操作和業(yè)務(wù)數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)了相同的接口,在調(diào)用該模塊來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作時(shí),無(wú)論是業(yè)務(wù)數(shù)據(jù)庫(kù)操作還是管理數(shù)據(jù)庫(kù)操作,只要調(diào)用相同的類,相同的方法即可實(shí)現(xiàn)。通過(guò)多種方式得到數(shù)據(jù)庫(kù)連接,確保得到正確的數(shù)據(jù)庫(kù)連接。處理流程用戶通過(guò)這一模塊可以獲得業(yè)務(wù)數(shù)據(jù)庫(kù)或管理數(shù)據(jù)庫(kù)的連接(DBFactory),兩者獲取連接的邏輯相同,首先嘗試從WebLogic連接池獲得數(shù)據(jù)庫(kù)連接,如果成功獲得數(shù)據(jù)庫(kù)連接,則繼續(xù)下面的操作;如果未能成功獲得數(shù)據(jù)庫(kù)連接,則嘗試通過(guò)IBMDB2APPDriver獲得數(shù)據(jù)庫(kù)連接,如果成功獲得數(shù)據(jù)庫(kù)連接,則繼續(xù)下面的操作;如果未能成功獲得數(shù)據(jù)庫(kù)連接,則繼續(xù)嘗試通過(guò)IBMDB2NETDriver獲得數(shù)據(jù)庫(kù)連接,如果成功獲得數(shù)據(jù)庫(kù)連接,則繼續(xù)下面的操作;如果獲得數(shù)據(jù)庫(kù)連接失敗,則給出出錯(cuò)信息。在進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),無(wú)論是查詢操作還是增刪改操作,無(wú)論是操作成功還是操作失敗,都確保釋放數(shù)據(jù)庫(kù)連接,然后給出操作失敗的信息(操作失敗時(shí))或繼續(xù)以下操作(操作成功時(shí))。類對(duì)象設(shè)計(jì)DBUTil是一個(gè)抽象類,實(shí)現(xiàn)了一些公共方法,比如excuteQuery、excuteUpdate、release。預(yù)留了兩個(gè)抽象方法,讓涉及到具體的數(shù)據(jù)庫(kù)的方法去實(shí)現(xiàn)。MDBUTil是一個(gè)管理數(shù)據(jù)庫(kù)的操作的類,實(shí)現(xiàn)了setDataSource和setConnection方法,setDataSource使用了weblogic的dataSource的配置,setConnection使用了標(biāo)準(zhǔn)的JDBC獲得數(shù)據(jù)庫(kù)連接,系統(tǒng)默認(rèn)的先調(diào)用setDataSource,如果系統(tǒng)不能正確的從weblogic得到數(shù)據(jù)庫(kù)連接,則系統(tǒng)自動(dòng)調(diào)用setConnection,從標(biāo)準(zhǔn)JDBC獲得連接,這樣增加了系統(tǒng)的穩(wěn)定性。BDBUTil是一個(gè)業(yè)務(wù)數(shù)據(jù)庫(kù)的操作的類,實(shí)現(xiàn)了setDataSource和setConnection方法,setDataSource使用了weblogic的dataSource的配置,setConnection使用了標(biāo)準(zhǔn)的JDBC獲得數(shù)據(jù)庫(kù)連接,系統(tǒng)默認(rèn)的現(xiàn)調(diào)用setDataSource,如果系統(tǒng)不能正確的從weblogic得到數(shù)據(jù)庫(kù)連接,則系統(tǒng)自動(dòng)調(diào)用setConnection,從標(biāo)準(zhǔn)JDBC獲得連接,這樣增加了系統(tǒng)的穩(wěn)定性。DBFactory是一個(gè)專門用來(lái)實(shí)例化上述類的類,當(dāng)我們使用數(shù)據(jù)庫(kù)操作時(shí),可以直接通過(guò)DBFactory獲得以MDBUTil或BDBUTil實(shí)例化的DBUTil,接著可以直接調(diào)用DBUTil的excuteQuery,release兩個(gè)方法來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢操作和釋放資源,或者調(diào)用DBUTil的excuteUpdate,release兩個(gè)方法來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)增、刪、改操作和釋放資源。頁(yè)面組合設(shè)計(jì)模塊描述本設(shè)計(jì)模塊主要是為所有的頁(yè)面設(shè)定模版本設(shè)計(jì)模塊的目的是統(tǒng)一模版,統(tǒng)一展示風(fēng)格。類對(duì)象設(shè)計(jì)subjsp組成一個(gè)完整的視圖的基本JSP,他們是真正的顯示數(shù)據(jù)的頁(yè)面。這些頁(yè)面包括title、header、search、error、content、footer六個(gè)組成部分。Template定義樣式的模版,定義了title、header、search、error、content、footer六個(gè)部分的排版。compositeView使用模版,并將subjsp中的各個(gè)部分包含近來(lái)組成一個(gè)完整的視圖。錯(cuò)誤處理設(shè)計(jì)模塊描述本模塊錯(cuò)誤處理,完成各種出錯(cuò)信息的處理,包括生成錯(cuò)誤信息和展示錯(cuò)誤信息。統(tǒng)一系統(tǒng)的錯(cuò)誤處理。處理流程出錯(cuò)信息存儲(chǔ)在Struts的ApplicationResources中,并在ActionErrors中引用定義在ApplicationResources中定義的鍵值,并在compositeView中包括error頁(yè)面,則錯(cuò)誤信息可以自動(dòng)顯示。當(dāng)用戶試圖進(jìn)行超過(guò)自身權(quán)限的操作時(shí),頁(yè)面自動(dòng)調(diào)轉(zhuǎn)到錯(cuò)誤處理頁(yè)面,此時(shí)會(huì)給用戶提供一些選擇,比如返回門戶、還是重新登錄。配置設(shè)計(jì)模塊描述配置設(shè)計(jì),主要定義了數(shù)據(jù)源、Action、Form等的引用方法。處理流程數(shù)據(jù)源配置如下: 為了保證的到數(shù)據(jù)庫(kù)連接,在兩個(gè)地方配置了數(shù)據(jù)源。WEBLOGIC數(shù)據(jù)源,在WEBLOGIC的控制臺(tái)完成配置標(biāo)準(zhǔn)JDBC數(shù)據(jù)源,在config資源文件中完成配置,配置結(jié)果如下:#createdby:RenBaotong#createdat:2003.08.05#definedriverclassesdriverClass=COM.ibm.db2.jdbc.app.DB2DriverdriverClass2=COM..DB2Driver#definemanagedatabaseinformationurl_m=jdbc:db2:biuser_m=db2adminpassword_m=db2adminserver_m=1port_m=6789database_m=bischema_m=db2admin#definebusinessdatabaseinformationurl_b=jdbc:db2:bass_aquser_b=db2instpassword_b=db2instserver_b=44port_b=6789database_b=bass_aqschema_b=db2inst#defineweblogicDataSoucedataSource_m=dataSource_bidataSource_b=dataSource_bass全局轉(zhuǎn)發(fā)配置如下: <global-forwards><forwardname="logon"path="/jsp/welcome/logon.jsp"/><forwardname="adhoc"path="/jsp/adhoc/main.jsp"/><forwardname="monitor"path="/jsp/monitor/main.jsp"/><forwardname="olap"path="/jsp/olap/main.jsp"/><forwardname="parameter"path="/jsp/parameter/main.jsp"/><forwardname="portal"path="/jsp/portal/main.jsp"/><forwardname="report"path="/jsp/report/main.jsp"/><forwardname="security"path="/jsp/security/main.jsp"/></global-forwards>ActionForm配置如下: <form-beans><form-beanname="LogonForm"type="bass.util.LogonForm"/></form-beans>ActionMapping配置如下: <action-mappings><actionname="LogonForm"type="bass.util.LogonAction"input="/jsp/welcome/logon.jsp"scope="session"path="/LogonAction"><forwardname="failure"path="/jsp/portal/failure.jsp"/></action><actiontype="bass.p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論