如何做众筹网站泉州百度推广咨询

web/2025/10/3 5:16:39/文章来源:
如何做众筹网站,泉州百度推广咨询,浙江华临建设集团有限公司网站,外贸做企业什么网站建设源宝导读#xff1a;“业务模板”作为天际建模平台3.0推出的重要特性#xff0c;它将元数据复用发挥到了极致#xff0c;通过业务模板几乎可以覆盖整个建模元数据开发流程#xff0c;提供业务场景级别的复用能力。本文将介绍“业务模板”的设计原理、实现方案和应用场景。一… 源宝导读“业务模板”作为天际·建模平台3.0推出的重要特性它将元数据复用发挥到了极致通过业务模板几乎可以覆盖整个建模元数据开发流程提供业务场景级别的复用能力。本文将介绍“业务模板”的设计原理、实现方案和应用场景。一、背景    建模平台作为天际开放平台的核心能力域之一是一个极致高效的低代码开发平台支持通过数据建模、页面建模、组件建模等可视化建模方式低代码或零代码快速构建企业级应用。    使用建模平台开发应用的过程一般是数据建模》页面建模》多个页面组合成业务场景。数据模型可以被多个页面复用组件模型也可以被多个页面复用通过建模平台可以快速构建出相应的场景。    例如开发一个简单的用户管理系统管理用户名称和用户编码信息。    首先进行数据建模我们可以设计一个用户表包含用户名称和用户编码两个字段。然后进行页面建模创建一个用户表单页面使用用户表作为数据源表单使用输入框组件绑定用户名称和用户编码设置相应的输入格式和校验规则就可以实现用户名称和用户编码的录入功能了再创建一个用户列表页面使用用户表作为数据源使用用户名称和用户编码字段作为列表展示字段就可以批量展示和管理用户数据了。    完成这么一个简单的用户表单录入列表展示数据场景使用建模平台只需要花费几分钟就能完成。    如果现在需要再开发一个客户管理系统管理客户名称和客户编码信息。正常的做法就按照上面的建模流程就行数据建模客户表》页面建模客户表单、客户列表》客户管理系统。    分析用户管理系统和客户管理系统我们会发现这两个业务场景极其类似都是针对名称和编码唯一标识的管理但是都要进行数据建模数据隔离表名不同字段名一致页面建模结构一致只是展示的文本描述不同。虽然重复完成这个场景只需要几分钟但是如果每个客户都有类似的场景那么都需要花费几分钟如果场景再复杂一点涉及到多个数据源多个页面呢每个页面又用到复杂的组件或者功能特性那么完成一个类似的场景需要花费多少时间呢二、什么是业务模板    通过分析以上的场景我们发现目前建模平台提供的主要是基于组件级和页面级的复用能力针对业务场景复用能力比较薄弱。而实际产品场景中确实存在这种业务功能极其类似的场景比如成本系统的变更业务场景设计变更和现场签证两个具体的变更过业务十分相似如果重复开发的话需要耗费大量的开发资源。    为了解决这种业务场景级别的复用能力在ERP3.0版本中建模平台提供了业务模板功能。基于业务领域抽象的模型提炼出一套业务模板通过模板化的思路快速复制的方式构建有规律、符合模型的业务。    目前建模中业务模板覆盖了大部分建模能力从数据建模到页面建模、业务组件、业务参数以及主页、标签页和权限以支持创建一个业务场景闭环。三、业务模板的原理3.1、什么是元数据元数据的定义元数据Metadata又称中介数据、中继数据为描述数据的数据data about data主要是描述数据属性property的信息用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。    元数据在建模平台中的作用是描述建模中所有特性的数据是整个建模平台的基石建模平台中的一切模型都是以元数据作为数据载体建模中的元数据物理表现形式为一个个XML文件。    例如页面模型元数据每个页面对应的就是一个XML文件。    页面元数据?xml version1.0 encodingutf-8? functionPage title合同变更基本信息表单 pageName合同变更基本信息表单pageLayout pageLayoutCategoryOneColumncellscell rowIndex0 width100% height100%control idappForm entityName主实体 autoHeight1 //cell/cells/pageLayout /functionPage    根据不同的模型对应不同的元数据类型分别存储在不同的文件夹下各个元数据之间存在在互相引用的关系。比如页面引用数据表主页引用页面等。3.2、什么是页面模板    建模通过可视化的方式创建建模模型创建页面时可以选择不同的页面模板其中包含组合模板单页模板等。    选择一个列表表单的组合模板选择数据源后点击开始创建创建成功以后我们会发现在列表的设计器中新增按钮默认会打开创建的表单页面    页面元数据是如何生成的两个页面之间是如何关联起来的呢    首先看下元数据在整个应用中的存在形式如下    元数据在不同的场景对应不同的模型在建模中对应建模模型在程序内存中对应元数据模型在文件中对应XML文件在ERP中对应一个个真实的页面、数据表等同时不同阶段的模型可以互相转换。    建模中生成元数据的方式有两种根据建模模型先生成内存元数据模型然后序列化到文件中根据建模模型对应的文件模板反序列化生成内存元数据模型然后再序列化到文件中    第一种生成方式适合元数据结构比较简单的场景比如数据表视图业务参数等。第二种方式适合结构复杂存在默认节点或者默认值的场景比如页面表单列表和数列表等。    页面组合模板就是用的文件模板方式将通用的文件结构提炼出来生成模板需要动态生成的数据使用关键字做占位符在生成内存元数据模型前将文件中的关键字根据上下文替换成对应的值。页面模板functionPage templateId2C63E14E-FF7E-4E0B-AE15-FEFB8DA34213pageLayout pageLayoutCategoryOneColumncellscell rowIndex0 width100% height100%control id[prop:setting.Customize]appGrid entityName主实体 autoHeight1//cell/cells/pageLayout /functionPage    其中[prop:xxx]就表示关键字在生成元数据模型时会进行替换。例如parentPage“[prop:page0.Name] ”表示表单页面的父级页面即返回上级页面为第一个页面也就是列表页面的地址所以通过点击列表新增按钮进入表单页面后点击上一级就能返回到列表页面了。3.3、业务模板的原理    页面模板解决的是快速创建页面的问题业务模板要解决的问题是快速创建一类业务场景的问题。在技术实现上业务模板也采用文件模板的方式根据一个完整的业务场景所包含的所有的元数据文件提炼出一套通用的元数据文件模板根据这套文件模板可以快速生成不同的业务场景元数据。    模板文件中包含静态和动态两类结构。静态指通用的结构动态指根据不同的场景显示不同数据的结构。例如在一个页面模板中页面都包含页面布局那么页面布局就是一个静态结构在不同的场景页面名称需要根据对应的场景显示比如在用户管理界面显示为用户页面在客户管理界面显示为客户页面那么页面名称就是动态数据。    那么如何生成动态数据呢    答案就是关键字使用关键字作为动态数据占位符然后根据模板上下文动态替换关键字。下面以成本的变更申报表单页面模板为例functionPage functionPageId{{$system.NewId}} name{{$system.NewId}} title{{$global.name}}变更申报表单页面 pageName{{$global.name}}变更申报表单页面  url/std/02010350/{{$page.ReceiptsDeclare.name}} description{{$global.name}}变更申报表表单 pageLayout pageLayoutCategoryOneColumn layoutType0cells            cell id45a3adeb-009f-ea11-86e2-94c6910421d9controlidappFormtypeMysoft.Map6.Modeling.Controls.AppFormmetadataId{{$form.ReceiptsDeclareForm.formId}}entityName主实体//cell/cells /functionPage其中{{xxx}}就是关键字根据不同的使用场景关键字可以分为以下几类1、系统关键字    系统关键字为系统内置关键字目前只有$system.NewId作用是生成新的Guid。例如每个页面的元数据id应该唯一因此模板中functionPageId{{$system.NewId}}。2、全局关键字    由用户生成模板实例时输入的业务标识和业务名称、以及当前环境上下文生成。例如页面名称应该跟业务场景有关因此模板中pageName{{$global.name}}变更申报表单页面。关键字说明$global.id业务的唯一标识$global.name业务名称... ...... ...3、配置关键字    根据模板配置生成配置界面由用户选择的配置项生成。关键字说明$config.[字段]创建实例时选择的配置值$config.[字段].field配置对应的字段... ...... ...4、模板内容关键字    元数据之间存在着各种联系比如数据关系记录的是两个数据表之间的关系标准图形化数据源页面引用了数据表作为数据源。因此模板文件不仅包含关键字同时模板文件也作为关键字的提供者提供关键字供其他模板引用。类型关键字实体关键字$entity.[模板英文名称].[属性名称]关系关键字$realtion.[模板英文名称].[RelationshipId]... ...... ...    在变更申报表单的业务模板中由于引用了变更申报表单大控件同时变更申报表单也是使用模板生成的所以页面跟表单是引用的关系metadataId{{$form.ReceiptsDeclareForm.formId}} 。3.4、什么是模板实例    定义了业务模板以后就可以根据不同的业务场景动态替换模板文件中的关键字从而生成一组有业务关联的元数据文件我们将由同一个业务模板生成的不同业务场景的元数据称为业务模板的一个实例业务模板实例元数据是描述这个实例的数据。生成模板实例的流程如下:四、如何开发业务模板4.1、提炼业务模板内容    根据已经存在的元数据文件提炼通用的业务模板分清楚哪些是静态结构哪些是动态结构模板和模板之间是如何互相引用的。    以下以开发一个客户表为例说明如何创建客户表模板    1、首先在建模中创建一个客户表test_Customer增加客户名称Name和客户编码Code两个字段对应的元数据“客户表”元数据?xml version1.0 encodingutf-8? MetadataEntity EntityId91c51e44-0bf2-4ef6-43bc-08d94ab36d6f Nametest_Customer DisplayName客户表AttributesMetadataAttributeAttributeId4cabeff5-0515-4920-6d86-08d94ab36d6f/AttributeIdNameCode/NameDbTypenvarchar/DbTypeLength128/Length/MetadataAttribute/Attributes /MetadataEntity    2、分析元数据中的静态数据和动态数据例如元数据的id和表名name要唯一字段的id要唯一因此这些不能重复的值就作为动态数据局要使用关键字替换不同数据表的字段的名称可以一样因此数据字段名称可以作为静态数据。    3、使用关键字替换动态结构“客户表”元数据模板?xml version1.0 encodingutf-8? MetadataEntity EntityId{{$system.NewId}} Nametest_{{$global.id}} DisplayName{{$global.name}}AttributesMetadataAttribute!-- 用表达式占位生成随机GUID--AttributeId{{$system.NewId}}/AttributeIdNameCode/Name DbTypenvarchar/DbTypeLength128/Length/MetadataAttribute /MetadataEntity4.2、定义业务模板配置    业务模板配置由控件配置、布局配置和联动配置组成。    控件配置定义控件和字段信息configs!-- 将配置项定义成单选框--configItem itemIdAlterApply_IsInvalidCostEnable label启用无效成本 fieldAlterApply_IsInvalidCostEnable controlRadio dataTypeStringoptionsoption text是 value1 isDefaulttrue/option text否 value0 isDefaultfalse//options/configItemconfigItem itemIdAlterApply_IsIdleCostSupplement label启用无效成本补录 fieldAlterApply_IsIdleCostSupplement controlRadio dataTypeStringoptionsoption text是 value1 isDefaulttrue/option text否 value0 isDefaultfalse//options/configItem /configs布局配置关联控件配置从而定义布局显示layoutregionsregion title阶段配置group title申报阶段rowsrowcells!-- refld引用之前定义的两个配置项--cell colSpan1configItem refIdAlterApply_IsInvalidCostEnable//cellcell colSpan2configItem refIdAlterApply_IsIdleCostSupplement//cell/cells/row/rows/group /region/regions/layout联动规则定义配置之间的联动规则rule itemIdAlterApply_IsIdleCostSupplementruleConditions!-- 条件判断来自配置项的值--ruleCondition fieldAlterApply_IsInvalidCostEnable operatoreq value1//ruleConditionsruleActions!-- 条件为true时执行显示动作--ruleAction typetrueActionpropsvalue0/valuevisibletrue/visible/props/ruleAction!-- 条件为false时执行隐藏动作--ruleAction typefalseActionpropsvalue0/valuevisiblefalse/visible/props/ruleAction/ruleActions /rule4.3、订阅业务模板事件    在业务模板生成实例的过程中产品需要扩展部分逻辑比如成本合同变更生成实例以后需要向流程中心发现业务数据。我们在模板操作过程中会发布事件产品通过订阅对应的事件进行业务逻辑扩展。事件名称事件说明业务模板实例前事件TemplateInstanceCreatingEventData订阅此事件可以在生成实例前修改配置参数等业务模板实例初始化事件TemplateInstanceInitEventData订阅此事件可以获取实例的信息业务模板实例删除事件TemplateInstanceDeleteEventData订阅此事件可以做一些业务数据清理的操作    所有的事件都是派生自BusinessUnitEventData的类通过事件总线发布事件。要订阅处理事件就要实现BusinessUnitEventHandler抽象类。事件订阅/// summary /// 业务事件的抽象类 /// /summary /// typeparam nameTBusinessUnitEventData/typeparam public abstract class BusinessUnitEventHandlerTBusinessUnitEventData: IBusinessUnitEventHandlerTBusinessUnitEventDatawhere TBusinessUnitEventData : BusinessUnitEventData {/// summary/// 订阅者具体的业务逻辑。/// /summary/// param namebusinessUnitEventData/parampublic abstract void HandleEvent(TBusinessUnitEventData businessUnitEventData); }五、如何使用业务模板    业务模板的使用非常简单用户不用关心业务模板的开发原理只用关注相应的配置项的作用即可。    例如使用成本系统合同变更业务模板通过修改相应的配置项就可以生成一个重计量的业务实例    通过查看业务模板实例信息查看生成的元数据六、应用案例    目前ERP产品中主要是成本系统和全域主数据应用了业务模板成本系统开发了变更业务模板同时产品出厂的时候会自带现场签证和设计变更两个模板实例。    合同变更业务模板    模板实例    全域主数据目前也正在使用业务模板开发主数据模板主要分为列表型主数据模板用以扩展无层级类主数据比如供应商和客户以及层级型主数据用以扩展层积累主数据比如科目信息。七、总结    业务模板主要是解决同一类业务场景的快速构建问题基于业务领域抽象的模型提炼出一套业务模板通过模板化的思路快速复制的方式构建有规律、符合模型的业务。    但是目前模板的内容是基于元数据文件进行提炼的元数据结构比较复杂相互之间的关联密切导致开发业务模板的门槛比较高同时生成元数据的过程比较复杂出现问题很难排查定位。    未来我们将考虑通过可视化的方式构建业务模板降低开发难度让业务模板被更多的开发者使用发挥更大的价值。------ END ------作者简介李同学 研发工程师目前负责天际·建模平台相关研发工作。也许您还想看技术分享Java SDK 动态类型技术分享NodeJS分布式链路追踪实现更多明源云·天际开放平台场景案例与开发小知识可以关注明源云天际开发者社区公众号【建模】文档服务提供高保真打印模式明源云·天际硬核技术认可获华为鲲鹏技术认证书天际·开发者社区“重装发布”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

