F1V3.0-9 微服务功能介绍
平台提供了四种组件,util,starter,interface,microserver,如下图所示。本文将对每一类组件进行详细说明,帮助您更好的理解平台。
1 平台基础组件
Util:包含f1-core,f1-data,f1-exception,平台最基础组件,包括一些工具类等。
util | 说明 | 功能 |
---|---|---|
f1-core | 基础核心包 | ServiceAgent.java,提供模型工具调用代理,BufferedServletInputStreamWrapper流包装,CommGZIPFilterGzip压缩过滤器,用于压缩资源,GenericServiceImpl通用模型操作服务等基本工具类 |
f1-data | 数据访问基础工具包 | 包含数据访问操作接口实现(GenericDao,GenericDaoImpl),缓存工具类,guid生成工具类,最常用的DataRow,DataTable等基础JavaBean。 |
f1-exception | 自定义异常处理 | 提供平台自定义异常处理 |
2 starter组件
starter共性:平台提供了一些默认starter,用户只需要引入某一个starter,就能够使用相应的功能,类似于Spring Boot 的starter,提供一些开箱即用的功能。
starter | 功能 | 依赖 | 自动装配的服务 |
---|---|---|---|
f1-starter | 包含所有的starter,用户如果引入f1-starter可以使用平台的starter所有功能 | ||
f1-starter-ui | 平台前端组件后台服务放置在这里。包括bp,bd,树等的服务。 | f1-core,f1-data,f1-exception,f1-interface-ui | ComboBoxController:下拉框服务通用control;EntityOperationController:grid请求Control;ExcelUploadController:上传文件control;FormOperationController:表单数据通用control;ListViewPanelController:列表框控制器;TreeController:树通用control;UIDataQueryController:多维统计表格查询控制器;DataTableQueryService:数据表格查询装配操作;UploadFileControlServiceImpl:上传文件控制抽象服务;QueryTableNameService:根据service名称或clsId得到对应的表名 |
f1-starter-data | 平台数据访问starter,初始化了sessionFactory,genericDao,transactionManager。 | f1-data | DataConfigure:序列读取操作;DaoAutoConfigure:初始化了sessionFactory,genericDao,transactionManager;DruidDBConfig:druid数据源装配dataSource |
f1-starter-script | 脚本对象接口,脚本对象服务(获取脚本,删除脚本等基础服务) | f1-starter-ui,f1-starter-data,f1-interface-script | TbSysScriptService:脚本对象服务。 |
f1-starter-cache | 缓存starter,包含缓存配置对象配置类CacheConfigure,缓存操作Dao,包括获取缓存key,删除缓存,更新缓存等基础操作 | f1-starter-data | CacheConfigure:初始化了cacheManager,KeyGenerator,redisTemplate;EntityCacheConfig:实体缓存相关配置,getEntityCacheManager实体缓存管理器,CacheDao创建缓存操作Dao |
f1-starter-configure | 提供了读取resource.xml工具类,读取Spring Bean的操作类SpringBeanHelper。获取平台默认配置的操作类GetPlatformConfig以及Swagger配置类SwaggerConfigure。 | f1-exception | PlatformConfigure: 平台针对于application配置文件中对于平台配置项的读取;SpringBeanHelper: spring上下文获取工具;SwaggerConfigure:swagger2配置类;GetPlatformConfig:暴露给外的获取配置项类 |
f1-starter-chart | 提供echart图像操作服务以及工具 | f1-data,f1-starter-configure,f1-exception,f1-starter-ui | ChartController:图形控件控制器;EChartsController:ECharts服务;ChartCmdServiceImpl:图形拼装服务,createChart:返回完整的图形xml,createPluralChartDataItem:在ChartDataTable中添加一批chartDataTableItem |
f1-starter-auth | 单点登录应用starter,第三方应用接入平台需要引入该starter | f1-core | FeignClientsConfiguration:feign拦截器,依照zuul在过滤链中所做工作类似,将session依次下传;F1ResourceServerConfiguration:提供了swagger授权;ThreadLocalConfigurer:拦截器 |
3 interface 组件
连接微服务之间的桥梁,提供fegin访问方式,挂接脚本接口实现等。
interface | 功能 | 依赖 | Fegin client |
---|---|---|---|
f1-interface-model | 提供了模型挂接脚本的实现,模型相关的脚本操作放置在这里。微服务访问的fegin客户端,ModelInfoClient,SQLParserClient,UserParserClient,用于访问model中的服务 | f1-core,f1-starter-script | ModelInfoClient: 模型schema信息获取客户端。UserParserClient:用户信息解析器;SingleBDClient:单表操作客户端 |
f1-interface-quartz | 调度任务interface,调度任务的挂接脚本放置在这里,以及用于访问的调度任务服务的fegin客户端,调度任务通用接口,java Bean等 | f1-interface-script | JobScriptClient:定时任务脚本客户端;QrtzJobExecLogClient:定时任务日志记录客户端;SchedulerClient:调度任务客户端;SchedulerJobGridClient:调度任务表格数据客户端;SchedulerJobTreeClient:调度任务树数据客户端; |
f1-interface-permission | 提供了AuthorizingSystemInfoClient授权系统客户端ModelModuleClient,PersonClient,SysRoleClient用于其他微服务访问的feginclient。以及模型工具登录,菜单,角色代理 | f1-core | AuthorizingSystemInfoClient:获取授权系统信息客户端;PersonClient:判断是否存在人员;SysRoleClient:判断是否存在角色;ModelModuleClient:根据模块ID 查找模块 |
f1-interface-workflow | 工作流interface,提供了访问工具流服务的fegin客户端 | f1-core,f1-interface-permission,f1-interface-sysconfig,f1-interface-script | WorkFlowControlClient:流程操作相关服务 |
f1-interface-sysconfig | 包括公共代码请求客户端,系統配置微服務客户端,用于访问f1-sysconfig中的微服务, | f1-core | SyscodeClient:公共代码请求客户端;SysConfigClient:系統配置微服務客户端; |
f1-interface-websocket | WebSocketClient用于从后台访问websocket服务进行消息推送 | WebSocketClient:从后台访问websocket服务进行消息推送 |
4 microserver组件
微服务组件,如上图所示平台提供了几种微服务,接下来介绍各自的功能以及常用配置。
各个微服务通常有统一的配置,application.properties,bootstrap.properties,里面提供了数据库,redies,微服务注册,ribbon,fegin超时,oauth授权,日志等的基本配置,还有一些特殊的微服务拥有自己特有的配置。
4.1 f1-quartz
调度任务微服务:主要为建模工具中的调度任务提供服务,包括异常日志,状态日志的记录。
依赖:f1-starte,f1-interface-quartz
主要服务
com.jb.quartz.controller介绍
控制器 | 功能说明 |
---|---|
QrtzJobExecLogController | 主要提供了保存操作日志的方法 |
SchedulerController | 调度任务控制器,包括了触发器的查找,新增,删除,修改,暂停启动,以及触发器任务的相关操作 |
SchedulerJobGridController | 查找任务相关服务 |
SchedulerJobTreeController | 模型工具左侧树请求控制器 |
4.2 f1-model
模型微服务:主要为模型工具提供服务,包括类型,属性编辑器,关系,应用的相关操作。
依赖:if1-starter,f1-interface-model,f1-interface-permission
主要服务介绍
com.jb.model.controller介绍:
控制器 | 功能说明 |
---|---|
AppAttrController | 应用属性对应控制器 |
AppClsFltServiceController | 应用条件控制器 |
AppClsGrpServiceController | 应用分组控制器 |
AppClsServiceController | 应用类型控制器 |
AppClsUiServiceController | 应用界面控制器 |
AppController | 应用增删改查控制器 |
AppRelaController | 应用关系对应控制器 |
AttrController | 属性操作控制器 |
BfAppModelControl | 根据应用ID获取应用 |
ClsController | 类型控制器 |
ClsfltController | 过滤条件控制器 |
ClsGrpController | 分组控制器 |
ClsScriptController | 类型脚本控制器 |
ClsUiController | 属性界面控制器 |
DbstController | TbModelDbst请求分发控制类 |
EdtController | 属性编辑器请求分发控制类 |
EdttmplParamController | TbModelEdttmplParam请求分发控制类 |
ParadmController | TbModelParam请求分发控制类 |
ParamKindController | TbModelParamkind请求分发控制类 |
PkgController | 包控制器 |
RelaServiceController | 关系控制器 |
TableTransferController | 模型表迁移控制器 |
com.jb.model.engine.controller介绍:
控制器 | 功能说明 |
---|---|
BatchBDOperationController | 多业务数据操作控制器,提供多数据的查询、增加和修改功能 |
BDEditorController | Editor控制器,用于获取Editor的相关信息 |
BDOperationController | 多业务数据操作控制器,提供多数据的查询、增加和修改功能 |
BDSchemaController | Schema控制器,用于获取模型信息 |
BDTreeController | 树控制器,用于获取导航树相关信息 |
CacheController | 用于清除缓存 |
DBInfoController | 获取数据库相关信息,表空间,获取数据库类型等 |
SQLParserController | 解析属性编辑器和过滤条件中的占位符 |
UserInfoController | 用于获取当前登录用户信息 |
UserParserControl | 处理占位符,自定义过滤条件,从用户视图中查找用户数据等 |
com.jb.model.modelexport.controller介绍
控制器 | 功能说明 |
---|---|
ModelExportController | 用于建模工具中模型导出 |
com.jb.model.modelimport.controller介绍
控制器 | 功能说明 |
---|---|
AppClsAttrImportController | 应用类型属性导入控制器 |
AppClsFltImportController | 应用类型过滤条件导入控制器 |
AppClsGrpImportController | 应用类型分组导入控制器 |
AppClsImportController | 应用类型导入控制器 |
AppClsUiImportController | 应用类型界面导入控制器 |
AppImportController | 关系导入控制器 |
AppRelaImportController | 应用关系导入控制器 |
ClsAttrImportController | 类型属性导入控制器 |
ClsFltImportController | 类型分组导入控制器 |
ClsGrpImportController | 类型分组导入控制器 |
ClsImportController | 类型导入控制器 |
ClsScriptImportController | 类型界面导入控制器 |
ClsUiImportController | 类型界面导入控制器 |
EdtImportController | 编辑器导入控制器 |
GenericImportController | |
PkgImportController | 包导入控制器 |
RelaImportController | 关系导入控制器 |
com.jb.model.modelquery.controller介绍
控制器 | 功能说明 |
---|---|
QueryModelController | 模型查询控制器 |
com.jb.model.security.controller介绍
控制器 | 功能说明 |
---|---|
CiphertextController | 密码规则控制器 |
com.jb.model.zzbs.control介绍
控制器 | 功能说明 |
---|---|
ViewInfoController | 试图信息控制器 |
4.3 f1-permission
平台组织机构微服务:提供人员,组织机构相关服务。
依赖:f1-starter,f1-interface-model,f1-interface-websocket,f1-message
主要服务介绍:
com.jb.organization.controller介绍
控制器 | 功能说明 |
---|---|
DepartmentOperationController | 部门控制器 |
InviteUserController | 邀请人员操作控制器 |
PersonLoginIdCheckController | 验证登录名是否唯一 |
PersonOperationController | 人员操作控制器 |
PersonSearchController | 人员查询控制器 |
RegisterController | 用户注册,验证码获取控制器 |
ResetPassWordController | 重置密码 |
UnlockPersonController | 解锁用户 |
com.jb.permission.controller介绍
控制器 | 功能说明 |
---|---|
AccountController | 登录相关控制器 |
MenuModuleController | 主题模块相关控制器 |
MenuTopicController | 主题控制器 |
PersAdminRoleController | 人员角色控制器 |
RoleController | 系统管理,人员角色 |
SystemAuthorizingInfoController | 系统授权信息控制器 |
SystemController | 系统管理,获取相关授权信息 |
SystemModuleController | 系统模块管理,模块授权 |
com.jb.permission.controller.aop介绍
控制器 | 功能说明 |
---|---|
RoleControllerAdvice | 控制器针对EXT特殊处理 |
4.4 f1-workflow
工作流微服务:建模工具中流程控制,界面中的任务台服务。
依赖:f1-starter,f1-interface-sysconfig,f1-interface-permission,f1-interface-model,f1-interface-websocket,f1-interface-workflow,f1-interface-message。
主要服务介绍
com.jb.workflow.controller介绍
控制器 | 功能说明 |
---|---|
BDWorkFlowSchemaController | Schema控制器,用于获取模型信息 |
ChildNodeController | 建模工具的子流程选择相关的操作控制器 |
DefinitionTreeController | 流程展示树控制器 |
FlowControlController | 流程服务相关控制器 |
ModelAttachFlowController | 应用模型与流程挂接点控制器 |
ProcessDefinitionController | 流程定义相关的控制器 |
SendDialogController | 发送对话框控件 |
SendDialogViewsController | |
StepController | 环节控制器 |
TransitionController | 迁移线控制器 |
UserAppointController | 人员委派维护操作控制器 |
UserHistoryTaskPlatformController | 用户历史任务台控制器 |
UserTaskController | 用户任务控制器 |
WfScriptController | 工作流脚本控制器 |
WorkFlowCommentController | 流程日志 |
WorkFlowDefaultProcessController | 获取流程表单限制域,保存流程表单限制域 |
WorkFlowFormStatusController | 流程表单状态控制器 |
com.jb.workflow.modelexport.controller介绍
控制器 | 功能说明 |
---|---|
FlowModelExportController | 流程模型导出控制器 |
com.jb.workflow.modelimport.controller介绍
控制器 | 功能说明 |
---|---|
FlowModelImportController | 流程导入控制器 |
4.5 f1-sysconfig
系统配置微服务:用于界面中配置管理模块,包括会话配置,身份配置,流程配置,系统配置。
依赖:f1-starter,f1-interface-sysconfig,f1-interface-model
主要服务介绍
com.jb.config.controller介绍
控制器 | 功能说明 |
---|---|
SysConfigController | 系统配置控制器服务 |
com.jb.syscode.controller介绍
控制器 | 功能说明 |
---|---|
SysCodeController | 公共代码控制器 |
4.6 f1-websocket
websocket微服务:用于消息的实时推送。
依赖:f1-util
主要服务介绍
控制器 | 功能说明 |
---|---|
WebSocket | websocket服务器端 |
PushMessageThread | 消息推送线程 |
WebSocketDispatcher | webSocket消息中心 |
WebSocketController | 推送消息 |
4.7 f1-appendant
消息管理器微服务:包括收件箱,发件箱,草稿箱。
依赖:f1-starter,f1-message,f1-interface-websocket
主要服务介绍:
com.jb.assist.controller介绍
控制器 | 功能说明 |
---|---|
LoginUserController | 获取当前登录人信息,数据库类型 |
com.jb.msg.controller介绍
控制器 | 功能说明 |
---|---|
MsgController | 消息相关控制器 |
4.8 f1-datasearch
通用查询统计微服务:为查询模型维护,自定义查询,通用查询模型树维护提供服务。
依赖:f1-starter,f1-interface-model,f1-interface-ui
主要服务介绍
com.jb.datasearch.controller介绍
控制器 | 功能说明 |
---|---|
UserSearchAppController | 用户查询应用控制器 |
UserStaAppController | 用户统计应用控制器 |
4.9 f1-filesystem
文件系统微服务,用于文件的上传,下载,预览等
依赖:f1-starter,f1-core
主要服务介绍
com.jb.filesys.controller介绍
控制器 | 功能说明 |
---|---|
FileController | 文件上传下载,预览控制器 |
4.10 f1-mobile
为手机端提供的微服务。
依赖:f1-starter,f1-message
主要服务介绍
控制器 | 功能说明 |
---|---|
MobileMessageController | 移动消息控制器 |
UpdateManagerController | 移动端应用升级管理 |
4.11 f1-message
提供了俩中消息机制,kaffka,jms。
依赖:f1-starter
主要服务介绍
控制器 | 功能说明 |
---|---|
JMSConfig | jms配置类 |
KafkaConfig | kafka配置类 |