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

下載本文檔

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

文檔簡介

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

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

軟件結(jié)構(gòu)前臺總體流程控制主要包括截獲過濾層、登錄控制、權(quán)限驗(yàn)證、請求資源配置和跳轉(zhuǎn)控制、數(shù)據(jù)源配置等幾個模塊??傮w大致流程如下:總體流程控制由以上各模塊配合完成,各模塊的具體功能和實(shí)現(xiàn)方法在模塊設(shè)計(jì)中說明。功能模塊一覽表模塊名稱簡單描述截獲過濾模塊將一些客戶狀態(tài)驗(yàn)證、客戶請求資源的權(quán)限驗(yàn)證統(tǒng)一處理。登錄控制模塊控制用戶登錄系統(tǒng),確保系統(tǒng)的安全。數(shù)據(jù)庫操作模塊可復(fù)用的數(shù)據(jù)庫操作模塊。頁面組合設(shè)計(jì)為所有的頁面設(shè)定模版,統(tǒng)一頁面風(fēng)格。錯誤處理設(shè)計(jì)統(tǒng)一錯誤信息的處理,包括錯誤信息的生成和展示。系統(tǒng)配置設(shè)計(jì)配置設(shè)計(jì),主要定義了數(shù)據(jù)源、Action、Form等的引用方法。技術(shù)實(shí)現(xiàn)參見《安徽移動經(jīng)營分析系統(tǒng)詳細(xì)設(shè)計(jì)說明書-應(yīng)用集成發(fā)》基本設(shè)計(jì)概念。各模塊詳細(xì)設(shè)計(jì)截獲過濾模塊設(shè)計(jì)模塊描述本模塊截獲過濾層,截獲所有客戶端的請求資源,對客戶狀態(tài)、客戶請求資源作逐一的驗(yàn)證,只有所有驗(yàn)證都通過的請求才定位到請求的資源。 設(shè)計(jì)的主要目的是將一些客戶狀態(tài)驗(yàn)證、客戶請求資源的權(quán)限驗(yàn)證統(tǒng)一處理。處理流程SignonFilter主要完成兩個任務(wù):截獲用戶的所有請求,并判斷此時用戶session是否過期,如果沒有過期,供以后的模塊處理。在用戶session過期,截獲用戶請求的資源,包括URI和各種參數(shù),保存下來。講用戶的請求定位到登錄模塊,登錄成功后,登錄模塊讀取SignonFilter保存的信息,并定位到讀取的資源。流程圖如下: OperateFilter主要完成以下任務(wù):讀取參數(shù),判斷用戶的操作類型,決定如何跳轉(zhuǎn)。如果用戶的操作類型為數(shù)據(jù)庫操作,根據(jù)操作類型,判斷用戶是否有操作的權(quán)限,根據(jù)權(quán)限驗(yàn)證情況確定跳轉(zhuǎn)。流程圖如下。注意:數(shù)據(jù)操作處理(查詢、插入、刪除、修改)的要求:查詢操作傳遞參數(shù)action=browse&funcmoducode=xxx插入操作時傳遞參數(shù)action=insert&funcmoducode=xxx刪除操作時傳遞參數(shù)action=delete&funcmoducode=xxx修改操作時傳遞參數(shù)action=update&funcmoducode=xxx或者插入、刪除、修改操作時傳遞參數(shù)action=edit&funcmoducode=xxx使用Action控制跳轉(zhuǎn)時,頁面調(diào)轉(zhuǎn)增加參數(shù)action=goto。如果不按照上述方式傳遞參數(shù),則流程控制模塊會強(qiáng)制性的將客戶請求跳轉(zhuǎn)到錯誤處理頁面。類對象設(shè)計(jì)FilterManager管理所有的過濾器的處理,負(fù)責(zé)創(chuàng)建FilterChain,并初始化FilterChain中的過濾器。FilterChain是一個容器,所有的過濾器都按一定的順序存放在其中。SignonFilter檢查用戶狀態(tài),用戶是否登錄、Session是否有效等,如果用戶未登錄或Session已經(jīng)過期,跳轉(zhuǎn)到登錄界面。對于Session過期的情況,保存用戶當(dāng)前請求的資源,當(dāng)用戶登錄成功后,直接跳轉(zhuǎn)到當(dāng)前請求的資源。OperateFilter驗(yàn)證用戶是否有瀏覽或操作(增刪改)權(quán)限,這個過濾器會根據(jù)用戶的權(quán)限和所請求的操作判斷是否執(zhí)行用戶的請求。如果用戶有相應(yīng)的權(quán)限,則執(zhí)行用戶的請求,如果用戶沒有相應(yīng)的權(quán)限,則不執(zhí)行用戶的請求并返回給用戶一條錯誤信息。Target客戶端請求的資源。登錄控制模塊設(shè)計(jì)模塊描述本模塊登錄控制模塊,完成用戶登錄時的各種驗(yàn)證,包括,用戶輸入是否為空的驗(yàn)證(不允許為空)、用戶是否存在,用戶名和密碼是否正確、登錄IP是否合法、登錄時間是否合法等一系列驗(yàn)證。本模塊的目的是保證合法的用戶的登錄和保證不合法的用戶不能登錄,確保系統(tǒng)的安全。處理流程用戶登錄的過程要完成一系列的驗(yàn)證,按照順序,依次是用戶是否存在的驗(yàn)證、用戶密碼是否存在的驗(yàn)證、用戶登錄IP是否合法的驗(yàn)證、用戶登錄時間是否合法的驗(yàn)證。任何一次驗(yàn)證不能通過,則用戶的狀態(tài)始終為未登錄狀態(tài),只有當(dāng)前一次驗(yàn)證通過后,才進(jìn)行下面的驗(yàn)證,只有當(dāng)某個用戶通過所有的驗(yàn)證后,才能成功的登錄。類對象設(shè)計(jì)LogonAction相當(dāng)于這一模塊的“客戶端“,負(fù)責(zé)調(diào)用LogonDAO和LogonVO來完成用戶登錄的驗(yàn)證和資源的重新定位。LogonDAO這是真正的邏輯處理的地方,完成包括用戶是否存在,用戶名和密碼是否正確、登錄IP是否合法、登錄時間是否合法在內(nèi)的一系列驗(yàn)證。LogonVO存儲需要驗(yàn)證的數(shù)據(jù),便于訪問,它是由LogonDAO創(chuàng)建的。DataSource這一部分完成數(shù)據(jù)庫的查詢和數(shù)據(jù)的封裝,數(shù)據(jù)的封裝結(jié)果以LogonVO的形勢返回給LogonDAO和LogonAction。數(shù)據(jù)庫操作模塊設(shè)計(jì)模塊描述本模塊數(shù)據(jù)庫操作模塊,作為數(shù)據(jù)庫操作的公共模塊,使管理數(shù)據(jù)庫操作和業(yè)務(wù)數(shù)據(jù)庫操作實(shí)現(xiàn)了相同的接口,在調(diào)用該模塊來實(shí)現(xiàn)數(shù)據(jù)庫操作時,無論是業(yè)務(wù)數(shù)據(jù)庫操作還是管理數(shù)據(jù)庫操作,只要調(diào)用相同的類,相同的方法即可實(shí)現(xiàn)。通過多種方式得到數(shù)據(jù)庫連接,確保得到正確的數(shù)據(jù)庫連接。處理流程用戶通過這一模塊可以獲得業(yè)務(wù)數(shù)據(jù)庫或管理數(shù)據(jù)庫的連接(DBFactory),兩者獲取連接的邏輯相同,首先嘗試從WebLogic連接池獲得數(shù)據(jù)庫連接,如果成功獲得數(shù)據(jù)庫連接,則繼續(xù)下面的操作;如果未能成功獲得數(shù)據(jù)庫連接,則嘗試通過IBMDB2APPDriver獲得數(shù)據(jù)庫連接,如果成功獲得數(shù)據(jù)庫連接,則繼續(xù)下面的操作;如果未能成功獲得數(shù)據(jù)庫連接,則繼續(xù)嘗試通過IBMDB2NETDriver獲得數(shù)據(jù)庫連接,如果成功獲得數(shù)據(jù)庫連接,則繼續(xù)下面的操作;如果獲得數(shù)據(jù)庫連接失敗,則給出出錯信息。在進(jìn)行數(shù)據(jù)庫操作時,無論是查詢操作還是增刪改操作,無論是操作成功還是操作失敗,都確保釋放數(shù)據(jù)庫連接,然后給出操作失敗的信息(操作失敗時)或繼續(xù)以下操作(操作成功時)。類對象設(shè)計(jì)DBUTil是一個抽象類,實(shí)現(xiàn)了一些公共方法,比如excuteQuery、excuteUpdate、release。預(yù)留了兩個抽象方法,讓涉及到具體的數(shù)據(jù)庫的方法去實(shí)現(xiàn)。MDBUTil是一個管理數(shù)據(jù)庫的操作的類,實(shí)現(xiàn)了setDataSource和setConnection方法,setDataSource使用了weblogic的dataSource的配置,setConnection使用了標(biāo)準(zhǔn)的JDBC獲得數(shù)據(jù)庫連接,系統(tǒng)默認(rèn)的先調(diào)用setDataSource,如果系統(tǒng)不能正確的從weblogic得到數(shù)據(jù)庫連接,則系統(tǒng)自動調(diào)用setConnection,從標(biāo)準(zhǔn)JDBC獲得連接,這樣增加了系統(tǒng)的穩(wěn)定性。BDBUTil是一個業(yè)務(wù)數(shù)據(jù)庫的操作的類,實(shí)現(xiàn)了setDataSource和setConnection方法,setDataSource使用了weblogic的dataSource的配置,setConnection使用了標(biāo)準(zhǔn)的JDBC獲得數(shù)據(jù)庫連接,系統(tǒng)默認(rèn)的現(xiàn)調(diào)用setDataSource,如果系統(tǒng)不能正確的從weblogic得到數(shù)據(jù)庫連接,則系統(tǒng)自動調(diào)用setConnection,從標(biāo)準(zhǔn)JDBC獲得連接,這樣增加了系統(tǒng)的穩(wěn)定性。DBFactory是一個專門用來實(shí)例化上述類的類,當(dāng)我們使用數(shù)據(jù)庫操作時,可以直接通過DBFactory獲得以MDBUTil或BDBUTil實(shí)例化的DBUTil,接著可以直接調(diào)用DBUTil的excuteQuery,release兩個方法來實(shí)現(xiàn)數(shù)據(jù)庫查詢操作和釋放資源,或者調(diào)用DBUTil的excuteUpdate,release兩個方法來實(shí)現(xiàn)數(shù)據(jù)庫增、刪、改操作和釋放資源。頁面組合設(shè)計(jì)模塊描述本設(shè)計(jì)模塊主要是為所有的頁面設(shè)定模版本設(shè)計(jì)模塊的目的是統(tǒng)一模版,統(tǒng)一展示風(fēng)格。類對象設(shè)計(jì)subjsp組成一個完整的視圖的基本JSP,他們是真正的顯示數(shù)據(jù)的頁面。這些頁面包括title、header、search、error、content、footer六個組成部分。Template定義樣式的模版,定義了title、header、search、error、content、footer六個部分的排版。compositeView使用模版,并將subjsp中的各個部分包含近來組成一個完整的視圖。錯誤處理設(shè)計(jì)模塊描述本模塊錯誤處理,完成各種出錯信息的處理,包括生成錯誤信息和展示錯誤信息。統(tǒng)一系統(tǒng)的錯誤處理。處理流程出錯信息存儲在Struts的ApplicationResources中,并在ActionErrors中引用定義在ApplicationResources中定義的鍵值,并在compositeView中包括error頁面,則錯誤信息可以自動顯示。當(dāng)用戶試圖進(jìn)行超過自身權(quán)限的操作時,頁面自動調(diào)轉(zhuǎn)到錯誤處理頁面,此時會給用戶提供一些選擇,比如返回門戶、還是重新登錄。配置設(shè)計(jì)模塊描述配置設(shè)計(jì),主要定義了數(shù)據(jù)源、Action、Form等的引用方法。處理流程數(shù)據(jù)源配置如下: 為了保證的到數(shù)據(jù)庫連接,在兩個地方配置了數(shù)據(jù)源。WEBLOGIC數(shù)據(jù)源,在WEBLOGIC的控制臺完成配置標(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論