我必须在许多系统之间编写一百多个集成。该集成层必须能够转换代码。每个系统使用代码来表示业务类型,例如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"
。有建议这样做的图书馆吗?