引言:作为新兴应用软件的协同软件,和作为新型软件架构思想的SOA(面向服务架构,Service-orientedarchitecture),在软件应用领域和在软件技术领域,都受到了前所未有的追捧。当前该不该定义为"协同软件年"或者"SOA年",这些并不重要,重要的是:协同软件和SOA的一同出现,是必然还是偶然?是珠联壁合还是阴差阳错?这些问题的思考,对于我们了解协同软件和SOA都显得非常重要!
协同软件遭遇SOA
协同软件作为一种新的软件门类,其产生和发展不过近几年的事情。但协同软件的应用思想,却是随着管理软件的发展之初就已经存在,只不过当时"协同"并未成为一个成熟和重要的概念被提及。在管理软件应用的早期,MIS(管理信息系统,Management Information System)和OA(办公自动化,Office Automatization)曾经是两个无所不包而又含混不清的信息化应用概念,广泛地被提及。后来,ERP、CRM、SCM等相对更为明确的信息化应用理念,开始从宽泛而无法确指的MIS和OA中脱离出来,成为更为专业的信息化应用领域。
继ERP、CRM、SCM等信息化应用概念之后,协同软件在理论和应用等方面发展都极为迅速,这主要得益于协同软件适应了互联网时代全球一体化协作管理的要求。在协同软件刚刚兴起之初,软件的开发思想已经走过了"面向过程"、"面向对象"的历程,正处在"面向组件"的时期。
这一时期,"面向组件"的应用平台成为最为热门的软件思潮之一,国内许多专业的协同软件厂商都是基于平台化思想,推出自己的协同软件产品,复旦协达的CAP(Collaboration Application Platform,协同应用平台),就是基于这一背景下推出的。虽然平台化的应用解决了协同软件在开发时的效率问题,但基于平台的应用在业务服务的体现上还是有所不足,许多平台的设置工作还无法在应用层面做到。
2002年12月,在Gartner提出SOA是"现代应用开发领域最重要的课题"的同时,复旦协达即确定了"用SOA思想深入发展协同应用平台"的下一代产品研发道路。SOA作为新一代的软件架构,一经问世便广受赞誉,并迅速在软件研发中予以应用。Gartner出具的资料还表明:从2003年开始SOA软件需求以20%的比率急剧增长,到2006年,在全球销售出的所有商业应用软件产品,SOA的超过80%。正是在这一背景的促使下,SOA才成为复旦协达等专业软件厂商技术关注的焦点。
抽象与耦合,协同软件的应用精髓
SOA可以简单的理解为"抽象、松散耦合和粗粒度"的软件架构,它可以根据服务请求通过分布式网络对松散耦合的应用群件进行部署、组合和使用。以历时两年多研制出来的复旦协达SOA协同软件为例可以看出,抽象与耦合的软件技术思想,成为协同软件在应用上的重要支撑。
在协同软件的应用中,参与协同的事务几乎可以包括用户单位的行政办公和业务处理的方方面面,从收文、发文等公文管理,到客户、人事等业务管理,甚至到制造型企业的生产管理等等,协同的身影无处不在。在众多的管理事务中,"表单"和"流程"成为管理事务的两个重要载体,其中,表单成为管理内容的载体,记载管理的各项事务内容项目;流程成为管理的过程载体,以标明事务的流转方向和驱动逻辑条件。抽象出来的"表单"和"流程"通过一定规则进行耦合,可以服务于各项管理事务,并可以分组建立起不同的专项管理应用方案。
以我国首套SOA协同软件复旦协达CTOP协同软件为例,软件中所有的协同事务管理功能,都是由基于SOA的"表单"和"流程"组成。例如:发文这一事务,由一张记载发文的时间、主题、内容、重要级别等内容的表单,和一组从"撰稿"到"核稿"到"会签"的流程,组合在一起用以管理;再例如:人事招聘这一事务,可以在软件中由记载人事招聘相关的内容表单,和一组从招聘发起到最终人员入职的流程,组合在一起完成。
大量定制,协同软件借SOA走向普及
与面向组件的软件开发思想一样,SOA可以实现软件程序的大量复用。与面向组件不同的是,SOA复用的软件程序,不仅仅是在开发层被调用,而是在应用层可以被用户调用。这些被调用的"软件服务",其功能"粒度"比"软件组件"更粗,因此在应用的时候也更为简便。
直接用户通过调用SOA的程序服务,可以建立适合自己的软件应用功能。复旦协达的协同软件借助SOA思想,能够为直接用户建立起完全个性化的软件应用功能,并且这些功能完全柔性化,可以让软件操作者随时修改,以适应深化协同软件应用和管理变革的需要。
SOA带给协同软件在功能和应用上,与传统的ERP、CRM等软件有变革性地突破,软件功能不再被固化,"非结构化"的应用数据和功能大行其道。在软件的"通用"与"个性"之间,SOA为管理软件找到了一条中间路线,软件的大批量定制成为可能。从这一意义上而言,SOA对协同软件的应用普及,具有不可磨灭的功勋!