即时消息传递主要有两种模式:对等模式(PEER TO PEER)和客户端/服务器模式(Client/Server)。客户端/服务器模式的工作原理如下:首先由用户向服务器提出消息交换请求,服务器和客户端建立双向传输通道。客户端产生命令并传送给服务器,服务器生成应答传送给客户端作为响应。当有即时消息需要传送给客户端时,服务器与客户端建立一个单向传输通道,向客户端发送消息通知,客户端根据通知进行相应的处理。对等模式(PEER TO PEER)的工作原理:消息发送方向消息接收方发送会话请求,经过双方协商,建立双向传输通道,进行消息传递。
在项目管理协同管理过程中,为了增加发送消息的灵活性、安全性、可靠性、即时性,服务器需要记录消息发送记录,采用基于TCP/IP协议的客户端/服务器的消息传递模式来支撑项目管理协同应用,其工作原理如图2所示:

图2 即时消息工作原理
3.2 消息交换协议BNF描述一个即时消息系统的实现主要有两个方面:一是消息交换协议的设计;一是消息协议的实现即消息处理框架,消息交换协议BNF描述如下:
< 消息> ::=[:<前缀><空格>]<命令>< 参数>
< 前缀> ::=&<服务器名称>| <用户昵称>
< 命令> :: = <字符>{<字符>}| <数字><数字>< 数字>
< 参数> ::= <空格>[′:′<变参><参数>]
< 服务器名称> ::= <主机名称>
< 主机名称> ::= <参看RFC 952 中定义的所有允许的主机名称>
< 会议室名称> ::= <非空字符>{<非空字符>}
< 用户昵称> ::= <非空字符>{<非空字符>}
< 空格> ::= ′′{′′}
< 变参> ::= <除了NULL以外的任何ASCII 字符>
< 字符> ::= ′a′…′z′| ′A′… ′Z′
< 数字> ::= ′0′… ′9′
< 非空字符> ::= <除了空格、回车、换行、和NULL之外的所有8位字符>
< 回车> ::= <CR>
< 换行> ::= <LF>
根据协议格式,在系统应用中从客户端发送消息实例的协议格式为:SENDMSG # < 会议室名称>|< 用户帐号>< 消息内容> ,表示消息是发给某一个具体的用户还是发给一个会议室。如果客户端接收到一条消息,它有如下的协议格式:&< 会议室名称>|< 用户昵称> SENDMSG # < 会议室名称>|< 用户昵称>< 消息内容>。第一部分表示消息是从哪里发出的,是用户发出的,还是服务器发出的消息,第二部分是命令字符串,第三部分表示消息是发给会议室的还是只发给某一具体用户的。
3.3 消息处理框架消息处理框架主要定义消息服务器对消息的接收、分析处理和发送。在实际应用中,往往会出现多个用户同时发送消息的情况,增加了服务器处理消息的负担,容易造成消息阻塞。为了提高服务器的负载性能,利用多线程技术将处理消息过程设计为接收线程池、分析线程池、发送线程池三个线程缓冲器,避免由于某部分阻塞导致程序挂起的情况。三个缓冲器工作方式如图3:

图3 消息缓冲原理图
4 项目管理协同应用模型协同项目管理是基于即时消息传递和共享项目信息的协同方式。项目管理协同主要分消息协同和文件协同两种模式,它们各自处理过程为:
消息协同模式:用户向消息服务器发送消息,消息服务器收到消息后进行解析,如果是传送给其它用户的信息,则转发消息;如果是业务操作消息,则交由业务代理器进行处理,并将处理结果存储到信息存储器。
文件协同模式(即文件共享与传输模式):用户向消息服务器发送文件操作命令,消息服务器收到消息后对操作命令进行解析,并将结果交给文件控制器进行处理。如果是传送文件操作,由消息服务器向接收用户发送接收文件消息,等待用户接收文件;如果是访问文件操作,由文件控制器向用户传送需要访问的文件。
在本文讨论的协同项目管理采用消息协同模式和文件协同模式的混合模式,其协同应用模型如图4所示:

图4 协同应用模型
5 结束语在信息化时代,跨企业、跨地区的项目管理提出了实时通讯、协同工作、信息共享等新的要求,传统的项目管理不能充分适应这些挑战。本文首先讨论了项目管理过程中的协同过程以及在这些协同过程中的协同活动,然后在此基础上着重阐述了协同项目管理的实现机制,最后提出协同项目管理的协同模型,可以应用于项目生命周期的每个阶段,为企业的项目管理提供强有力和安全的服务平台。
参考文献:
[1] Jack Gido,James P.Clements etc.Successful Project Management.1999.6
[2] Ravi Sandhu etc.A Proposed Standard for Role-Based Access Control.2000
[3] 刘鲁.CSCW中任务分类和系统架构模型[J].决策与决策支持系统.1996.6(1):52-56.
[4] 于庆等.面向企业的CSCW系统及其应用.2000.8(6)
[5] 顾君忠.计算机支持的协同工作导论.2002.3