2005年,作为新兴应用软件的“协同软件”和作为新型软件架构思想的SOA,在软件应用领域和在软件技术领域,都受到了前所未有的追捧。究竟2005年该不该定义为“协同软件年”或者“SOA年”,这些并不重要,重要的是:协同软件和SOA的一同出现,是必然还是偶然?是珠联壁合还是阴差阳错?这些问题的思考,对于我们了解协同软件和SOA都显得非常重要。
协同软件作为一种新的软件门类,其产生和发展不过近几年的事情。但协同软件的应用思想,却在管理软件的发展之初就已经存在,只不过当时“协同”并未成为一个成熟和重要的概念被提及。
在管理软件应用的早期,MIS(Management Information System,管理信息系统)和OA(Office Automatization,办公自动化)曾经是两个无所不包而又含混不清的信息化应用概念,广泛地被提及。后来,ERP、CRM、SCM等相对更为明确的信息化应用理念,亦开始从宽泛而无法确指的MIS和OA中脱离出来,成为更为专业的信息化应用领域。
当协同遭遇SOA
继ERP、CRM、SCM等信息化应用概念之后,协同软件在理论和应用等方面发展都极为迅速,这主要得益于协同软件适应了互联网时代全球一体化协作管理的要求。
在协同软件刚刚兴起之初,软件的开发思想已经走过了面向过程、面向对象的两大发展历程,目前正处在“面向组件”的时期。而这一时期,“面向组件”的应用平台成为最为热门的软件思潮之一。
国内许多专业的协同软件厂商都是基于平台化思想,推出自己的协同软件产品,虽然平台化的应用解决了协同软件在开发时的效率问题,但基于平台的应用在业务服务的体现上还是有所不足,许多平台的设置工作还无法在应用层面做到。
SOA作为新一代的软件架构,一经问世便广受赞誉,并迅速在软件研发中予以应用。
一份Gartner出具的资料还表明,从2003年开始SOA软件需求以20%的比率急剧增长。到2006年,在全球销售出的所有商业应用软件产品中,SOA的所占比例将超过 80% 。
协同的精髓
SOA可以简单的理解为“抽象、松散耦合和粗粒度”的软件架构,它可以根据服务请求通过分布式网络对松散耦合的应用群件进行部署、组合和使用。抽象与耦合的软件技术思想,成为协同软件在应用上的重要支撑。
在协同软件的应用中,参与协同的事务几乎可以包括用户单位的行政办公和业务处理的方方面面,从简单的收文、发文等公文管理,到客户、人事等业务管理,甚至到制造型企业的生产管理等等。
协同的身影无处不在。在众多的管理事务中,表单和流程成为管理事务的两个重要载体。
其中,表单成为管理内容的载体,记载管理的各项事务内容项目;流程成为管理的过程载体,以标明事务的流转方向和驱动逻辑条件。
抽象出来的表单和流程通过一定规则进行耦合,可以服务于各项管理事务,并可以分组建立起不同的专项管理应用方案。
软件中所有的协同事务管理功能,基本上都可以由基于SOA的表单和流程组成。
例如,“发文”这一事务,由一张记载发文的时间、主题、内容、重要级别等内容的表单,以及一组从“撰稿”到“核稿”到“会签”的流程,组合在一起用以管理。再举一个现实的例子,人事招聘这一事务,可以在软件中由记载人事招聘相关的内容表单,和一组从招聘发起到最终人员入职的流程,组合在一起完成。
“定制化”的未来
与面向组件的软件开发思想一致,SOA可以实现软件程序的大量复用。与面向组件软件不同的是:这些被调用的“软件服务”,其功能“粒度”比“软件组件”更粗,因此在应用的时候也更为简便。
直接用户通过调用SOA的程序服务,可以十分方便地建立适合自己的软件应用功能。
正因为有了SOA,协同软件在功能和应用上与传统的ERP、CRM等软件有变革性地突破,软件功能不再被固化,“非结构化”的应用数据和功能大行其道。
在软件的“通用”与“个性”之间,SOA的出现为管理软件找到了一条中间路线,这种明显的发展趋势也使得管理软件的大批量定制成为可能。或许,从这一层意义上而言,SOA对协同软件的应用普及,具有不可磨灭的印记。
链接
“协同”与ERP、CRM的应用之辨
协同软件是一种基于“互相配合”这一管理思想的应用软件,她与目前时兴的ERP软件和一度风光的CRM软件不同。
ERP软件的核心管理思想是“计划”,通过计划进行日常管理监控,以及进行管理分析,以提供决策依据。ERP从物料资料计划到制造资源计划,再发展到企业资源计划,都没有脱离“计划”这个核心。
CRM的核心管理思想是“关系”,即以客户为中心,理清企业间各项管理要素之间的关系,例如:客户与商机的关系,某一客户对应的商机次数与金额;与产品的关系,即某一客户已经或者准备购买的产品名称、金额、数量;与联络人的关系,即某一客户对应的联络人名称、状况等等。后来CRM再发展到ERM,企业关系管理,即可以按企业的任何一项管理要素为中心,分别查看与这个管理要素的各自关系。
不管是CRM还是ERM,都是强调各项管理要素之间的关联关系。
ERP、CRM、协同等各项管理思想之间的管理对象有重叠。如财务管理,基于ERP就是财务的计划、记帐、核算等等;基于CRM就是费用项目的记录、汇总等等;基于协同的就是请款、借支、报销流程等等。
ERP、CRM、协同三者之间虽然有重叠甚至交叉,但理念各不一样,不能用协同的理念去开发和实施、应用ERP、CRM,更不能以ERP、CRM的理念去做协同软件产品。一个软件产品期望面向用户的所有应用,则可能什么都会无法用好。