信息服务模式:数据联合模式
【IT168技术文档】
引言
信息的不一致和分散让很多组织十分烦恼。在很多情况下,用户花费了大量的时间搜索并手动聚合、关联和更正相关信息,而不能直接根据从信息获得的要点采取行动。
这个被广泛认识的挑战也出现在实现面向服务的体系结构(Service-Oriented Architecture,SOA)时。通常,核心服务需要使用来自多个不同源的已聚合的高质量信息。
现有多个概念和技术专门用于满足这种集成需求。数据联合就是其中的一个。数据联合的目标是有效地联接来自多个异类源的数据,合理利用现有的数据——不会造成数据冗余。数据联合模式支持在集成的临时(虚拟)视图上进行数据操作;在此类视图中,实际数据存储在多个不同的源上。源数据仍然在源系统的控制之下,会根据需要进行提取,以进行联合访问。
本文重点强调了数据联合方法的价值。描述了应用数据联合的上下文后,我们将讨论此模式所针对的问题及其解决方案。我们根据非功能需求对此模式的适用性特点进行了说明。此模式的一些已知用法源自我们应用此模式的经验。最后,我们将总结此模式的重点、风险以及限制。
数据联合方法的价值主张
基础异类系统透明性
通过使用数据联合,使用者将看到的是单个统一接口。位置透明性意味着使用此模式的应用程序不需要注意数据存储的位置。得益于调用透明性,它也不需要知道源数据库所支持的语言或编程接口。例如,如果使用了 SQL,应用程序则不必知道源支持的是哪种 SQL 分支。由于具有物理数据独立性、碎片和复制透明性,因此应用程序不需要知道数据的物理存储方式;而源于其网络透明性,应用程序也不需要知道所使用的是什么网络协议。
上市时间优势
作为数据联合服务器使用者的应用程序可以与单个虚拟数据源通过接口进行通信。如果不使用联合模式,应用程序必须通过不同的接口和不同的协议与多个源分别交互。研究表明,当必须集成多个源时,使用数据联合模式可帮助大幅度减少开发时间。有关更多信息,请参见参考资料部分。
减少开发和维护成本
很多使用者可能会使用相同(或非常相似)的集成信息。可以采用这样的方法处理此问题:每个使用者采用自己的实现来聚合来自不同源的信息。或者,可以一次性开发集成视图,然后在单个位置对其重复利用和维护,从而实现单点更改。此方法可减少开发和维护成本。
性能优势
与内部开发的信息聚合方法相比,特别关注高级数据处理技术的数据联合模式实现在很多情况下都已证明具有卓越的性能特征(有关更多信息,请参见参考资料部分)。通过利用高级查询处理功能,联合服务器可以在联合服务器本身和各个源之间最优地分布工作负载。它将确定工作负载的哪个部分由哪个服务器执行最高效,以实现响应时间最优化。
可重用性优势
将数据联合模式应用到特定集成场景后,此特定联合访问的结果可作为服务向多个服务使用者提供。例如,某个集成场景可能要求从各种源检索结构化和非结构化保险索赔数据。在此示例中,数据联合模式可以提供集成索赔数据的解决方案,以便随后将集成索赔数据通过门户提供给索赔代理人。可以随后将相同的联合访问作为服务提供给其他使用者,如标准索赔应用程序的自动流程或面向 Web 应用程序的客户机等。
改善控制
控制是 SOA 生命周期的关键基本要素。通过执行具有可预测结果的非常好的实践,控制流程可通过使用模式得到增强。在系统的开发和创建过程中重用经过验证的灵活模式可同时确保一致性和高质量,并同时通过使用单个源来更新更改,从而减少维护成本。
0
相关文章