本文是讲述jxTMS平台自身是如何设计的系列文章之一。整个系列请访问:jxTMS设计思想
功能点【capa】是jxTMS最核心的部件。
说一千道一万,jxTMS是一个二次开发平台,那就脱离不了让开发者编程来解决问题,也就是说jxTMS的最终手段依然是一段代码、一个个函数。脱离了这一点,那就不叫开发、就无法提供解决问题的全能力。
认识到这一点,功能点是什么就很清楚了:就是用来执行用户代码的功能汇合点。也就是说,jxTMS提供了各种各样的工具,这些工具的目的就一个:让开发者低成本、高效、快速、健壮的开发出业务功能。这些功能就汇合在功能点中,以各种方式让开发者来使用:
显示一个web界面:通过调用一个disp的入口,功能点查找到相应的界面描述后将其刷新到web端绘制,然后触发一个同名的prepareDisp事件对该界面进行数据装定
数据库事务接口:当一个事件被触发后,功能点打开本组织的私有数据库连接,为此连接创建一个数据库事务,然后将这个数据库事务作为参数交给被调用的事件响应函数执行。如果该事件响应函数执行完毕,则向数据库提交该事务,如果执行中掷出异常,则回滚该事务,事件响应函数中异常点之前对数据库所做的任何修改都会被撤销,这就大大降低了用户代码的容错管理:错了就错了,提示用户或放弃、或修正数据后重新执行就好
上下文:即事件响应函数被调用时的当前环境,包括当前用户、用户所在组织等,在调用事件响应函数时,上下文作为两参数之一,和数据库事务一同被传递给事件响应函数
数据类/数据表:用户在data文件中定义的数据类,jxTMS会自动为其在数据库中创建同名的数据表。jxTMS也提供了相应的读取函数,可以读取数据表的一行数据并转换为capa所在执行空间中的一个数据对象,其类型就是同名的数据类。开发者可以和普通类的实例对象一样修改其属性,然后一个update就可以将这些修改提交到数据库中。capa借此打通了数据库和数据对象之间的鸿沟,开发者无需关心任何数据库访问的问题,也就大大降低了开发成本
数据查询:列表查询是使用非常频繁的一个功能,所以jxTMS对此做了特别的优化,通过在入口中设置几个参数,就自动实现了支持条件查询的、分页的列表查询功能。当然,也支持开发者在capa中手动的按需执行带条件的批量查询
流程:流程是业务协作的关键部件,所以jxTMS也对此做了特别的优化,除了流程启动要收集流程数据以及流程审批完毕时要做相应的处置,中间的审批环节大都不需任何处理即可自动完成
业务规则:jxTMS针对业务逻辑中的合规性审查部分,提供了业务规则表作为开发者和需求方直接沟通的工具。用需求方可理解的方式直接将合规性审查的条件和动作编写为中文规则,这就大大提高了开发效率、降低了沟通成本和bug率。而什么时候启用业务规则来进行合规性审查,就由开发者调用相应的函数来执行,这也增加了开发者的直观与控制感,便于其完整的理解业务逻辑
在jxTMS的视角,一个完整的业务功能由多个业务场景组成,而一个业务场景则由多个用户操作组成,而这些用户操作就分布在各个功能点中的。功能点中的一个事件响应函数就对应用户的一个操作。
同一个业务的用户操作尽量在一个模块中完成,但有时也可能是在其它空间中,如故障排查中的将故障提取为知识,那么在现场排查故障时获取这些支持知识的操作就自然应归入知识管理模块中
功能点可以看作是同类操作的集合,开发者用jxTMS所提供的种种功能,在一个事件响应函数中直观的、完整的、清晰的、简洁的表达一个操作的业务逻辑。这,就是jxTMS最基本的设计思想!
目前jxTMS已经开放个人注册试用,欢迎大家注册试用:
下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:
下面的系列文章讲述了jxTMS的一些基本功能: