DWF概述

清华数为DWF

一、DWF概述

1.关于DWF

清华数为大数据应用开发工具DWF是一款数据模型驱动的低代码应用开发工具。2021年,以工业大数据应用系统用户的需求为牵引,DWF团队共发布6个主版本,分别在移动端应用定制、异构数据源管理、交互设计功能完善、第三方组件集成等方面进行了扩展。

DWF采用了模型驱动的设计理念、以配置方式实现业务系统的构建,是以数据为中心的零代码或低代码开发平台。DWF平台的初衷是希望解决低代码、敏捷化开发与交付。在低代码平台上只需要了解业务过程建模的基本逻辑,几乎不需要考虑IT的架构,而只需要专注于业务问题的本身,领域工程师上位,就可创建应用程序,这是DWF工具开发的初衷。DWF具有一站式部署、可配置、敏捷定制,低码量开发、多数据源接入和集成服务等特点。

DWF平台具有以下特征:

一站式部署:免除了开发者构建应用时在技术栈选型、维护等方面的困难,得以将精力集中在解决问题,而不是浪费在调试系统上。
可配置:采用模型驱动的设计理念,以配置的方式实现系统开发,降低后续测试、维护的成本。

敏捷化:通过一系列可配置组件的按需组合来实现应用系统的功能,既降低了开发技术门槛,即时交付系统,即改、即用,快速响应变更需求。

低代码量开发:基于模型开展有针对性的扩展编码工作,减少编码总量,降低开发难度。配合敏捷定制功能,大幅度减少了代码量和系统缺陷产生的可能。

数据集成服务:可接入多种数据源,自动探测数据模式,通过组合关联数据集形成中介数据集,提供多数据源集成服务。

2.DWF定位

市场上目前有很多企业应用开发工具和开发平台,如OA、BI、ERP、BPM与网站等开发工具或平台等,其定位都各不相同,DWF有如下定位:

1)DWF可以作为大数据系统的协调器:

  • 数据总线:为各个不同组件提供用于配置数据的集中管理场所;
  • 控制总线:通过后台的二次开发接口驱动其他组件工作;
  • 交互总线:快速将大数据组件的分析结果展示给该用户。

2)DWF可以作为支撑企业快速搭建信息化应用的低码量工具

  • 针对中小企业信息管理需求快速开发应用程序;
  • 工单管理、设备管理等部门级应用。

3)DWF可以做为智能物联网领域创新应用研发工具

  • 对开发基础IT系统功能不过多关注;
  • 帮助IoT工程师定制端到端的应用功能,将集中精力解决IOT领域的应用。

3.DWF适用场景

企业对数字化、信息化系统需求分为三种情况:

  • 变化频繁、需求不明确:如一些新的业态、新的创新类应用。
  • 变化不太频繁、需求相对明确:新的客户参与,希望通过数字化提升运营效率。
  • 变化不频繁、目标明确:对一些遗留系统的升级等。

企业已经既有很多信息化的系统来支持企业的信息化和数字化,当用户属于以下情况之一时,可以尝试使用DWF来解决所面对的问题:

  • 市面上没有现成的应用程序可以直接购买。希望快速上云的应用,各类“小前台” 应用快速开发、迭代试错。
  • 现成的解决方案过于复杂和/或过于昂贵。向制造业企业常用的传统的信息化系统:ERP、PLM、MES、CRM等传统信息化平台价格昂贵,且每年要支付15-20%的系统维护费用,企业难以承受。
  • 为客户提供的系统需要定制的内容较多。每个客户系统有较大的差异性,三成以上的需求需要定制开发;需要雇佣实施顾问进行客户化定制开发,在遇到系统升级时,定制化开发的内容难以移植。
  • 客户希望进一步控制未来的能力,且降低开发人员成本。人力资源不足,希望能够用较低的成本获得可用的软件制品。软件企业人力成本占55%以上,且软件专业人员流动性较大,企业管理者希望进一步降低软件人员的使用成本。

DWF适用场景

4.DWF的用户