萍乡网站建设公司网页图片大全

详见 集成测试,单元测试隔离 maven-surefire-plugin maven的goal生命周期 Maven生存周期 - 含 integration-test Maven本身支持的命令(Goals)是有顺序的,越后面执行的命令,会将其前面的命令和其本身按顺序执行一遍,…

网站建设化学图片哪些网站需要备案

1. 为什么要用缓存? 用缓存,主要有两个用途:高性能、高并发。 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 MySQL,半天查出来一个结果,耗时 600m…

移动网站建设成都市青羊区建设局官方网站

忙碌了一周,一直没时间更新,趁着周末来更新第二个题目。 题目 题目解析 这个题目相比于上一个题目来说,会简单一些,不涉及到那些复杂的算法,就是对于字符串的处理。 算法步骤 输入一个字符串根据分号,将…

河南中安建设集团有限公司网站泗水做网站

ROS元功能包(Metapackage)是一种特殊的软件包,它本身并不包含任何可执行代码或数据文件。在ROS 1中,可以通过catkin_create_pkg命令创建元功能包。 相反,它的主要目的是作为一组相关功能包的集合或者依赖关系列表。使…

单页销售网站如何赚钱推荐10个网站

打开重要的Excel文件时遇到问题吗?Microsoft Excel是否要求你验证文件是否已损坏?Excel文件可能由于各种原因而损坏,从而无法打开。但不要失去希望;你可以轻松修复损坏的Excel文件。 更改Excel信任中心设置 Microsoft Excel有一个内置的安全功能,可以在受限模式下打开有…

