当前位置: 首页 > news >正文

一点感受

做了两天企业数字化转型的评委,涉及全国最顶级的公司、最顶级的实际落地项目案例,由企业真实的落地团队亲自当面讲解。主要是为了了解了解真实的一线、真实的客户、真实的应用现状和应用水平。

(1)现状

我评审的涉及底层技术平台:

1、云原生(微服务)与低代码

2、大数据平台-可视化报表图表

3、BPM/Workflow数字化与集成

其实这三个有关联性。我随手画了一个图:

6a2503c09cdc9d42c08baf41d8c9926e.jpeg

云原生(微服务)相当于重代码,低代码工具相当于轻代码,两者有轻重递进关系。现在很多低代码工具也是可视化输入UI设计,然后生成Java代码,然后用开源的Eclipse做IDE,后面藏起容器打包-CI-CD工具流水线。

我想和大家一起反思的是:企业内部管理软件,有没有必要使用微服务技术。现在中国业界一应用微服务就是用Spring MVC框架或Spring Boot框架。我想说,不用这些框架,直接写普通函数就行了,用Docker容器打包好部署,用DevOps工具好监控就行了。

但是大部分低代码框架还是生成了Java代码(这是不是低代码),而且基本都用了Spring MVC框架。其实大家深思,企业内部管理软件为啥要Spring MVC代码框架,这个问题很值得反思。在20年前(2004年)为了反对JSP/Servlet、EJB/Entity EJB,开源界产生了Struts、Spring、Hibernate三驾马车,后来Spring公司一统天下成了Spring MVC。但在20年后,技术栈成了HTML-AJAX-Restful-普通类-SQL,而扔掉了特殊页面技术(如JSP/ASP/Tomcat)、扔掉了组件、扔掉了ORM方法,所以Spring MVC在当前这个阶段有没有存在的必要很值得商榷。另外,Spring其他的技术框架,如AOP、IoC、事务管理,是否大家真的需要,也很值得商榷。

咱们再说一下大数据平台。上述有了微服务重代码开发以及输入UI可视化设计并最终生成重Java代码的低代码工具,这些做成的应用就可以日常使用进行数据沉淀了。数据就顺理成章到大数据平台了。

在业界,泛的大数据平台无所不包:SQL、NOSQL、MPP、Hadoop数据湖、Spark/Flink计算引擎、Presto查询引擎、ES搜索引擎都是,但狭义的大数据平台一般特指:Hadoop+Spark/Flink计算引擎。但其实中国企业内部管理软件连这也不需要,要我说,MPP数据库就能搞定,如GreenPlum、ClickHouse、Doris,甚至用传统关系数据库MySQL就搞定。

最后咱们再说说BPM/Workflow与集成了。有了那么多开发的应用,就需要串联在一起。有的是在业务逻辑层面串联,这就需要集成中间件,有的是在业务审批工作流引擎层面串联,这就需要Workflow引擎。

集成中间件呢,现在大家一种是使用API集成方式,会使用到的中间件有:代理网关/API网关/服务网关,常见的有Envoy、Zuul、Eureka、Kong、Istio。大家还有一种使用消息数据传输的集成方式,常见的中间件如Kafka/RabbitMQ/RocketMQ/Pulsar。

现在还流行一种集成的方式就是在UI层做集成,不用在复杂的API层和数据层搞事。那就是用RPA搞事。

不过我的建议是:别动代理网关/API网关/服务网关/消息队列这些东西,在UI层用RPA、在业务层用审批工作流引擎搞事即可。

(2)梳理

他们在落地的时候大多是这样搞:

1、云原生(微服务)与低代码:云原生(微服务)用开源代码自搭(不能称为自研),低代码用外购。

2、大数据平台-可视化报表图表:大数据平台用开源代码自搭,可视化报表图表工具外购。

3、BPM/Workflow数字化与集成:集成用开源中间件自搭(RPA外购),BPM/Workflow数字化用外购。

从他们口中经常听到的外购工具有:

1、低代码工具:奥哲、简道云(属于帆软关联公司)...

2、可视化报表图表工具:帆软...

3、RPA工具:影刀、弘玑...

