查找数据
因为查找数据是公开的,并且需要一个公开的计划,它也应该被模拟成XML语言。一个好的选择就是使用WSDL将查找数据的计划公布。从一个数据库的角度来讲,为了增加性能,查找数据可以像XML一样被存储在关系数据库中,因为它将会被只写一次,并可以向XML一样直接调用。另外,在关系数据库中存储查找数据使得翻译简单化。在服务的内部,服务就可以从内存中获得需要的查找数据,这样,在消费者要求查找数据的时候就可以提高反应时间。
处理数据
因为处理数据对于服务而言是保密的,它不需要使用XSD来公布或者使用XML来描述。这样,它直接存储在规格化的关系数据库的表中,并且使用一个对象-持续层(如Visual
Studio .
NET的"Whidbey."将要发布的ObjectSpaces框架一样)将它封装到服务中去。这个方法允许服务在内存中熟练地操作处理数据,就像是处理对象一样,并且这种方法还可以利用隐藏技术,如ASP.NET
的隐藏引擎一样。当处理数据完成了以后或者处理数据正处在等待状态,就可以在对象-持续层中将对象顺序化。
因为处理数据在单一的对话中是顺序更新的,这样,使用优化并发的方式就可以访问处理数据。你需要存储原来的处理数据,拿它来进行分析;但是,数据越老,你归档的可能性就越大。
商业数据
和处理数据一样,商业数据对于服务而言是保密的,所也,它也不需要使用XML来描述,当然,从反馈消息中返回的一部分数据除外。这部分数据,使用规范的XSDs创建和发布,所以其它的服务可以就可以自己翻译这些数据。
因此,商业数据就存放在规范化的关系表中,并且通过使用事务管理器(如COM+的
Component
Services一样)将数据封装到组件中,以确保事务的顺利进行。组件自身可以无条件的访问数据,因为它具有高挥发性和同步性。商业数据和处理数据一样需要进行分析。
一个模型
总结一下我刚刚谈论的四个数据类型。我希望这个讨论能够给你建立一个基本的概念模型,基于这个概念模型,你可以构思一下对机构中那些你想要用SOA来实现的数据的一些实现方案。这个图表强调了SOA中使用的四种数据类型,也描述出了这些数据是如何表述以及如何处理的。
作者:Dan Fox,是美国堪萨斯州Overland Park的
Quilogy的一个技术主任,在那里,他通过在某些活动中通过写作和演讲的方式来传播技术(如技术、教育和开发者的日子)。
责任编辑:
李宁
欢迎评论或投稿