


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于JMS的企業(yè)即時通訊系統(tǒng)的設(shè)計基于JMS的企業(yè)即時通訊系統(tǒng)的設(shè)計
一、引言
即時通訊是一種基于網(wǎng)絡(luò)的即時交流消息的業(yè)務(wù)。一些企業(yè)基于平安的考慮或聯(lián)網(wǎng)的限制,需要在其內(nèi)部搭建即時通訊平臺。而實際應(yīng)用中,中小企業(yè)往往不需要特別多的功能,市面上的即時通訊工具中有近80%的功能很少被使用,局部功能甚至從未被用到。此外,這些通訊工具也存在一些缺乏,比方手工添加好友不僅繁瑣且容易遺漏,沒有提供可靠的通知效勞等等[1]。本文使用JMS技術(shù)設(shè)計搭建了一種適用于企業(yè)用戶的即時通訊系統(tǒng)。
二、JMS技術(shù)概述
JMS是Java平臺上有關(guān)面向消息中間件的技術(shù)標(biāo)準(zhǔn),它便于消息系統(tǒng)中的Java應(yīng)用程序進(jìn)行消息交換,并且通過提供規(guī)范的產(chǎn)生、發(fā)送、接收消息的接口簡化企業(yè)應(yīng)用的開發(fā)[2]。
JMS定義了下列幾種元素[3]:〔1〕JMS提供者:實現(xiàn)JMS標(biāo)準(zhǔn)的消息隊列和通知等接口,對外提供消息效勞;〔2〕JMS客戶:生產(chǎn)或消費基于消息的Java應(yīng)用程序或?qū)ο螅弧?〕JMS生產(chǎn)者:創(chuàng)立并發(fā)送消息的JMS客戶;〔4〕JMS消費者:接收消息的JMS客戶;〔5〕JMS消息:JMS客戶之間傳遞的數(shù)據(jù)對象。
此外,JMS還定義了下列兩種消息傳輸模型[3]:〔1〕隊列模型:通過隊列分發(fā)消息,用來解決生產(chǎn)者和消費者之間點到點的通信;〔2〕發(fā)布/訂閱者模型:支持向一個特定的消息主題發(fā)布消息,可被一個或多個消費者訂閱。
三、系統(tǒng)總體設(shè)計
即時通訊系統(tǒng)主要包括即時信息和狀態(tài)呈現(xiàn)兩大核心效勞[4],以及用戶登錄、用戶信息維護(hù)、查看好友信息等根底效勞。結(jié)合一般的即時通訊工具,并考慮到企業(yè)用戶的需求,本文設(shè)計的系統(tǒng)還具有下列特點:1、用戶可以使用企業(yè)員工編號直接登錄,無需注冊;2、企業(yè)組織結(jié)構(gòu)和員工列表自動同步到客戶端,不用手工添加好友;3、提供通知推送效勞,并為每條通知提供已讀回執(zhí);4、管理員可以通過系統(tǒng)后臺對系統(tǒng)數(shù)據(jù)進(jìn)行維護(hù)。
本文設(shè)計的系統(tǒng)在網(wǎng)絡(luò)架構(gòu)上分為客戶端和效勞器端兩局部,在軟件開發(fā)模式上又可分為三層:表現(xiàn)層、邏輯層和數(shù)據(jù)層。系統(tǒng)體系結(jié)構(gòu)如圖1所示。
1、表現(xiàn)層:表現(xiàn)層是系統(tǒng)的用戶界面局部,負(fù)責(zé)將用戶操作傳遞給邏輯層,并同時接收邏輯層的信息。主要包括PC客戶端界面和后臺管理Web界面。
2、邏輯層:邏輯層主要負(fù)責(zé)處理系統(tǒng)業(yè)務(wù),是整個系統(tǒng)的核心。其包含消息分發(fā)局部和業(yè)務(wù)處理局部。前者負(fù)責(zé)創(chuàng)立和分發(fā)JMS消息,后者負(fù)責(zé)接收和處理JMS消息。在具體實現(xiàn)時,客戶端和效勞器端均有相應(yīng)的消息模塊和業(yè)務(wù)模塊:客戶端的消息模塊創(chuàng)立、發(fā)送和接收J(rèn)MS消息,業(yè)務(wù)模塊處理JMS消息和響應(yīng)用戶操作;效勞器端的消息模塊充當(dāng)JMS提供者來分發(fā)JMS消息,業(yè)務(wù)模塊接收并處理特定的消息。此外邏輯層還包含后臺管理局部,提供Web效勞以便管理員進(jìn)行系統(tǒng)管理。
3、數(shù)據(jù)層:數(shù)據(jù)層負(fù)責(zé)完成系統(tǒng)中數(shù)據(jù)的定義、維護(hù)、訪問和更新,同時管理并響應(yīng)邏輯層的數(shù)據(jù)請求。包括效勞器端的MySQL數(shù)據(jù)庫和客戶端的SQLite數(shù)據(jù)庫。數(shù)據(jù)庫中維護(hù)有組織員工信息、聊天記錄、通知記錄等數(shù)據(jù)。
四、系統(tǒng)詳細(xì)設(shè)計
4.1系統(tǒng)通信消息設(shè)計
系統(tǒng)中各模塊之間通過JMS消息進(jìn)行通信。為了進(jìn)行有效的交互,通信雙方需要遵循一定的協(xié)議[5]。本文對JMS消息做下列標(biāo)準(zhǔn):1、按照功能不同,對JMS消息進(jìn)行分類。2、不同消息攜帶相應(yīng)內(nèi)容的消息體;3、消息體均采用TextMessage類型,并按照XML規(guī)范對內(nèi)容進(jìn)行組織。
系統(tǒng)中消息具體分為三類:〔1〕即時信息:包括即時聊天消息、群組聊天消息、通知消息與通知回執(zhí)消息;〔2〕狀態(tài)呈現(xiàn):狀態(tài)呈現(xiàn)消息;〔3〕根底操作:包括組織人員同步消息、用戶登錄請求與響應(yīng)消息、用戶信息維護(hù)請求與響應(yīng)消息、好友信息查詢請求與響應(yīng)消息。
4.2系統(tǒng)業(yè)務(wù)流程設(shè)計
效勞器啟動之后,其消息模塊作為JMS提供者開啟JMS效勞,等待接收和分發(fā)客戶端發(fā)來的JMS消息,而其業(yè)務(wù)模塊開始監(jiān)聽ServerQueue隊列,等待處理用戶操作消息。
客戶端啟動之后,其消息模塊作為JMS客戶連接效勞器,對登錄用戶編號的隊列進(jìn)行監(jiān)聽,等待接收效勞器或其他用戶發(fā)來的消息,而其業(yè)務(wù)模塊除了要等待處理收到的消息,還要對用戶在客戶端界面上的操作進(jìn)行響應(yīng),調(diào)用消息模塊接口創(chuàng)立和發(fā)送消息。用戶成功登錄并同步列表之后,客戶端還需訂閱Status主題,以獲取其他用戶的狀態(tài)消息。
4.2.1用戶根底操作
用戶根底操作包括用戶登錄、用戶信息維護(hù)、好友信息查詢等。業(yè)務(wù)流程如下:
1、客戶端向ServerQueue隊列發(fā)送用戶操作請求消息,消息體中攜帶操作類型、操作必要信息,比方用戶編號、用戶密碼等;2、效勞器端業(yè)務(wù)模塊接收到消息并進(jìn)行處理,將處理結(jié)果封裝成響應(yīng)消息,發(fā)送到該用戶的隊列;3、客戶端接收響應(yīng)消息,進(jìn)行解析和處理。
4.2.2人員組織同步
人員組織結(jié)構(gòu)包括企業(yè)部門列表,以及各部門員工列表。業(yè)務(wù)流程如下:
1、用戶登錄成功之后,效勞器向該用戶隊列發(fā)送組織員工同步消息,消息體攜帶組織列表和員工列表信息;2、客戶端接收消息,顯示在用戶界面。4.2.3用戶狀態(tài)呈現(xiàn)
狀態(tài)呈現(xiàn)指用戶高低線后在客戶端界面的用戶狀態(tài)的即時改變。業(yè)務(wù)流程如下:
1、用戶進(jìn)行狀態(tài)操作之后〔上線、忙碌、離開、離線〕,客戶端向Status主題發(fā)布狀態(tài)呈現(xiàn)消息,消息體攜帶用戶當(dāng)前狀態(tài);2、客戶端每隔60秒向Status主題發(fā)布當(dāng)前狀態(tài);3、客戶端接收到好友狀態(tài)消息,在用戶界面進(jìn)行呈現(xiàn);4、在60秒之內(nèi)沒有接收到好友的狀態(tài)消息,那么判斷該好友處于離線狀態(tài)。
4.2.4即時聊天
即時聊天指用戶之間實時的交流,包括點對點聊天和群組聊天。業(yè)務(wù)流程如下:
1、用戶選擇好友,輸入聊天內(nèi)容并點擊發(fā)送后,客戶端向?qū)Ψ疥犃邪l(fā)送即時聊天消息,消息體攜帶發(fā)言用戶編號、聊天內(nèi)容等信息,并將聊天內(nèi)容保留到本地數(shù)據(jù)庫;2、用戶創(chuàng)立或選擇群組〔群組信息由創(chuàng)立者生成〕,輸入聊天內(nèi)容并點擊發(fā)送后,客戶端向群組內(nèi)所有好友的隊列發(fā)送群組聊天消息,消息體攜帶群組編號、群組名稱、群組成員、發(fā)言用戶編號、聊天內(nèi)容等信息,并進(jìn)行保留;3、客戶端接收聊天消息,在界面進(jìn)行顯示并保留。
4.2.5通知推送
通知推送指用戶對一個或假設(shè)干部門內(nèi)所有用戶發(fā)布通知消息,并接收已讀回執(zhí)。業(yè)務(wù)流程如下:
1、用戶選擇部門,輸入通知內(nèi)容并點擊發(fā)送后,向該部門內(nèi)所有用戶的隊列發(fā)送通知消息,消息體攜帶通知編號、發(fā)布者編號、通知內(nèi)容等信息,并保留到本地數(shù)據(jù)庫;2、客戶端接收通知消息,顯示并保留;3、用戶點擊閱讀后,客戶端向通知發(fā)布者的隊列發(fā)送通知回執(zhí)消息,消息體攜帶通知編號、接收者編號等信息。
4.3系統(tǒng)數(shù)據(jù)庫設(shè)計
系統(tǒng)數(shù)據(jù)庫包括效勞器端數(shù)據(jù)庫和客戶端數(shù)據(jù)庫兩局部。效勞端數(shù)據(jù)庫維護(hù)系統(tǒng)中所有員工和組織的根本信息;客戶端數(shù)據(jù)庫維護(hù)群組記錄、聊天記錄和通知記錄等信息。
效勞器端員工根本信息表包含用戶編號、用戶登錄密碼、用戶顯示名稱、用戶部門與崗位以及用戶個人信息〔性別、聯(lián)系方式等〕。組織根本信息表包含企業(yè)內(nèi)的部門列表。系統(tǒng)管理員可以通過后臺管理頁面對組織員工信息進(jìn)行維護(hù),進(jìn)行添加、修改和刪除操作。
客戶端聊天記錄表包含聊天消息收發(fā)者、聊天內(nèi)容、聊天時間、群組編號等信息。群組記錄表包含群組編號、群組名稱、群組成員等信息。通知記錄表包含通知收發(fā)者、通知內(nèi)容、通知回執(zhí)信息等。
五、系統(tǒng)測試
即時通訊系統(tǒng)客戶端與后
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 倉儲搬遷活動方案
- 倉庫春節(jié)活動方案
- 仙林平安夜活動方案
- 代縣餐飲活動策劃方案
- 代賬公司引流活動方案
- 以大帶小活動方案
- 以茶會友活動策劃方案
- 仲夏之夜活動方案
- 企業(yè)七夕活動策劃方案
- 企業(yè)親情服務(wù)日活動方案
- 吉林省主要地區(qū)風(fēng)玫瑰圖
- 生物信息學(xué)知到章節(jié)答案智慧樹2023年華東理工大學(xué)
- 松花江水污染事件工程倫理案例分析
- 窗戶合同范本
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- JJF 1076-2020數(shù)字式溫濕度計校準(zhǔn)規(guī)范
- GB/T 18838.4-2008涂覆涂料前鋼材表面處理噴射清理用金屬磨料的技術(shù)要求第4部分:低碳鑄鋼丸
- 小學(xué)一年級《讀讀童謠和兒歌》閱讀考級測試題附答案
- 廣州市人力資源和社會保障局事業(yè)單位招聘工作人員【共500題含答案解析】模擬檢測試卷
- 心電監(jiān)護(hù)操作評分標(biāo)準(zhǔn)
- 電子印鑒卡講解
評論
0/150
提交評論