共工产品说明书
A. 产品介绍
1. 产品概述
共工是一款国产化工业 APP 开发平台,基于模型驱动技术引擎、资源、模型和业务组件,提供工业 APP 全生命周期服务能力,赋能业务人员敏捷搭建工业 APP。共工能够:
- 将工业机理、技术、知识、算法与最佳工程实践,通过低代码配置完成封装,解决工业场景单点问题;
- 支持以集群化应用工业 APP 集的方式,集成各 APP 能力,联合计算,解决工业复杂场景问题;
- 通过重用、重构资源库中包含丰富工业知识的资源,快速完成工业 APP 开发,实现工业知识的流通与共享。
2. 应用场景
共工的应用场景主要有三类:
企业数字化转型
使用共工自主搭建工业 APP,能够将工业知识与数据结构等内容沉淀在 APP 上,能够帮助企业的工业技术和知识得到有效传递,避免人才流失时导致的知识断层。此外,通过共工低代码搭建的 APP 支持灵活扩展,响应业务变更,而且在搭建过程中建立了标准,统一应用规范,提升企业效率,进而帮助工业企业实现数字化转型。
政企平台底座
使用共工,能够建设区域性的工业互联网服务平台,提供平台 + 特色产业 APP 服务。基于低代码开发的特性,共工能够降低区域内生态企业的软件开发成本、降低中小企业数字转型门槛、减少工业管理软件实施差异,推动地方产业集群高效升级,促进区域经济发展。
初创软件公司
基于共工资源库与低代码开发工具,能够低成本、高效地构建云原生 SaaS,使用工业 APP 运行环境服务最终用户。对于初创软件公司来说,共工能够帮助提高创业人员的开发效率,降低早期成本;帮助他们专注于自身所处的业务属性,更多地规避计算机技术难题。
3. 产品优势
作为一款面向业务人员的工业 APP 低代码开发工具,共工的主要特点与优势如下:
- 编程方式可视化:产品语言图形化,拖拽式搭建应用,可视化编程更加直观;
- 对业务人员友好:工作流编排和领域模型的建模语言,更加贴近业务模型,业务人员使用起来更加自然;
- 模块化复用:在开发时,可使用充分解耦的预制功能模块,提高软件工程质量;
- 降本增效:减少重复编码工作,对比传统开发模式,能够提升 3~4 倍开发速度,大幅降低人工成本;
- 工业属性:资源库中拥有海量工业场景相关的组件与模板,帮助企业业务人员与工程师与实现工业知识共享共用;
4. 功能架构
共工主要由五部分组成:开发工具、应用运行、企业控制台、资源库、社区与支持。
开发工具是搭建 APP 的核心模块。应用运行模块包括发布、连接外部数据库、运行环境自定义,当用户搭建好 APP 后,可以注册数据源以及环境,将其发布至运行环境。控制台是共工提供给企业用户的管理后台,实现团队协同与管理。资源库和社区是共工正在建设的模块。在资源库中,用户可以选择 APP 模板、行业组件,帮助提升搭建效率,社区是用户进行反馈和沟通的地方。
开发工具
开发工具是开发 APP 的核心工具,将传统写代码的方式解耦为五大模块:领域模型、页面编辑器、逻辑编排、工作流、业务连接器。通过在五个模块内进行的独立设计与组织串联,以实现整个 APP 的搭建。关于开发工具的详细说明,具体可见本文档的第二章内容。
在领域模型内,您可以创建并配置实体、实体属性、实体关联关系,从而实现定义 APP 的数据结构。这一过程类似于 ER 图建模。
在页面编辑器,通过对元件进行排版布局以及绑定数据源,您可以设计出呈现给终端用户的可操作的 UI 界面。
应用逻辑编排,是用可视化拖拉拽元件的形式,取代传统后端代码的方式,完成对 APP 程序中一条条逻辑的搭建。这些逻辑能够将终端用户在 UI 界面上的操作保存至数据库,以保证 APP 的运转。
工作流的编排,指的是搭建相对固定的、需要指派给人来完成的任务的流程。审批流就是一种典型的工作流。
业务连接器,为 APP 提供外部数据接入能力,支持协议类型:http、https、socket。
应用运行
共工支持编辑态和运行时一体化,平台整体为一个 java 进程、多线程服务的方式,使用单个服务进行部署。
应用运行环境支持一应用多环境方式,支持应用内创建多个环境连接不同数据源;
平台提供数据源注册方式,可将外部数据库注册为共工数据源以作应用发布;外部数据库可选自动同步模式、手动同步模式,手动模式下可由用户自主执行 DDL 来提供更高的数据安全性;
控制台
控制台是共工提供给企业用户的管理后台。在共工平台上可以通过创建企业空间并邀请用户加入空间,实现团队协同;协作开发模式下,支持多人协作同时搭建同一个应用,并支持管理应用开发权限。控制台的功能模块包括:组织架构、角色与权限、成员管理、应用管理、企业管理、日志管理
- 组织架构:提供统一的组织架构能力,在基础的人员与部门管理层面,支持界面化直观、灵活地创建、修改以及删除多层次的组织结构,并细致维护每个员工的详细信息。组织架构的单元为部门,企业内可创建多个部门,且部门之间可设置层级关系。
- 角色与权限:采用基于角色的访问控制(RBAC)模型,提供基于组织架构分配用户的系统访问权限和操作权限,实现精细化的权限控制,确保各个层级的员工只能访问与其职责相符的内容,从而有效保障了企业信息安全并遵循内控要求。
- 成员管理:可统一查看和管理企业空间内的所有成员及其信息,进行成员的增、删、改、查。
- 应用管理:可统一查看和管理企业空间内的所有应用及其信息,根据需要做应用冻结和启用操作。
- 日志管理:展示该企业空间内的登录日志、操作日志、审计日志。
- 企业管理:查看企业基本信息。
资源库
资源库是共工基于过往项目,提取、沉淀出来的成熟解决方案、可复用模组、应用模板与小组件。利用资源库,您可以在模板基础上进行搭建,提高开发效率。
- 解决方案。为高端装备行业、流程化工行业、煤炭能源行业、离散通用行业提供解决方案。例如,针对高端装备制造行业设计、制造、运维阶段的特点和痛点,雪浪数制以雪浪云数字中枢系统为基础,构建的服务于设计、制造、运维统一架构的全生命周期数字孪生平台,帮助企业实现全要素数字化、高端化,大大缩短研发设计和测试周期、提高人员部门协同效率,改进生产流程、提高生产质量、缩短产品制造周期,优化装备运行控制性能和监测运维服务,驱动更新的产品、更快的响应和更好的服务,助力高端装备制造企业提升综合竞争力实现产业转型升级。
- 模板。内置丰富的制造业模板,包括设备与运维管理、仓库管理、云 MES、进销存管理等。
- 应用服务。内置多种围绕工业场景应用服务,包括组态服务、报表服务、文档结构转换服务、AI 工具服务等等。
- 模组。由多个小部件组成的可被重复使用的套组。
- 小部件。一个元件就是一个功能原子。用户可以通过元件的组合和配置来支撑灵活的页面搭建。
社区&支持
开发者社区。主要为解决共工相关技术问题的社区,让开发者问题能够更快得到解决,让已经存在的技术文档发挥更大的价值
技术支持。包括两方面内容,一是进行技术上的维护,二是进行服务上的沟通。售前技术支持是指在销售遇到无法解答的产品问题时,售前技术支持给予帮助;售后技术支持是指产品公司为其产品用户提供的售后服务的一种形式,帮助用户诊断并解决其在使用产品过程中出现的有明显症状的,可能由产品导致的技术问题。
共工功能架构如下图所示:
5. 主要界面
共工首页如下图所示,主要包括 5 个功能区(推荐模板功能后续将迭代上架):
- 菜单:可以在首页、应用中心、连接资源、模板中心等界面进行切换,并跳转至学习中心;
- [工作台]/[应用开发]切换按钮:共工轻应用版实现编辑态和运行态合一,可以直接在工作台模式下点击应用直接访问到应用运行态;
- 个人中心:包括用户的空间管理与账号设置;
- 常用教程:可快速跳转到视频/文档教程;
- 应用快速入口:这里展示最新更新的应用,可直接点击进入;工作台模式下,点击应用直接访问运行时,应用开发模式下,点击应用后进入开发状态;
开发工具框架主要包括四块:顶部功能区、功能导航区、应用结构(左侧栏)、工具栏(右侧栏)、中间画布。
- 顶部功能区:菜单、历史记录、回退、前进、邀请、预览、发布、个人中心等功能
- 功能导航区:应用、导航、媒体库、环境管理、发布管理等功能入口
- 应用结构:展示应用的整体结构,以模组为结构块
- 工具栏:包括元件、属性、变量栏,主要用于添加组件、配置项编辑
- 中间画布:核心编辑区域,可视化编辑页面、领域模型、逻辑、流程
B. 功能说明
1. 注册与登录
您可以从地址 http://mlcdp.xuelangyun.com/进入共工,使用邮箱或手机号注册、登录。
新用户默认处于个人空间首页,即设计器页面,在个人空间里,用户只能独自进行应用搭建。
如您希望与他人协作开发应用,请您在点击右上角 账号 - 申请企业空间。
共工首页如下图所示,主要包括 5 个功能区(推荐模板功能后续将迭代上架):
- 菜单:可以在首页、应用中心、连接资源、模板中心等界面进行切换,并跳转至学习中心;
- [工作台]/[应用开发]切换按钮:共工轻应用版实现编辑态和运行态合一,可以直接在工作台模式下点击应用直接访问到应用运行态;
- 个人中心:包括用户的空间管理与账号设置;
- 常用教程:可快速跳转到视频/文档教程;
- 应用快速入口:这里展示最新更新的应用,可直接点击进入;工作台模式下,点击应用直接访问运行时,应用开发模式下,点击应用后进入开发状态;
2. 个人空间与企业空间
点击右上角图标,用户可以选择在 个人空间 和 企业空间 切换,或者创建新的空间。
- 个人空间和企业空间的主要区别在于是否支持多人协作,个人空间仅支持用户个人搭建应用,而企业空间支持多人协作共同搭建应用。
- 所有共工用户均拥有个人空间;而企业空间需要用户申请并通过审核方可进入。
申请企业空间的步骤如下:
a,点击“创建企业空间”按钮,填写企业基础信息:
b,在通过审核后,用户可以进入企业空间试用版,试用版对协作人数有所限制,如果用户希望提高协作人数,或者获取私有部署版本,可以联系共工工作人员取得帮助。
3. 创建应用
点击“应用”,进入应用列表,点击“创建应用”按钮 ,跳出弹窗:
选择空白应用,输入应用名称、选择行业、上传图标后,点击“确定”。新应用即创建成功。
4. 应用管理
企业空间内,在应用列表页面,应用的拥有者可以点击应用卡片右上角的管理图标,出现下拉框选项。
- 编辑应用基础信息
- 移交管理员
- 导出到本地
- 更新元数据
- 复制应用
- 冻结应用
- 删除应用
而个人空间不具备协作的情况,因此应用管理功能不具备“移交管理员”、“冻结应用”功能。
5. 应用开发 - 新建模组
模组,是为了帮助用户清晰划分功能模块的存在。比如,如果使用共工开发一个“进销存系统”,那么“进”、“销”、“存”可以是三个模组。这样,每个定义清晰的功能模组,未来可以被导入导出,在不同应用中被复用。
在点击应用,进入应用开发后,此时可以看到应用默认拥有两个模组:系统模组和默认模组。
- “系统模组”:该模组包含了针对应用全局的数据结构(领域模型)和全局性的配置入口(安全设置与应用导航配置),不支持用户修改、新增与删除内容,但可以进行全局性的配置。
- “默认模组”:是新建应用默认自带的一个普通模组,支持修改、新增与删除。
在默认模组和其他新建模组内,可以新建和存放各种诸如页面、逻辑等资源。
6. 应用开发 - 领域建模
在默认模组或者新建模组的领域模型内,用户可以通过定义实体、实体属性、实体间关联关系来定义业务的数据模型。
- 实体包括编码和名称两个基本设置;
- 实体属性包括 11 种数据类型:字符串、哈希字符串、日期与时间、枚举、布尔、整数、超长整数、精确数字、递增序号、图片、文件;
- 实体间关联关系有 3 种数量类型:一对一、多对一、多对多。
7. 应用开发 - 逻辑定义
- 在共工开发工具里,已经提供了许多开箱即用的内置逻辑,比如不同按钮的“提交”“打开页面”、“关闭页面”等内置功能。除了这些内置逻辑以外,共工还提供另一种方式——“逻辑”。逻辑是一种支持拖拽交互方式、图形可视化表达代码程序逻辑的方式,能够帮助用户快速实现逻辑的自定义。逻辑可以执行诸如创建或更改对象、显示页面、IF 逻辑判定和调用另一逻辑等操作。
- 逻辑画布右侧的工具栏,分为元件栏和属性栏两个 Tab:
- 通过拖拽元件至画布,并且定义每个元件的具体属性配置,用户可以完成逻辑编排:
8. 应用开发 - 页面设计
- 页面编辑器可以将应用的界面分解至页面结构、数据容器、功能组件,让用户在这些层面上进行定义,从而实现给终端用户使用的应用界面搭建。
- 页面除了能够展示信息、创建信息、修改信息,还支持集成共工开发工具中的其他模块——逻辑、工作流,触发其他流程,或者额外的自动处理。
在上图中,位于中间的是所见即所得的页面编辑画布,右边的工具栏包括两个 Tab:
- 一个 Tab 是用于设计页面的元件栏,元件主要分为“数据容器”、“结构布局”、“输入元素”、“文本与标题”、“按钮”类别。用户可以通过拖拽的方式将元件加入中央的页面画布,完成页面元素的组合。
- 另一个 Tab 是元件的属性配置栏。当用户选中画布中的元件时,右边属性栏会显示这个元件的配置项。用户通过在属性栏修改参数或选择配置,实现对页面元素的内容与样式控制。
9. 应用开发 - 工作流编排
- 工作流是共工的一种可视化语言,允许用户构建可扩展的流程,适用于编排相对固定的需要指派给人来完成的任务的流程,比如新员工入职的流程,员工请假的人事审批、设备管理的审批流程等。在共工里,工作流能够和开发工具中的领域模型、逻辑编辑器和页面编辑器之间互相调用、实现集成的效果。
- 工作流的工具栏也分成元件栏和属性栏两个 Tab,元件栏包括六种元件(并行、决策、跳转、结束、用户任务、调用逻辑),如下图所示:
- 用户可以将元件拖拽至画布、对元件进行排列组合,完成工作流流程的逻辑编排。
- 在每个元件的选中状态下,右侧显示该元件的属性栏。此时,用户可以对元件的具体配置进行定义。
10. 应用开发 - 扩展功能
枚举
- 枚举是可被应用全局使用的一种资源类型,本质是一个类别下不同的数字标识与现实含义的映射关系集合。
- 点击模组或文件夹的“更多”,选择 新增其他 - 枚举。
- 完成新建枚举以后,根据实际情况,填写枚举值和枚举名称,完成枚举设置:
Java 扩展
- Java 扩展是用户处理业务深层次逻辑的自定义实现。通过 Java 扩展,用户可以将 功能 Java 代码与共工完成集成,拓展应用功能边界,满足用户在实际场景下的自定义需求。
- 在模组或文件夹的“更多”按钮点击“新增其他”-“Java 扩展”。
首先,用户点击上传 Jar 文件,完成本地文件上传;
其次,点击“添加 Java Action”,跳出配置弹窗:
用户可以为一个 Java 扩展添加多个 Java Action ,但仅能上传一个 Jar 文件。
11. 应用开发 - 配置导航
- 导航(菜单)是组织起一个应用的关键骨架。通过配置导航,可以定义终端应用各功能模块的结构性入口。
- 共工的导航配置主要包括首页和导航栏元件的配置。
- 选中导航栏时,右侧属性栏可以定义该导航栏绑定的事件(有“无”、“页面”两种);画布中支持继续增加同层级和子层级的导航栏,导航栏的层级最多支持到三层。
12. 权限管理
基于 RBAC 的模式管理权限,通过角色将不同成员划分在一个分类下,为角色授权可编辑的应用、可访问的应用、页面,实现权限的管控。
当应用的安全模式设置为“企业空间管理”时,可在使用控制台的角色与权限功能做权限管理,详见下文。
默认对于初次创建的企业空间均预置了企业空间管理员、创建人员的角色;
企业空间管理员:拥有当前企业空间内最高权限,及企业控制台的所有操作权;
创建人员:拥有当前在企业空间内创建应用的权限;
预置角色均不支持修改。
可根据业务需要添加自定义角色,已添加的角色可进行编辑、删除、冻结、启用。
点击[新建角色]按钮,可添加新的角色,需填写角色名称、编码、描述,编码为唯一标识,系统会自动生成随机码,可根据业务含义修改,角色创建成功后,编码不可再改变。
编辑角色:可修改角色名称、描述,角色编码一旦定义以后不能修改。
删除角色:当角色不需要使用了,可以直接单击[删除],删除后无法恢复,请谨慎操作。
停用/启用角色:多选角色,点击[批量停用]/[批量启用]按钮,可批量停用/启用角色。
在角色列表操作栏,点击[授权],可以进入这个角色的权限定义页;目前共工平台根据应用的编辑态和运行时,区分了应用的开发权限和访问权限两种类型。
- 应用开发权限:是否有权限对企业空间内的应用进行编辑开发应用,权限粒度为应用;
- 应用访问权限:页面权限、访问权限;
- 页面权限:不区分环境,在应用维度设置角色能够访问到的页面。
1. 点击[设置]后,在弹窗里勾选页面即可
1. 导航权限默认跟随其绑定的页面权限,如果要更改,在导航处勾选即可,父级导航的角色默认为其子级导航的角色之和
- 访问权限:勾选这个角色对应用的某个发布环境的权限。同一应用在开发过程中通常会发布在多个环境,比如开发环境、测试环境、正式环境等,因此需要一一定义对每个环境的访问权限。如下图所示的设置,1.1.0 版本 1 这个应用有 5 个环境,这个角色可访问环境 2 和环境 3,不可访问其他环境;
13. 应用开发 - 应用发布
支持为每个应用创建多个环境,用于应用发布,方便开发开发工程中的测试和上线,创建环境时必须绑定数据源。
多个环境间数据隔离,因此每个环境均需要配置一个单独的数据源,这样相互操作不会影响;为防止误操作,未发布应用版本的环境可删除,发布过应用版本后已产生应用数据、业务数据,不允许删除环境。
点击[环境管理],进入环境列表页面,此处可以看到已有的环境;为环境配置好数据源后,即可将应用发布至该环境。
在应用编辑器的右上角,点击发布,需要填写相应的版本号、标题、描述等基本信息;
选择好具体环境后,点击[生成语句]将会生成发布需要执行的 DDL 语句,根据该环境的数据源同步模式执行语句;
自动同步模式下,无需手动执行,用户仅需点击[发布]按钮即可;、
手动同步模式下,可点击[复制]按钮,一键复制所有 DDL 语句手动执行,再点击[发布]按钮;
发布成功后将在当前页面底部回显结果,可直接访问该版本,或一键复制访问链接:
点击左侧菜单栏的[发布],进入到发布管理页,可以查看应用的所有发布记录,运行中的版本可直接访问链接