4、BPM/Workflow工具:泛微、致远...

从他们的汇报中得知,他们在落地这些工作时做了不少专利申请。毕竟他们都有数字经济、国产化创新、自主可控、研发投入强度、专利论文图书进步奖等等一些KPI考核引导。

另外,从这些平台的应用场景来看,主要就是:

1、CRM:营销-交易-客服

2、ERP:供应链-财务-人力

应用场景没有什么新的。

(3)总结

过去企业实施IT,重点都在谈应用,不怎么注重技术平台建设,一般都买现成的可数的几个国际巨头的商用产品。现在他们主要用国际开源代码自搭。

现在他们更重视谈技术平台建设,而且更优先谈技术平台建设,反而应用建设优先级靠后。

我作为评委问了许多头和尾的问题:

头:当初立项前面临的业务具体问题是啥、当时的IT为啥就不能支撑那个业务问题了?

尾:干完了这几个技术平台,考核指标是啥?

不过大部分团队对:要解决什么业务问题、要达成什么目标,并不清楚。

干就完了。

64f84cbe327e4755d6e663c6d8b499b5.jpeg

相关文章:

一点感受

做了两天企业数字化转型的评委,涉及全国最顶级的公司、最顶级的实际落地项目案例,由企业真实的落地团队亲自当面讲解。主要是为了了解了解真实的一线、真实的客户、真实的应用现状和应用水平。 (1)现状 我评审的涉及底层技术平台&…...

VirtualBox RockyLinux9 网络连接

有几次都是隔一段时间之后启动虚拟机,用第三方ssh工具就连接不上了。 简单记录一下。 1、VirtualBox设置 2、IP设置 cd /etc/NetworkManager/system-connections/ vim enp0s3.nmconnection[connection] idenp0s3 uuid9c404b41-4636-397c-8feb-5c2ed38ef404 typeet…...

java 实现适配器模式

适配器模式(Adapter Pattern)是一种结构型设计模式,用于将一个类的接口转换成另一个类的接口,使得原本不兼容的类可以协同工作。适配器模式包括两种类型:类适配器和对象适配器。下面分别介绍这两种类型的实现方式。 类…...

后端常用的Linux命令大全

后端常用的Linux命令大全 基础常用命令 Sudo Command 该命令是“superuser do”的缩写。sudo 是最常用的命令之一,可让你执行需要管理或 root 特权和权限的任务。 使用sudo命令时系统会提示用户重新使用密码进行身份验证。接下来,Linux 系统将记录一…...

C++面向对象

C面向对象知识 内存字节对齐 #pragma pack(n) 表示的是设置n字节对齐,windows默认是8字节,linux是4字节,鲲鹏是4字节 struct A{char a;int b;short c; };char占一个字节,起始偏移为零,int占四个字节,min(8,4)4&#x…...

什么是栈顶缓存技术

假设有一个基于流水线架构的处理器,它需要执行一系列指令。这些指令包括加载数据、执行计算和存储结果。在流水线中,不同阶段的指令可以并行执行。 现在考虑一个简单的情况,其中需要执行以下两个指令: 加载数据指令:…...

TDesign的input标签

目录 一、 新建页面01-todolist 二、 t-input标签、t-button标签 2.1 t-input标签 2.1.1 01-todolist.wxml页面 2.2 01-todolist.json页面 2.3 01-todolist.js页面 2.4 01-todolist.wxss页面 2.2 t-button标签 示例1:bind:change 示例2:bind:…...

从零开始学习 Java:简单易懂的入门指南之Map集合(二十三)

Map集合 1.Map集合1.1Map集合概述和特点1.2Map集合的基本功能1.3Map集合的获取功能1.4Map集合的遍历(方式1)1.5Map集合的遍历(方式2) 2.HashMap集合2.1HashMap集合概述和特点2.2HashMap集合应用案例 3.TreeMap集合3.1TreeMap集合概述和特点3.2TreeMap集合应用案例 1.Map集合 1…...

SpringBoot 拦截org.thymeleaf.exceptions.TemplateInputException异常

