能帮助员工实现互动沟通和协作,又能有效而低成本地获得企业内外的信息。
显然,企业级即时通信工具再好也应该根据具体的经营状况而定。它对有些企业来说反而是一种累赘。因为部分企业仅仅把即时通信工具等同于一般的聊天工具,而有的则作为一种日常办公工具。 3.2 商业化解决方案
商业化的即时通信软件已形成良好的应用模式,及强大的企业支持。其抗险能力强,功能完善,且具备较多的成功解决案例。例如:国内的GoCom、腾讯RTX(图3),国外的IBM Lotus Sametime、AOL的AIM PBE。但是企业在实施初期,需要支付高昂的费用。
图3 腾讯RTX
3.3 新的选择——开源解决方案
自由、安全、社区支持、价格合适,早已是人们对开源产品的印象。随着开源技术的成熟,个人或企业使用开源软件作为解决方案的数量日趋增加。在即时通信方面,常用的开源通信协义是XMPP,它继承了在XML环境中灵活的发展性。目前,常见的开源即时通信软件有Spark(图4)、JeCat-Jabber、LinQ、Instabird、Pidgin等。而MySQL则是典型的开源数据库。
在开源社区中,有很多成熟的解决方案,如:Openfire + Spark +MySQL。
7
完备的开源技术,使得构建开源环境下的企业级即时通信成为可能。它们不但具备商业化软件同样成熟的解决方案,更重要的是,它们具备自由开源的理念以及开源社区的广泛支持。
图4 Spark即时通信工具
8
4需求分析
不同的企业对即时通信工具的需求都有所不同。有的需要与OA系统产生交互功能,有的需要多人视频会议。因此下文将论述该软件的基本需求,如需扩展,可参阅相关资料。 4.1 与传统IM相近的功能
企业级即时通信工具,首先是作为即时通信工具来使用,因此必需满足该部份功能。
在通信技术或通信能力上,应该与传统的IM相近。如简单的文字通信、文件传输、查看好友信息等。而聊天记录、个人头像、截图等扩展功能都是在基本功能的基础上建立起来的。
其次,在架构时,我们应该考虑网络通信问题。像QQ和MSN那样的聊天工具都是建立在广域网下的,或者有代理服务器。而企业级IM是建立在企业内部局域网内,除非企业的OA或应用软件架构在广域网,否则需要解决网间路由的问题(注:可使用openfire的路由插件解决)[15]。 4.2 IM的企业特色
作为企业级软件,首先是具有企业文化特色。除了企业外部美工形象外,其内部架构也很重要。比如部门分级,A部分下设有A1和A2子部份。由于IM的使用涉及公司里成百上千的员工,所以清晰的部门分级是提高效率的措施之一。
与此同时,个人信息也应当具有企业特色。在传统IM中,个人信息(包括个人资料和个人办公状态)存在着虚拟性以及极端的不真实性。而企业IM应该使用真实信息。很明显的应用是,当企业IM与OA系统集成时,当某员工需要在业务审批流程中签署文件,此时该文件需要具有不可抵赖性、不可篡改性。
在信息流通上,除了用优质的物理设施来支持外,合理的业务逻辑也很重要。在传统IM上,信息是允许丢失的,但企业IM则不允许任何重要信息丢失。如审批业务时,有一小环节的信息丢失,使得下流的任务不能按时开展,而处理上流的业务又得不到反馈,在这个争分夺秒的时代,这是一件很可怕的事。因此,该系统应该具有信息保存以及信息恢复的能力。
在信息安全上,企业的操作系统应该安装杀毒软件、防火场等软件,除此之外,企业IM的信息应该有自身一套安全措施。比如防修改,防抵赖等。在此可
9
使用信息加密,指纹识别等技术。常用的加密方式是MD5,验证方面可考虑CA认证方式。
信息监控是最容内被忽视的一个模块。因为平常看不出该模块的实际效益。但在重要环节上,它却是信息安全,维护信息流通性的有力后盾。信息监控的任务主要集中在流量监控、操作监控、任务流监控等方面。当发生网络异常时,相关人员可及时采取措施,防止该异常对企业网络环境的破坏。很多政企的预警系统都是建立在信息监控网络上的。 4.3 需求总结
企业IM更注重信息的传递能力及安全性,它不需要像传统IM一样拥有繁多的系统功能。当然也可以作相应的扩展。例如多人视频会议、文件夹传输(不同于一般的文件传输,可传输文件目录结构)、发起问卷调查、项目申报、SMS短信服务等。这些功能都视具体应用环境而定。
10
5系统分析
系统分析是在需求分析的基础上,构建出具体模型。本文的系统分析,将对企业IM分成客户端及服务端进行设计。其中涉及的内容有,整体框架、客户端框架、服务器框架。 5.1整体框架
首先假设企业要求把即时通信工具构建在内部局域网(广域网的结构相似)。其次是企业内部已建立起基本的数据资源(如:部门信息、员工信息,表5.1 展示了其本的数据要求)。
表格5.1 部门、员工信息
字段属性
数据类型 部门信息
部门ID (DEPID) 部门名称(DEPNAME) 部门父ID(DEPPID
INT VARCHAR(30)
INT 员工信息
员工ID(USERID) 员工登录名(ULOGINNAME) 员工性名(USERNAME) 员工EMAIL(EMAIL) 密码(PASSWORD)
INT VARCHAR(20) VARCHAR(10) VARCHAR(40) VARCHAR(40) 部门—员工信息
部门ID(DEPID) 员工ID(USERID) 职称(TITLE)
针对以上两点,IM系统的大致结构为: (1)中央服务端
要求在局域网中,客户端能够根据服务端IP以及服务端口寻找到服务端并
11
IS NULL
NOT NULL PK NOT NULL NOT NULL FK
NOT NULL PK NOT NULL NOT NULL NULL NULL
INT INT VARCHAR(20)
NOT NULL PK FK NOT NULL PK FK
NULL