学校网站建设计划网页微信客户端手机版

目录 说明: 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 例题 6. 两种基本RS触发器的形式比 说明: 笔记配套视频来源:B站;本系列笔记并未记录所有章节,只对个人认为重要章节做了笔记;标题前…

手机端网站开发流程图wordpress安装到虚机

一、Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个还是也可以用于dispatch source。一个要注意的地方是,dispatch que…

谷歌应用商店app下载seo网站关键词优化费用

本文主要是关于汇编和 C 语言的相关介绍,并着重对汇编和 C 语言的不同及其编程技巧进行了详尽的阐述。汇编和 C 语言C 语言和汇编语言的区别在于他们之间优缺点几乎是相反的。C 语言和汇编语言的优缺点:以 c 来举例优点:c 的运行效率高&#…

中铁建设中南公司官方网站重庆网站推广产品

鸿蒙linux内核的L1设备服务开发详解 ​ 鸿蒙基于linux内核的L1设备的系统基于面向服务架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务进程、进程间服务调用的开发能力。现对此基座下的服务进行剖析并以实例方式进行讲解。 一、简介 在L1设备…

沭阳网站建设托管wordpress163邮件

现在最火的后端架构无疑是微服务了,微服务将之前的单体应用拆分成了许多独立的服务应用,每个微服务都是独立的,好处自然很多,但是随着应用的越来越大,微服务暴露出来的问题也就随之而来了,微服务越来越多&a…

