用ADO.NET和SDO实现数据连续性

2008-10-7    | |
打印本文章
RSS

导读:ADO.NET使用XML在SOA各要素之间进行通信,以便传递数据。这意味着只要寄件人和接受者都能意识到XML,就可以保证所有的数据都精确的得以描述。

关键词:ADO.NET XML SOA 数据

正在加载数据...

【TechTarget中国原创】面向服务架构从设计到实施再到测试,在这个过程中一些系统和服务之间不可避免的会产生代沟。可能是因为机构数据间旧基础设施元素二者分离时间太久,也可能是因为设计变化企图在系统和服务之间进行数据交换,或者参与数据流。

  通常在这种情况下,我们会用传统的方法创建一个客户程序。这个客户程序理解数据表述,交易语法,并且能够在双方缺少联系的要素间提供通信功能。这样就可以把那些先前分离的要素联系在一起了。这个方法很管用。但是,许多人都认为他们很了解交易双方,实际上,他们只了解其中一方。因此程序的功能也受到了影响。此外,还有系统维护和升级这样更为令人头痛的事宜:当程序和服务必须维持互连变化时,二者之间联系的密码也要随之发生改变。IT部门越想弥补二者之间的差距,就越难建立这些程序。我认为“将来总会出台一个更好的办法来解决该问题”。但愿,读者的想法和我一样……

【TechTarget中国原创】面向服务架构从设计到实施再到测试,在这个过程中一些系统和服务之间不可避免的会产生代沟。可能是因为机构数据间旧基础设施元素二者分离时间太久,也可能是因为设计变化企图在系统和服务之间进行数据交换,或者参与数据流。

  通常在这种情况下,我们会用传统的方法创建一个客户程序。这个客户程序理解数据表述,交易语法,并且能够在双方缺少联系的要素间提供通信功能。这样就可以把那些先前分离的要素联系在一起了。这个方法很管用。但是,许多人都认为他们很了解交易双方,实际上,他们只了解其中一方。因此程序的功能也受到了影响。此外,还有系统维护和升级这样更为令人头痛的事宜:当程序和服务必须维持互连变化时,二者之间联系的密码也要随之发生改变。IT部门越想弥补二者之间的差距,就越难建立这些程序。我认为“将来总会出台一个更好的办法来解决该问题”。但愿,读者的想法和我一样。

  事实上,确实有许多更好的方法,但是几乎所有的这些方案都涉及到了XML。这是因为,XML能够出色地捕获数据表述,转换内容,并处理复杂句法,使这些方案能够在应用和服务之间建立起沟通的桥梁。有时在SOA维护polite fiction的同时,所有操作者的连通性也会得到维护,但是这种情况并不多见。

  例如,考虑一下业内的移动销售和服务力量,它们能够愉快地接受命令,处理现场活动,业务原则必须确保所有的数据同步,但是通信只有在业内一些员工使用时才会发挥作用。另外还有一个普遍的情况就是,统一性是一个只有当多个供应商的系统和数据库相互发生作用时才产生的polite fiction。在这种情况下,有时需要将数据渗透到基础设施的各个角落,这样原先设想中的单个、统一数据套装,现在终于得以真正实现了。

  微软公司的ADO.NET可以帮助我们在分离的基础设施组件之间建立一个传递数据的结构。它也可以帮助我们解决与版本相关的问题(是否当前版本是最新版本?)以及一致性问题(跟踪读取的用户,更重要的是编写数据,防止不完整或者错误的升级)。当应用访问数据时,Snapshot机制也会发挥作用,在反对数据以前,它们首先要对数据进行快照:应用完成工作之后,我们会拿原始快照和完成后的主集进行比较。如果二者仍旧是相同的,升级就完成了,如果二者不同,则需要新的快照,并重新启动升级过程。

  ADO.NET使用XML在SOA各要素之间进行通信,以便传递数据。这意味着只要寄件人和接受者都能意识到XML,就可以保证所有的数据都精确的得以描述,并且可以在二者明确、清晰理解XML的基础上交换数据。二者可以共享Schema, DTD 或者原语言描述。因为ADO.NET是在这种方式下工作的,寄件人和接受者在交换数据时不一定必须实施ADO.NET。只要双方都能接受XML形式的输入,并创建一个XML形式的输出,数据交换就可以继续进行。

  服务数据目标或者SDO为SOA抽取数据访问提供了一种方式。当数据库作为数据源和汇时,ADO.NET运行十分顺利,但是SDO不只限于特定的几个类型的数据源。SDO 定义了一个松耦合架构,在该架构中,用户在操作源内容时,不必为数据源维护活动连接。SDO常用于为服务组件架构定义一个标准机制,一个服务组件集成模型。

  他们的方法就是用一系列工作中的数据建立一个相互关联的数据目标图表,并跟踪图表发生的变化,以及图表中所有节点的原始状态。这叫做变化概要。其本质就是要审核所有操作,以及这些操作发生的相应的变化。该图表方法可以使用户将通信限定在工作所需的范围内,并提供了一个用于决策的一致性机制。

  同ADO.NET一样, SDO也依赖XML描述通信的本质。这个描述数据的图表机制,在整个结构中进行导航,进行价值比较,处理升级,以及数据变化,所有的这一切都是在明确、清晰的XML基础之上完成的。因此,任何能够以XML形式输入并产生XML的服务,流程或者应用都可以使用SDO。

  该方法回避了许多在操作特定编程语言时固有的问题。例如Java或C#,在所有的通信方,它们依靠一个共享的运行时间环境。ADO.NET和SDO的XML基础令开发商将注意力集中到数据交换上,帮助他们解决间歇式SOA或者连接式SOA基础设施中固有的问题。要想确保数据在需要时可以及时的被使用,并要保持数据的现实性和准确性。没有哪种方法是一成不变的。但是它确实提供了一种令广泛分散的系统和组件在SOA相互联系的一种方式。

