[計算機軟件及應用]OA消息中心詳細設計_第1頁
[計算機軟件及應用]OA消息中心詳細設計_第2頁
[計算機軟件及應用]OA消息中心詳細設計_第3頁
[計算機軟件及應用]OA消息中心詳細設計_第4頁
[計算機軟件及應用]OA消息中心詳細設計_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目錄1.概述31.1.背景31.2.參考資料32.模塊描述32.1.在系統(tǒng)中的位置32.2.功能32.3.性能43.標準化設計43.1.引用模塊說明43.2.本模塊可能輸出的共享模塊說明54.模塊設計64.1.模塊設計準則64.2.實現(xiàn)原理64.3.模塊設計的備選方案64.4.功能劃分64.5.功能實現(xiàn)84.5.1.應用管理構件84.5.2.消息中心構件124.5.3.應用構件244.5.4.調度構件245.數(shù)據(jù)描述265.1.數(shù)據(jù)庫模型265.2.數(shù)據(jù)字典276.類設計277.接口設計287.1.用戶接口287.2.硬件接口287.3.軟件接口287.3.1.規(guī)范接口287.3.2.非規(guī)范接

2、口288.可靠性設計289.可測試性設計2810.安全性設計2811.關鍵技術說明2812.開發(fā)和運行環(huán)境2812.1.硬件環(huán)境2812.2.軟件環(huán)境281. 概述1.1. 背景工具化系統(tǒng)中需要為用戶提供靈活的消息提示機制,用戶可通過各種通訊方式獲取系統(tǒng)發(fā)送的提示信息。用戶能根據(jù)自己所關心的業(yè)務有針對性的獲取系統(tǒng)中提示的消息,可根據(jù)自己的作息時間獲取相關消息。1.2. 參考資料c4消息中心設計方案(12-01).docx2. 模塊描述2.1. 在系統(tǒng)中的位置消息中心在系統(tǒng)中處于較低的層面,需要為上層的業(yè)務模塊提供消息發(fā)送的統(tǒng)一途徑。2.2. 功能l 提供標準消息發(fā)送服務接口,應用構件調用此接口

3、透明發(fā)送消息;l 提供標準消息注冊服務接口,應用管理構件調用此接口透明注冊消息;l 提供消息訂閱功能,用戶可有選擇的通過手機短信、站內信和電子郵件三種方式接收消息;用戶可設定訂閱消息的接收時段;l 支持消息定時發(fā)送;l 支持消息訂閱方式擴展,后期可不斷擴展消息的接收方式;l 與其它構件耦合度最低,確保本構件的獨立性。2.3. 性能l 能及時的將系統(tǒng)中應用模塊的消息發(fā)送到用戶3. 標準化設計3.1. 引用模塊說明引用模塊說明模塊名稱模塊說明引用方式用戶管理提供用戶帳號及用戶相關信息管理功能可直接調用相關api獲取用戶信息郵件發(fā)送為用戶提供系統(tǒng)中收發(fā)郵件的功能通過插件,查詢消息中心的消息隊列并調用

4、郵件模塊api發(fā)送郵件手機短信提供收發(fā)送短信的功能通過插件,查詢消息中心的消息隊列并調用手機短信模塊api發(fā)送短信系統(tǒng)消息向用戶發(fā)送各種系統(tǒng)提示信息使用該模塊前臺部分,提供轉換接口將該功能原始數(shù)據(jù)來源變?yōu)橄⒅行南⒈?系統(tǒng)消息是主要方式3.2. 本模塊可能輸出的共享模塊說明模塊名稱模塊內容消息發(fā)送向系統(tǒng)提供統(tǒng)一的消息發(fā)送方式調度管理為系統(tǒng)提供統(tǒng)一的輪詢調度機制4. 模塊設計4.1. 模塊設計準則4.2. 實現(xiàn)原理4.3. 模塊設計的備選方案4.4. 功能劃分各構建之間的依賴關系如下:4.5. 功能實現(xiàn)4.5.1. 應用管理構件應用管理構件為整個系統(tǒng)提供應用注冊、配置文件解析的功能,并提供一個

