我必须编写许多系统之间的一百多个集成。该集成层必须能够转换代码。每个系统都使用代码来表示诸如 insurance_type、customer_type 等业务类型。它们中的每一个都有一组有效值。这些值因系统而异,甚至可能随时间而变化。
我开始寻找 Java 中的数据域映射库。我没有找到合适的。我想过:CloverETL,Pentaho ETLou GETL,但它们对于我的需要或不维护来说都太复杂了。
目标是将转换规则从代码中删除,这样它们就可以随着时间的推移而发展,而无需新的可执行部署。
我正在寻找一个工具、库,它可以让我表示类似于这样的映射:
{
"domains" :[
{
"name": "type police host",
"values": [
{
"code" : "0001",
"description":"Habitation",
"start_date":"2019-06-30",
"end_date":""},
{
"code" : "0002",
"description":"Automobile",
"start_date":"2019-06-30",
"end_date":""}
]
},
{
"name": "type police web",
"values": [
{
"code" : "Habitation",
"description":"Habitation",
"start_date":"2019-06-30",
"end_date":""}
]
}
],
"conversions" : [
{
"from": "type police host",
"to": "type police web",
"rules" : [
{
"from": ["0001"],
"to" : "Habitation",
"start_date":"2019-06-30",
"end_date":""},
{
"from": [ "0003","0004"],
"to" : "Deux roues",
"start_date":"2019-06-30",
"end_date":""}
]
}
]
}
从上面的配置文件中,我可以做类似的事情convertsAsOf("2019-07-10", "type police host", "type police web", "0001")
,它会返回"Habitation"
. 有什么建议可以做到的图书馆吗?