《Node Framework for VCL》(一)开发背景

本文探讨了在Delphi环境下构建DevOps框架的挑战与机遇,提出了NodeFrameworkforVCL的概念,旨在解决软件开发过程中的效率与灵活性问题。文章概述了框架的开发背景、构想、架构及选型,强调了多层分布式架构的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Node Framework for VCL》(一)开发背景


背景

​ 随着时代的发展,对软件的要求也越发繁杂严苛,需求变化越来越快,业务逻辑越来越复杂,集成功能越来越多,客户要求的交付时间越来越短。

​ 一切技术,都是为了发展而服务的。需求导致了DevOps的诞生。

注:不对DevOps展开具体描述,可自行Google或百度。

​ 持续开发,持续测试与集成,自动化部署,持续交付,一切看起来都很美好。然而,当DevOps理念在主流语言大行其道,各个行业都开始结合自身行业特点对落地DevOps进行规划和探索时,一切都似乎与Delphi无关,曾经WIN32平台开发霸主搜遍全网也无法把 Delphi DevOps 关联起来。

​ OK,没有现行的框架,能不能自已搭一个呢。这个想法一冒出来,自己也吓了一跳,正好公司上一代框架存在很多的遗留问题(N年前的程序员搭建),想着试试也无妨。于是做为技术方面的中层向领导建言,领导听完我的絮叨后问要多少资源,为了促成这事,冒险回答一个人,三个月。最终,毫无意外,否了。

​ 可这想法一经出现便蕴绕着,挥之不去,再也无法天天写业务逻辑好好搬砖了。

​ 中年、技术岗、房贷、家庭孩子,贴着这些标签的我出现这念头实在太不理智了,不,简直是罪恶!

​ HR语重心长地提示我,这世界对40岁以上的程序员很不友好的喔。“嗯”,我意会地点点头,我知道这是实话。成人的世界没有对错,选择之前就明白要面临着什么。

​ 于是有了《Node Framework for Delphi》


构想

​ 不同于Java , Visual Studio, Python 背后都有Microsoft ,SUN ,Google 这些巨头爸爸支持。对于构建DevOps的最佳搭档 docker 对于 Delphi 是没有的。把Delph以及一些第三方技术梳理了一遍,感觉也可以构建自己的容器。

​ 按照最初的设想,Node Framework 包含以下三条路线

	-  Node Framework for VCL     	面向Windows平台
	-  Node Framework for CLX       面向Linux平台
	-  Node Framework for FMX       面向移动平台

​ 条件所限,选择最熟悉的VCL路线。VCL现在实现 RESTful 也很容易,可以通过其与其它平台交互。

.1 一阶段:

  • 基础VCL框架搭建;
  • 节点服务成型;
  • 控制系统成型;
  • 监测系统成型;

.2 二阶段:

  • SDK模块
  • OEM模块
  • 注册模块

.3 三阶段:

  • 设计系统成型
  • 测试系统成型
  • 发布系统成型

架构

  • 多层分布式

    毫无疑问的多层分布式,

    ​ 首先是多层,这个概念是从三层引申出来的。

    ​ 三层相对于两层C/S架构而产生,在软件开发早期,大多信息系统应用都采用Client(客户端)/Server(服务端)的两层结构。两层结构有其优点,但弊端也很大,主要体现在数据安全性、业务逻辑封装、数据库承压和客户环境复杂度上。

    ​ 两层客户端直连数据库,安全性自不必说。三层加入了中间逻辑层(应用层),对客户端连接做验证和处理,无法通过验证的客户端无法连接到数据库,应用层通常和数据库分离,暴露在外的应用层即使受攻击,隐藏在内的数据库也不会受影响。

    ​ 两层结构没有逻辑层,业务逻辑直接封装在界面层,这样会导致当业务逻辑发生变化时,需要频繁地更新客户端,客户环境又非常复杂,要考虑不同的操作系统,病毒、网络、用户误操作等等种种因素,都可能导致更新出现问题。频繁更新导致维护成本实在太高了,因此两层架构很快被市场抛弃。

    ​ 很多人包括程序员本身把三层理解为技术,其实三层首先是思想,哪怕只在界面层,也存在三层,个人理解三层的核心思想是:”体系内的任何一块被替换时不影响其它块“。懂得界面和逻辑分离的程序员,和一个界面和逻辑混一块的程序员,从代码就能看出水平,虽然呈现给外部的效果看起来一样,但后期的维护量差别巨大。

    分布式,是相对于以住的集中式而言,这个好理解,分布式架构在价格成本、自主研发、灵活兼容、伸缩扩展方面有比较显著的优势。具体分析网上已有很多了。

  • 应用容器化 ​

    Delphi 是编译型语言,代码经编译后生成固定的二进制文件运行,与解释型语言相比,执行效率会高很多,毕竟少了动态编译的环节;缺点就是灵活性差。
    编译型这种运行机制决定了,从代码层面实现容器几乎不太可能,只能多从数据结构上做考虑。


选型

  • 编译器IDE : Delphi XE10 Seattle Version 23.0.20618.2753
  • 通信协议 : IOCP 、Datasnap
  • 交换格式 : JSON
  • 数据引擎 : FireDAC
  • 第三方控件 : Indy , DevExpress VCL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值