SpringBoot 拦截thymeleaf异常 org.thymeleaf.exceptions.TemplateInputException异常 org.thymeleaf.exceptions.TemplateProcessingE xception: Could not parse as each: "message : xxx " (template: “xxxx” - line xx, col xx) thymeleaf异常复现 你是故意的…...

Qt之随机数

介绍使用qsrand和qrand生成随机数。 生成随机数 生成随机数主要用到了函数qsrand和qrand,qsrand用来设置种子点,该种子为qrand生成随机数的起始值。如果不调用qsrand,那么qrand()就会自动调用qsrand(1),即系统默认将1作为随机数的起始值。使…...

UWB学习——day2

UWB应用 基于上文UWB学习——day1中对UWB技术的相关优势介绍,UWB技术可广泛应用于以下场景。 WPAN(无线个域网) 基于其高精度(亚厘米级)、低功耗和高穿透性等特征,在以人为基础的个域网中应用广泛&#…...

使用 multiprocessing 多进程处理批量数据

示例代码 import multiprocessingdef process_data(data):# 这里是处理单个数据的过程return data * 2# 待处理的数据 data [1, 2, 3, 4, 5]def normal_func():# 普通处理方式result []for obj in data:result.append(process_data(obj)return resultdef parallel_func():# …...

React 与 TS 结合使用时组件传参总结

在学习 React 时,我们总会遇到在 TS 和 JS 之间切换来开发多个项目,而有时会忘记 TS 的语法,所以编写一下 React 结合 TS 开发时的一些总结知识点,以便后续回顾用。 向组件传递基础参数(字符串、数字和布尔值&#xf…...

性能炸裂c++20协程+iocp/epoll,超轻量高性能异步库开发实战

前言: c20出来有一段时间了。其中一大功能就是终于支持协程了(c作为行业大哥大级别的语言,居然到C20才开始支持协程,我也是无力吐槽了,让多少人等了多少年,等了多少青春)但千呼万唤他终于还是来…...

自定义Dynamics 365实施和发布业务解决方案 - 4. 自动化业务流程

本章的主要重点是研究拟议应用程序的关键业务流程的自动化。每个组织每天都有自己独特的业务操作,这些操作是业务的关键部分。有些自动化的业务流程不需要用户交互,有些流程需要用户交互。此外,在某些业务流程中,某些用户操作完成,然后触发自动化流程来完成业务流程。 Dy…...

Lua03——开发环境搭建

1 安装开发插件 在 idea 或 vscode 中安装 lua 的开发插件 EmmyLua 2 创建工程 在 idea 中创建一个新的工程 工程的类型选择 lua 输入工程名及目标目录 在工程结构的SDK中设置lua在本地安装目录 在工程结构的modules中选择 lua 3 编写第一个lua程序 在工程下添加程序包&#…...

Redis 非关系型数据库 配置与优化

关系数据库与非关系型数据库 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言&#x…...

docker笔记8:Docker网络

1.是什么 1.1 docker不启动,默认网络情况 ens33 lo virbr0 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122…...

C# 共享项目的应用

概述 共享项目也可以称为共享资产项目,它允许在多个目标项目之间共享的代码。 它支持编译器指令,可以有条件地包含特定于平台的代码,以便编译为引用共享项目的项目的子集。 还有 IDE 支持,可帮助管理编译器指令并直观显示代码在每个应用程序中的外观。 什么是共享项目? …...

Linux之基于HTTPS的静态网站

目录 Linux之基于HTTPS的静态网站 定义 SSL协议 使用Apachemod_ssl组件的加密认证网站 mod_ssl模组 安装 配置文件 ssl配置文件的主要参数 案例 案例1 --- 搭建HTTPSSL的加密认证的web服务器 案例2 --- 组建多个子目录的网站www.joker.com,该网站下有2个子…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

JVM垃圾回收机制全解析

Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

git: early EOF

macOS报错&#xff1a; Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

python可视化:俄乌战争时间线关键节点与深层原因

俄乌战争时间线可视化分析&#xff1a;关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一&#xff0c;自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具&#xff0c;系统分析这场战争的时间线、关键节点及其背后的深层原因&#xff0c;全面…...