栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

项目实践:客户域服务的开发 1. 创建数据库

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

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

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

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

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


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

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


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

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

Customer领域服务接入Biz-SIP平台后,能实现在Biz-SIP开放平台接口的快速发布,这需要在xbank-app/config/service.yml中配置一个类型为“sink-service”的聚合服务:

注:这类“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子模块中约定应用层接口,这个接口是共享给应用层和适配层的:

然后在xbank-app模块中基于此接口完成PersonalAppService类的编写:

在xbank-app/config/service.yml中配置一个类型为“bean-service”的聚合服务,并类名指定为上面实现的PersonalAppService应用层服务类:

最后在适配层中,定制一个controller来对外发布服务:

开发者可以在适配层的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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/310221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号