- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
让我们想象一下,我们的应用程序需要从关系数据库到另一个关系数据库的 ETL(提取、转换、加载)数据。最简单(也是最高效,恕我直言)的方法是在数据库之间建立链接并编写简单的存储过程。在这种情况下,我们使用最少的技术和组件,所有功能都是“开箱即用”的。
但这对 SOA(面向服务的架构)来说是好的做法吗?紧耦合呢?我们是否永远将数据库彼此强耦合?
还有另一种方法:我们在每一侧构建 2 个 java 应用程序,并通过 SOAP 网络服务进行通信。这对 SOA 更友好!但是性能下降和额外的故障点值得吗?
在这种情况下,最佳做法是什么? ETL 如何适应 SOA?
最佳答案
在SOA中,你可以适配Biztalk或 SAP BusinessObjects Data Integrator处理方式。基本上,它是一个调度程序作业/Windows 服务,或类似的东西。您提供两个服务点,一个供调度程序检索数据,另一个供调度程序发送数据。调度程序在这里的职责只是定期运行和转换数据。
所以,基本步骤是:
第 1 步:调度程序运行并从服务 A 获取数据
Scheduler --get--> Service A
Service A --data--> Scheduler
第二步:调度器做数据转换
[ Conversion --> Conversion --> Conversion --> Conversion ]
第 3 步:调度程序将数据发送到另一个服务
Scheduler --data--> Service B
在 Biztalk 和 SAP BusinessObject Data Integrator 中,步骤都是可配置的(它们可以从任何服务中检索并可以执行脚本数据转换),因此更加灵活。
但是,ETL 处理仍然会出现常见问题。例如:数据太大、网络性能影响、RTO、重复数据等。因此 ETL 最佳实践仍然是这里的要求(使用暂存表、日志记录等)。
But are the performance degradation and additional points of failure worth it?
性能影响将会发生,因为现在您有额外的连接/身份验证步骤(到 web 服务)和传输步骤(通过协议(protocol)从 web 服务到调度程序)。但对于容易出错的问题,我认为这与您需要处理其他服务调用的错误相同。
值得吗?这取决于。如果您在相同的环境(相同的数据库)中工作,那么这是有争议的。如果您在不同的环境中工作(例如,两个不同的系统,从 Asp.Net 到 SAP,或者至少是不同的数据库实例),那么此架构是处理 ETL 的最佳选择。
关于database - ETL(数据库到数据库)如何适应 SOA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30691477/
我经常听到非技术客户或项目经理把面向服务的体系结构 (SOA) 作为一个流行词四处流传,几乎不关心或不了解它的实际含义(例如:“我可以购买 SOA 吗?”)。还有很多关于 SOA 的错误信息(例如:“
一些 SOA 基础是: 松耦合 可重用性 无状态服务 服务之间的正式契约(Contract) 粗粒度 异步 抽象底层逻辑(黑盒) 可组合(作为构建块的服务) 可发现服务 自治服务 它们中的大多数都可以
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 去年关闭。 Improve th
我是一名学生,我有一篇名为“网格计算”的学期论文和另一篇名为“SOA”的论文。 作为实验室练习的一部分,我创建了基于 SOA 的 Web 服务。但似乎网格计算处理相同的基于 WSDL 的服务。我实际上
它们有许多共同的特征。但是有什么区别呢? MOM 允许异步,而 SOA 不允许,这是唯一的区别吗? 最佳答案 SOA,即面向服务的体系结构,是一种体系结构,它定义了如何在不同应用程序之间构建对业务信息
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
所以我今天的开放式潜在主观问题是; 如果您有机会在今天的 Microsoft 技术上构建 SOA;你会从下面的选项中选择什么? WCF、WF + AppFabric BizTalk + ESB 工具包
Web 服务是一种面向服务的架构实现。 但是,我们能说 CORBA、RMI 和 Java EE 平台也是 SOA 的实现吗? 最佳答案 如果您说 SOA 意味着 WS-* 标准,那么答案是否定的。 但
我对这些 Web 服务术语 SOA、ESB 感到困惑。 任何人请解释。 最佳答案 SOA 是一种架构方法,您可以在其中以粗粒度的方式公开和封装“服务”。它没有规定任何技术机制或实现。 SOA更多地与系
关闭。这个问题需要多问focused 。目前不接受答案。 已关闭10 年前。 已锁定。这个问题及其答案是locked因为这个问题是题外话,但却具有历史意义。目前不接受新的答案或互动。 有人可以用简单的
“服务代理”在 SOA 模型架构中的作用是什么? 最佳答案 服务代理旨在成为服务的注册表,并存储有关哪些服务可用以及谁可以使用它们的信息。例如,最初设想为 Web 服务注册中心的 UDDI 现在被视为
我在网上看过,但我对包装器服务是包装遗留应用程序还是一组复杂服务感到困惑。 更新:从我收到的答案来看,SOA 中没有公认的“包装服务”定义,经过进一步调查,我意识到“包装服务”取决于定义它的人。我的意
我对 SOA 中编排的含义感到困惑,我阅读了很多定义但没有明白这个想法,你能帮我吗? 最佳答案 有两种主要方法可以从更大的类(class)粒度服务、编排和编排中执行所有必要的细粒度服务。 对于管弦乐队
我一直在研究异步消息传递,我喜欢它优雅地处理某些领域中的一些问题的方式,以及它如何使领域概念更加明确。但对于一般的领域驱动开发(至少在服务/应用程序/ Controller 层)来说,它是一种可行的模
我创建了一个名为 QM_MQ_TEST 的队列管理器 crtmqm QM_MQ_TEST strmqm QM_MQ_TEST runmqsc QM_MQ_TEST DEFINE CHANNEL(QM
我在 Weblogic 10.3.6 中有一个包含 SOA 服务器的域。我刚刚使用 JDeveloper 部署了一个名为 soa_1 的 SOA 应用程序以及名为 HelloWorld 的 BPEL
任何机构都在他们的商店中使用 Talend SOA Suite。 如果我没记错的话,它与 Oracle SOA Suite 和 Service Bus 相比如何,因为这两个产品都实现了 EIP 模式?
我最近开始了一个副项目。它应该是一本虚拟食谱书,具有存储和检索食谱 (CRUD)、对它们进行评分和搜索的功能。这不是什么新鲜事,但我想将它构建为桌面应用程序,以了解有关数据库、单元测试、UI 等的更多
什么时候分布式事务在面向服务的架构中有意义? 最佳答案 分布式事务在 SOA 环境中经常使用。如果您有一个调用多个服务的复合服务,则底层服务调用应作为单个事务处理。业务流程应允许其步骤回滚。如果底层资
我正在阅读有关SOA原理和模式的信息,但我无法理解什么是不可知论的服务。您对此有任何直接的定义吗?概念和用法是什么? 最佳答案 可以在Agnostic/non-agnostic revisited中找
我是一名优秀的程序员,十分优秀!