jxTMS是以低成本快速定制为核心诉求的、SaaS模式的二次开发平台,详见:jxTMS简介。本文是讲述jxTMS平台的系统结构和代码结构,整个系列请访问:jxTMS设计思想
系统结构
jxTMS的系统结构如图:
考虑到安全以及弹性扩展的需要,jxTMS切分为了web和app两大系统,两者之间通过MQ进行勾连。web系统只会访问存有用户登录信息等的公共数据库,并只负责用户登录以及和用户的交互【其中的大量工作还是由用户浏览器根据js代码来完成的,包括web界面的动态绘制、自动计算、数据检查、动态弹窗等】,其即便因暴露在互联网中被攻破,也不会对用户的数据资产产生任何的威胁。
注1:web系统的主要工作就是将前端数据转发到各组织,只有登录需要和公共数据库打交道。而登录功能则是用java所编写后经过反复测试的,更没有其它本地访问操作以尽可能的提高web服务的安全防护
注2:jxTMS的登录是二级登录,即用户首先用用户名密码登录到web系统中,然后web系统才会将登录请求转发到组织中,组织还需要检查该用户在组织中的状态,如果不存在该用户或该用户已经离职,则拒绝其登录,而由于用户界面全部由所在组织中各capa发送界面描述来动态绘制的,所以该用户只会看到一片空白的界面
用户系统以组织为单位运行在应用服务器上,每个组织通过MQ提供自己的应用服务,用户先登录到web服务器上,然后通过MQ以数据交换的方式来访问本组织的应用服务。而组织之间实现了彼此的隔离,这就确保了用户数据资产的绝对安全。
代码结构
每个组织以模块为单位来组织代码、界面、数据源等可定制部件,数个相关的模块组成一个代码空间,同一源头的空间放到一个目录下。其定制文件的目录结构如下:
-
web:定义web界面
-
capa.py:定义处理本模块业务逻辑的capa
-
op.py:定义本模块中各操作的访问入口
而一个代码目录就是一个三层的目录结构,第一层子目录是代码空间、第二层子目录是模块,模块中存放的上述5种定义文件。
jxTMS中有三种这样的代码目录:
-
公共模块,jxTMS提供给每个组织用来完成组织管理、人员导入、角色映射等公共的基础功能。这种公共模块保存在的指定系统模块代码目录中
-
第三方模块,由第三方提供的诸如财务管理、ERP、进销存、CRM等专业功能。这些模块保存在专门为第三方模块预留的目录中
而用户的功能升级非常简单,用新版本的定制文件覆盖原文件后,或订购了新的第三方模块后,只要manager用户执行一次热机刷新就可以了。
下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:
原文地址:https://www.jb51.cc/wenti/3285015.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。