C# 我应该使用什么模型/模式来处理多个数据源?
作为电子商务系统的一部分,我需要设计并实现各种黑盒。这需要接受来自各种内部和外部数据源(即网站、extranet、yahoo store、amazon xml提要等)的客户和订单,并插入/更新后端系统。用于插入/更新客户和订单数据的api已准备就绪,并且运行良好。现在我们需要添加处理来自其他数据源的订单的能力 我一直倾向于提供者模型(每个数据源有一个提供者),并在调用api实际添加客户和下订单之前,使用它将数据标准化到sql server表中。还有其他的模式或模式我应该考虑吗?您以前处理过这个问题吗?您是如何解决的?有什么资源(文章、书籍、项目等)我应该看一下吗?您可能会发现ETL(提取转换加载)工具比试图用代码解决问题更容易C# 我应该使用什么模型/模式来处理多个数据源?,c#,asp.net,sql,C#,Asp.net,Sql,作为电子商务系统的一部分,我需要设计并实现各种黑盒。这需要接受来自各种内部和外部数据源(即网站、extranet、yahoo store、amazon xml提要等)的客户和订单,并插入/更新后端系统。用于插入/更新客户和订单数据的api已准备就绪,并且运行良好。现在我们需要添加处理来自其他数据源的订单的能力 我一直倾向于提供者模型(每个数据源有一个提供者),并在调用api实际添加客户和下订单之前,使用它将数据标准化到sql server表中。还有其他的模式或模式我应该考虑吗?您以前处理过这个问
- (SQL Server集成服务)
- (Oracle数据集成器)
这将充分分离您的层,以便您可以保护自己不受未来变化的影响。但是,请记住,您实际上只是在做ETL工具将为您提供的开箱即用的功能。如前所述,ETL可能是一条可行之路,除非您能够标准化前端订单的方式,如EDI或web服务
使用ETL工具从源(电子邮件、FTP文件等)转换在您的SQL Server中有一个公共管道,然后有一个单独的进程来处理流水线中的未决批处理。我在SSSQL中查看了MSIS服务器环境,但是发现了该方法的问题:我真的在寻找一个代码解决方案,虽然我会考虑AddiaTest.SSIS和ODI是特定于技术的。我同意SSIS受到微软版本3之前的问题的困扰;虽然它不完美,但它是有用的。Informatica不是特定于技术的,它非常好,尽管价格昂贵。更新答案,包括代码解决方案的起点。