立即开通体验×

只需10秒,即可快速申请开通体验

注册 登录
首页 > 协同观察 > 行业洞察

协同研究院

研究院简介

专家介绍

协同知识

协同期刊

体验产品

  • 大型企业协同管理平台 A8+
  • 中小型企业协同办公平台 A6+
  • 企业信创协同管理平台 A8-N
  • 移动协同办公平台 M3
  • 致远协同管理软件V5大平台解耦之美
    时间:2018-03-16新闻来源:致远互联协同研究院浏览量:10159

    作软件工程师,难!在现实中,你要努力地求偶;而在程序的世界里却要千方百计地解耦。现实中的偶,成就美满之家,而程序中的“耦”却带来烦恼。

    解耦(Decouple),或者叫做“高类聚、低耦合”,是软件工程的标准开发方法,是一种模块化构造技术,旨在使得模块之间的逻辑结构更清晰,各个模块的开发工作、调试工作更加独立,各模块之间主要以数据功用和参数传递实现更加独立的部署组合的应用,从而增强系统的弹性。互联网化的系统需要更加开放,对现代开发技术的发展趋势提出了更高的模块化、分层设计的要求,而中国软件企业的工程设计方法和体系还需要更大的标准化过程,解耦就是实现传统作坊软件开发向工业化开发的重要方法和手段。

    致远V5软件在2015年下半年经历了3个月的阵痛,实现了完整的“解耦”改造,这是在V5平台上一个非常重要的里程碑,值得纪念!今天我们一起来谈谈V5解耦之美。

    解耦与技术架构

    IT系统的通常由基础框架、技术组件、应用模块、系统界面、数据结构等等部件构成,底层平台框架为上层应用模块提供技术支撑,用户通过系统界面与底层数据及逻辑进行业务进行交互,模块与模块之间要求尽快少的依赖,或者依赖的接口定义的非常清晰且被有效管理,即把可能变化的接口函数封装起来,把不易变的和容易变的分离,从而使得某一个功能的变化不会波及到大范围的变化,这就要求软件系统在架构上要有良好的分层管理或中间层模块。

    V5的解耦设计非常清晰,平台统一命名为CTP,包括六大引擎,依次是ctp-core(MVC框架)、ctp-organization(组织权限)、ctp-portal(门户)、ctp-workflow(工作流)、ctp-form(表单)、ctp-index(全文检索),这些接口对上层应用完全开放,并要求接口保持平滑升级,接口变更管理手段非常强烈;V5应用命名为apps-xxx,比如:apps-collaboration(协同工作)、apps-doc(公文)、apps-meeting(会议)、apps-news(新闻)约48个模块。

    apps对ctp的依赖采用直接调用方式,直接高性能,apps之间通过maven代码管理严格限制依赖,但apps之间存在相互调用,比如,协同审批后发出公告新闻等等,怎么办?V5架构引入中间层设计,命名为apps-api、apps-common,前者是各模块间相互调用的接口,后者是基础模块,比如代理管理、常用格式等等,模块调用必须经过apps-api层,而且它的变更是经过严格管理的,不能轻易变更。

    解耦与应用发展

    根据上面的技术设计可以清晰的看出,CTP平台接口是稳定的、apps-api是稳定清晰的,因此单一app就不会受到其它代码的约束,是可以自由的发展和壮大。过去开发一个版本,通过每个模块都会做提升完善,势必造成有限开发资源的分散,可能造成的结果是每个模块都没有做深做透。解耦后,完全可以改变一种策略——按照模块设计,每次1-3个模块,投入重兵,从而使得这个模块应用的完备度、前瞻性、品质都能得到保障,确保在这个领域具有领先地位,未来2-3年都不需要大的改造,转而去改造其它模块,这就是我们常常讲到“按模块发版”、“按模块升级”。

    解耦与商业价值

    解耦背后目的,不仅仅是技术上更清晰,模块发展更顺畅,更重要是实现更宏伟的商业价值,它包括两个层面:

    简单一点是按照模块报价、授权,V5 6.0版本增加“文化建设、目标管理、会议管理、知识管理、协同驾驶舱、员工签到”等等模块,的独立发布与应用,使得客户有更多的选择自由,根据需要配置相应的应用特性,从而增强了系统高效可定制化的能力。

    更为复杂的需求是通过解耦实现子产品、行业产品的封装,从而实现公司产品序列更多元、更丰富、更贴近客户的需求。举个例子:某某集团需要一个可以满足十三万人使用的门户,我们可以勾选“ctp-core、ctp-organization、ctp-portal、apps-news、apps-report、CMP/M3”等六个模块,加上集群部署和增加数据缓存能力,再通过CIP(协同集成平台)实现与其它异构的待办、消息、单点登录集成,可以构造一个最为常见的门户系统;如果结合协同应用平台CAP、移动应用APP的M3、以及门户不同模板风格等技术,协同应用系统的想象空间变得更为巨大,可以封装领域产品,如:HR系统、CRM系统、内控系统等等,也可以封装行业产品,如:律所业务管理系统、建筑公司项目协同管理系统。

    这就是V5解耦之美、协同之美,大美美于斯...

    相关推荐