Skip to content

应用的基本概念

什么是应用

在低代码平台中,应用(Application)是一个独立的实体,包含了实现特定业务需求的一组功能模块和数据资源。应用可以看作是一个完整的软件系统,用户可以通过应用来完成特定的业务流程和操作。

一个应用通常由以下几个部分组成:

  • 模块(Module)

    • 模块是应用的功能单元,每个模块实现特定的功能或业务逻辑。例如,客户管理模块、订单处理模块等。
    • 模块可以是数据表、界面、仪表盘、表单等。
  • 界面(Interface)

    • 界面是用户与应用交互的窗口,包括表单、列表、仪表盘等。用户通过界面可以查看和操作数据。
    • 界面可以通过组件设计器拖拽组件和配置属性来快速搭建。
  • 自动化和脚本(Automation & Script)

    • 自动化用于实现业务流程的自动化处理,例如定时任务、事件触发等。
    • 自动化可以通过配置步骤和条件来实现复杂的业务场景。

应用结构

应用的生命周期

  • 创建应用

    • 用户可以通过低代码平台提供的向导或模板快速创建一个新应用。
    • 在创建过程中,可以选择需要的模块、数据表和界面。
  • 配置应用

    • 创建应用后,可以进一步配置应用的详细信息,包括模块设置、数据表字段、界面布局等。
    • 可以通过拖拽组件和配置属性来实现快速配置。
  • 发布应用

    • 配置完成后,可以将应用发布给最终用户使用。
    • 发布后,用户可以通过访问应用的URL或在移动设备上使用应用。
  • 维护和更新应用

    • 应用发布后,可能需要进行维护和更新,以适应业务需求的变化。
    • 低代码平台提供了便捷的更新机制,可以快速进行修改和发布。

应用设计器界面

应用结构

织信低代码平台应用设计器页面是一个功能强大的工具,允许用户在无需编写大量代码的情况下设计和配置应用。以下是对该页面各个部分的详细介绍:

左侧导航栏 左侧导航栏提供了对应用各个模块和设置的快速访问。主要包括以下几部分:

  • 全局设置:对整个应用的全局配置进行设置。
  • 应用信息:查看和编辑当前应用的基本信息。
  • 自动化:配置应用的自动化流程。
  • 脚本:配置应用的脚本。
  • 模块设置:对应用中的各个模块进行管理和配置。

顶部功能菜单 顶部功能菜单提供了对应用设计器的各种功能的快速访问。主要包括以下功能:

  • 版本管理:对应用的版本进行管理和发布。
  • 引用:查看和管理应用中的引用。
  • 日志:查看应用的操作日志。
  • 模型:快速查看模型信息。

实时日志

在应用配置过程中,可以通过日志窗口查看应用日志,并且可以在运行状态页面,查看当前在运行中的脚本 定时任务 自动化 API等,对于正在运行的代码,可以手动终止。

应用日志

日志级别

应用的日志级别可以在工作台-应用管理-应用设置界面修改。在开发环境建议将日志级别设置为DEBUG,以方便调试开发。在生产环境建议将日志级别设置为ERROR,以提高性能。

日志限制

在织信设计器中可以通过实时日志窗口查看当前应用运行过程中的日志信息。实时日志只记录了最新的1000条日志信息,在应用设计过程中可通过实时日志调试低代码应用。

处于性能考虑,在实时日志中输出的单条日志内容最大为10k大小,超过的部分将会被截断。如果遇到被截断的情况,可在日志文件中查看详细的日志信息。

应用日志

日志文件

对于每一个应用织信也会使用文件系统记录历史日志信息,默认情况下日志系统会为每一个应用单独记录日志,每天生成两个日志文件,系统会保留最近15天的日志文件。 日志文件的开关是应用设置里配置。

  • 将日志输出到文件中(文本)
  • 将日志输出到文件中(JSON)

日志文件会存储在织信安装目录下,存储路径为

shell
INFORMAT_HOME/applog/${appId}/app.log
INFORMAT_HOME/applog/${appId}/app_json.log

日志文件的格式如下

shell
[DATE][LEVEL][THREAD][APPID][REQUESTID][CONTEXT] MESSAGE
  • DATE 的格式为yyyy-MM-dd HH:mm:ss:SSS
  • LEVEL 的可选值为 DEBUG、INFO、WARNING、ERROR
  • THREAD 为当前线程的标识符
  • APPID 为应用的标识符
  • REQUESTID 当前调用的唯一标识符,格式为长度为13位的随机数
  • CONTEXT 是当前的自动化、脚本、定时任务的标识符
  • MESSAGE 记录了本条日志的详细内容

下面是一段示例的文本日志内容

