加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 政策 > 正文

东方金科基于开源的开发平台建设之路

发布时间:2019-02-20 19:39:05 所属栏目:政策 来源:李代丽
导读:李家智 ,就职于东方金科,现任架构师一职。作为行业享有盛名的大咖,李家智行事低调,对工作热情饱满,多次受邀作为嘉宾出席各类大会,并发表了精彩演讲。2018年10月17日,李家智 受邀参加了由IT168主办的《SACC 2018第十届系统架构师大会》,并发表了精彩演

  第九个坑是,阿里开发手册还是唯品会开发规范?“孤尽”名气大,“江南白衣” 也不是浪得虚名。唯品会开发规范和落地结合,与Clean Code和 Effective Java结合也很紧密。结论是,选用唯品会开发规范,并取得授权。

  第十个坑是,怎么解决技术偏好之争?当时的分歧主要有三个:分歧一:项目骨干之间技术之争;分歧二:技术委员会之间技术之争;分歧三:与咨询公司的技术之争。结论是,选择正流行的开源技术,因为能自主掌控的技术就是可选技术。

  第十一个坑是,企业是否需要统一的组织架构视图?每个系统,无论大小,都有一个用户和组织机构模型,每个系统都会重复建设,但是每个系统关注的组织机构模型“深度”不一样。最终决定是,每个系统暂时拥有各自的组织机构模型,开发平台根据“深度”要求定制模型。

  第十二个坑是,遗留系统问题。作为以业务驱动为主的公司,技术创新非常尴尬。研发人员不足,研发投入不足,研发成果落地困难,研发和项目群关系尚未理顺。

  为什么会选择Spring Boot 2 ?

  之所以选择Spring Boot 2,是因为它是现成的技术框架,凝聚着国内千万软件企业曾经的努力结果。另外,Spring Boot的开发特别简单。虽然Spring Boot有着自己的问题,比如对配置的依赖,后期扩展很难。但是,它能简化部署,还能进行部署监控等。最重要的是,Spring Boot改变了应用系统组织方式,能将系统拆分成小系统或者微服务。

  举一个例子,Spring Boot能让单元测试更加简单。现在单元测试面临的现状是,大部分程序员一直宣称自己做了单元测试,但实际上这是一个假的单元测试。因为单元测试有个特点是,必须是可以重复测试,但实际上据我所知,很多单测试都无法重复的。

  Spring Boot让测试变成非常简单,比如它可以通过注解,来模拟一个无法测试的内容,或者还未完成类。比如我们的积分系统管理,管理是一种设置,是一个没办法去做的单元测试。我们可以模拟一下,比如说模拟一个用户输入,模拟用户输出,这样去测试。还可以模拟各种情况,比如模拟异常或者模拟调用次数。

  企业应用很多测试会涉及到数据库,大多数会选择最初始化的一个数据库脚本去做测试。但是这样会有两个问题。第一个问题就是条款本身不是特别直观,尤其对于企业数据来说,它会产生大量的数据。如果用生物小本模拟,其实对于维护来说不是特别直观。第二个问题,你在单元测试完毕需要去做比较验证的时候,也需要写大量的代码去比较验证。如果从数据库取数据,还要看接口是不是一样,所以说我们在开发平台也做了一定程度增强。用Excel来模拟一个测数据,比如包含注册,我们也可以应用库的一个其他的一个基础的测数据。

  我们调试了各个表数据表数据可以调用的方法,也可以定义变量,在测试完毕过后,可以将数据库数据跟Excel数据进行比较。这样单元测试代码量就非常小,而且非常容易维护。无论是开发人员或者项目经理,或者需求人员,都能看明白你要测试什么,结果是什么,所以我们增强了数据模拟和测试验证。

  Activiti 流程引擎的重要性

  Activiti是流程引擎,采用它,是因为它是基于BPMN2.0,成熟可靠。并且,它的设计是将运行流程和历史流程分开,能支持数十万流程的同时运行。还有,国内有很多Activiti扩展的文章和工具。

  如果没有接触过工作流,想象中的工作流程应该是按照环节划分,以单线形式进行设计。实际应用中,系统里面能审批的流程非常少,这并不意味着企业没有决策执行,只是能落地到流程的内容很少。普通的流程跳转是正常流程,节点之间需要添加连线,任务撤回是不可能的,流程结束不可能恢复。但是国内应用很任性,流程节点可以任意跳,任意回退,不必要定义连线,只要新任务未处理,就可以撤回,结束的流程也能起死回生,并且可以回到任意节点。

  有人可能会说,为什么要回溯,能不能重新发一个流程?对于东方资产来说,重新发一个流程的成本非常大,环节特别多,会经过很多公司,甚至还涉及到很多总裁、经理、委员会的审批等。

  Activiti流程引擎能大大降低了流程的复杂度。

  那么,开源开发平台到底要怎样构建?最后总结一点,企业要基于开源技术自己干构建,并且整个开发平台要自下而上,逐层构建。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读