验证抽取 确保服务准确实施

日期: 2008-04-08 作者:Thomas Erl 来源:TechTarget中国 英文

问:我们通过许多组合的服务来实现一个SOA架构,从而形成各种各样的商业过程。这些商业过程的客户是分布在不同的办公地点的交互合作通信的网站和系统。我们为消息中的实体设计了一个XML图例(XSD),并且使用了SOAP文本文档结构。有些客户希望为接收到的数据(例如典型的合约中的数据)增加一个验证服务,这个验证服务将在每个商业过程的开始被调用。

这个能够执行的验证服务在XSD中并不容易创建,因为一个实例必须在一个数据库中验证所有卖出去的产品代码与数据库中的都是一致的。   尽管如此,我们中间的部分人还是在怀疑创建这个验证服务是否真是明智的。一些人认为,这个验证服务将通过合约打破设计的理念。另外一部分人则……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

问:我们通过许多组合的服务来实现一个SOA架构,从而形成各种各样的商业过程。这些商业过程的客户是分布在不同的办公地点的交互合作通信的网站和系统。我们为消息中的实体设计了一个XML图例(XSD),并且使用了SOAP文本文档结构。有些客户希望为接收到的数据(例如典型的合约中的数据)增加一个验证服务,这个验证服务将在每个商业过程的开始被调用。这个能够执行的验证服务在XSD中并不容易创建,因为一个实例必须在一个数据库中验证所有卖出去的产品代码与数据库中的都是一致的。

  尽管如此,我们中间的部分人还是在怀疑创建这个验证服务是否真是明智的。一些人认为,这个验证服务将通过合约打破设计的理念。另外一部分人则认为,每一个服务都应该验证它必须验证的部分。你怎么看待这种情形呢?实现一个验证服务是否是一个好的做法呢?

  答:与SOA相关,相对普遍的最优化技术就是验证抽取;从本质上来说,一个图例中验证细节的减少可以帮助用户减少相应的需求,并且增加服务合约的寿命。为了实施完成这项技术,需要延长从一些验证逻辑到底层基础服务逻辑的过程。因此,这就意味着只要有合理的解释就可以方便地把验证逻辑从合约层中去掉。

  验证逻辑整体上经常和服务中的上下文环境联系在一起。例如,验证逻辑能够和商业规则联系起来,这些商业规则属于一个商业服务的处理边界之中(在缺少决定性服务和商业规则引擎的情况下)。因此,如果你拥有一个保险业实体服务,在服务中设置一个与保险业有关的验证逻辑就是很有必要的了(作为合约的一部分或者服务逻辑中的嵌入式部分)。

  目前没有发现一个单独的验证服务有任何的异常,尤其是如果它提取许多可以重用并且能用来满足大量验证需求的逻辑时(支持大量的服务)。尽管如此,如果你在构建一个实体服务层并且这些实体中的验证逻辑是很明显的,在单独的服务中包含它们将显得更有意义,从而让它们能够独立地管理和发展。这真的非常接近验证逻辑自身的性质了。

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 联合创新,携手共赢 华为与Commvault签署全球合作联盟协议

    【中国,上海,2015年9月19日】在2015年华为云计算大会上,全球领先的信息与通信解决方案供应商华为与美国知名的数据管理软件及相关服务主要供应商Commvault签署全球合作联盟协议。基于合作协议,双方将会加大投入数据中心备份解决方案在云化环境下的“可服务化”技术研究 。Commvault公司全球业务发展副总裁Andreas May、华为IT数据中心解决方案总裁马力出席签约仪式。