sh
[2023-03-10 15:21:09.595] [INFO ] [82-exec-1] [product] [rstn9gikaxp0v] [automatic-console] execute start
[2023-03-10 15:21:09.598] [DEBUG] [82-exec-1] [product] [rstn9gikaxp0v] [automatic-console] {"age":20}
[2023-03-10 15:21:09.599] [INFO ] [82-exec-1] [product] [rstn9gikaxp0v] [automatic-console] execute finished time:5ms
[2023-03-10 15:37:32.676] [INFO ] [82-exec-2] [product] [zqqa5fxc26zon] [automatic-console] execute start
[2023-03-10 15:37:32.682] [DEBUG] [82-exec-2] [product] [zqqa5fxc26zon] [automatic-console] {"age":20}
[2023-03-10 15:37:32.687] [INFO ] [82-exec-2] [product] [zqqa5fxc26zon] [automatic-console] execute finished time:11ms

下面是一段示例的JSON日志内容

shell
{"timestamp":"2023-03-10T07:21:09.595Z","level":"INFO","thread":"http-nio-8882-exec-1","mdc":{"context":"automatic-console","requestId":"rstn9gikaxp0v","appId":"croe0zft168y3","appDefineId":"product"},"message":"\"execute start\""}
{"timestamp":"2023-03-10T07:21:09.598Z","level":"DEBUG","thread":"http-nio-8882-exec-1","mdc":{"context":"automatic-console","requestId":"rstn9gikaxp0v","appId":"croe0zft168y3","appDefineId":"product"},"message":"{\"age\":20}"}
{"timestamp":"2023-03-10T07:21:09.599Z","level":"INFO","thread":"http-nio-8882-exec-1","mdc":{"context":"automatic-console","requestId":"rstn9gikaxp0v","appId":"croe0zft168y3","appDefineId":"product"},"message":"\"execute finished time:5ms\""}

数据分析和挖掘

利用日志文件可以对日志数据采集、整合、分析和可视化。织信并不提供这些功能,我们建议您使用成熟的日志分析框架,例如ELK,splunk等系统将织信的应用日志发送到此类系统中进行分析。

版本管理

版本管理是基于 git 实现的功能,您可以将本地应用的配置文件及资源文件推送至远程仓库进行管理,并且可以在不同环境内去拉去仓库中的应用配置文件达到一个快速的版本切换。这个功能为您的开发团队提供了一种高效、安全的方式来管理应用配置文件的变更。

版本管理的好处

  • 高效的版本控制:通过使用基于 git 的版本管理工具,您可以轻松地跟踪、管理和控制配置文件的版本。每次对配置文件的更改都可以以提交的形式记录下来,使得开发人员能够理解每个更改的目的和内容。

  • 及时的缺陷修复:当您的程序的配置文件出现缺陷或错误时,您可以迅速回退到之前的版本并进行修复。通过查看提交历史,您可以找到引入问题的特定提交,并在远程仓库中将代码恢复到该提交之前的状态。这样,您可以快速修复问题并将修复后的版本重新推送到远程仓库,以确保配置文件的稳定性和正确性。

  • 分支管理和合并:通过使用分支,您可以并行开发不同的功能或进行实验性的更改,而不影响主要的配置文件。您可以创建新的分支来尝试新功能,而不会破坏现有的稳定版本。一旦功能开发完成,您可以将分支合并回主分支,确保配置文件的整体一致性。

  • 安全的备份和恢复:将配置文件推送到远程仓库实现了配置文件的安全备份。即使本地机器遭受损坏或丢失,您仍然可以从远程仓库中恢复配置文件的最新版本。这为您提供了一种可靠的方式来保护您的配置文件免受数据丢失的风险。

平台版本

平台版本低于应用所需要的平台版本时,在拉取远程仓库文件时需要打开允许平台版本低于应用版本选项。

推送的目录结构

推送至远程仓库的文件分为三个部分,分别是App、Module以及package.json,具体文件结构目录图如下:

shell
App/
    1.自动化配置
    2.资源文件
    3.角色权限、定时任务、API等全局设置项
Module/
    1.各个模块的配置文件
    2.资源和组件设计器模块的文件
package.json 应用的版本 标识符等信息

平台版本

使用的git版本必须要2.3.0 以上,推荐使用的 git 版本为2.39.0

如果在使用版本管理工具的时候出现g it 无法连通远程仓库的情况,请使用ssh命令连通远程仓库。 建议在git服务器(比如 gitlab )上执行 git config --global diff.renames false命令,确保git服务器在比较两个版本差异时,不会把两个完全不一样的文件进行对比。

URL地址格式

在应用中,您可以使用以下格式的 URL 地址来访问应用中的页面

js
https://next.informat.cn/app/${appId}/${moduleType}/${moduleId}
  • appId 是应用的唯一ID,在安装应用后由系统自动生成。值得注意的是 appId 是全局唯一的 即便是同一个应用,在不同的团队中 appId也是不一样的。
  • moduleType 是应用的模块类型标识符
  • moduleId 是应用的模块ID,可以通过模块信息页面查看

全局的URL参数

如果希望隐藏导航栏,可以通过在地址中增加 nonav=true 参数。这样可以很方便的将织信的页面嵌入到其它系统中。