5、可在安裝時候進行消息類型交互設置的界面。該構建屬于系統(tǒng)管理類型控件。4.5.1.1. 注冊應用api該功能將其它地方傳來的應用相關參數(shù)保存到數(shù)據(jù)庫并返回保存結果,該功能直接對外開發(fā),開發(fā)人員可調用。方法原型: /* * 將應用信息注冊到系統(tǒng)中 * * 返回success則成功,返回其他值為失敗原因 * param string $code * param string $name * param string $desc * return string */ public function regapp($code, $name, $desc) / todo: implement4.5.1.2

6、. 應用注冊page為用戶提供應用注冊的界面,可錄入應用信息。應用列表注冊應用4.5.1.3. 解析配置api將安裝部署包中的消息注冊配置文件進行解析,獲取其中需要注冊的應用信息及消息類型,并調用相關api將其注冊到系統(tǒng)中。方法原型: /* * 解析配置文件內容,并注冊配置信息 * param int $xml * return boolean */ public abstract function praseconfig($xml) / todo: implement輸入:配置文件的內容,格式可參考輸出:解析以及注冊是否成功流程:將傳遞進來的xml配置內容進行解析,獲取其中的應用及消息類型信

7、息,然后調用應用/消息注冊api將其注冊到數(shù)據(jù)庫中。配置文件結構如如下:4.5.1.4. 獲取已注冊應用api該功能對外提供一個函數(shù),可獲取系統(tǒng)中所有已注冊應用對象的列表。方法原型:/* * 獲取已注冊應用 * return array */ public abstract function getregapp() / todo: implement4.5.2. 消息中心構件消息中心是消息系統(tǒng)的核心構件,提供與消息有關的核心服務,包括消息注冊、消息訂閱消息管理和消息處理。4.5.2.1. 應用/消息注冊該部分只提供數(shù)據(jù)訪問的消息接口,不負責業(yè)務上的功能。應用注冊:4.5.2.1.1. 注冊消息

8、api消息注冊api與應用注冊類似,將其它地方傳來的參數(shù)保存到數(shù)據(jù)庫并返回保存結果。每個消息類型都屬于一個應用中,因此在這里需要保證消息與應用的主外鍵關系正確。方法原型:/* * 針對消息類型注冊信息表 * 1.注冊時候需要填寫應用id、消息編號、消息名稱、備注 * 2.注冊完成后用戶動態(tài)選擇消息可訂閱方式 * * 返回值為該消息類型的編碼,返回success則成功,返回其它則為失敗原因 * param string $type_code * param string $code_app * param string $name * param string $desc * param str

9、ing $msgtype * return string */ public abstract function regmsgtype($type_code, $code_app, $name, $desc, $msgtype) / todo: implement4.5.2.1.2. 獲取已注冊消息api該功能配合已注冊應用api來使用,同樣提供一個函數(shù),可獲取某個應用下已注冊的消息類型對象列表。方法原型:/* * 獲取已注冊消息 * param string $app_code * return array */ public abstract function getregmsgtype(

10、$app_code) / todo: implement4.5.2.1.3. 消息類型注冊page消息類型列表注冊消息4.5.2.1.4. 獲取消息發(fā)送許可api獲取某條消息是否可發(fā)送,通過對消息注冊表進行檢查,獲取消息的消息類型及發(fā)送方式是否在系統(tǒng)中注冊,并返回檢查結果。方法原型: /* * param string $appid * param string $typeid * return boolean */ public abstract function getpermit($appid, $typeid) / todo: implement輸入:應用識別號、消息類型識別號輸出:t

