百问中台:基于DDD的中台分层架构:应用层和领域层
2020-10-21 本文已影响0人
sknfie
1 概述
服务是行为的抽象,不管是领域服务还是应用服务,都是服务。根据中台的DDD经典分层架构可知,它们隶属于不同的层,应用服务属于应用层(聚合层),领域服务属于领域层(中台中心)。
2 应用层(聚合层)
应用层(聚合层)负责联接应用需求和领域服务能力而存在的,实现了服务编排、事务管理、服务调用流程等能力,还承接数据转换等少量的业务能力,其不能独立完成复杂的业务逻辑。
应用层除了定义应用服务之外,还可以进行安全认证,权限校验,持久化事务控制,或者基于事件的消息通知。
应用层作为展现层与领域层之间的桥梁:
- 展现层使用VUE等前端工具进行界面展示。
- 应用层通过JSON进行数据交互,聚合各个中心的业务处理结果。
- 达到展现层与领域层解耦的目的。
3 领域层(中台中心)
领域层服务属于中台的各个业务中心,属于核心业务能力的沉淀:主要负责实现相对独立业务逻辑的服务。根据业务的相关性,参照领域建模理论,将服务划分到不同的业务域。 域服务中包括若干业务处理模块和若干数据处理模块,业务处理模块进行业务逻辑处理,通过调用数据处理模块的接口访问数据模型。领域服务是业务中台的重要组成部分。
4 总结
在实际业务建模过程中,可能会对应用层服务进行能力扩展,当应用层服务的能力已经达到可以独立处理复杂业务逻辑时,并且存在一定的共性能力,应用层服务可能会下沉到中台,变成领域服务。各不同场景下业务逻辑的复杂程度是不同的,所以应用层服务和领域层服务间没有严格的划分边界,简单场景就变成透传。