【正文】
利用開(kāi)源產(chǎn)品構(gòu)建企業(yè)級(jí)即時(shí)通信平臺(tái),已不是新鮮的事情。 OA 系統(tǒng)提供的實(shí)時(shí)交互功能不足,尤其是不能提供點(diǎn)對(duì)點(diǎn)的或者多人的語(yǔ)音、視頻交流能力。特別是壓力測(cè)試上,力求達(dá)到 2020 人同時(shí)在線且發(fā)送數(shù)據(jù)的并發(fā)數(shù)量,在算法上及服務(wù)器二次開(kāi)發(fā)上,仍 有很大的空間。 工程實(shí)施及交付使用 工程實(shí)施是根據(jù)具體的應(yīng)用環(huán)境進(jìn)行修改,并及時(shí)作出解決方案。在實(shí)際應(yīng)用時(shí),開(kāi)發(fā)者只需要調(diào)用或?qū)崿F(xiàn)相應(yīng)接口即可。服務(wù)器根據(jù)客戶(hù)端發(fā)送的信息以及程序的邏輯,發(fā)送 XML Stanza 給客戶(hù)端。 xmlns=39。所以可以說(shuō), XMPP 用 TCP 傳的是 XML 流 [21]。而且, XMPP 包含了針對(duì)服務(wù)器端的軟件協(xié)議,使之能與另一個(gè)進(jìn)行通話(huà),這使得開(kāi)發(fā)者更容易建立客戶(hù)應(yīng)用程序或給一個(gè)配好系統(tǒng)添加功能。其優(yōu)點(diǎn)如下 [16]: ( 1) Openfire 內(nèi)部集成 ResinWeb 服務(wù)器,可以設(shè)計(jì)其于 Web 的管理程序。 整體框架 首先假設(shè)企業(yè)要求把即時(shí)通信工具構(gòu)建在內(nèi)部局域網(wǎng)(廣域網(wǎng)的結(jié)構(gòu)相似)。比如防修改,防抵賴(lài)等。 其次,在架構(gòu)時(shí),我們應(yīng)該考慮網(wǎng)絡(luò)通信問(wèn)題。但是企業(yè)在實(shí)施初期,需要支付高昂的費(fèi)用。 跨越物理空間的距離、實(shí)現(xiàn)即時(shí)交流是即時(shí)通信系統(tǒng)最吸 引企業(yè)之處。 表格 開(kāi)源環(huán)境解決方案 [12] 應(yīng)用類(lèi)別 軟件名稱(chēng) 費(fèi)用 (美元 ) 操作系統(tǒng) Red 80 Web服務(wù)器 Apache 0 數(shù)據(jù)庫(kù) MYSQL 0 辦公套件 OpenOffice 0 電子商務(wù)套件 OSCommerce 0 圖形處理 GIMP 0 在性能方面,開(kāi)源軟件不能完全適用于高壓環(huán)境。因此新技術(shù)以及新產(chǎn)品的推廣并不是很順利的,開(kāi)源軟件實(shí)際應(yīng)用更是如此。在一般的應(yīng)用中,數(shù)據(jù)庫(kù)是數(shù)據(jù)保存、更新、查找的有利工具,其地位更是必不可少。于是,人們努力地尋找著在商業(yè)產(chǎn)品以外的更好的解決方案。開(kāi)源解決方案 。全文以構(gòu)建企業(yè)級(jí)即時(shí)通訊工具為骨架,穿插著 XMPP、 Openfire 和 MySQL 等多種開(kāi)源產(chǎn)品。但隨著企事業(yè)單位的規(guī)模日益擴(kuò)大,他們對(duì)辦公軟件的安全性、交互性,以及其企業(yè)文化內(nèi)涵有了更高的要求。 圖 1 速達(dá) ERP 軟件 總的來(lái)說(shuō),企業(yè)級(jí)應(yīng)用具有以下特點(diǎn) [9]: (1)數(shù)據(jù)持久化 (Persistent data ) 企業(yè)級(jí)應(yīng)用需要持久保存數(shù)據(jù)。企業(yè)往往有自己特定的需求,特殊的情況。 在安全性方面 ,不管在商業(yè)產(chǎn)品上 ,還是在開(kāi)源產(chǎn)品上 ,安全性都頗受爭(zhēng)議。對(duì)企業(yè)級(jí)即時(shí)通信系統(tǒng)的誤解以及收費(fèi)是它打開(kāi)市場(chǎng)的阻礙。 商業(yè)化解決方案 商業(yè)化的即時(shí)通信軟件已形成良好的應(yīng)用模式,及強(qiáng)大的企業(yè)支持。 在通信技術(shù)或通信能力上,應(yīng)該與傳統(tǒng)的 IM 相近。如審批業(yè)務(wù)時(shí),有一小環(huán)節(jié)的信息丟失,使得下流的任務(wù)不能按時(shí)開(kāi)展,而處理上流的業(yè)務(wù)又得不到反饋,在這個(gè)爭(zhēng)分奪秒的時(shí)代,這是一件很可怕的事。 11 5 系統(tǒng)分析 系統(tǒng)分析是在需求分析的基礎(chǔ)上,構(gòu)建出具體模型。 通過(guò)以上開(kāi)源產(chǎn)品,則可構(gòu)建企業(yè) IM 系統(tǒng),如圖 5: 圖 5 整體結(jié)構(gòu) 13 客戶(hù)端框架 客戶(hù)端采用 MVC 結(jié)構(gòu)設(shè)計(jì),應(yīng)用多種設(shè)計(jì)模式,如單例模式、門(mén)面模式、工廠模式,優(yōu)化設(shè)計(jì)過(guò)程,使得軟件內(nèi)部低耦合、高內(nèi)聚,如圖 6。再加上 Netbeans 有 SUN 公司的大力支持,使得越來(lái)越多的開(kāi)發(fā)者選擇 Netbeans 作 為開(kāi)發(fā)平臺(tái)。這不但使得解析容易了,人也容易閱讀,方便了開(kāi)發(fā)和查錯(cuò)。39。其中的 stream 標(biāo)簽就是所謂的 XML Stream。 18 ( 5) Apace License 下的開(kāi)源軟件。如果配置成功,進(jìn)入 openfire 管理控制臺(tái) 用戶(hù) /組,就可以看到 你數(shù)據(jù)源中的用戶(hù) /組信息了,同時(shí)可以使用 spark 登錄進(jìn)行測(cè)試。通過(guò)大量的測(cè)試,該系統(tǒng)能正常運(yùn)行。 圖 14 個(gè)人信息 27 8 補(bǔ)充及擴(kuò)展 與辦公 OA 整合 OA 系統(tǒng)能夠解決以往企、事業(yè)單位只能通過(guò)傳統(tǒng)的“傳真、電話(huà)、打印材料送報(bào),開(kāi)會(huì)研究”的方式傳遞信息的問(wèn)題。 開(kāi)源,意味著 放棄源代碼的完全封密性,追求廣泛的社區(qū)支持。從中可見(jiàn),開(kāi)源產(chǎn)品是怎樣活化一個(gè)企業(yè)級(jí)應(yīng)用的,并付予了安全性、可靠性及實(shí)用性。除了以上的通信功能外,辦公 OA的輔助功能也可以轉(zhuǎn)移到即時(shí)通信工具,例如:文檔共享、通信錄、通知公告等。密碼最好以加密形式記錄,否則會(huì)出現(xiàn)安全問(wèn)題。如果企業(yè)里有相關(guān)的數(shù)據(jù)資源,則利用 Openfire 對(duì)JDBC Provider 的支持進(jìn)行整合。 Openfire is a real time collaboration (RTC) server licensed under the Open Source GPL. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rocksolid security and performance. 由此可見(jiàn), Openfire 作為一款遵循 GPL 協(xié)議,使用 XMPP 協(xié)議通信的即時(shí)通信服務(wù)端,在功能上并不遜于同 類(lèi)的商業(yè)軟件。 XMPP協(xié)議 應(yīng)用程序編程接口 (簡(jiǎn)稱(chēng): API) 在使用 XMPP( Jabber)協(xié)議的時(shí)候,一般不需要從底層重新實(shí)現(xiàn)協(xié)議細(xì)節(jié),為了 “不重復(fù)制造輪子”,而選用 Java 編寫(xiě)的 Smack API。 version=39。39。 XMPP 擁 有成千的 Jabber 開(kāi)發(fā)者,以及大約數(shù)萬(wàn)臺(tái)配置的服務(wù)器和超過(guò)百萬(wàn)的終端用戶(hù)。 ( 3)用戶(hù)容量方面,單臺(tái)服務(wù)器可支持上萬(wàn)并發(fā)用戶(hù)。通過(guò)開(kāi)源服務(wù)端 Openfire,可輕松解決以上問(wèn)題。 信息監(jiān)控是最容內(nèi)被忽視的一個(gè)模塊。 IM 的企業(yè)特色 作為企業(yè)級(jí)軟件,首先是具有企業(yè)文化特色。在即時(shí)通信方面,常用的開(kāi)源通信協(xié)義是 XMPP,它繼承了在 XML 環(huán)境中靈活的發(fā)展性。真正實(shí)現(xiàn)企業(yè)內(nèi)部的協(xié)同工作。 隨著技術(shù)的提高以及優(yōu)秀設(shè)計(jì)的推出,開(kāi)源環(huán)境終究能很好地解決以上問(wèn)題。經(jīng)過(guò)多年的發(fā)展,開(kāi)源軟件也像商業(yè)軟件那樣,形成了成熟的解決方案。 管理這些數(shù)據(jù)就成為這個(gè)系統(tǒng)的主要部分。 1997 年夏,制作《泰坦尼克號(hào)》所用的 160 臺(tái) Alpha 圖形工作站中,有 105 臺(tái)采用了 —— Linux 操作系統(tǒng) [5]。 開(kāi)源技術(shù) III The OpenSource solution of Enterprise Instant Messaging System Speciality: Information and Computing Science Name: Lin ZiGuan Student ID: 05125071 Advisor: Xu xiaoping Abstract: This article mainly analyses the advantage and effect of opensource products in constructing enterprise instant messaging, and proposes opensource solutions. The research of the article is divided into four groups as follows. Firstly, the article analyzes the requirement, characteristic of enterprise instant messaging, and the present domestic and international state. Secondly, the article describes the characteristic and function of opensource culture and technology. Thirdly, in the sight of software engineering, this article provides demand analysis, systematic analysis, detailed analysis and introduce of application and practice to the opensource solution. Fourthly, this application of instant message program is expanded to integrate enterprise instant message program with OA system or web application. At last, we show the pr