11、rue通過驗證、false未通過驗證流程:查詢消息注冊信息,獲取指定應用的消息類型是否注冊,并返回判斷結果4.5.2.2. 消息訂閱4.5.2.2.1. 消息訂閱api消息訂閱api對外提供一個函數(shù),可將消息訂閱界面?zhèn)鱽淼臄?shù)據(jù)保存到數(shù)據(jù)庫。方法原型:/* * 添加一條消息訂閱 * param string $msgplugin * param string $msgtype * param string $user * param int $timesolt * param string $condition * return boolean */ public abstract functi

12、on subscibe($msgplugin, $msgtype, $user, $timesolt, $condition) / todo: implement 4.5.2.2.2. 消息訂閱page消息訂閱界面從應用管理模塊加載已注冊應用及消息的列表,在前臺展現(xiàn)成用戶可選擇的界面;再獲取用戶已訂閱的應用及消息,將界面相關選項標識成已選。界面支持用戶選擇應用及應用關聯(lián)的消息類型。郵件可配置消息發(fā)送篩選條件,通過標題進行匹配。短信可配置消息發(fā)送篩選條件、接收時間段,通過標題進行匹配消息訂閱界面原型4.5.2.3. 消息管理4.5.2.3.1. 消息提交api消息提交api對外提供一個函數(shù),該函

13、數(shù)將應用發(fā)來的消息以系統(tǒng)消息發(fā)送給用戶,并檢查用戶是否有其它訂閱方式,再以其它訂閱方式發(fā)送給相關消息隊列。方法原型:/* * 返回成功或失敗原因代碼 * param string $應用識別號 * param string $消息識別號 * param string $目標用戶id * param string $消息標題 * param string $消息內容 * param string $鏈接地址 * param string $有效期 * return string */ public abstract function sendmsg($應用識別號, $消息識別號, $目標用戶id

14、, $消息標題, $消息內容, $鏈接地址, $有效期) / todo: implement消息提交流程以下是消息中心處理流程4.5.2.3.2. 系統(tǒng)消息查看4.5.2.3.2.1. 消息數(shù)量獲取api該api從系統(tǒng)消息表中獲取當前登錄用戶的未讀消息數(shù)量,并以json格式將消息數(shù)量輸出,供前臺ajax進行渲染。方法原型:/* * 獲取未讀消息數(shù)量 * param int $用戶編號 * return int */ public abstract function getmsgtotal($用戶編號) / todo: implement4.5.2.3.2.2. 消息查看page該頁面根據(jù)傳來的

15、系統(tǒng)消息id展示系統(tǒng)中某條消息的詳細內容,在第一次顯示消息內容時候,需要將該條消息的狀態(tài)設置為已讀。4.5.2.3.2.3. 消息列表page該頁面需要顯示當前用戶在系統(tǒng)中的所有已讀和未讀消息,并可接收一個參數(shù)只顯示已讀內容。4.5.2.4. 擴展消息處理插件擴展消息處理插件在系統(tǒng)中承擔某種類型消息的具體發(fā)送者,通過定期循環(huán)檢查自己在系統(tǒng)中所注冊過的消息隊列,將符合條件的消息發(fā)送給用戶,并標記消息狀態(tài)。擴展插件被調度程序定期調用,從而實現(xiàn)自動化的消息發(fā)送功能。下圖為消息處理插件流程:4.5.2.4.1. 插件信息管理該功能用來管理系統(tǒng)消息發(fā)送插件,實現(xiàn)插件信息的注冊、刪除、查看功能。在插件注冊

16、時候需要向調度程序注冊插件的定時執(zhí)行信息。4.5.2.4.1.1. 插件信息列表展示系統(tǒng)中所有已注冊插件信息,通過調用本模塊下api來獲取數(shù)據(jù)。插件列表4.5.2.4.1.2. 插件信息注冊功能插件信息注冊界面完成插件信息的錄入工作,將插件基本信息保存到插件表中,同時將插件信息添加到調度表中,實現(xiàn)插件的定時調用。插件注冊4.5.2.4.1.3. 插件信息刪除可通過插件信息列表刪除插件信息,在刪除插件信息的同時還需要刪除調度表中的相關內容。輸入:插件id輸出:是否刪除成功流程:1.刪除插件在操作系統(tǒng)中關聯(lián)的調度任務2.刪除插件在應用系統(tǒng)中的注冊信息3.刪除插件信息4.5.2.4.1.4. 解析插

