【发布时间】:2015-09-21 06:32:15
【问题描述】:
我们正在开发采用消息模式和微服务来定义和运行业务流程的解决方案。
它应该有这样的组件:
- 使用给定流 ID 启动事务的网关,
- 用于存储规则的 BPM(应为给定流程调用哪些服务)
- 服务选择器 - 一种处理器,它接受来自网关的请求,获取流定义,然后一一调用相应的服务,
- 功能服务。
我们应该能够定义多个流程,其中每个步骤都是调用不同的服务。
一项服务的输出可以输入另一项服务。问题是它们可以有不同的模式,因此应该以某种方式对其进行转换/规范化。
但是应该由哪个部分负责进行这种转换呢?它应该是可配置的,因为我们想在不重新部署的情况下添加新流。
第一个想法是存储来自每个服务的响应,然后每个步骤将使用 XSLT 转换从以前的响应中生成输入 xml。但这可能是配置地狱,因为创建和测试这样的 XSLT 并不容易
您对如何正确解决这个问题有什么建议吗?
【问题讨论】:
标签: architecture soa transformation microservices