查看全文
 
SOA设计模式目录中,没有什么比典型模式更容易理解,也没有什么比典型模式更难实践了。此外还有一些富有争议性的模式。
 
那些无法被分解的流程便用来创建带有一定颗粒度的组合服务。对于和设计面向服务架构有关的语句,你读过几回呢?对于严格的原子性定义你又了解多少呢……
 
从概念上讲,数据保护与灾难恢复存在很大的差异。然而,数据保护功能与恢复功能通常是以非常相似的方式提供的……
 
本文中的案例研究重点是零售行业部门,以及组织如何使用SOA构造解决方案,以改进周转时间、流程效率、客户满意度,并加快上市速度和降低成本……
 
Web 2.0是近来很热的一个词语,也是一个比较模糊的概念,人们有着各种不同的理解。在这个新启动的“Web 2.0与SOA”系列专栏的第一篇中……
本技术手册旨在探讨如何为封装WS-BPEL流程逻辑所需的Web服务设计WSDL定义。因为SOA提倡用“契约优先”的方式来设计服务,所以理解由WS-BPEL引发的这种独特服务契约设计理念,是成功构建有效流程和服务的关键因素。
本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。
本专题分六部分探讨服务定向原则,主要探讨如何将服务定向原则应用于构成服务的自动化逻辑。如何越过单个服务层面,应用作为范例的服务定向并形成能够封装整个企业领域的服务层。
最新更新
专家答疑
技巧
Eric Newcomer
是否存在某些经验法则,让人们在网络互操作性和进程互操作性二者之间做出选择?换句话说,如果我遇到吞吐量问题,是不是就不该选择Web服务了?
Jason Bloomberg
评价“企业mashups”的标准是什么?尤其是在企业mashups和“主机包装”项目的关系上?我们对企业mashups的定义是:丰富网络环境下,一套建立在SOA基础之上的组合……
Rami Jaamour
你能解释一下什么是回归测试吗?怎样才能保证你的回归测试是正确的呢?回归测试旨在揭示所有由软件修改所引起的回归,在当今复杂多变的商业环境下……

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录