17、件配置api將安裝部署包中的插件注冊配置文件進行解析,獲取其中需要注冊的應用信息及消息類型,并調用相關api將其注冊到系統(tǒng)中。插件配置文件結構如下:4.5.2.4.1.5. 獲取已注冊插件api對外提供一個函數(shù),可獲取系統(tǒng)中已注冊插件信息的列表。方法原型: /* * 獲取已注冊插件信息列表 * return array */ public abstract function getregplugin() / todo: implement輸入:無輸出:插件信息列表流程:查詢插件信息及調度信息,組織插件信息表4.5.2.4.2. 郵件發(fā)送插件該插件完成郵件消息的發(fā)送功能,首先從郵件隊列表中獲取符

18、合發(fā)送要求的消息,然后調用系統(tǒng)用戶模塊的api獲取用戶接收郵箱,最后調用郵件發(fā)送api將消息發(fā)送給獲取的郵箱并標識消息狀態(tài)。4.5.2.4.3. 短信發(fā)送插件該插件完成手機短信發(fā)送功能,從短信網關表中獲取需要發(fā)送的短信內容,并檢查該短信的接收時段,如果正處于消息接收時段,那么獲取用戶手機號碼,調用短信網關接口將消息發(fā)送給短信網關,并標識消息發(fā)送狀態(tài)。4.5.3. 應用構件4.5.3.1. 定時消息插件定時消息插件是系統(tǒng)中業(yè)務模塊需要開發(fā)的插件,該插件被定期調用,獲取系統(tǒng)模塊中需要發(fā)送的消息,然后調用消息中心的消息提交api將消息推送給消息中心。消息發(fā)送時候需要標識消息來源應用及消息類型。定時消

19、息流程4.5.4. 調度構件4.5.4.1. 調度列表以列表形式展示系統(tǒng)中已經注冊的所有任務信息。4.5.4.2. 調度注冊提供一個表單,可填寫調度名稱、周期、調度需要執(zhí)行的程序。首先將調度信息保存到數(shù)據(jù)庫中,然后在操作系統(tǒng)中添加一條調度信息(調度名稱保證唯一)。4.5.4.3. 調度刪除從調度列表可觸發(fā)調度刪除鏈接,首先刪除操作系統(tǒng)中相關的定時任務,然后刪除數(shù)據(jù)庫中調度數(shù)據(jù)。4.5.4.4. 調度修復查詢已經注冊的調度信息,然后從操作系統(tǒng)中刪除所有與本系統(tǒng)相關的調度信息,最后再按照系統(tǒng)注冊的調度信息向操作系統(tǒng)注冊定時任務。5. 數(shù)據(jù)描述5.1. 數(shù)據(jù)庫模型5.2. 數(shù)據(jù)字典消息中心數(shù)據(jù)模型.

20、pdm5.2.1. 應用注冊信息表名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值應用idid發(fā)送消息時候根據(jù)模塊編碼進行唯一性確定,由證書id和應用id兩部分構成,確保id唯一varchar(32)truefalse應用名稱namevarchar(32)falsefalse備注descvarchar(100)falsefalse5.2.2. 時段表名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值接收時段編號idinttruefalse名稱namevarchar(32)falsefalse時段1t10:00,23:59varchar(100)falsefalse時段2t2varchar(100)falsefals

