姚惠英 王海霞 呂 楠 侯文明
(中石化勝利石油管理局測井公司 山東 東營 257000)
即時商務通訊軟件初探
姚惠英 王海霞 呂 楠 侯文明
(中石化勝利石油管理局測井公司 山東 東營 257000)
即時通訊在網絡高速發(fā)展的今天已經成為人們通過網絡進行交流的主要方式之一,與Email相比,它具有雙向互動性和即時性?,F(xiàn)在已經有多種比較流行的即時通訊軟件,諸如QQ,MSN等,但都是基于C/S模式的,需要下載客戶端進行安裝,用戶名、聊天記錄等也是存放在本地機器上,在安全性和方便性上略有所不便。B/S(瀏覽器/服務器模式)是隨著Internet技術的興起,對C/S結構的一種改進,極大的方便了用戶之間的通訊和交友。使用UML和面向對象的分析、設計方法完成一個通過IE,F(xiàn)ireFox等瀏覽器直接完成客戶端的登錄、數(shù)據(jù)傳輸,狀態(tài)更新、兩人以及多人的文字聊天等功能。本系統(tǒng)具有一個良好的結構,按照軟件工程的思想和流程完成的實現(xiàn)了基本的Web通訊功能,并添加了聊天記錄保存與刪除等附屬功能。
B/S;網絡;Web
隨著Internet的飛速發(fā)展以及www技術的廣泛應用,以Web技術為核心的信息交流平臺已顯示出其強大的生命力,正越來越受到用戶的歡迎。使任何一個組織甚至個人都能提供即時通信服務,而且任何組織或個人提供的即時通信服務,都能夠無障礙的使用與其它組織或者個人提供的即時通信服務的用戶進行溝通。它能實現(xiàn)快速人際交流、數(shù)據(jù)共享,從而提高了效率和生產力。Web版即時通訊沒有障礙的在Blog、部落、社區(qū)、論壇之間切換,讓用戶有了更好的體驗。因此,研究Web版的即時通訊對于企業(yè)和個人意義重大。
用戶首先需要登錄,登錄后來管理在線用戶;然后選擇聊天者。發(fā)送聊天信息,接受聊天信息,刪除聊天者,退出聊天窗口等這幾大模塊組成。系統(tǒng)要有一個完整的體系結構,通過瀏覽器來完成整個的聊天過程。Web即時通訊系統(tǒng)的最終目標是設計一個基于B/S模式的IM軟件,可以通過IE,fireFox等瀏覽器直接完成客戶端的登錄、數(shù)據(jù)傳輸、在線好友信息管理、狀態(tài)更新、兩人以及多人的文字聊天等功能。
圖1
客戶是所有要求的源。網頁客戶端負責創(chuàng)建XML格式的請求,并把它們發(fā)送到本地服務器。本系統(tǒng)采用的是B/S架構,用戶可以在任何地方進行操作,無須下載安裝專門的軟件,方便用戶隨時隨地登錄系統(tǒng),進行即時交流。
服務器負責處理客戶發(fā)送來的請求,為本地客戶提供完全的服務;接收來自網頁客戶端發(fā)來的XML格式的數(shù)據(jù)流;對收到的數(shù)據(jù)進行處理,并向網頁客戶端返回響應結果;把需要發(fā)送服務器的消息轉發(fā)給服務器,并接收來自服務器的響應;如網頁客戶端的請求需調用Web服務,則調用相應的Web服務,并接收來自Web服務的響應。Ajax是使用客戶端腳本與Web服務器交換數(shù)據(jù)的Web應用開發(fā)方法。
數(shù)據(jù)庫的設計過程如圖所示。在數(shù)據(jù)庫設計過程中,需求分析和概念設計可以獨立于任何數(shù)據(jù)庫管理系統(tǒng)進行。邏輯設計和物理設計與具體的數(shù)據(jù)庫管理系統(tǒng)密切相關。依據(jù)概念數(shù)據(jù)庫設計從中提取出重要的信息進行數(shù)據(jù)庫設計。概念數(shù)據(jù)庫模式、邏輯數(shù)據(jù)庫設計、物理數(shù)據(jù)庫設計、物理數(shù)據(jù)庫模式。
建立名稱為pojaa_chat_on_web的數(shù)據(jù)庫,建立tblmembers數(shù)據(jù)表:用于存放用戶的用戶名信息。tblonlinestate數(shù)據(jù)表:用于存放當前在線的用戶對象。tblchatlogs數(shù)據(jù)表:用于存放聊天者未讀的信息內容以及發(fā)送者接受者的聊天對象。
防止未授權用戶惡意刪除進行破壞或擅自改變數(shù)據(jù),采用審核技術監(jiān)視用戶存取數(shù)據(jù)。采用以下措施進行保障數(shù)據(jù)庫的安全性:謹慎使用數(shù)據(jù)庫的權限,不濫賦給他人權限;使用較為復雜的數(shù)據(jù)庫密碼;做好數(shù)據(jù)庫的備份;對于客戶端發(fā)送到數(shù)據(jù)庫中的信息進行加密。
用戶輸入網址后,打開網頁客戶端。用戶向服務器登錄或注冊時,通過會話(Session)類發(fā)送到服務器,同時創(chuàng)會話。Web客戶端主界面顯示當前在線的用戶??蛻舳私馕鰪姆掌鹘邮盏降腦ML流,以及將自身的消息發(fā)送給服務器,同時顯示相應的消息、Web對話框等界面;用戶可以通過單擊在線用戶名,彈出Web聊天窗口與用戶聊天,可以增加多面在線用戶。
網頁客戶端直接面對用戶的操作,對用戶做出的動作進行即時的響應,以滿足用戶即時通信的需求。將信息組合為XML流的形式發(fā)送給服務器即可。
網頁客戶端在將本地用戶的操作信息以XML流的格式發(fā)送給服務器后,等待接收從服務器返回的響應結果。
登錄驗證功能主要是對試圖登錄的客戶進行驗證。如果用戶信息和數(shù)據(jù)庫中的信息匹配,則將用戶的ID等信息發(fā)送給服務器,并將驗證結果返回給網頁客戶端。
本地服務器首先通過登錄的用戶名為參數(shù)檢索出該用戶名對應的ID,將該ID組織成XML流發(fā)送給服務器,然后本地服務器從查詢本地數(shù)據(jù)庫得到的用戶信息結果中,根據(jù)用戶名查詢他們的在線狀態(tài)。結合服務器返回的XML流,統(tǒng)一發(fā)回給客戶端。
該功能的實現(xiàn)完成了各用戶之間的即時通信的功能。本地服務器接收網頁客戶端的消息請求,并判斷該請求的發(fā)送對象。如果是本地用戶,判斷該用戶是否在線,如在線立即發(fā)送消息請求,否則保存請求信息,當用戶上線時發(fā)送給用戶。
本系統(tǒng)是用NetBeans6.5作為開發(fā)工具,基于MySQL數(shù)據(jù)庫管理的一個Web即時通訊系統(tǒng),本系統(tǒng)并不追求功能是多么的強大,但基本功能是較全面的。具有以下六大特點:界面美觀,操作方便;使用瀏覽器登錄系統(tǒng);支持在線用戶列表顯示功能;支持文本的發(fā)送與接受;支持表情和字體的設置與選擇;支持聊天記錄保存于刪除。
[1]高英,石文華.php數(shù)據(jù)庫開發(fā)基礎與應用[M].人民郵電出版社,2006,1.
[2]閃四清.數(shù)據(jù)庫管理[M].北京希望電子出版社,2002,12.
周娜]