异构应用系统协同技术综述
来源:华拓科技网
计算机研究与发展lounalorfC冶mPuterReaesrchand块velopmetnISSN1000一1239lCNll一1777lTP44(Suppl.):7一11,20)7(异构应用系统协同技术综述杨沙洲所光王桂彬杨学军(国防科学技术大学计算机学院长沙410073)(yang.shazhou@gmail.cm)o0verviewofCollaborationTechniqueBetweenHeterogeneousAPPlicationsYangshazhou,SuoGua呢,WangGuibin,andyangXuejun(&丙佣zof肠mPUtrsiecnce,入dt勿alU元艺n~ityof功j七刀招T比为no枷卿,〔决口刀岁入召41073)AbstracteginningwiththerBequirement,thehisto珍andstatusquoofcollaborationbetweenheterogeneousapplicationsareintroducedindetail.Theslutionsaroeclassifiedandtheproblemsandobstaclesexisti雌inthefieldaresummarized.Thentherequirementchangesnowandinthenearfutureomthesrfocietyarepresented,pointingoutthattheresearchofcollaborationbetweenheterogencousaPPlicationswillobtainamoreimpotantrrolein幻ftwaearchitecturreenvironment.KeywordsCSCW;heterogencousaPPlications摘要从异构应用系统的协同需求入手,详细描述了这一研究领城的历史和现状,对至今已经提出来的解决方案进行了整理和归类,从中梳理出所有解决方案所面临的问题和障碍,然后针对当前以及不远的将来社会应用对异构应用系统协同所提出的要求的变化,指出了异构应用系统协同研究在软件系统结构领城中的重要性和发展方向.关键词计算机支持的协同工作;异构应用系统中图法分类号TP3l当代社会是一个严格分工、密切合作的社会,这就意味着任何社会个体或组织都是社会化大生产中的一个环节,任何社会活动都无法由具备单一功能的个体或组织完成,而是通过多个组织协作完成的.20世纪80年代中期以来,随着计算机的普及,它在计算能力、信息存储等方面的优势得到越来越多的认同,人们自然而然地想到如何利用计算机系统来帮助社会化生产中的组织协同,这种愿望逐渐发展成一个跨学科、跨行业的研究领域,也就是计算机支持的协同工作(cornputrsup卯eterdclla场oativre朴肠,e沃二W).社会化大生产并非一跳而就,而是由个体生产或者小集体生产方式发展起来的,因此,各个社会生产部门往往已经积累了大量的功能应用,这些应用收稿日期:2006一11一61在设计时并没有考虑与外界进行信息共享和信息交流,但却已经在各行业中得到了广泛的应用.这种情况在信息系统中表现得尤为明显.信息系统是可塑性较大的行业设施,进行互联互通、实施协同工作的需求也最迫切,但已有的信息系统往往自成体系,完全异构.以政务为例,在由上至下的电子政务工程启动以前,国税局、地税局、工商管理局、民政局等各个平行的职能部门大多已建立了一套较为成熟的、适合本部门工作流程的计算机信息管理系统(MIS),大批工作人员对此系统已经非常熟悉,而且,这些系统还维护着大量的历史数据.电子政务、政务公开、政务中心式窗口服务是提高工作效率的必要途径,而这些老系统却成为了项目规划的难题:无论是放弃老系统重基金项目:国家“八六三”高技术研究发展计划基金项目(2002AAlz2101)新开发,还是基于老系统二次开发,都存在很多技术障碍、组织障碍和不可小视的成本开销.一方面各个业务系统之间的信息共享、实时交互以及更高程度上的工作协同都希望我们能够在各个的异构应用系统之间建立桥梁,使之能够融人协同工作环境,成为CSCW的参与者和贡献者;另一方面集成这些系统又存在着不小的难度.这一矛盾的需求催生了CSCW研究领域中的一个尴尬的重要分支,即异构应用系统协同研究.1发展历史在总结介绍异构应用系统协同研究中的技术问题之前,我们有必要先回顾一下这一研究领域以及它的母题(CSCW)的发展历程,从中我们可以看出研究者是如何在五花八门的异构系统环境下逼近自然、流畅的协同过程的.从一开始,CSCW的研究就有着两个不同的侧重点,一是协同过程的研究,一是协同机制的研究.CSCW的“教父”JonathanGrudin在其1994年发表的文献【]1中即认为欧美研究界有此区别.前者将越来越多的领域纳人到CSCW可支持的范围,后者.CSCW的研究是从20世纪80年代中期“办公自动化”开始的川,人们从生产实践中逐渐意识到计算机可用于帮助不同岗位的工作人员进行交流和协调,而这种协调同时也是非常必要的.于是各行各业的研究者开始研究如何将计算机作为工具应用于工作流中,20世纪90年代是以Gro叩Editor为代表的CSCw应用研究的黄金时代〔2一]3,涌现出大批支持实时协同的多用户应用,提出和完善了很多协同算法和理论成果,很多CSCW的研究成果已经完全融入到我们的生产生活中,用户甚至不会联想到其早期形式与CSCW研究有关,比如电子邮件.自20世纪0年代中期以来,多用户网络游戏的发展实际上可称得上是Q犯W的研究成果的集大成者.安全[15不幸的是,目前的等领域的探索性研究以及更广阔的应用范CSCw研究除了在评测闭、围上有一些新意以外,20多年来的传统研究题目仍然活跃在csCw的权威会议中[6一7〕.这方面是因为人类活动本身的复杂性引致计算机支持能力设计上的可变性较大,使得研究者几乎无法提出一个完备的解决案供需要协同工作的应用环境采用;另一面,CSCW的研究历程也说明,要让用户接受“不计算机研究与发展2007,44(增刊)同寻常”的协同工具是一件相当困难的事情:一方面研究者在不断努力推陈出新;另一方面各类方便适用的非CSCW应用仍然倍受青睐,占据着绝大部分的计算机应用市场,以编辑器这一传统的CSCw研究目标为例,尽管该项研究开展了近20年,对大多数处于协同工作中的项目组来说,单用户字处理软件仍然是其文档处理的主要平台,而研究人员则仍然不得不花精力将其CSCW化[“〕.实际上JonathanGrudin教授在1994年总结CSCW研究历史的同时就已经表达了对该项研究前景的优虑[]9,他在文中对8个挑战所提出的解决方案大多数仍然是目前研究者努力的方向,其中尤为值得本文阅读者留意的是,Grudin所提到的最后一个挑战就是针对用户对CSCW应用接受程度问题的,10年的实践证明,他的担优(或者说是提醒)是有价值的。当时他认为只有基于用户所熟悉的应用系统进行CSCW改造才能真正避免用户接受CSCW应用的障碍,这一建议是基于在他作此文之前的CSCW研究实践做出来的,但到目前为止,它是否有效仍然缺乏强有力的证明.在1990年的ACMCSCW会议上就有人基于单用户的编辑器设计了一套将其多用户化从而支持协同编辑的方法川.文献【3」中的Matirx也是基于同样的改造现有单用户应用的思路设计的。这些都是最早的一批在用户熟悉的现有应用上增加协同功能的研究成果,两者的共同之处是实施协同的单用户应用是同构的.在现实的协同工作中,很难保证参与协同的用户所熟悉的工作环境是同构的,对于处于工作流中的不同阶段的协同参与者而言,他们的工作环境几乎肯定是异构的.例如在企业产品开发协同中,市场部门和研发部门以及决策部门都很有可能拥有各自的软硬件环境,如果再考虑到全球化协同,异构的工作环境几乎是必然的。本文前一节所描述的需求背景也同样表明协同经常会要求发生在异构应用系统之间.因此,越来越多的CSCW研究者开始研究如何在异构应用系统环境中基于现有应用(legacyapplication)开发协同功能[‘0}.2当前主要技术分类经过多年的发展,异构系统协同技术已有大量的成果,大体可分为整体框架、协同机制、实现技术3个层次.经过长期的实践,这3个层次上较有活力的技术已体现出集中的趋势.则对此提供越来越流畅的支持杨沙洲等:异构应用系统协同技术综述2.1系统框架从系统整体角度考虑异构系统协同,绝大多数方案都不约而同地采用层次式设计,而且各层功能划分也逐渐呈现出一致性.实际上,层次化是分解问题的常用方法之一,层次式结构也是系统结构设计中最常见的形式之一,小到简单的应用程序,大到跨平台跨地域的综合系统,从观察者角度来看,都能比较容易看出其中的“层次”.由于CSCW应用的特殊性(应用多样化、交互网络化以及协同的需求),通常都可以将Q犯W框架分解为应用层(applictaino)、协同层(collaboration)和通信层(communication)3个部分[“一]21,用于指导实施异构应用系统协同的结构方案也与此类似.应用层直接面向用户,负责处理用户的输入输出,并将远端的事件的处理结果反映给用户;协同层负责事件的过滤、转发和共享资源的同步控制;通信层提供交互基础.2.2协同机制层次化结构仅仅是设计异构应用系统协同框架时的原则,在技术层面,任一层次都离不开协同机制的设计.作为复杂环境中的异构系统,假定应用程序内部结构已知显然是不明智的,因此协同机制也针对已知和未知两种情况发展出两个分支:协同感知(clolaboratino~z[)一3]和协同透明(cloa比ratinotransParency)[‘”,‘3〕,前者类似于白箱协同,后者则是黑箱协同.相对而言,白箱协同可以在源码基础上进行协同功能改造,难度较小;而黑箱协同需要对用户事件进行捕获和转换,再传递到其他协同参与者,对事件的过滤、准确理解和转换都需要设计人员付出努力.2.3协同技术不同的协同机制所使用的实现技术却有着大范围的共通性,这主要是因为不管应用程序内部结构是否清楚,协同的内容都大致相同,所不同的仅仅是启动协同的时机和方式.)1按协同动作的激发源来分协同动作的激发通常可以分为以应用操作本身为源和以应用操作对文档的修改为源两大类:前者由应用层捕获操作,把对协同有影响的操作(其他协同参与者可感知的操作)经过转换后传递到其他协同参与者进行处理[’”几后者则避免了操作的捕获和分析过程,将操作对文档的影响(例如读、写、移动等)内含于文档结构当中,让所有异构应用能够仅从文档的变化就可做出相应的反应.两种实现技术在对协同事件的处理式上并没有本质上的不同,但基于文档的协同将对事件的分析结果保存在文档当中,更加符合基于文档的协同应用的工作流程,使工作流系统的结构更加清晰.)2按资源和算法的分布特征来分‘如果将异构应用协同系统理解为资源和算法的结合,那么又可以根据资源及算法的分布特征将协同技术进行另一种角度的分类.从资源分布特征来看,出于提高协同操作时效的考虑,大部分协同系统都将共享资源复制到各个协同参与者所在物理位置上去,然后在多个副本之间进行数据一致性同步[’”,’3J.这种结构的缺点除了一致性维护比较复杂之外,资源复制所带来的空间消耗也是一个问题.为了做到维护尽可能少的副本的目的,文献[14〕以及后来的FlexibleJAMM[’3]都采用了一种称之为“半复制式”的资源分布结构,即资源首先由一个集中的cache进行缓存,当协同参与者提出使用该资源的请求时,再复制到当地去,而一旦进行了复制,则副本将永远存在于协同参与者本地,此后的过程与复制式结构相同.算法的分布主要表现在应用系统的主体功能和协同功能的关系上,无论是两种功能合二为一还是并存,都有各自的优势和不足.早期的CSCW应用通常采用整体的设计方式,协同功能是其中密不可分的一部分,这样的CSCW应用包括协同文本编辑器、电子画板等.协同透明的协同机制实际上是一种主体功能与协同功能分离的技术,但这种设计方式与其说是一种自觉,不如说是一种无奈.现在,两种设计模式都有各自的发展,但相比较而言,协同功能于应用系统主体功能之外的设计更有吸引力一些,因为它符合软件工程中按功能进行系统模块化的设计思路.文献【51]做出了一种有益的尝试,它的可行主要是因为该系统的协同功能是围绕文档进行的,无需触动系统主体功能.基于方面(aspect)的编程方法提供了另一种解决方案,协同功能可作为系统的一个Aspect开发和运作〔‘j6,这种基于Java的协同功能设计方案甚至能够为实现细节不详的Java应用增加协同能力.最后,不能不提到戈ent技术与CSCW的结合.翰ent技术,特别是多戈ent技术是随着分布式环境应用越来越广泛而发展起来的.在异构应用协同过程中,每一个协同参与者都需要与外界环境进行交互,将自己的操作通知其他协同参与者,并对其他参与者的协同操作做出响应,从戈ent的角度看,这种需要类型分析和协议转换的交互能力可以很自然地由一个具有自治能力的抽象实体来完成,它就是掩ent.实际上,有的CSCW系统已经借用了“代理”这个概念来管理交互过程〔‘7〕,但应该说这些尝试都不太成功,究其原因,并不是掩ent概念不适于SCCw应用,而是戈ent技术本身发展不成熟,特别是高效能的智能系统还达不到实践中的要求。剥离了智能的戈etn,和一般的响应服务器也没有本质上的差别.3结论和发展趋势相比LotusNotes这样的通用的同构应用系统协同产品而言,虽然异构应用系统协同技术研究在某些领域达成了共识(比如层次式结构设计上),但在能力和易用性上都存在一些问题,生产生活中大量现有业务系统无法顺利地协同化且为用户所接受.造成这种局面的最主要的原因是现实异构系统本身的复杂性,包括黑箱应用的复杂性,也包括白箱应用与协同理念进行统一的复杂性.Java技术的发展和面向方面编程方法开拓了异构应用系统协同技术研究的思路,但文献〔16〕中所提到的挑战都不容忽视.与此同时,掩ent作为天然的协同代理抽象,在系统结构选择上毫无疑问具有吸引力,只要设计合理,基于戈ent的异构应用系统协同至少在结构上是非常完美的.除了解决能力和易用性的问题之外,在异构应用系统协同研究中还会碰到形式化、安全性、动态性、评测等多方面的问题,所有这些问题的研究目前都还没有展开.而随着这种高效低耗的协同环境的推广,对这些方面的要求肯定会越来越强烈,正如我们在单用户应用、网络应用以及操作系统等计算机领域中其他方向的发展历程中所看到的那样.还有一个趋势似乎容易被研究者忽视,那就是异构应用系统协同与分布式系统、Grid、ZPP技术结合.很多人都认为,今后的计算环境是网络化的,同时也是个性化的,很有可能最旺盛的计算资源就是由海量的的异构节点构成的网络化环境.或许Grid技术的发展能为CSCW提供更多可资利用的交互机制,而CSCW的研究成果也肯定会在工作流设计、协同模式等方面为Grid提供借鉴.参考文献【]lJoanthanGrudin.伪mput-resup卯rtedc0Op吧tarievrowk:H访to斗朋dfCOus.IEEECbm四tre,1994,27(5):19一6[2][3]【]4【]5[61〔7」[8][9〕[10〕[11]〔121【13」[141[15]计算机研究与发展2007,44(增刊)Michae1JKnister,tA己Prab”b.nstEdit:^山tsti加t司权幻!kitrofsupporti昭multiPlegroup曰玉to比.In:Procoft址3rdC劝nfnoComPute卜5叩port曰0阅沐几tivework.Newyork:ACMPr巴”,1990KJeffay,JKL玩,JMenges,etal.户此坛tectuerofthet’raifcat一ba即dclola比ration,y,tenl们。atr连.TheACM以犯w’29CbnfonC“11pute-rsup冈rt目0刀详rtaievwork,TOronto.Ca朋da,1992D曰misCNeale,JOhnMG叮orli,M出,E泛thROOSn.E词uating如Pute-rsuPport目印。详rtaivework:M目elsand介日meworks.TlleC匕nf加C冶mpute-rsuPP0rt已0”详rativeWork,Cb让呢。,lllinois,USA,2004LJTe甲tsra.Asceuirtynl目elforthewroksl〕acegruopwarecra垃cettuer:【Matserdisatretino〕.RoyalMiilt田,C冶11eegofCanada,2002DuLi,R山Li.Prvrsei飞。沐ratinoeffectsrelta咖运gruop曰itors.TheCbnfonoCmput,SuPPOrtedo刀Perativework,Chi以910,Iliinsio,USA,2004Da,idsun,Stevnexia,Chengzhengsun,etal.伽ertaion目trsnaforam’tinofrocolla加ratievwordprcoesing.TheC劝nfon肠mputer-Sup卯rtedG的碑rativework,Chlcago,Illino访,USA,2004StevenXia,Daivdsun,Chengzhengsun,etal.Leevragi吧isngle-uesrapplicatlsnorofmulti一~ocla肠ration:theC冶Wordapprcaoh,TheC冶nl.肠mpute-rSuPportedo力详rativework,Chi皮堪0,IllinO汤,USA,2004JOhnsnoGrudin.Groupwareandscoialdynauncs:Eightchlalengesfrods,elo伴rs.ColllnluntcationsoftheACM,1994,37(1):92一105ouLi,R‘Li,Transparentshar哩andinte功ePrationofehte双召eneoussingle,resuPa口ications.ACMCbnfonC劝mputerSup卯rtedG为伴rativework(CSCW2002).Neworleans.Louis扭nn,2002Pabloor眼0,JuanIASe仙沁,Yan访ADimitr认sid,teal.AdecouP1edrachitcetuerofract1-noiroent团cordinationandrwaenesn班nagemntin已犯LIWframeworkS,Thelothlnt,1Wor七卜叩onG拍upware,CRIWG2004,5冶nC冶rlos,CbstaRica,2004DuiL,RichardMunts,COCA:C冶Ilabortaiveojbectsc印rdinationacrhitecture.ACMCbnfon已汇W,Seattle,1998Janle8Michae】AllneB笔ole.Flexibelocllaboratinortsnsparency:阮p和rti叱,。rkerinde沐ndenceinreplicatedapplictaosharingsyten比:〔hPDd认esrattino〕.伪mputer&ienceand六甲plicatlBnoofVirginaiFblytechnicIntsituetandStateUnivlsreyt,1999Graham,TCNic肠k比,U,,lbre,N苟abi,Roy.Efifcientsid颐butedimplenemtainoof。一此plicta曰即nc知心nousgroupwaer.Thegth九阴回ACMSymponUs-reInterface黝任wtaernadTechno】呢y.ACMSIGCHI,5阳ttel,9196^LaM8rca,KwEdwards.P〔七urish,礴al.介ki吧thewrok。utfoowrknow:Mec卜mi,刀sofrdocu〔口ent一centeredcolla场ratjou.Eutop改moCnf姐肠记puters叩ported0)〕eprativework(EC厌二w’9),肠伴n卜堪en,〔随n巾肛k,1999杨沙洲等:异构应用系统协同技术综述〔6〕L1i,T七Che吧,StevenLRo知山,JohnPatt~,et以.,Re。泊fittingcoUa加口tionintoUIs诫th朋peCt3.TheC冶fonn所光男,1980年生,博士研究生,主要研究方向为操作系统、编译器等.C冶mPut-Sreup冈rt目0料阵rativeUSA,2004work,Chicago,1班sion【7」s1henxiajuon.MAP:An沁bil-aegen卜场肚月p坛tforntrof王桂彬男,1982年生,硕士研究生,主要研究方向为计算机软件理论,cdlabrallvevituraleOvl”Dnrnents.PhD山ue,Ottawa.CarletonIntituteosfElet石ccalandQ加puterE雌m倪川堪反扮dofnfIoratimnl飞oc加加吨yandE明1~gn,Univmteyof杨学军男,1963年生,教授,主要研究方向为计算机Ottawa,20)(3体系结构、并行计算等.杨沙洲男,1975年生,博士研究生,主要研究方向为.操作系统技术等