公司做网站找谁做网站的公司阿里云万网网站制作

Linux ncftp命令介绍 ncftp是一种增强的FTP客户端程序,它可以让你在本地和远程服务器之间传输文件,并管理远程服务器上的文件和目录。ncftp具有许多特色,包括显示传输速率,下载进度,自动续传,标记书签&…

网站开发洲际个人网站主办者名称

来源:神经科技概要:近二十年来,基于静息态功能磁共振影像的人脑连接组学快速发展,为无创研究活体人脑的功能组织规律和网络运作机制提供了重要手段,大大促进了研究者对脑认知、脑发育和脑疾病神经机制的理解。近日&…

建设一个网站成本多少钱中英文对照网站怎么做

引言:性能瓶颈调优 在实际的性能测试中,会遇到各种各样的问题,比如 TPS 压不上去等,导致这种现象的原因有很多,测试人员应配合开发人员进行分析,尽快找出瓶颈所在。 理想的性能测试指标结果可能不是很高&…

网站数据流程h5 和手机网站

开篇:探索稀疏多视图图像的3D场景重建与新视角合成的挑战 3D场景重建和新视角合成是计算机视觉领域的一项基础挑战,尤其是当输入图像非常稀疏(例如,只有两张)时。尽管利用神经场景表示,例如场景表示网络&a…

