让我们想象一下,我们的应用程序需要从关系数据库到另一个关系数据库的ETL(提取,转换,加载)数据.最简单(和大多数性能,恕我直言)的方式是在数据库之间建立链接并编写简单的存储过程.在这种情况下,我们使用最少的技术和组件,所有功能都是"开箱即用".
但这是SOA(面向服务的架构)的良好实践吗?紧耦合怎么样?我们是否永远将数据库强烈地相互耦合?
还有另一种方法:我们在每一侧构建2个Java应用程序,并通过SOAP Web服务进行通信.这更加SOA友好!但性能下降和额外的失败点值得吗?
在这种情况下,最佳做法是什么?ETL如何适应SOA?