Biz-SIP中间件之xbank项目实战(2)——客户域服务的开发

xbank项目版本库:https://gitee.com/szhengye/xbank.git

项目实践:客户域服务的开发

1. 创建数据库

执行项目中xbank-infrastructure/xbank-sql/xbank.sql脚本,以建立xbank演示库。

2. 自动生成数据访问层代码

数据库创建后,用MybatisX插件自动生成数据访问层代码:

image.png

3. Customer领域服务接口和实现类的开发

先在xbank-customer-domain-client子模块中约定customer领域服务接口,这个接口是共享给领域层和应用层的:

image.png
然后在xbank-customer-sink子模块中完成以下工作:

  1. 基于此接口完成CustomerSinkService类的编写;
  2. 完成CustomerSinkApplication启动类的编写;
  3. 配置application.yml相关文件。

image.png
以上就完成了客户领域服务微服务的开发,接下来需要把这个客户领域服务微服务,通过sink接入Biz-SIP平台,配置xbank-app/config/sink.yml,就把CustomerSinkService类挂接到了sink(customer-sink)上:
image.png

4. Customer领域服务的快速发布

Customer领域服务接入Biz-SIP平台后,能实现在Biz-SIP开放平台接口的快速发布,这需要在xbank-app/config/service.yml中配置一个类型为“sink-service”的聚合服务:
image.png
注:这类“sink-service”的聚合服务,命名规范为“sink/xxx”,xxx为sink名称。
启动Biz-SIP平台和Customer领域服务,就可以直接在Biz-SIP开放平台接口进行访问:

$ curl -H "Content-Type:application/json" -H "Biz-Service-Id:sink/customer" -X POST --data '{"methodName":"getCustomer","params":["001"]}' http://localhost:8888/api|jq

{
  "code": 0,
  "message": "success",
  "extMessage": null,
  "traceId": "e763a42f9a2a49518c2bc6c157d08bab",
  "parentTraceId": null,
  "timestamp": 1630740781540,
  "data": {
    "result": {
      "sex": "1",
      "customerName": "张三",
      "customerId": "001",
      "age": 30
    }
  }
}

在上传的数据体中,“methodName”为方法名,“params”为输入参数。

5. Customer领域服务在应用层和适配层的定制

通过在service.yml中配置sink-service聚合服务,能实现已经挂接到Sink的领域服务的快速发布;但是,客户针对应用层和适配层,还是有个性化定制要求,这就涉及到应用层和适配层的定制。
同样以已经挂接到customer-sink上的Customer领域服务为例,先在xbank-app-client子模块中约定应用层接口,这个接口是共享给应用层和适配层的:
image.png
然后在xbank-app模块中基于此接口完成PersonalAppService类的编写:
image.png
在xbank-app/config/service.yml中配置一个类型为“bean-service”的聚合服务,并类名指定为上面实现的PersonalAppService应用层服务类:
image.png
最后在适配层中,定制一个controller来对外发布服务:
image.png
开发者可以在适配层的controller类中通过personalAppInterface,直接调用应用层的PersonalAppService服务:

$ curl http://localhost:9001/personal/getCustomer\?customerId=001|jq

{
  "customerId": "001",
  "customerName": "张三",
  "age": 30,
  "sex": "1"
}

Biz-SIP官方网站:http://bizsip.bizmda.com
Gitee:https://gitee.com/szhengye/biz-sip

posted @ 2021-10-10 16:21  抽游烟鸡  阅读(93)  评论(0)    收藏  举报