Dataway

数据接口配置服务
授权协议 Apache
开发语言 Java
所属分类 程序开发、 ORM/持久层框架
软件类型 开源软件
地区 国产
投 递 者 卫乐童
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Dataway 数据接口配置服务

  依托 DataQL 服务聚合能力,为应用提供一个 UI 界面。并以 jar 包的方式集成到应用中。 通过 Dataway 可以直接在界面上配置和发布接口。

  这种模式的革新使得开发一个接口不必在编写任何形式的代码,只需要配置一条 DataQL 查询即可完成满足前端对接口的需求。 从而避免了从数据库到前端之间一系列的开发配置任务,例如:Mapper、DO、DAO、Service、Controller 统统不在需要。

  Dataway特意采用了 jar包集成的方式发布,这使得任意的老项目都可以无侵入的集成 Dataway。 直接改进老项目的迭代效率,大大减少企业项目研发成本。

  如上图所示 Dataway 在开发模式上提供了巨大的便捷。 虽然工作流程中标识了由后端开发来配置 DataQL 接口,但这主要是出于考虑接口责任人。 但在实际工作中根据实际情况需要,配置接口的人员可以是产品研发生命周期中任意一名角色。


主打场景

  主打场景并不是说 Dataway 适用范围仅限于此,而是经过多次项目实践。我们认为下面这些场景会有非常好的预期效果。 比如说 取数据 在一些报表、看板项目中即便是取数据逻辑在复杂。我们依然做到了真正的 零 开发,所有取数逻辑全部通过 DataQL + SQL 的方式满足。 对比往期项目对于后端技术人员的需求从 3~5 人的苦逼通宵加班,直接缩减为 1人配置化搞定。

  再比如,某个内部类 ERP 项目,20多个表单页面,后端部分仅有 1000 行左右的核心代码。其它数据存取逻辑全部配置化完成。

  1. 取数据
    • 如果你只想从数据库或者服务中获取某类数据,不需要: VO、BO、Convert、DO、Mapper 这类东西。
  2. 存数据
    • 如果是从页面表单递交数据到数据库或者服务,免去 BO、FormBean、DO、Mapper 这类东西。
  3. 数据聚合
    • 基于服务调用结果经过结构转换并响应给前端。
    • 将数据库和服务等多个结果进行汇聚然后返回给前端。

技术架构

avatar

  刚一接触 DataQL 可能会有一种错觉认为 DataQL 是一个高级别的 ORM 工具。 这一点需要澄清。DataQL 的竞品应是 GraphQL,而非 ORM 框架。

  ORM 类框架有一个最大的特点是具有 Mapping 过程,然后通过框架在进行 CURD 操作。 例如:Mybatis、Hibernate。其中有一些甚至做到了更高级的界面化例如: apijson,但其本质依然是 ORM。

  而 DataQL 有很大不同。虽然 DataQL 提供了非常出色的基于 SQL 数据存取能力。但从技术架构上来审视,可以看出它并不是 ORM 框架。 它没有 ORM 中最关键的 Mapping 过程。DataQL 专注的是:结果转换、数据和服务的聚合查询。

  造成 ORM 错觉的是由于 DataQL 充分利用 Udf 和 Fragment 奇妙的组合,提供了更便捷的数据库存储逻辑配置化而已。

接口配置界面

  • 公众号:踏歌的 Java Daily Dataway集成Spring Boot Dataway踩坑指南 前言 Java早已厌烦了controller、service、dao,尤其是一些很简单的管理系统对一些单表的增删改;我也是偶然在一个项目初期进行使用,参与DataWay集成Spring Boot的全过程。 参考链接:https://www.hasor.net/doc/ 以下是本篇文章正文内容,下

  • 介绍: 在我看来,dataway是一个快速的构建接口的构件。 有了dataway,接口不需要写业务代码,可以直接快速发布。 其原理大概类似于。数据库存放url和sql的映射。到时候执行哪个url就对应执行哪条sql就是了。 dataway如果想做些一般复杂的事情的逻辑的话,是需要自己的语言dataQL的.但是由于其是弱语言,其实并不擅长做更复杂的事情。 springboot集成: dataway是

  • 实现SpringModule import net.hasor.core.ApiBinder; import net.hasor.core.DimModule; import net.hasor.core.TypeSupplier; import net.hasor.dataql.fx.db.LookupDataSourceListener; import net.hasor.dataway.sp

 相关资料
  •   //默认Mysql数据库 'default_mysql_config' => 'mysql', //Mysql数据库配置 'mysql' => array( 'host'  => 'localhost', 'port' => '3306', 'username' => 'root', 'password' => '', 'db_name' => 'g-framework', 'db_prefi

  • [命名空间: Serenity.Abstractions, 程序集: Serenity.Core] 所有应用程序都有一些类型的配置。作用域(scope)、存储介质和格式化器的设置在不同应用程序间都是不相同的,因此,Serenity 提供 IConfigurationRepository 接口对此配置进行访问。 public interface IConfigurationRepository {

  • 由于基于HTTP协议的Web程序是无状态的,因此,在应用程序中使用JDBC时,每次处理客户端请求时都会重新建立数据库连接。如果客户端的请求非常频繁,服务端在处理数据库时将会消耗非常多的资源。因此,在Tomcat中提供了数据库连接池技术。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个数据库连接。在使用完一个数据库连接后,将其归还数据库连接池

  • 一 配置说明 积分商城后台一些分享助力类的活动使用过程中,在活动配置时候是涉及到一些分享,唤端,未登录唤起登录和免登录接口相关的配置。开发者运营/技术人员在活动配置时候的一些接口和参数配置,可以参考本文档进行相关接口对接。 二 涉及接口 其中主要涉及到的接口配置内容如下 1.免登录接口的配置 有些活动配置是会涉及到必须配置免登录接口,活动才能进一步配置保存。 具体接口详见 【免登录接口】 2.活动

  • 本文向大家介绍springMVC利用FastJson接口返回json数据相关配置详解,包括了springMVC利用FastJson接口返回json数据相关配置详解的使用技巧和注意事项,需要的朋友参考一下 一直使用的是FastJson,感觉还不错,很方便。看了一段别人的分析,觉得很有道理。 为什么要使用Fastjson,其实原因不需要太多,喜欢就行。 我之所以要替换掉Jackson最主要的原因是Ja

  • 本文向大家介绍thinkphp配置连接数据库技巧,包括了thinkphp配置连接数据库技巧的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp配置连接数据库的常用方法,分享给大家供大家参考。具体方法如下: 1.在thinkphp入口文件同目录下的config.inc.php中添加数据库配置信息 然后在项目目录的config.php文件中添加如下代码: 在后台文件中也可以添加如上