技术白皮书
概要 Abstract
HAP 产品的设计和研发主要为了解决企业数字化建设中的明显痛点。通过聚焦企业中后台应用的复杂度特征,抽象出高颗粒度的数据结构,用户角色,权限,工作流等定义能力,让业务开发者和 专业用户均可灵活运用,实现各种企业应用。
HAP 是基于容器技术的现代企业软件产品,它的公共云版本运行在nocoly.com上,容器版本则可通过Docker运行在客户自己的计算设施上。
本产品的核心价值包括:
零代码构建企业应用,把软件构建的灵活度彻底交给用户
Build enterprise apps without coding, Releash the user power by providing utter flexibity.
告别传统的DevOps技术流程,让用户聚焦业务
Get rid of DevOps process, Enable business engineering
大幅提高数字化应用的交付效率
Speed up application implementation dramatically
用一体化应用平台来实现数据贯通
Make dataset unified by integrated application platform
提供普遍一致的开发接口
Provide common open platform for all applications created
符合直觉的交互设计,让复杂配置随心流动
Intuitive and fluid interactive design
全面使用前沿的云原生技术栈,确保性能和可扩展
Fully implemented with cloud-native technology stack
1)客户价值
本产品主要为了解决企业数字化建设中若干重要的痛点问题。每一项价值都对应着企业IT用户多年来试图解决的问题。零代码/低代码应用平台综合了云计算、大数据和应用开发部署环境领域的成熟技术,是企业数字化转型工作中的主体解决方案。
(1)极致的灵活度,极快的应用实现
各类围绕业务管理流程的信息化系统建设。这 些需求通常都很难通过现成的软件产品来满足,不得不依赖繁冗的定制开发来满足。而定制开发系统又必然涉及复杂的需求沟通、原型确认和高成本的开发、测试、部署和改进过程。APaaS 通过范式化和颗粒度极高的可配置性,使得整个过程通过零代码或低代码方式实现,替代昂贵的定制开发,大幅降低需求沟通和开发部署的成本。不仅首次实现是快速和灵活的,当系统随着业务变更需要进行调整时,APaaS 依然能够提供便捷。
(2)消除企业数据孤岛现象
大中型企业通常存在大量的应用数据孤岛。有的来自使用不同技术栈开发的定制系统,有的是来自不同牌号的应用软件产品。在实现数字化管理过程中,需要将这些数据孤岛连通起来,以实现跨应用访问数据,或者将应用数据沉淀到数据中台。借此,可以实现灵活度更高的数字化协作。
(3)无处不在的开放性设计
通过本产品构筑的企业应用均自动建立标准开放接口(REST),提供所有数据对象增删查改的完整接口。工作流的Webhook触发器和动作节点也可以实现无代码与其他应用API的对接。HAP 的前端界面可以便利地嵌入其他应用页面,HAP 的页面也可以被嵌入到其他应用中。
(4)简单易学的应用搭建过程,可普及至业务用户
绝大多数应用场景均可使用零代码方式构建,产品能力虽然复杂深入,但是交互界面简洁,且直觉驱动。对业务流程熟悉的非开发人员也可上手掌握。
(5)使用前沿的云原生技术栈,提供跨云部署能力
整个 HAP 基于微服务架构,并大量运用各种前沿的云原生技术栈和主流开源框架,包括Java,Node.js,MongoDB,MySQL,Redis,gRPC,ElasticSearch和Kafka等。通过容器技术和自动运维编排给用户提供高弹性,高可靠的应用运行环境。HAP 既运行在公共云上,也可极为高效地通过容器技术部署在任何客户自有的计算设施上。两者功能特性一致。
2)应用范畴
利用本产品,用户可以零代码构建各种企业中后台应用,概括来看,包括以下这些应用类型:
(1)基于关系数据结构的核心业务管理应用
不同行业围绕核心业务构筑的核心业务管理系统,例如流通业的进销存,制造业的生产执行、物料管理、设备管理,现代服务业的项目管理,教育行业的师资、学员、课程管理,设备工程业的采购、安装和服务管理和一般B2B行业的销售管理等等。这些场景的替代方案可以是购置专门的套装软件产品,也可以诉诸定制开发。HAP 这样的 APaaS 产品可以提供个性化、灵活度高和开发效率高的双重优势。
(2)利用移动应用采集数据的应用
制造、工程、零售等行业需要特定职能人员从一线采集数据的应用场景。
(3)利用API接口写入数据并构筑管理看板的应用
从多个异构系统抽取数据,沉淀到统一的数据中台,并结合本产品的自定义仪表盘功能构筑管理驾驶舱的应用需求。这个应用场景用另外一种方式替代了BI+ETL的方案。
(4)部门级解决特定业务环节需求的小应用
因为零代码系统带来的易用性和免除代码开发的特点,用户企业可以由业务部门的非开发人员直接搭建或者主导一些简单的小应用。在统一的应用管理能力下,同时也能防范影子IT问题。
(5)为实现流程自动化而构建的应用
基于本产品的自动化工作流,可以打通过去需要人工协调的断续工作流程,例如订单、交付和发票的自动衔接;基于时间触发的检查单生成、设备维保提醒、合同到期提醒等;基于销售流程和营销流程之间的线索自动标签和线索培育等。
(6)为实现数据流转、填报和审批过程而构筑的流程应用
在复杂的数据协同中,构筑基于表单数据,审批和填写节点的人工控制工作流应用。
我们列举了企业应用领域比较常见的30多个门类,并分别评估了 APaaS 产品的替代能力。
名称 | 全称 | 中文表达 | 释义 | APaaS替代度 |
---|---|---|---|---|
ABM | Account Based Marketing | 客户基准营销 | ABM是现代营销策略中比较细分的一种,相关的软件产品也是MAS的一个分支。它改变了传统的创建内容和营销活动,然后根据不同渠道分发的传统方式,而是基于每个客户产生高度个性化内容,它更追求每一次客户沟通的质量,而不是数量,因此常常用于B2B,奢侈品,航空,高端酒店,保险等行业。 | 6 |
APS | Advanced Planning and Scheduling | 高级计划和排程系统 | APS特指为生产制造过程建立计划排期的应用软件,它要解决生产物料和设备资源的最优使用问题,目标在于最大化产能利用。 | 6 |
ATS | Application Tracking System | 招聘跟踪系统 | 管理企业招聘全过程的应用软件。它的主要价值是集成外部招聘网站的简历投递,内推和其他简历库资源,并管理候选人从投递简历到录用入职的全部流程。大多数ATS系统都带有帮助企业建立自己的人才库的能力。 | 5 |
Accounting | Accounting Software | 财务软件 | 狭义的财务软件是指通过复式记账法记录财务凭证,形成财务总账,并提供财务指标分析。完整的财务套件还包括采购和库存跟踪,发票处理,应收和应付管理等模块。完整意义上的ERP套件应该包括财务管理部分。 | 8 |
BI | Business Intelligence | 商业智能 | BI是企业软件中一个重要的分类,它负责从各种业务数据源中抽取数据,并建立分析型数据库,通过可视化能力给管理决策者提供商业分析。全栈型的BI套件包括数据仓库,ETL(数据提取、转换和加载)模块,OLAP查询器和可视化表达层。BI经常通过数据库和API与其他企业应用集成。 | 5 |
BPM | Business Process Management | 商业流程管理 | BPM是管理和驱动企业各种流程活动的抽象工具合集,它能够设计、运行和分析跨越职能的各种业务流程。在实际运用中,BPM主要用于满足企业审批控制和业务自动化的需求。大多数BPM软件都遵循BPMN规范设计,允许用可视化方式创建工作流,监控工作流事务运行,并提供工作流程运行过程中必须的用户交互界面。新兴的低代码开发平台包含了与BPM交叉的功能。 | 9 |
CAD | Computer Aided Design | 计算机辅助设计 | 这是一个古老的软件门类,从PC时代一直延续至今。在企业软件门类中,主要是指为建筑工程、制造和娱乐媒体行业提供的设计套件。成熟的CAD套件不仅提供设计工具,还包括构件库,材质库,设计文件管理等组件。CAD的主要用户是工程师,室内设计师,动画师、建筑师和工程人员。 | 1 |
CAM | Computer Aided Manufacturing | 计算机辅助制造 | CAD类的姊妹产品,通常从CAD应用中输入设计文件,优化材料和设备参数,给数字机械设备提供最终的执行指令。通常用于使用数控机床设备的加工制造业。有的CAD厂商也有联合的CAM产品。CAM也被成为CAE(Computer Aided Engineering)。 | 1 |
CEM | Customer Experience Management | 客户体验管理 | CEM是一个新兴的企业软件品类。它包括一般意义上的客户服务系统,但更强调围绕客户全生命周期和全渠道的触点。因此它的产品能力包括个性化提供顾客门户,便利和一致的客服支持系统,客户在不同渠道购买和使用产品的数字化体验,目标在于衡量和提升在不同阶段的顾客满意度。 | 5 |
CMS | Content Management System | 内容管理系统 | 内容管理系统主要服务于企业网站内容的管理和部署,常规的企业CMS包括管理新闻,网页,博客和电商平台,企业用户无需编写代码可以直接创建和编辑在线内容并完成发布。国内网络环境中比较重视微信生态下的小程序和公众号管理,相关产品在广义上也属于CMS的范畴。 | 3 |
CRM | Customer Relationship Management | 客户关系管理 | 在企业软件中一个非常重要的门类,负责管理获客和销售的业务环节。广义的CRM包括销售自动化,营销自动化和客服自动化三个领域,狭义的CRM主要是指从线索获取到客户转化完成的销售漏斗环节。CRM产品众多,是企业软件市场的重要参与者,因此很多CRM产品都会或多或少延伸到销售以外的一些业务环节。标准意义上的CRM需要管理线索,商机,客户,联系人,产品,订单,价目表,合同等基本业务对象。 | 8 |
CS | Customer Support | 客户支持系统 | 也被称为工单管理系统或HelpDesk Software,主要服务于企业的客户服务部门,提供跨渠道的客服平台能力,管理客服工单的全生命周期。因为电话支持的专业性,也有专门服务于呼叫中心的平台软件,他们也属于这个品类的分支。在完整的CRM套件中,通常包含客服模块。这个分类也和CEM(客户体验管理)交叉。 | 7 |
DMP | Data Management Platform | 广告数据管理平台 | 虽然这是一个看似通用的软件门类,但它主要指的为在线广告投放进行的受众数据管理。DMP可以搜集和管理来自广告主,广告公司和发布媒体提供的有关顾客、广告受众和营销活动的相关数据,从而为广告主提供细致的在线广告活动分析和计划工具。 | 0 |
DMS | Document Management System | 文档管理系统 | 文档管理系统如同品类名称就是用来管理企业内部需要共享的文档的应用,但它不止于基础的文件存储,还包括文档的影像扫描,文字识别,版本控制,Meta数据管理,格式转换,协作编辑,权限控制,模版管理,搜索,电子签名等一系列增强特性。所以适用于对文件档案管理有特殊或者密集要求的行业客户。 | 4 |
ERP | Enterprise Resource Planning | 企业资源计划 | ERP是面向制造和分销型企业的核心应用,覆盖了这类企业几乎全部的业务流程,管理客户,销售,采购,仓储和财务等关键业务环节。因为它的全面性特征,所有也有很多企业用ERP代指所有综合业务系统。即使非制造和贸易行业,也用ERP定义核心业务系统,因此在市场实践中,和CRM产品的边界常常存在模糊地带。 | 9 |
HRM | Human Resource Management | 人事应用套件 | 管理企业人力资源相关事务的综合套件,通常包括人事档案,异动,薪酬,福利,绩效,测评,培训,考勤等多个细分环节。通常用于承载企业组织架构 信息,为其他应用软件输出人员和部门架构主数据。 | 7 |
LCAP | Low Code Application Platform | 低代码应用平台 | LCAP,也称为LCDP(低代码应用开发平台),基于模型驱动的应用实现模式。它通过深化的可视化配置界面完成各个应用要素的定义,包括数据模型,视图,规则和工作流等。适合用来高效率实现关系数据库类型的企业中后台应用。也有一些低代码产品提供了前端页面的自定义能力,所以也可以用于一部分前台型应用。LCAP和云计算时代出现的 APaaS 品类逐步交融,成为一个统一的品类。 | 10 |
LIMS | Laboratory Information Management System | 实验室信息管理系统 | 主要服务于研发、医疗服务和生产型组织的实验室,为他们提供实验设备,材料,样本,检测结果以及相关工作流程的管理。用户需要通过这个专业品类软件提供合规的数据记录和报告,分析实验结果。 | 9 |
LMS | Learning Management System | 学习管理系统 | 在企业场景中,LMS主要用于对员工,顾客和合作伙伴的培训和考试。它应该能够在线创建和管理教案材料,管理学员的学习过程,并组织以小组或班级为单位的学习社群。在教育行业中,LMS是核心的业务系统,实现教务工作的无纸化和支持在线学习过程。 | 5 |
MAS | Marketing Automation Software | 营销自动化 | 营销自动化是为企业重复性进行规模营销活动而提供的应用软件,核心聚焦在顾客、线索和营销活动这三个业务对象上。营销自动化套件能够全面管理各种渠道的营销活动,比如邮件,短信,社交媒体,落地页等。MAS可以被理解为广义CRM的一部分,并和SFA的部分集成,为销售漏斗带来线索和商机。面向互联网企业的MAS还能够和用户产品高度集成,实时捕获用户行为,用于动态的用户分群。Email,短信营销等工具软件也属于这个门类。 | 5 |
MES | Manufacturing Execution System | 生产执行系统 | MES在制造业负责管理从生产原材料到成品制造完成的全过程。具体而言,它建立和跟踪制造工单,根据工艺路线决定制造程序,采集记录制造过程中的原料使用和工时,分析生产效率。MES通常需要和ERP/PLM应用集成。 | 8 |
OA | Office Automation | 办公自动化 | 这是国内企业软件的一个主流门类,包容性和综合性很强。它一般指的是企业内部沟通、文档、任务、流程等支撑性系统。也有复杂度高的OA产品提供更为完整的功能组合,覆盖内部人员档案、订单、合同、供应商等业务数据的管理。因为比较高的综合度,OA和知识管理、协同应用、流程管理、人事管理等专向应用均有交叉。 | 9 |
PDM | Product Data Management | 产品信息管理 | PDM,也称PIM,综合管理有关产品的技术 和营销信息。具有大量产品或者产品版本,组合的企业一般需要使用PDM来组织产品信息,在内部和渠道伙伴之间共享,保持产品信息更新和一致。 | 9 |
PLM | Product Lifecycle Management | 产品生命周期管理 | PLM帮助研发型组织管理产品开发过程中的所有方面,包括创新想法,试制,迭代和退役环节。PLM能够管理各种设计和工艺变更,特性与特性需求,图纸文档,质量指标和测试,BOM(物料),合规要求,供应链等。 | 9 |
PMS | Property Management System | 不动产管理软件 | PMS是租赁地产和酒店等行业的核心业务软件。它管理物业资产、租户、租约以及相关的各种业务活动。高级的PMS套件还包括动态管理房价的能力,实现收益最大化。除了通用的PMS以外,还有围绕各种具体商业物业形态的管理应用。 | 6 |
POS | Point of Sales | 售点收银系统 | POS是零售业终端使用的软硬件组合系统,负责完成收款和记录销售流水的工作。在新零售语境下,POS已经逐步被各种集成度更高的解决方案所替代。收银机也被移动支付终端所替代。在相关领域内,还有各种自助销售硬件承担了过去POS和营业员的共同功能。 | 1 |
PSA | Project Service Automation | 项目服务自动化 | PSA也被称为Professional Service Automation,是因为大多数专业服务都是以项目形式提供的。PSA套件避免了专业服务团队分散使用各种工具管理客户,时间,成本,合同,收款,资料等,而采用一个统一的平台,建立销售、服务和财务流程之间的自动化衔接。PSA分类和通用的项目管理应用之间没有原则性差别。 | 8 |
SCM | Supply Chain Management | 供应链管理 | SCM管理制造企业的原材料计划,采购,物流,入库,集成生产过程管理之后,还要继续管理成品向顾客的分发。和ERP套件相比,SCM对供应商采购环节管理得更细致,通常由供应链计划,采购,订单管理,后勤运输,仓储管理和需求管理等模块组成。因为行业差异,SCM产品市场比较零散,很少有能够适合所有行业的单一解决方案。 | 7 |
SCRM | Social CRM | 社交CRM | SCRM是社交媒体时代对企业软件形态产生影响的一个典型门类。可以理解为一个围绕销售和营销管理的业务应用,且集成了通过社交媒体与顾客产生互动的能力。在西方国家,社交媒体主要是指Facebook, Twitter, Instagram等,在中国市场,则主要指微信。所以,围绕微信和企业微信建立的销售与营销应用都可以被划分到这个门类。 | 3 |
TMS | Transportation Management System | 运输管理系统 | TMS在企业供应链管理的物流环节提供精细度更高的管理能力,它包含对管理运费,运输合约,运输排程,货物跟踪,路径规划和优化等。TMS一般用于物流密度很高的货运行业和大型制造业。 | 6 |
WMS | Warehouse Management System | 仓储管理系统 | WMS是一般库存管理的高阶应用,它主要服务于大型仓储、零售和物流行业,满足他们在减少人员差错和操作无纸化方面的深度需求。完整的WMS系统包含很多高级特性,包括集成物联网设备,完成识别,捡货,标签等工作,自动补货,自动任务分派,计数系统,退货管理,以及与电商平台,ERP软件等的集成能力。 | 6 |
客观来说,也有很多企业应用并不适合使用零代码/低代码应用平台来实现。他们主要包括:
(1) 面向消费者用户的前台型应用
(2) CAD/CAM等专业领域工具
(3) 一些已经有高性价比标准化产品覆盖的领域,比如微型企业的进销存
(4) 有专门使用场景的垂直应用,带有特殊视图和特殊算法,比如餐饮业的收银管理和酒店行业的动态房价预测等。
3)实现原理
使用零代码和低代码构建企业中后台业务应用的原理在于大多数此类应用都建立在数据管理(CRUD)和工作流这两个核心目标之上。为了构建一个典型的企业应用,在设计开发过程中有大量雷同的环节。应用平台即服务(APaaS)门类就是这样这些雷同的环节抽象出来,通过应用化的方式来替代逐个项目的前后端设计及代码开发过程。
为了实现一个友好和高效的 APaaS 产品,不同厂商会采用略微不同的具体实现机制。HAP 选择的方案大体可以描述为:通过表单可视化构建数据模型,在模型上建立针对不同角色的数据视图,通过触发器+动作模式的工作流实现自定义数据动作和自动化流程,并内置数据可视化能力。 它整体上由以下几个层次构成:
(1)数据结构。 通过表单可视化建立数据表模型(Data Model),通过控件直接对应字段类型。并通过关联表、公式、关联表字段和汇总实现必要的关系型数据结构。签名、地理位置、成员、部门、自动编号等则是为了简化用户支持特定业务场景。
(2)视图。 通过不同类型的视图来定义呈现数据的形式,包括表格、看板和层级等。每个视图均可定义灵活的数据筛选条件、字段显隐规则和排序逻辑。
(3)统计。 在工作表上直接定义统计图表,支持常见的条形图、折线图、饼图和指标值等。制作统计图表可以为个人所用,也可以发布为应用共享的图表。
(4)自定义页面。 除了工作表视图外,还支持用户创建一个空白页面,在页面中可视化配置不同类型的组件。比较常见的用例是通过统计图表组件来实现管理仪表台。
(5)用户、角色和权限。 允许应用自定义角色,并通过简洁或完整的方式来定义每个角色的应用数据访问、编辑、删除和新增的权限。这个权限定义可以精细到字段级。通过在角色上增加用户或部门实现灵活的应用分发,完全可视化地实现RBAC(Role-based access control)。
(6)工作流。 通过一个简洁的触发器和动作节点序列支持各种灵活的自动化工作流,可以理解为在企业应用中的IFTTT(If this, then that)。数据变更、动态时间和Webhook方式均可触发工作流,在动作节点中,可以实现数据查 询,定位,更新,新增,删除动作,也可以执行审批、填写等人工控制流程,发送个性化通知,以及推送数据到外部API。工作流的动作序列也可以通过依附于特定视图的自定义按钮手工触发。
通过以上六个层次,用户可以几乎零代码构建任何基于数据管理和工作流的企业应用。
与可视化IDE和快速开发工具(RAD)的区别
本产品和很多可视化IDE产品,以及传统的快速开发工具经常被共称为低代码平台。在实现应用的效率提升方面,所有产品都有共同的目标。但在实现的技术路径选择方面,HAP 和 IDE 模式的低代码工具有本质不同。
(1)HAP 作为 APaaS 门类产品,全面使用云计算领域的前沿技术栈,不再为单体应用生成源代码,也不再有代码编译过程,应用使用模型方式直接在平台上运行。版本控制和调试等开发需求也通过应用配置界面来完成。
(2)HAP 的大多数能力都是基于零代码的,只在工作流代码块节点和对接开发工作中涉及低代码运用。所以,HAP 能够面向业务开发者,而不依赖用户的软件编程能力。
(3)具备应用交换能力。任何租户搭建的应用均可输出模型。模型可以再次分发或者导入到其他租户环境中。
(4)和开发工具相比,HAP 具备突出的易学易用性。业务开发者可以通过快速学习掌握一些简单的单环节应用,专业开发者和信息架构人员可以利用本产品的高颗粒度定义能力实现复杂应用。
4)实现复杂应用
在深入研究本产品之前,用户可能会对零代码产品的应用实现能力存在误解,认为零代码 APaaS 只适合构筑一些简单的应用,而无法用于解决核心业务问题。
实际情况并非如此。
企业软件的复杂性可能是有以下这些企业应用特征造成:
1)数据对象繁多,数据属性繁杂,数据关联层次多。
2)应用涉及角色众多,且每个角色均有差异化的权限配置要求,权限配置和数据属性和组织架构等多个要素相关。
3)数据管理本身不能满足流程的需要,涉及数据流转、审批、填报等较长的业务环节。
4)数据统计分析的维度众多,报表需要按应用角色大量提供。
5)涉及到非常特殊和高难度的算法
6)涉及和外部应用的集成
所谓复杂项目,不管是军工企业的档案管理系统,还是面向中小企业的生产执行系统,本质上都是有这些复杂性组成的。
APaaS如何搞定复杂性
当提炼出复杂性的实质来以后,就可以各个击破,通过拆解成相对简单的环节来对抗复杂性。这个思维模式是所有复杂工业解决问题的基本手段。 复杂得惊人的航空发动机如果拆解到最末梢的子系统,都有它的简洁性存在。
针对以上提炼的复杂性独立特征,可以找到 APaaS 产品的对应能力模块,然后看这些能力模块需要提供 什么样的自定义能力,来实现高颗粒度的配置。
数据表:
1)数据表需要支持各种数据类型,配置各种恰当的呈现控件。
2)可以自由增加数据对象
3)数据对象之间可以建立所有模式的关联关系(一对一,一对多,本表关联)
视图:
1)能够根据业务流程需要切割数据表的不同维度给不同用户角色。
2)视图切割要支持灵活的行筛选,列过滤,排序,数据表单上的字段显隐配置。
3)能够在不同视图上配置不同的自定义按钮
角色权限
1)能够为应用分配各种自定义角色
2)能够为不同角色配置高颗粒度的权限细节,包括表,视图的增删查改权限,甚至要精确到字段级
3)能够结合用户的组织汇报关系来定义数据权限范畴
4)能够为不同角色分发功能页面和自定义按钮
工作流
1)能够在任意数据变更条件、时间条件或手工触发某个工作流。
2)工作流要支持自由的数据查询、定位、新增、变更和删除操作。
3)工作流要有操纵批量数据和数组的能力。
4)工作流要能够耦合人工参与的审批和填报工作。
5)工作流要支持高级脚本语言来实现特殊算法。
6)工作流要能够操作任意数据类型(文本,数值,多选,文件等)
报表
1)围绕任意数据对象和关联数据对象实现报表可视化
2)报表类型多样化
3)支持不同报表组合后分发给不同用户角色
开放接口
1)任意数据对象都提供增删查改接口
2)在工作流执行中能够调用其他应用的接口
3)提供数据接口给外部应用,并能够通过此接口启动工作流,外部数据也能传递给 工作流
这些要素能力确保了解决每一个颗粒问题的灵活度,有了这些灵活度,再复杂的系统都能够组装起来。再加上合理的应用架构过程,在给客户提供复杂应用的同时,依然能够保持有序性。
而且,因为自由的角色分发能力,复杂应用提供给具体角色的时候,每个个体并不会被复杂困扰。比如我们完全可以给生产执行系统中的工人角色分发单一的视图,也许他们的个人界面上只有几个按钮。这是传统企业软件开发极难做到的事情。
一些复杂系统的案例
(1)生产执行系统
生产执行系统是一款能够帮助制造类企业进行生产制造管理的应用系统,能够提升生产流程管理效率,加速制造型企业数字化转型。生产管理系统在系统配置上具有高度灵活性,用户可以基于系统的原始框架,根据自身业务特点自由配置业务数据和流程。为生产业务量身定制管理系统。
- 与ERP系统对接,获取物料采购到货信息和库存信息
(2)ERP系统
ERP系统集成了企业的采购管理、销售管理、库存管理和账单管理。是企业内部一项全流程管理业务,涉及到了销售、采购、财务、仓库等多个部门。对于这样一套系统,传统的定制开发可能需要2-3个月的开发时间,而利用HAP我们可以实现2周左右完成搭建和交付,并且满足用户的个性化需求。
- 采购订单合并,通过流程配置,可以实现同一供应商生成一笔采购订单;
- 销售或采购退货,同步库存;
- 不同类别物料配置不同的入库出库规则;
- 实现库存调拨,先进先出;
- 账务的特殊处理,如红冲等;
- 实时生成多维度的统计报表;
ERP系统功能图
驾驶舱 | 采购管理 | 销售管理 | 库存管理 | 账单管理 |
---|---|---|---|---|
数据总览 | 供应商库 | 客户/联系人 | 仓库 | 销项发票 |
销售看板 | 供应商报价 | 报价单 | 产品库存 | 采购发票 |
采购看板 | 采购申请 | 销售订单 | 采购入库 | 应收 |
库存看板 | 采购订单 | 销售发票 | 销售出库 | 应付 |
财务看板 | 采购退货 | 销售退货 | 库存调拨 | 收付款流水 |
采购到货 | 退货出入 |
(3)多部门层级的角色权限配置
对于业务流程繁琐的企业,往往涉及到的部门多层级多,角色权限也相对复杂,不同的角色对数据的增、删、改、查有不同的需求。对于复杂的权限需求,通常我们会用到RBAC模型(Role-Based Access Control)进行分析、设计。在 HAP 的应用中,我们可以几分钟内完成一个角色权限的配置,角色再多也不怕。通过视图分发,可以灵活配置每个角色可以看到的表单、记录,甚至是字段。
- 不同角色可以查看或操作不同的表单、记录、字段;
- 不同角色对同一张表、记录、字段有不同的操作权限;
- 角色的继承关系,上级可以查看或操作下属的数据;
(4)数据多方集成
单一的业务系统很难满足企业内部多方位的信息化需求。企业内部往往已存在多套信息化软件,新的业务系统需要与原有系统进行集成,或需要建立信息中台。主要情形如下:
- 某些功能或需求⽆法在 HAP 上实现(例如物流状态信息、空间建模等);
- 原有系统有⼤量业务数据留存,数据迁移不⽅便;
- 使⽤的各个系统数据⽆法打通,需要数据中台作为桥梁;
- 其他各种原因使得公司不能放弃使⽤原有系统。
HAP 每一个应用都有标准的 API 文档,通过开放的 API 接口或是 Webhook 可以实现和其他业务系统的数据往来,表单、记录、字段均都有对应的ID,调取灵活便捷。
目前比较有代表性的对接包括:亚马逊订单对接、金蝶K3对接、金蝶云星空、物联网平台对接、可视化大屏对接、帆软T100系统对接、企业微信&钉钉对接等等。只要是有标准化的开放接口,都可以通过 HAP 实现对接,满足企业数据集成的需求。同时,HAP 也可以作为数据中台,助力企业统一管理数据资产,激活数据价值,释放企业生产力。
数据集成
随着低代码/零代码特征的 APaaS 产品开始被越来越多的企业采纳,利用 APaaS 产品天然的开放性与其他现有业务系统的集成需求也日益增多。以下提供了 APaaS 产品与其他应用集成的几种基本模式,供有相关需求的用户参考。
在介绍时,我们通过一个具体实例来说明不同的集成方法:
案例场景:某电商公司使用了进销存,APaaS(假设为 HAP)和财务软件三套系统,公司的退货流程如下,客户申请退货 => 客服审核 => 仓库确认到货 => 财务退款 => 退货完成,每一次完整的退货流程都需要数据在三个系统中相互流转。
1 消息集成模式(推荐)
主要通过相互调用 API 来完成数据之间的传输及同步,可分为三种方式(或阶段)
一对一同步(请求/响应):消息通过调用 API 请求另一个应用并等待响应结果
客户申请退货,电商平台调用 APaaS 平台 API 通知客服走审批流程,审批通过后调用电商平台 API 更改退货申请状态,每次请求失败则进行重试。当请求量比较大且业务逻辑复杂时,会存在等待时间过长超时或另一侧计算资源超负荷报错,这时候就需要采用下面另一种方式。
一对一异步(队列/回调):API接收到请求放入队列,执行完回调通知结果
客服收到退货商品检查并同意退货申请,调用库存应用API通知库存入库,因为商品入库逻辑比较复杂(更改原始出库单,处理产品库存),可以把操作放入消息队列逐步消费,等仓库退货逻辑完成后,回调另外应用的API通知结果。很多时候同一个数据变化要通知多个应用且通知地址经常有变化,就需要频繁调整代码逻辑,这时候可以采用发布/订阅的方式。
一对多异步(发布/订阅):提供 事件订阅,数据变化后向所有订阅地址发送消息通知
APaaS 平台上退货商品确认到货需要通知财务系统退款,要通知仓库系统退货入库,还要通知电商平台更改退货状态,不同的客户需求可能不同,此时,APaaS 可以提供事件订阅,当数据触发变动,根据订阅清单通知其他应用,并提供webhook回调地址,其他应用逻辑执行完毕后再回调
消息集成的方式可以最大程度上实现数据实时同步,但需要应用端都有完整的API,还需要注意推送失败的重试机制以及后续重试造成的覆盖先后顺序等问题。
在 HAP(APaaS)这一侧通过工作流来实现集成:
2 应用程序集成
专门开发集成工具:
单独研发一个应用程序 ,取得其他应用系统的授权,根据配置定时(全量/增量)拉取数据,再根据条件和映射规则推送到其他应用系统。使用集成工具同步数据,应用之间不需要相互调用 ,可降低耦合度,也能根据数据体量和应用形态灵活选择技术方案。因为不是应用主动推送,所以在实时性上面稍差。
机器人流程自动化(Robotic process automation)简称 RPA:
是以软件机器人及人工智能(AI)为基础的业务过程自动化科技。它通过模仿最终用户在电脑的手动操作方式,提供了另一种方式来使最终用户手动操作流程自动化。
3 OLAP数据源连接
配置数据源连接地址,根据开放权限和筛选条件钻取需要的数据,通常作为BI报表分析的一种方式,钻取到的数据经过加工/聚合后可根据需要再次单独存储。
4 文件集成(导出导入)
根据需要手动从应用系统导出待处理的数据,再导入另一套应用系统,处理完再导回本应用系统。HAP 系统提供比较精细的 Excel 文件导入交互,能够让用户在导入过程中建立字段映射,自动去重,甚至包括在导入过程中建立数据关联。
5)功能特性结构
HAP 提供三大功能模块:零代码应用、协作套件和账户管理。
(1)零代码应用搭建。 是 HAP APaaS 能力展现的模块。通过提供的基础组件来搭建一个企业应用。一个应用,需要使用以下封装好的能力组件。
- 工作表:建立应用的数据结构
- 视图:配置数据面向用户角色的呈现
- 统计:基于数据的分析
- 自定义页面:装载统计图表等组件,并分发给特定角色
- 用户角色和权限:配置角色的权限细节
- 工作流:建立触发器和动作节点联动的业务自动化
(2)协作套件。 主要满足企业日常的分享沟通、任务协作、日程安排、文件管理的需求,并能够和应用平台能力实现贯通。
- 动态
- 任务
- 日程
- 文件
(3)账户管理。 分为个人账户管理和企业账户管理
-
个人账户的功能
- 个人资料修改
- 手机、邮箱绑定
- 密码修改
- 语言设置
- 信息隐私设置
-
企业账户功能
- 人员/部门管理
- 汇报关系设置
- 离职交接
- 群发通告
- 数据导出
- 组织信息编辑
- 群组管理
- 使用统计
- 角色权限管理
- 应用管理
- 工作流管理
6)技术架构
部署资源
- 系统部署要求基于 Linux 操作系统,支持虚拟机、物理机和云服务器
- 兼容主流操作系统(如:Debian、Ubuntu、CentOS)及常见 CPU 架构(如:AMD64、ARM64)
- 支持国产服务器操作系统,包括银河麒麟、欧拉(EulerOS)和统信(UOS)
部署方式
- 单机模式(基于 Docker Compose)
- 集群模式(基于 Kubernetes)
技术栈
- 架构:平台基于微服务架构,使用 gRPC 框架实现,微服务 80+
- 前端技术:React
- 后端技术:Java、C#、Node.js
- 数据库:MySQL、MongoDB
- 中间件:Redis、Kafka、Elasticsearch、MinIO
数据库与中间件应用说明
- MySQL:存储系统基础数据,如用户、组织等信息;
- MongoDB:存储业务数据,如应用、工作表、工作流等;
- Redis:缓存支持,提升系统性能。多个核心功能(如用户信息、组织信息、应用信息、工作表数据、工作流和应用角色权限等)均采用缓存机制,几乎覆盖系统的各个部分;
- Kafka: 核心使用场景包括工作表汇总、工作表数据收集、工作流事件等。利用 Kafka 的高吞吐量和多分区特性,在合理配置消费端数量的情况下,确保事件有序执行并降低延迟。此外,Kafka 也被应用于智能搜索模块,作为数据传输中间件。
- Elasticsearch:目前主要是支撑跨应用的工作表数据、协作套件数据的全局搜索,同时在应用使用统计功能上也是基于 Elasticsearch 提供周期性的统计维度查看;
- MinIO:默认采用的是开源文件存储系统 MinIO,支持 S3 标准的兼容替代方案(如阿里云 OSS、腾讯云 COS 和华为云 OBS、七牛云等);
- Flink:为数据集成提供流式计算能力,支持多数据源的实时同步,并在同步过程中进行 ETL 数据处理;
核心功能模块: 工作表、视图、统计、自定义页面、角色权限管理、外部门户等。基于这些模块,平台能够快速构建出符合业务需求的应用,并通过提供的 API 集成和数据集成功能,与外部系统实现数据交互,解决数据孤岛问题。
应用库与插件中心: 平台预置了丰富的应用模板,覆盖各行各业,用户可在应用库中安装模板后进行二次配置,从而降低初始使用门槛。此外,插件中心提供了工作表视图和工作流节点的插件设计支持,进一步扩展了平台功能。
基础数据管理与集成功能: 平台提供基础数据管理功能,包括人员与组织管理、单点登录等,并支持与企业微信、钉钉等第三方系统的集成。
多端实时可视: 通过 HAP 平台搭建的应用,支持 Web PC、Web 移动(H5)、小程序及原生应用(iOS、安卓)等多端实时同步,确保用户在不同设备上获得一致的体验。
单机部署模式
架构简介
单机部署模式下,仅需提供一台服务器(服务器配置根据并发要求)。系统将启动四个容器,分别承担不同功能:
- 微服务容器:微服务集合,平台核心业务逻辑。
- 代码块容器:工作流中的代码块功能。
- 存储组件容器:包括数据库和中间件,数据将持久化到本机指定目录。无需关注各组件的具体部署和启动方式。
- 文档预览容器:提供 Office 文档和 PDF 在线预览功能。
容器内的各个服务进程具备健康检查机制,当服务进程异常退出时,系统会自动重启恢复。
可选择在服务上层增加代理,解析访问微服务的入口(可选)。
客户端可根据需求决定是否开放外网访问权限,支持完全开放或通过 VPN 安全接入。