我们需要设计一种通用方法,将各种API响应(XML和JSON)映射到关系表以进行数据加载。该映射也需要支持其他方向,即需要解析关系表数据以组成发送给各种API提供者的API请求主体以更新其系统数据。这些要求主要是构建通用API集成平台。该平台允许用户配置任何企业系统API调用并将其映射到我们的应用程序数据(关系)模型,反之亦然。
以下是如何将关系表记录转换为API请求正文以更新其他系统数据的示例
非规范化表
Name Transaction Details
Customer 1 Transaction 1
Customer 1 Transaction 2
Customer 1 Transaction 3
Customer 1 Transaction 4
以下是XML的外观
<Customer>
<Name>Customer 1</Name>
<Transaction>
Transaction 1 details…
</Transaction>
<Transaction>
Transaction 2 details…
</Transaction>
<Transaction>
Transaction 3 details…
</Transaction>
<Transaction>
Transaction 4 details…
</Transaction>
</Customer>
有哪些建议可以设计和实现此映射问题?是否为此类用例创建了任何DSL(特定于域的语言)?
答案 0 :(得分:0)
我会考虑graphql和graphql / sql集成, 例如https://github.com/rexxars/sql-to-graphql
答案 1 :(得分:0)
Symphonia Mapping Language(SML)随Orion's Rhapsody集成引擎打包。非常擅长将XML或JSON映射到关系数据模型,Rhapsody和大多数其他集成引擎都附带了许多类型的数据库。 Rhapsody历史上面向HL7数据和医疗保健实施,但它们对于Web服务也很方便。我确信有一些免费或更便宜的映射版本,但对于企业级API的东西,这些引擎是无法击败的。