技术挑战
与其他数据集成领域一样,mashup 开发也充斥着许多亟待解决的技术挑战,随着 mashup 应用程序特性和功能的进一步丰富,这种挑战也变得更加严重。本节简单介绍了一些挑战,其中有些挑战目前已经能够解决或缓解,而其他问题依然没有解决。
数据集成挑战:语义和数据的品质
品质调查显示,当今的企业 IT 首要眼球的问题就是是企业虚拟组织中的数据集成。(在这种情况中,我们使用了 虚拟组织(virtual organization) 这个术语表示很多联合业务单元的组合,每个业务单元都包含在自己的治理域中。)与很多发现自己忙于集成传统数据源的企业 IT 治理人员一样(例如,创建可以反映当前业务状况的企业仪表板),mashup 开发人员需要面对类似源自于在异构数据集之间共享语义的挑战。因此,要了解 mashup 开发人员是如何为此作出预备,只需了解企业 IT 所面临的集成挑战。
例如,我们必须设计数据模型之间的转换系统。在将数据转换成通用的格式时、在映射不完整时(例如,一个数据源可能有一个模型,其中一个地址类型包含了一个国家字段,而另外一个模型中没有这个字段),我们必须进行一些合理的假设。尽管已经面临这些挑战,但是 mashup 开发人员可能并不是源数据模型领域的专家,因为这些模型可能是第三方的产品,这些合理的假设可能并不直观清楚,这更加剧了挑战的严重性。
除了缺少数据和映射不完整之外,mashup 设计者可能会发现他们希望集成的数据并不适合进行机器自动化处理;这将带来很多净化工作。例如,执法逮捕记录可能不一致:记录中可能为名字使用了常用的缩写形式(例如,一条记录中使用的是“mkt sqr”,另外一条记录中使用的是“Market Square”),这使得关于等同性的自动推理变得非常困难,即使采用很好的启发式规则也很难实现。语义建模技术,例如 RDF,可以帮助简化对不同数据集之间自动进行推理所面临的问题,这些数据集是内嵌在数据存储介质中的。对于传统的数据源来说,通常需要投入大量人力物力,进行分析和数据净化工作,然后才能将其用于语义建模技术。
mashup 开发人员可能还必须面对 IT 集成治理人员不需要面对的一些问题,其中一个问题是数据污染。作为应用程序设计的一部分,很多 mashup 都要求公共用户提供输入。wiki 应用程序领域的研究表明,这是一把双刃剑:它可能非常强大,因为可以提供开放的贡献和最佳的数据革新,但这又会导致不一致、不正确或轻易产生误导的数据项。后者可能会危及数据的可信度,最终降低 mashup 带来的价值。
mashup 开发人员需要面对的另外一种集成问题是由于获取数据必须采用屏幕抓取技术而引起的。正如上一节所讨论的一样,分析和获取工具以及数据模型都需要大量与反向工程相关的工作。在最理想的情况下,可以创建这些工具和模型,但依然存在一个问题:源站点如何呈现自己的内容,这可能会破坏集成过程,并导致 mashup 应用程序出错。
组件挑战
尽管 Web 开发的 Ajax 模型可以比传统的整个页面刷新技术提供更为丰富而且更加无缝的用户体验,但是也带来了一些难题。作为基础来说,Ajax 要求将浏览器的客户端脚本功能与自己的 DOM 配合使用,实现一种内容交付方法,这完全是由浏览器设计者所设想的。(可能 Ajax 类似于黑客的特性增加了它的吸引力。)然而,这使基于 Ajax 的应用程序具有相同的浏览器兼容问题,这些问题从微软开发 Internet Explorer 以来就一直困扰着 Web 开发人员。例如,Ajax 引擎利用了一个
评论加载中…
![]() |