HelloWorld项目版本库:https://gitee.com/szhengye/biz-sip-helloworld.git
Biz-SIP服务整合中间件是一套基于领域驱动设计(DDD),用于快速构建金融级云原生架构的服务整合中间件,包含了在金融场景里锤炼出来的最佳实践。
Biz-SIP是基于领域驱动设计(DDD)的分层结构:
- 适配层(Adapter Layer):也叫用户接口层,负责对前端展示(web,wireless,wap)的路由和适配,对于传统B/S系统而言,adapter就相当于MVC中的controller;
- 应用层(Application Layer):主要负责获取输入,组装上下文,参数校验,调用领域层做业务处理,如果需要的话,发送消息通知等。层次是开放的,应用层也可以绕过领域层,直接访问基础实施层;
- 领域层(Domain Layer):主要是封装了核心业务逻辑,并通过领域服务(Domain Service)和领域对象(Domain Entity)的方法对App层提供业务实体和业务逻辑计算。领域是应用的核心,不依赖任何其他层次;
- 基础设施层(Infrastructure Layer):主要负责技术细节问题的处理,比如数据库的CRUD、搜索引擎、文件系统、分布式服务的RPC等。此外,领域防腐的重任也落在这里,外部依赖需要通过gateway的转义处理,才能被上面的App层和Domain层使用。
Biz-SIP中间件,主要关注上面三层的构建:适配层、应用层和领域层,在Biz-SIP中间件中,分别称为:Source、App、Sink。
本文介绍的Biz-SIP中间件HelloWorld应用,将在Source、App、Sink这三层上进行原型系统的搭建,源码请参见:https://gitee.com/szhengye/biz-sip-helloworld.git
HelloWorld应用的整体构架如下图所示:
包括以下层和模块:
- 开放OpenAPI接口:Biz-SIP中间件App层的标准开放平台接口。
- Source:Biz-SIP的所有服务接入模块,支持各种外部对系统的调用发起,类似DDD中的适配层。目前有SampleRestSource一个应用。
- App:Biz-SIP的所有整合服务,用于对Sink服务的编排,类似DDD中的应用层。包括sink/sample-sink-bean-service、app/sample-app-bean-service、app/sample-bean-service共三个服务。
- Sink:Biz-SIP的所有服务调用模块,负责领域服务的处理和外部第三方应用的调用,类似DDD中的领域层。包括sample-sink-bean-sink、sample-bean-sink共二个应用。
Biz-SIP官方网站:http://bizsip.bizmda.com
Gitee:[https://gitee.com/szhengye/biz-sip]