如何构建动态集成适配器



我们有一个场景,通过API调用、SQL表和物理文件,我们有来自不同外部系统的多个数据源,现在我们必须将其映射到许多事务模板。我想构建一个集成适配器和UI,在那里我可以选择任何实体数据类,并将其字段映射到将用于在我们的财务系统中创建交易的类或操作。

我想要一个可以动态修改的对象类型或类,在这些对象之间建立链接,并可能创建一组规则来定义这些对象之间的交互。我见过这种类型的软件的一些版本,它使用拖放类型的UI界面来进行映射,因此这将是理想的最终目标。

我来自C#.Net背景,所以我需要一些关于从哪里开始以及看什么的建议或提示。

我目前正在做类似的事情。我编写了一些代码,将遗留系统中的数据转换为JSON对象,并将其写入平面文件(表中的每个数据记录1个文件(,然后编写了一些用于清理数据并通过REST API将其推送到Acumatica中的代码。

我喜欢平面文件json对象,因为它们可以很容易地进行散列,以及用于将它们与新数据进行比较的散列。只有散列发生变化的数据才需要合并或覆盖,然后推送到目标系统。文件名通常是使用的任何表中的主键值。我们的遗留系统具有层次结构(非表格式/SQL类数据结构(,因此我的经验可能比使用规范化良好的SQL数据库更丰富。

还有像Alteryx这样的产品,它们是按照您提出的方式构建数据管道的。

我要提醒大家在建造这些类型的东西时要务实。例如,对我们来说,我们有一组有限的数据需要处理,所以我们不需要对每种数据类型都进行完美的抽象。我们不可避免地也必须对遗留/第三方数据进行清理,而这些问题并不总是那么容易抽象。我之前曾构建过一个使用闭包进行函数传递的系统,以便为我可能遇到的任何抽象数据问题编写自定义清理例程(听起来有点像你所说的(,但最终我意识到,只编写处理特定数据问题的更简单代码就更干净、更容易维护。。。。最终,需要同步的数据可能只有有限的数量。

最新更新