DWF系统应用人员分为三类:

  • 建模人员:用DWF模型定制功能进行业务系统的定制,定制的模型包括:数据模型、表单模型、功能模型、组织模型和权限模型;当要实现一些特殊的应用需要进行脚本开发和插件开发,做少量的代码开发工作。
  • 系统管理员:负责业务系统的运行维护,用于终端使用人员的创建和权限的分配,对用户进行在线管理;对系统、对数据进行备份等日常运行维护。
  • 最终用户:在应用的APP端展开日常业务工作,创建业务单据和数据,对数据进行操作处理,对基础数据进行维护,对数据进行导入、导出等,完成特定的业务操作。如设备管理员需要完成工单的创建等闭环操作。
    DWF功能逻辑图

5.DWF功能逻辑图

DWF逻辑功能

二、DWF技术架构和体系结构

1.DWF的技术栈:

  • 前端技术:JavaScript、Vue、iView、WebSocket等
  • 后端技术:JAVA、SpringBoot、JPA、Spring security、JWT等
  • 其他技术:Slf4j、Logback、Lombok、Swagger-UI等
  • 部署环境: Tomcat、Nginx、PostgreSQL等
  • 构建项目:Jenkins、JDK1.8、Maven等
  • 开发环境:JDK1.8、Python、NodeJS与VSCode(也可以是Eclipse、Idea与WebStorm等)

2.DWF的体系结构

DWF是一种支持企业信息化应用系统快速开发的低代码开发工具,采用基于模型驱动、可配置方式的方式构建应用,DWF根据应用角色提供了三个入口:

  • 监控工具(monitor):用于对服务器进行监视和控制。
  • 建模工具(modeler):用于进行后台配置。
  • 应用前端(app):解释后台配置,产生面向终端的应用程序。

DWF软件的体系架构图如下:
DWF体系架构
前端:采用vue.js前端组件库开发。Vue.js是一款轻巧、高性能的构建数据驱动的Web 界面的渐进式MVVM框架,并且框架集成了大量优秀的第三方UI库;面对复杂的需求不停的迭代,这对于开发人员来说使用Vue节省了大量时间。前端以war包的形式部署在tomcat web服务器;当tomcat web服务器启动后,war包通过一个浏览器访问的URL路径访问,用于登录系统前端。DWF前端主要包含2个war包:

  • 建模工具部署包(modeler-web.war):用于启动模型定制工具,允许用户在后台定制组织、数据、表单、功能、权限、应用发布等模型,并进行脚本开发。一般由应用开发人员使用。
  • 应用入口部署包(app-web.war):用于解释后台定制的模型,在前端产生业务应用功能。一般由终端用户使用。

后端:后端采用微服务方式,使用SpringBoot开发。轻量级开源框架SpringBoot,能够方便集成各种开源软件;可快速构建项目,支持微服务化,提供运行时的应用监控,可极大提高开发和部署效率。当DWF后端启动后,会对外呈现一系列RESTful API接入点,前端通过发出http请求访问DWF的数据库。后端主要包含3个jar包:

  • 监控服务部署包(monitor.jar):和monitor前端配套,用于系统监控。
  • 模型服务部署包(modeler.jar):和modeler前端配套,用于控制模型数据。
  • 应用服务部署包(app.jar):和app前端配套,用于操作用户数据。

底层:为支持前端对数据的操作,DWF提供一个Postgre SQL的模型数据库(db-pure.sql)。在安装包中,该数据库以备份文件的形式存在,导入后与jar包配套。

3.DWF的运行机制

用DWF构建业务系统不必从零开始开发,系统使用会有三个过程:

  • 模型定制与转换过程:快速用DWF模型定制工具进行业务模型的定制,组件拼装出应用系统,模型转换后即可运行。这一过程不需要高级(昂贵)的开发人员参与,并且可以快速迭代业务系统。
  • 基于模型脚本开发过程:在需要实现一些特殊功能和操作时,可利用DWF系统集成的开发工具,用脚本进行补充性功能开发,在线更新系统。该过程仅需要一些脚本的编程工作来解决问题。
  • 应用部署与运行过程:这个过程重点考虑企业对应用系统的保密要求。DWF开发的应用系统既可以独立部署在内网,也可以部署在云端。

DWF开发过程示意图如下:
开发过程示意图
这种开发模式的好处是:

  • 让系统开发人员将注意力集中在关键问题上,节省了考虑软件架构和技术细节的精力。
  • 以配置方式实现系统开发,降低后续测试和维护的成本。
  • 基于模型扩展编码工作,减少编码总量,降低开发难度。
  • 交付系统、修改系统迅速,能快速响应变更需求,实现即改、即用。

