当前位置: 首页 > 工具软件 > Biz-SIP > 使用案例 >

Biz-SIP中间件之xbank项目实战(8)——总结

黄元章
2023-12-01

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

总结

1. Sink服务(领域层服务)

  • sink-bean类sink服务
    • sink接口为BizMessage类型;
    • 基于或接口开发服务类,实现process()方法,2个接口区别在于出入参数的类型,前1个是byte[]类型,后1个是JSONObject类型;
    • 在sink.yml中配置”sink-bean“类型的connector,服务类支持JavaBean和SpringBean二种挂接方式;
    • 在sink.yml中支持多种convert,传入process()方法的参数为经过convert转换后的消息。
  • bean类sink服务
    • sink接口为BizMessage类型,JSONObject消息体中包括:className(可选)、methodName(可选)、params(必选),params为JSONArray类型;
    • 可自由开发服务类;
    • 在sink.yml中配置”bean“类型的connector,服务类支持JavaBean和SpringBean二种挂接方式;
    • 在sink.yml中convert只支持simple-json类型(后期可能会取消对于bean类sink服务的convert配置)。

2. Biz-Service聚合服务(应用层服务)

integrator接口为带”Biz-Service-Id“header头、以POST方式提交JSON数据,返回为BizMessage类型的JSON串。
在app-bean-service、bean-service类聚合服务开发服务类中,可以用IntegratorClientFactory.getSinkClient()和IntegratorClientFactory.getDelayBizServiceClient(),分别获取sink接口访问和延迟Biz-Service聚合服务接口访问的client API接口。
对sink-bean类sink服务,sink接口为BizMessage类型,应采用接口,统一调用call()方法。

  • app-bean-service类聚合服务
    • 请求提交为JSON数据;
    • 基于接口开发服务类,实现process()方法;
    • 在service.yml中配置”app-bean-service“类型的聚合服务,服务类目前只支持JavaBean挂接方式。
  • bean-service类聚合服务
    • 请求提交为JSON数据,JSON数据中包括:methodName(必选)、params(必选),params为JSONArray类型;
    • 可自由开发服务类;
    • 在service.yml中配置”bean-service“类型的聚合服务,服务类目前只支持SpringBean挂接方式。
  • sink-service类聚合服务
    • 请求提交为JSON数据,JSON数据根据后端sink服务接口来定;
    • 无需开发代码;
    • 在service.yml中配置”sink-service“类型的聚合服务,并配置关联到后端的sink端口。
  • script类聚合服务
    • 请求提交为JSON数据即可,在脚本中调用sink前,应按要求转换成sink约定的JSON数据格式;
    • 无需开发Java代码,但需配置聚合服务脚本;
    • 在config/service目录中配置脚本文件,无需在service.yml中配置。

3. 适配层服务

  • 采用Biz-SIP自带OpenAPI接口
    • Integrator接口为Biz-SIP平台的OpenAPI接口,可以按需对外开放访问。
  • 定制适配层接入模块
    • 引入Souce类,可以根据消息格式转换的定制,自动进行消息格式转换和适配;
    • 通过SourceClientFactory.getBizServiceClient(),获取Biz-Service聚合服务访问接口。

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

 类似资料: