Java开源软件的技术选择--开源软件2的诞生
记录"开放源码软件的诞生
[码云]或[GitHub]搜索"赤龙 ERP"来点亮星光,感谢您的支持,并与开发人员交流kzca 2000
因地制宜
在技术选择方面,通常的做法是选择最尖端、最受欢迎或最先进的技术。为此,我只能说,协议的一部分,技术选择,我认为最重要的是要适合产品的使用情况。无论技术有多好,它都不会遇到充分发挥自身优势的局面。
因此,看看这个开源ERP的特性,我将开发:
主要内容如下:(1)软件是开源的,面对众多的开发人员和用户,我们必须选择低学习成本、高成熟度、高知名度,并尽量使用最少的第三方技术或框架来实现所需的功能。
(2)如果软件是免费的,则不考虑收费中间件或技术。
(3)ERP软件是一个企业管理系统,其最大特点是业务逻辑复杂,功能重用多,并发性不强,服务层间频繁调用,数据保密性程度高,因此重点关注MVC框架的灵活性、ORM的标准化、安全框架和缓存技术。
(4)尽管系统是2B,考虑到企业需求的多样性,我们应该考虑到丰富的可伸缩性,特别是对微服务的支持。
我选择了那些技术。
SpringBoot2
(I)高度成熟和受欢迎
(2)SpringMVC框架支持REST
(3)简化配置
(4)丰富有效的第三方整合
(5)SpringCloud微服务扩展
MySQL
(I)免费
(2)全文索引
(3)支持读写分离和集群配置
Hibernate5
(1)最完整的ORM框架
(2)屏蔽底层数据库
(3)与SpringBootJPA无缝集成
(4)简化常用DAO方法,提高开发效率。
Redis
(1)高速缓存,单线程
(2)坚持
(3)支持分发
Cas+Shiro
(1)安全单点登录协议
(2)简单的安全框架配置
技术选择补充说明
如你所见,我没有选择很多第三方技术或框架,因为我不想增加开源软件用户或开发人员的学习成本、操作和维护成本。大多数情况下,你使用的技术越多,开发的系统越大,你必须面对的问题就越多,甚至是指数增长。简而言之,就是用最少的技术做更多的事情!