做公益网站的原因做电商网站的设计思路有什么意思

Three场景实现多个物体的合并 目的 产品需求是让物体的光柱墙包含一个多边形的区域,二而我的多边形只能使用原型,方向,多边形。那么再研究的时候就需要将这些多边形合并成为一个形状,那么就行实现了。 原先的图形 如上图,是两个mesh组成的。首先寻找mesh合并的方法。 第…

深圳住房网站app北京网络职业学院怎么样

1. 数学研究 1.1. 数学研究变得更为艰难了 1.1.1. 学科分支越发密集,问题越发复杂 1.1.2. 攻读博士学位的3年时间,只够去理解导师所给题目的含义 1.1.3. 随后,再花费数年时间去研究、探索,运气不错的话,会得到一些…

梅州市建设局网站素材中国官网

微信小程序css 华文琥珀Brian Goetz最近的消息欢迎来到琥珀! 介绍Project Amber ( OpenJDK的一部分, 最初于1月提出 )。 Goetz通过介绍“欢迎使用Amber项目,这是我们面向特定生产力的Java语言JEP的孵化场”的介绍打开了…

网站建设 岗位职责 智联wordpress插件转换移动浏览

什么是计算机视觉 近年来,计算机视觉 (Computer Vision,简称CV) 不断普及,已成为人工智能 (AI) 增长最快的领域之一。计算机视觉致力于使计算机能够识别和理解图像和视频中的物体和人。 计算机视觉应用程序使用来自传感设备、人工智能、机器…

三门峡河南网站建设常德论坛尚一网市民留言

目录 数据隔离/权限控制 用户/权限/部门/岗位 ​数据隔离 mybatis的maaper写法 注解和切面 前端路由拦截 已知若依单体的前端采用vue-element-admin,在前端的专栏系列vue-element-admin的动态路由已详细拆解,其最大特点是使用后端返回数据控制前端…

设计教程网站推荐网站建设需要要多少钱

概览 在构建事件驱动应用时,人们面临着两大挑战:1)低延迟处理大量数据;2)实现流数据的实时摄取和转换。 结合 RisingWave 的流处理功能和 ScyllaDB 的高性能 NoSQL 数据库,可为构建事件驱动应用和数据管道…