对计算机支持的协同工作软件技术探讨
2015-10-21邓荣芳
邓荣芳
摘要:本文阐述了计算机支持的协同工作, 对协同工作软件技术进行了划分, 并探讨了协同工作软件技术的发展趋势。
关键词: 计算机支持的协同工作; 软件技术; 发展趋势
1 协同工作软件技术的划分
( 1) 按技术的层次划分, 协同工作软件技术可以分为群组通信、分布式对象技术、面向服务的体系结构( Service- Oriented Architecture, SOA)等。
第一, 群组通信。计算机协同工作的新特性向计算机网络研究提出了新挑战, 即提供一点到多点和多点到多点通信为特征的群组通信服务。群组通信是指把同一数据块( 报文、分组或文件等) 从一台计算机传送到由若干计算机组成的集合的每个成员的过程。群组通信技术可以分为单播和组播两种。单播是点到点的通信, 通常基于TCP 协议; 组播用于将信息传送给一系列的用户, 一般是基于UDP 协议的。与组播相关的协议主要有群组管理协议和组播路由协议等。
第二, 分布式对象技术。分布式系统是由互联网上的若干计算机组成的集合, 它们共享网络上的资源, 在共同协作的基础上完成某项任务。分布式对象技术是由面向对象设计和多层客户端/服务器体系结构的有机结合。客户端/服务器也由最初的两层结构向多层结构发展。到了20 世纪90 年代, 客户端和服务器端的界限变得越来越模糊, 便产生了中间层的概念。这种新的软件结构体系不仅有利于客户端从系统中分离出来,提高系统的可扩展性, 而且也提高了应用程序的运行效率、系统的可伸缩性和可靠性, 更好地支持对业务流程的集中控制与管理。
第三, 面向服务的体系结构。进入2006 年, 面向服务的体系结构( Service- Oriented Architecture, SOA) 等新需求的提出, 协同软件概念也被赋予了新的含义。在激烈竞争的市场环境下, 企业的管理模式很难固化, 当企业要作出改动时需要面对巨大的挑战。同时, 随着信息化建设的深入, 不同应用系统之间的功能界限已趋于模糊。目前的协同软件, 已经超出了早期的公文管理等简单的内容, 参与协同的事物不仅包括了行政办公事务, 还包括了企业的人、财、物等多项管理事物, 这就要求协同软件能够与自动化企业现有的管理信息系统, 如ERP, CRM, HR 等实现无缝连接, 满足企业业务灵活性和数据接口复杂性的需求, 上述企业应用特性决定了协同软件必须采用SOA 理念。
面向服务的体系结构是一个组件模型, 它将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的, 它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以统一和通用的方式进行交互。这种具有中立的接口定义( 没有强制绑定到特定的实现上) 的特征称为服务之间的松耦合。松耦合系统的好处有两点,一点是它的灵活性, 另一点是, 当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时, 它能够继续存在。紧耦合情况下, 意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的, 因而当需要对部分或整个应用程序进行某种形式的更改时, 它们就显得非常脆弱。
( 2) 按协作的程度和方式划分, 协同工作软件技术可以分为角色协同、信息协同、流程协同、计算协同等。
第一, 角色协同。角色协同主要涉及两个问题: 一是建立包括外部环境和协作成员的协作场景, 为协作成员提供与外部环境和其他协作成员之间的信息交换, 称之为群体感知问题; 二是确定成员之间协作行为的控制机制, 解决协作系统中协作关系的产生与描述、各成员对协作的加入与退出以及协作行为的冲突消解等, 称之为协作控制问题。在CSCW中, 群体感知是实现协作的前提条件, 关系到CSCW系统的成败。对群体感知理论的研究及创新, 可有效地降低协作成本、提高协作效率和减少协作冲突。群体感知的研究内容主要包括感知模型和实现方法两个方面。群体感知模型主要研究群体感知的形式描述和性质刻画。到目前为止, 群体感知仍然没有一个标准的定义, 没有一种通用的协作感知模型能满足所有CSCW应用系统的感知需求。通过将Services 加入到感知理论中, 建立了一种适合在Services 计算环境的感知模型。在近些年来的研究中, 尤其是伴随着普适计算的发展, 上下文技术的兴起, 有些研究人员将上下文技术与感知技术结合起来, 将感知过程中的信息, 采用上下文的技术进行建模和分析, 为上层应用提供更好的感知环境。
第二, 信息协同。协同工作需要交换各种格式的信息。随着协同工作的深入, 多个数据源的数据需要进行交换来达到协同的目的, 即消除信息孤岛的现象。信息协同技术主要以数据库技术为基础, 包括数据仓库、数据挖掘、数据交换、共享信息与共享空间管理等。
第三, 流程协同。流程协同强调在一个工作过程中的协同工作, 是协同工作中, 特别是电子政务、电子商务应用中最常见的协同方式, 有时也称为过程协同。实现过程协同的主要技术是工作流技术。
工作流是典型的具有过程协同特点的协同工作应用。从协同的角度看工作流, 它属于支持多个人进行异地、异步协作的系统, 是协同应用系统从支持同步、非结构化协同向支持异步、结构化的进一步发展。
工作流是业务过程在计算机系统中的实现。计算机系统通过记录流程和流程中每个任务的相关信息, 试图对流程的执行进行协调与自动化处理。具体地说, 在工作流处理中, 工作流管理( WorkflowManagementSystem,WfMs) 是这一实现的软件环境, 也是工作流技术的核心机制。
第四, 计算协同。网格计算、普适计算、移动计算都是现实协同计算的主要技术。目前对网格计算的定义并不统一, 一般认为网格是“动态多机构的虚拟组织中的资源共享和协同问题的解决”。网格计算的本质是计算资源的联合加上这些资源的虚拟化, 从而达到加速应用程序处理的目的。网格的全部核心就是分布式计算和资源管理。其基础设施一定是基于IP 协议的宽带数字通信网络, 它将改变传统的Client/Server 和Client/Cluster 结构, 形成新的Pervasive/Grid 体系结构, 这种体系结构将使得用户将整个网络视为一个巨大的计算机, 并從中享受一体化的、动态变化的、可灵活控制的、智能的、协作式信息服务。这样组织起来的“虚拟的超级计算机”有两个优势, 一个是数据处理能力超强, 另一个是能充分利用网上的闲置处理能力。网格计算是构建在Internet 上的一组新兴技术, 把整个因特网整合成一台巨大的超级计算机, 实现计算资源、储存资源、信息资源、知识资源、专家资源的全面共享。
2 协同软件技术发展趋势
协同软件用来支持协同工作, 协同工作的形式决定协同软件的发展。另外, 随着其他相关软件技术的发展也促进了协同软件的发展。经过分析, 可将协同软件的发展分为3 个阶段, 即以电子邮件和数据库为中心阶段、以工作流程为核心阶段、以知识和项目管理进入主流等。在各个阶段进化过程中, 不仅协同的内容发生了变化, 协同的控制也更复杂。随着企业信息化的发展, 人们对协同软件的要求越来越高, 目前的协同软件越来越不能满足人们的需要。未来的协同软件要重点关注智能客户端技术和上下文技术。智能客户端技术要求客户端支持复杂信息的多样显示和处理, 灵活的控制机制来帮助用户降低协同工作的复杂度, 提高效率。上下文技术的目的是使人机交互像人人交互一样。