关于企业组件延续性说明

2024-04-25 23:38
文章标签 组件 说明 企业 延续性

本文主要是介绍关于企业组件延续性说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2015年7月,从广州回长沙,跨越了应用行业,从配电网应用开发进入管理软件行业。一切重新开始,也不是重新开始。在广州的三年里,工作之余完成了中级软考,这为近4 年的工作打下了业务基础。软考的相关内容在近4年的工作中得以全面应用。合同管理与法律事务管理,我们现在的业务版本,完成了软考中关于合同,软件,及项目管理的整体知识。

合同管理与法律事务管理,基于统一的业务平台为不同的企业/行业打造适合的合同管理或法律事务管理平台。以合同管理为核心,控制签订前事务,签订过程内部审批,合同签订后履行跟踪,合同结束后合同评定等合同全生命周期管理,并且在发生合同纠纷后进行法律事务管理环节等。平台不断地进行更新,吸纳实施过程中遇到的业务场景,形成了当前较为完善的基础平台。

本人进入企业后,有幸赶上了工作流重新定义环节。在全面认识现状的基础上,对工作流引擎进行了延续性改造,使产品能快速增量替换已推广的客户,使客户快速转入新版本的使用中。

工作流引擎,作为管理软件的核心组件,必须是稳定/开放/可扩展/可后期干预的软件平台。才能有生命力,才能兼容客户的实际应用场景。我们的工作流已经接近50程序包组成,但原则是简单的,对工作流事务继续了前/中/后,三个动作拆分。前/后提供了完整的切片方案,使业务应用过程中可以根据业务进行定制。所以在R9版工作流推出后,平台从6个扩展点增加到了近60个扩展点。可以是前置代码扩展,也可是前置存储过程扩展;可以是后置代码扩展,也可以是后置存储过程扩展。使工作流组件可以应用到各行各业的具体业务实现中。

经过前三年业务的完善,平台基本功能已较为完善。在业务应用过程中,相应又提出了审批过程单据概念。用于实现基于岗位或基于特定节点的数据录入功能,并为审批过程单据与标准业务单据间建立了填充机制,使数据的产生可以贯穿整个审批过程,使审批过程更具有实用性。当前审批过程单据已经在多家企业上线使用。

随着业务量的增加,工作流组件的性能成为了核心问题。奇瑞集团有将近4万人员的组织数据在合同管理系统中,参与审批的人员将近4k。已完成审批项将近100w级。基于管理软件数据逻辑的辅助性,软件的计算量是惊人的。由于前期产品基本是单应用类型。所有事务完成依赖与web网站提供服务,使产品在现有4台服务器的支持下基本达到瓶颈期。

近期我们对消息提醒机制进行了改造,把原有由复杂视图提供数据的机制,调整为把消息数据物理化,使用rabbitMQ消息组件完成消息数据的生成,状态的同步以及特定数据的更新。并引入产品基础服务组件,使用quartz调度器完成数据修正监测服务,保障消息数据延后一致性,这将释放大量的计算能力。以便提高工作流组件的吞吐能力。

在改造消息机制的同时,提出了数据访问与数据操作分离方案,对已终审的流程进行转存,以便降低运行库的数据量,用以保障工作流运行能力。

当前我的团队,从手动修订工作流运行异常,转向到对客户的业务梳理,业务改造,与业务规划方向。

我们的工作流组件在不断完善,延续性完善中,在不断吸收客户业务使用场景,以便全面支持客户的业务发展需求。

 

这篇关于关于企业组件延续性说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936114

相关文章

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

JAVA覆盖和重写的区别及说明

《JAVA覆盖和重写的区别及说明》非静态方法的覆盖即重写,具有多态性;静态方法无法被覆盖,但可被重写(仅通过类名调用),二者区别在于绑定时机与引用类型关联性... 目录Java覆盖和重写的区别经常听到两种话认真读完上面两份代码JAVA覆盖和重写的区别经常听到两种话1.覆盖=重写。2.静态方法可andro

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Maven中的profiles使用及说明

《Maven中的profiles使用及说明》:本文主要介绍Maven中的profiles使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录主要用途定义 Profiles示例:多环境配置激活 Profiles示例:资源过滤示例:依赖管理总结Maven 中的