21、e時段3t3varchar(100)falsefalse5.2.3. 消息類型注冊信息表名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值應用idapp_idvarchar(32)truetrue消息類型idid該類型在編碼中發(fā)送消息使用varchar(32)truefalsegroup/module/msgtype可選訂閱方式rcvtyps多個訂閱方式,中間用逗號分隔,如type,typevarchar(200)falsefalse消息類型名稱name顯示在界面上的消息名稱varchar(32)falsefalse備注descvarchar(100)falsefalse5.2.4. 消息訂閱方式表(插件

22、)名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值訂閱方式ididvarchar(32)truefalse訂閱方式名稱namevarchar(128)falsefalse隊列處理sqlsql插件的名稱varchar(50)falsefalse備注descvarchar(100)falsefalse5.2.5. 消息訂閱記錄表名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值訂閱方式idmp_idvarchar(32)falsetrue消息類型idmt_id該類型在編碼中發(fā)送消息使用varchar(32)falsetruegroup/module/msgtype接收用戶編號uidvarchar(32)falsetru

23、e接收時段編號ts_idintfalsetrue過濾條件conditionvarchar(50)falsefalse5.2.6. 用戶5.2.7. 用戶消息表名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值消息流水號idvarchar(32)truefalse標題titlevarchar(200)falsefalse消息內容contenthtm格式,按模板生成varchar(500)falsefalse消息狀態(tài)state0 未讀,1-已讀intfalsefalse接收用戶編號uidvarchar(32)falsetrue創(chuàng)建時間send_time消息插入的時間datetimefalsefalse接收時間

24、read_time打開閱讀時間datetimefalsefalse5.2.8. 調度管理名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值調度編號idvarchar(32)truefalse調度名稱namevarchar(128)falsefalse調度時間roundvarbinary(256)falsefalse調度執(zhí)行程序handlervarbinary(256)falsefalse5.2.9. 站內信名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值消息流水號id系統(tǒng)自動產生inttruefalse接收時段編號ts_idvarchar(32)falsetrue標題titlevarchar(256)falsefa

25、lse消息內容contenthtm格式,按模板生成textfalsefalse消息狀態(tài)state0 待發(fā), 1-正在發(fā)送,2-已發(fā), 3-放棄intfalsefalse接收用戶uidvarchar(32)falsefalse創(chuàng)建時間create_datetimedatetimefalsefalse預訂發(fā)送時間send_time定時發(fā)送時間datetimefalsefalse發(fā)送時間sended_timedatetimefalsefalse失敗重發(fā)次數(shù)resend_times失敗重發(fā)次數(shù),每次失敗減1,等于0時放棄intfalsefalse有效期限void_time超過此期限不再發(fā)送dateti

26、mefalsefalse5.2.10. 郵件消息隊列名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值消息流水號id系統(tǒng)自動產生inttruefalse接收時段編號ts_idvarbinary(32)falsetrue標題titlevarchar(256)falsefalse消息內容contenthtm格式,按模板生成textfalsefalse消息狀態(tài)state0 待發(fā), 1-正在發(fā)送,2-已發(fā), 3-放棄intfalsefalse接收郵箱rcv_mailaddrvarchar(32)falsefalse創(chuàng)建時間create_datetimedatetimefalsefalse預訂發(fā)送時間send_ti

27、me定時發(fā)送時間datetimefalsefalse發(fā)送時間sended_timedatetimefalsefalse失敗重發(fā)次數(shù)resend_times失敗重發(fā)次數(shù),每次失敗減1,等于0時放棄intfalsefalse有效期限void_time超過此期限不再發(fā)送datetimefalsefalse5.2.11. 手機短信消息隊列名稱代碼注釋數(shù)據(jù)類型主要的外來鍵默認值消息流水號id系統(tǒng)自動產生inttruefalse接收時段編號ts_idvarchar(32)falsetrue標題titlevarchar(256)falsefalse消息內容contenttextfalsefalse消息狀態(tài)state0 待發(fā) 1-在發(fā),2-已發(fā) 3-放棄intfalsefalse接收號碼uidvarchar(32)falsefalse創(chuàng)建時間create_datet

溫馨提示

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

評論

0/150

提交評論