ETL(数据库到数据库)如何适应SOA?

nik*_*bok 12 database architecture soa etl decoupling

让我们想象一下,我们的应用程序需要从关系数据库到另一个关系数据库的ETL(提取,转换,加载)数据.最简单(和大多数性能,恕我直言)的方式是在数据库之间建立链接并编写简单的存储过程.在这种情况下,我们使用最少的技术和组件,所有功能都是"开箱即用".

但这是SOA(面向服务的架构)的良好实践吗?紧耦合怎么样?我们是否永远将数据库强烈地相互耦合?

还有另一种方法:我们在每一侧构建2个Java应用程序,并通过SOAP Web服务进行通信.这更加SOA友好!但性能下降和额外的失败点值得吗?

在这种情况下,最佳做法是什么?ETL如何适应SOA?

nik*_*bok 0

所有这些答案都很好并且很有帮助。

据我现在了解,SOA 不是关于实现应用程序,而是关于架构(“A”),主要是企业架构。企业主要的管理方法是服务责任委托(“S”)。

因此,如果企业结构中有两个不同的业务功能,有两个不同的责任帐户,我们应该将其划分为两个不同的服务,并具有明确定义的契约(接口)、政治和审计方法——这就是 SOA 的主要目的。

但如果是一个原子功能,只有一个人负责,那么SOA就没有那么多必要了,我们应该使用简单的技术,实现简单、快速的固体服务应用。

至于我原来的问题,是缺乏任务上下文信息。现在我明白数据库链接不应该跨服务实现,这是一个糟糕的设计,因为没有企业管理兼容性。但在服务中,这可能是很好的简单解决方案。

谢谢大家的解答。