有效地应用SOA需要在物理和逻辑层有一个设计良好的数据模型。许多机构甚至要开发一种权威的域模型。主数据管理和SOA的交叉越来越频繁地出现,这种趋势在未来几年将继续下去。
业内人士Kyle Gabhart称,他最近在一项大的SOA应用计划中实施了两个主数据管理计划。在这两个案例中,客户发现他们在如何解决主数据模型与一个或者更多的SOA组件(如业务流程、服务接口等)之间的冲突方面陷入了僵局。每一个客户都从不同的角度接触了这个问题。但是,冲突实际上都是一样的。谁取得了胜利并且按照自己对于企业数据的观点顺利运行?是主数据管理团队,还是SOA团队?另外,企业架构团队也许感到疑惑是主数据管理团队的观点向SOA团队的观点妥协了,还是相反。
状况1:客户A决定建立一个权威的数据模型,不依赖于现有的应用程序或者业务流程。这个客户执行一个简单的流程:
·建立一个概念的数据模型
·识别逻辑子域(数据的逻辑组合)
·为这个子域建立一个逻辑数据模型
现在,如果出现一个业务流程(如向提供商提出涨工资要求),这个流程就包括访问提供商的数据和这个要求的数据域。客户如何建立这个方案,如何不打破在逻辑的权威模式中建立的关系?替代的方法是,这个客户如何能够把这个方案与基本的权威模型联系起来。为了企业面向服务的观点,主数据模型必须要妥协,或者面向服务的观点必须要修改以便与主数据计划相一致。
分析:因此,这里真正的问题是我们已经在真空中创建了一个模型。我们现在面临一个具体的数据应用。这可能会让我们对于数据在企业中如何应用的实际情况有一个新的了解。这里有两个观点:
1.我们把这看作是一个修改这个模型并且使这个模型符合真正业务应用的机会。
2.我们不理会需要管理的用户/客户的莫名其妙的东西。
如果我们根据这个新的信息更新这个模型,我们就会有被一个流程曲解的风险。但是,我们也许会认识到这个流程提出的更广泛的事实。如果我们不改变这个权威的模型,那么,我们或者说服用户接受这个“标准的”模型,或者提出一些数据镜像,这样,业务流程就能够按照他们自己的数据模型执行这些服务。
无论采用哪一种方法,面向服务的设计的最佳方法都是规定这个业务流程只能看到一种数据模型。这可以是来自业务应用实例中的一个独特的模型,也可以是以前创建的权威的模型。只要业务流程看到一种数据模型,数据模型的来源没有关系。此外,业务流程比一个企业应用集成工作流好,并且带来了围绕维护客户集成逻辑和巧妙处理不同的数据模型的全部复杂性。这带来了不可接受的维护成本。这是靠不住的,很快将成为过时的和不可靠的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突