开发技术体系
来自ling
目录
Why
- 更快
- 构建资产时重用沉淀得到的公用能力,减短交付周期,降低人工成本
- 公用能力增强时,各资产更快速得益
- 关键修复(如安全有关)
- 功能增强(例:登录界面增加不同方式登录,Captcha的改进,等等)
- 更好
- 公用的代码在多个资产中被应用和测试,更多反馈,更稳健
Analyzing the Status Quo
SaaS vs. On Premises
微服务 vs. 单体应用
单一应用 vs. 应用组合(asset suite)
公用功能需求相似性 vs. 差异性
Common Capability at Different Level
- 复用粒度:
- 最细粒度:公用类库(library)
- 中间粒度:公用服务(backend service)
- 最粗粒度:公用应用(common application)
- 各层关系:
- 公用应用基于公用服务构建
- 公用服务基于公用类库构建
- 复用方式:
- 共用部署(SHARE DEPLOYMENT)
- 共用代码(SHARE CODE)
!!!不为每个应用单独维护定制的“公用”代码版本(见后续Handling differences)
框架
- spring
- spring Boot
- spring Cloud
- maven
- VUE
公用类库
- tax-parent
- tax-common-bom
- tax-common-core
- tax-common-cache
- tax-common-gateway
- tax-common-job
- tax-common-log
- tax-common-storage
minio - tax-common-security
- tax-common-swagger
- tax-common-transaction
- tax-common-datasource
- tax-common-jpa
- tax-common-mongo
- tax-common-mybatis
- tax-common-sequence
- tax-common-office
- tax-common-activiti
- tax-common-datasource
- tax-common-encryption
公用服务
微服务公共服务
- tax-auth
- tax-gateway
- tax-job
- tax-monitor
tax-configtax-eureka- tax-nacos
- tax-admin
- tax-message
消息提醒,消息查看,标记已读,发送API,发送消息,消息模板,黑名单,发送渠道,消息查询
平台微服务业务服务
- tax-basic
- tax-cor
- tax-core
- tax-doc
- tax-ocr
- tax-ptc
- tax-tp
- tax-dashborad
- tax-tasklist
- tax-el
tax-survey
dms微服务服务
- tax-dms
政府投资微服务服务
- tax-investment
前端服务
- tax-frontend
- tax-ptc-offlinePages
- tax-dms-ui
- tax-investment-ui
平台
平台
DMS
政府投资
Handling Differences
同一个公共能力,各资产的需求差异有共通点也有差异点,部署方式等也可能造成差异,如何处理?
- 从需求定义角度看,各资产是否可以在产品设计上达成一定程度的一致,减少对公用能力需求的差异
- Runtime configuration(存储数据库,按需提供配置UI)
- Deployment configuration(配置文件)
- Data integration / API integration
- Code plugin