JAVA开源软件的技术选型--开源软件诞生2
技术准备--第2篇
用日志记录“开源软件”的诞生
赤龙ERP开源地址,点亮星标,支持一下,万分感谢
根据场景选择技术
遇到技术选型,常见的做法往往是选择最前沿的,最流行的,或者选择最新的。对于这种方式我只能说部分同意,技术选型我认为最重要的是要适合产品的使用场景。再好的技术,没有遇到发挥它优势的情景,也是白搭。
那么来看看我要开发的这款开源ERP,他的特点:
- 软件是开源的,面对众多的开发者和使用者,一定要选择学习成本低、成熟度高、普及度高,并且尽量使用最少的第三方技术或框架实现所需功能。
- 软件是免费的,那么就不能考虑收费的中间件或技术。
- ERP软件是企业级管理系统,它最大的特点是业务逻辑复杂,功能复用较多、并发不大、服务层相互调用频繁、数据保密程度要求较高。所以重点考虑的是MVC框架的灵活性、ORM的标准化、安全性框架以及缓存技术。
- 系统虽然是2B的,但考虑到企业需求的多样性,要考虑到丰富的可扩展性,尤其是对微服务的支持。
我选择了那些技术
- SpringBoot2
(1)成熟度高、普及度高
(2)SpringMVC框架对Rest支持
(3)配置简化
(4)丰富高效的第三方集成
(5)SpringCloud微服务扩展 - MySQL
(1)免费
(2)全文索引
(3)支持读写分离、集群配置 - Hibernate5
(1)最完整的ORM框架
(2)屏蔽底层数据库
(3)与SpringBoot JPA无缝整合
(4)常用DAO方法的简化,提升开发效率 - Redis
(1)缓存速度快、单线程
(2)持久化
(3)支持分布式 - Cas+Shiro
(1)安全的单点登录协议
(2)简单的安全性框架配置
技术选型的补充说明
可以看到,我并没有选择很多的第三方技术或框架,因为我不想增加一个开源软件的使用者或开发者的学习成本和运维成本。很多时候技术用的越多,系统开发的越大,你要面临的问题就越多,甚至在很多时候成指数增长。总之就是用最少的技术做更多的事!
后记
已经写到23:00了,今天写这么多吧。下一篇说说开源协议的选择,以及选择一个开源协议后要做哪些工作。
JAVA开源软件的技术选型--开源软件诞生2的更多相关文章
- 以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区
以正确的方式开源 Python 项目 - 技术翻译 - 开源中国社区 以正确的方式开源 Python 项目 英文原文:Open Sourcing a Python Project the Right ...
- 【Alpaca】.Net版开源配置中心 - 技术选型 Vue 3.0
是否可以用 Vue 3.0 现有的Vue 2.* 不推荐,坐等Vue 3.0出迁移工具吧,手动改的话工作量还是不小的 新项目 考虑下团队内对Vue + TS + VS Code的熟练程度.过程中你会遇 ...
- Java开源生鲜电商平台-系统架构与技术选型(源码可下载)
Java开源生鲜电商平台-系统架构与技术选型(源码可下载) 1. 硬件环境 公司服务器 2. 软件环境 2.1 操作系统 Linux CentOS 6.8系列 2.2 反向代理/web服务器 ...
- 点菜网---Java开源生鲜电商平台-技术选型(源码可下载)
点菜网---Java开源生鲜电商平台-技术选型(源码可下载) 1.内容简介 点菜网目前选用的是最流行的微服务架构模式,采用前后端分离的开发模式,具备高可用,高负载,支持千万级别的数据量的请求. 2. ...
- 开源中国 2014 最受关注开源软件排行榜 TOP 50
开源中国 2014 最受关注开源软件排行榜 TOP 50 开源中国 2014 年最受关注软件排行榜 TOP 50 正式出炉!2014 年结束了,我们来了解一下过去一年里开源中国最受欢迎的 50 款软件 ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- [转]开源中国的 IT 公司开源软件整理计划介绍
[转]开源中国的 IT 公司开源软件整理计划介绍 http://www.oschina.net/news/61534/oschina-opensource-collection-plan-for-it ...
- 平安银行在开源技术选型上的思考和实践 RocketMQ
小结: 1. https://mp.weixin.qq.com/s/z_c5D8fvHaYvHSczm0nYFA 平安银行在开源技术选型上的思考和实践 平安银行·吴建峰 阿里巴巴中间件 3月7日 随着 ...
- 2015 年度新增开源软件排名 TOP 100 - 开源中国社区
2015 年度新增开源软件排名 TOP 100 - 开源中国社区 39.ABTestingGateway http://www.oschina.net/news/69808/2015-annual-r ...
随机推荐
- luogu P6091 原根
LINK:原根 再复习一下原根 防止考场上要NTT求原根的时候不会求... 这道题要求求出n之内的所有原根 根据原根的定义. 原根指 若x对于模n的阶为phi(n)且\(1\leq x\leq n\) ...
- PyCharm2020激活破解教程
本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12767075.html 免责声明:本方法只做学习研究之用,不得用于商业用途 若经 ...
- x86架构:从实模式进入保护模式
详细的过程说明参考:(1) https://www.cnblogs.com/Philip-Tell-Truth/p/5211248.html (2)x86汇编:从实模式到保护模式 这里简化一下 ...
- linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列
磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...
- Linux的VMWare中Centos7文件查找(find-grep)和vim文本编辑器基操
一.find文件查找 grep 匹配字段 文件名 ——筛选文件 find查找 语法参数示例 格式: find 查找范围 查找类型 参数 find / -name *.conf 按文件名查找 ...
- 面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
来源:http://sina.lt/gqaM 最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”.我看网上出现了很多不靠谱的答案.这道题其实很有难度,涉及的知识点有jvm内存分配. ...
- Tutte 定理与 Tutte–Berge 公式
Tutte theorem 图 \(G=(V,E)\) 有完美匹配当且仅当满足 \(\forall U\subseteq V,o(G-U)\le|U|,o(X)\) 表示 X 子图的奇连通块数. Tu ...
- Qt之先用了再说系列-多线程方式2
继Qt之先用了再说系列-多线程方式2 本次说说在Qt里多线程使用第2种方式,也是qt官方比较推荐用的方式,相对与直接继承QThread 重写run方法中灵活了一些,如果第一次使用可能会转不湾来,没有直 ...
- C#设计模式之13-职责链模式
职责链模式(Chain of Responsibility Pattern) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archive ...
- Vscode+Picgo+github+Markdown Preview Enhanced实现Markdown一键上传图床以及导出pdf文件
目录 安装Vscode 安装及配置Picgo插件 安装Markdown Preview Enhance 安装Vscode 安装Vscode(不解释了) 安装及配置Picgo插件 在github中新建仓 ...