产品架构
逻辑架构图
VDS是基于Eclipse RCP搭建的可视化桌面客户端C/S架构软件。技术实现上聚焦于客户端可视化的实现、客户端和数据库的交互,还有客户端和用户的互动。
前端
UI的绘画,提供与用户交互的元素:窗口,对话框等,基于RCP,依赖GUI工具集或插件。前端和业务层一起组成VDS本身。
业务层
- 安全认证:控制用户登录数据库,并建立会话连接。
- 基础功能:提供数据库数据查询、数据对象管理等日常运维能力。
- 工具:业务依赖工具,如:jdbc提供与数据库建立连接的能力,语法解析提供sql格式化和sql解析的能力。
- 日志:日志记录。
基础技术栈
- UI依赖包:SWT、JFACE等依赖包提供了基础的UI展示,如:控制面板、对话框等。
- 插件:eclispe e4、nebula对SWT/JFACE进一步封装,提供更丰富简洁的使用接口。
运行环境
- JDK:jdk要求11+。
- JNI:SWT/JFACE的展示的本质,是依赖java虚拟机中的JNI来调起可视化设备native接口。
操作系统
- Window/Linux GDI:全称是Graphics Device Interface,可视化设备接口,控制硬件设备的展示。
- Shell:协助GDI一起完成可视化展示。
数据架构图
数据流向概览:
数据资产 > 数据应用:可视化页面的内容展示、sql终端执行select/show等语法、对象的展示,这些操作都需要进行数据查询;(另外,数据的查询也会产生审计日志或其他数据库操作日志记录)。
数据资产 < 数据应用:对象的编辑,例如create table、alter view、drop index,还有终端执行insert/update/drop等语法,都会促使数据库、日志产生新数据。
数据资产 = 数据应用:命令窗口通过ssh打开数据库vsql服务,通过命令行的方式访问数据库。
部署架构图
VDS作为C/S架构,采用jdbc和ssh的方式和数据库服务进行交互。