4.DWF的核心功能

DWF提供了建模工具、应用前端、系统扩展三个层次的功能,在此基础上可以搭建各种业务系统的应用。

  • DWF建模工具:利用DWF核心功能完成各类模型的定制,统一由DWF完成在线转换成前端应用。每次模型修改或增删后,都要进行在线转换。
  • DWF应用前端:应用前端提供应用系统的通用功能,例如:用户认证、权限管控、数据存取、界面显示、功能定义、操作实现、流程管控等功能。
  • DWF开发支持:在模型定制不能完全满足用户要求的情况下,通过前端或后端的脚本、存储过程和增加插件来扩展应用前端的功能,支持上层应用的需要。
  • 应用模型包:基于DWF可实现各类业务应用系统,如:智能服务管理、设备管理、系统监控管理、进销存管理、客户关系管理、人力资源管理、学生、学籍管理等应用系统。

DWF的模型定制与模型管理是其核心功能,定制功能包括:

  • 组织模型定制:用于定制业务系统的用户和组织。
  • 权限模型定制:快速授权支持基于功能树的授权方式,访问控制支持类、属性、对象的授权,且支持批量授权操作。
  • 数据模型定制:用于定制业务系统的数据模型,包括:内部实体类模型、关联类模型和外部实体类模型。
  • 表单模型定制:用于定制业务系统数据模型的展示界面、操作和功能实现。
  • 功能模型定制:用于定制业务系统的功能和功能树。
  • 流程模型定制:用于定制业务系统的工程流程模板。
  • 模型包管理:将一个DWF实例系统环境下的模型(包括:数据模型、表单模型、功能模型、组织模型)快速导出并迁移到另外一个DWF系统环境中;实现将开发环境或者测试环境模型快速导出和迁移到生产环境中,实现系统的快速部署。

DWF核心功能

5.DWF的扩展方式

DWF除了基于模型定制的系统开发基础能力外,还灵活支持其它三种扩展开发方式来丰富系统的应用功能:

  • 基于JS脚本的开发扩展
    1.前端脚本主要完成前端页面显示与控制,后端脚本一般处理复杂业务逻辑,且后端脚本保证了事务性
    2.基于JavaScript语法脚本编程,且提供了前后端脚本可调用的API(包括Restful API调用),后端脚本操作有事务特性,可调用第三方的服务,脚本开发不用二次编译,开发后可即时被DWF框架解释;

  • DWF超级控件开发
    1.超级控件是针对前端页面扩展,理论上客户可基于自身所熟悉的技术栈完全非侵入独立开发,且能调用DWF封装API,开发后无需整体编译直接可用,可实现DWF表单具体区域或整个表单的自定义扩展开发;
    2.超级控件开发难度与能力介于JS脚本与插件开发之间,相对于插件开发要优先推荐超级控件方式

  • 基于DWF-SDK代码进阶的开发扩展
    1.程序员下载DWF核心代码包(DWF-SDK),同时也可下载已有插件的代码包进行插件修改;
    2.程序员基于代码进阶开发规范开发前端插件与后端Restful API;
    3.程序员代码进阶开发完成后可导出代码包,在modeler中由管理员完成代码包装配,之后就可使用装配后扩展插件。

三、应用系统的搭建流程

用DWF搭建应用系统需要6个步骤,按照6个步骤使用DWF的modeler的建模工具就可以完成应用系统的搭建,应用发布后可直接进入app端开展设备管理的系统应用。

  • 业务需求和功能设计
    分析业务需求和用户需求,完成数据模型中的实体类、关联类的设计,完成业务表单模型的设计,完成系统功能的设计,并提交相关的设计文档。

  • 应用定制
    使用DWF的建模工具modeler开展建模工作:

    第一步:创建数据模型
    第二步:创建表单
    第三步:创建应用系统的功能
    第四步:创建用户和用户组并进行访问授权设置

  • 应用发布
    完成模型打包并在DWF实例中释放模型包,即可在app端开展应用。
    DWF系统开发流程

文章摘自:http://101.6.15.214:8180/confluence/display/DWFhelp2021

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值