开发前端 Web 2.0 技术, 在未来互联网中访问服务、内容和事物外文翻译资料
2021-12-31 23:28:35
英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
开发前端 Web 2.0 技术,
在未来互联网中访问服务、内容和事物
胡安·阿方索·劳拉,大卫·丽莎卡诺,玛丽亚·奥罗拉·马丁内斯,胡安帕索斯
摘要
未来的互联网预计将由可从整个网络访问的可互操作的 Web 服务组成。由于全球用户-服务交互仍然是一个开放的问题,这种方法还没有流行起来。本文阐述了下一代前端 Web 2.0 技术的一个愿景,该技术将使未来互联网能够集成地访问服务、内容和事物。在本文中,我们说明了如何根据最终用户的需求定制包装传统服务和资源的前端, 将最终用户转换成消费者 (基于服务的应用程序的创建者和消费者)。为此,我们提出了一种架构,没有编程技能的最终用户可以使用该架构创建前端,查阅根据他们的需求定制的资源目录,轻松集成和协调前端,将复合应用程序重新配置为在后端协调服务。本文包括一个案例研究,说明当前以用户为中心的 Web 开发工具处于发展的早期阶段。我们提供了关于所提出的架构如何改进这些工具的统计数据。本文是在服务前端 (SFE) 开放联盟倡议的基础上进行的研究。
copy;2013 爱思唯尔 b.v.保留所有权利
- 介绍
在过去的几年里,面向服务的体系结构 (SOA) 吸引了大量的兴趣。SOA 增加了资产重用,降低了集成成本,提高了业务响应新需求的灵活性 [1]。
然而,到目前为止,SOA 的主流开发和研究主要集中在使用 BPM (业务流程管理) 技术的中间件和可扩展性、服务工程和自动化服务组合上。很少或根本没有关注服务前端,我们认为这是 SOA[2]的一个基本部分。因此,SOA 仍然处于对最终用户隐藏的技术层。
最终用户每天都要访问数十个门户网站来搜索信息、调用服务、进行查询等,这些都非常耗时。最终用户利用服务提供商提供的 Web 服务和资源。尽管 SOA 取得了进步,但企业对消费者 (B2C) 解决方案仅限于由专业程序员开发并提供给最终用户的 Web 应用程序, 尽管提供的应用程序和最终用户需求之间通常存在差距。
许多信息和通信技术领域的用户已经开始使用不需要编程技能的语言和工具 (如宣传单) 来开发自己的软件解决方案。这种方法被称为最终用户开发 (EUD)。用户试图将这些想法导出到基于商业混搭门户 (如 JackBe Presto 、 iGoogle 、 OpenKapow 等) 的 Web 应用程序开发中), 以丰富的网站摘要 (RSS) 格式生成复杂数据源的视觉语言 (如 Yahoo! Pipes) 等。但是最终用户对这项技术有问题:没有面向服务编程或计算技能的用户无法使用互联网上可用的资源。这导致了一个认识问题: 用户无法学会使用、访问和管理这些资源来解决日常问题支持他们日常工作的问题。这是我们打算在本文中解决的公开问题。
基于 Web 2.0 的门户网站和用户友好的界面的发展导致了服务可用性的重大进步。然而,现有的基于 Web 的服务前端没有达到最终用户的期望[3]。应用程序和信息门户仍然基于单一的、不灵活的、非上下文感知的、不可自定义的和不友好的用户界面。因此,最终用户并没有真正受益于面向服务促进的模块化、灵活性和组合的优势[4]。此外,服务前端不是使用正式的工程方法构建的; 它们是在没有可以加快上市时间的工具的情况下临时构建的。
在本文中,我们提出了一种架构,旨在使没有编程技能的用户能够构建后端基于 Web 服务的复合 Web 应用程序。为此,该体系结构使用适应用户需求的前端包装当前 Web 服务,并为用户提供可视化组合模型,以便根据个人需求协调、调用和定制服务。我们在案例研究中使用这种下一代服务前端架构来研究以下研究问题 (RQ):
- RQ1: 最终用户是否能够使用当今的 EUD 工具和计划构建复合 Web 应用程序?
- RQ2: 提议的体系结构是否增加了管理构建复合 Web 解决方案的最终用户数量?
- RQ3: 从定性的角度来看,潜在用户是否认为所提出的架构是可用的、可操作的和稳定的?
该架构是围绕几个视觉组件或不同抽象层次的构建块来构建的,从 Web 混搭到表单、按钮等视觉元素,主要组件是一个小工具。小工具是使用可视化界面抽象 Web 服务或资源调用的组件。用户可以直观地创建、定制和链接小工具,以管理 Web 服务或一组 Web 服务,这些服务通过根据用户需求定制的界面执行原子功能。小工具可能是从地址输入输出地图位置的组件、购买运输票证的应用程序或电子邮件收件箱过滤器。该体系结构提供了用于创建小工具以及集成和相互通信小工具的模块,用于作为 Web 应用程序、编目和分享 等。第2部分讨论了服务前端的问题和我们的建议的背景。第3部分提出一个有助于创建新生态系统的架构,在这个架构中,所有利益相关者都能够通过混合和集成现有服务来协作开发能力和创新新的操作程序。第4部分介绍了我们所提出的体系结构的实现。第5部分列出了为验证该架构而进行的实证研究的结果,说明了与其他方法相比,该架构的成功之处。最后第6部分讨论结果和第7部分解释了本研究的主要结论。
- 艺术的现状
过去几年,跨公司边界提供和消费信息密集型电子服务引起了人们的广泛关注。例如,Web 服务技术协议栈 [1] 被认为是有效和敏捷的管道信息系统在没有人参与的情况下互动[5]。遵循 SOA 提出的设计原则,Web 服务提供了一种统一的、与系统无关的连接分散电子服务的方式。虽然技术和标准对于实现全球网络化、敏捷服务经济的愿景很重要,但今天人们普遍认识到,它们本身并不足够 [3]。遵循 SOA 范式对当今跨组织服务互连的分析导致了以下主要弱点的识别[6]:
· 刚性和面向过程的组合。SOA 的内在潜力还没有释放出来。仅仅遵循面向过程的设计指南会导致刚性应用程序,在发生变化时会导致巨大的重新编程工作。就像在 1970 年代一样,意大利面代码式软件编程的流行导致了应用程序的不可管理和不可可变性 (“软件危机” [7,8],不灵活的服务编排技术 (例如,基于业务流程执行语言 (BPEL)) 的应用阻止了 SOA在今天真正的敏捷。直到采用了结构化编程和面向对象编程的原则,危机才得以解决。今天的SOA上下文要求采用一种新的设计方法,该方法集成了模块化原则,强调结构化而不是面向流程的组织,并为更声明性(而非命令性)的服务编排方法铺平了道路。
· 难以互操。关于当今SOA的第二个主要问题是服务互操作性。信息对象有时也被称为企业的家庭问题,它被定义为服务输入或输出消息,它是基于非常亲货币的规范的。当不同的服务要相互链接时,由此产生的语义和语法上的异质性会导致大量的映射工作。这通常会导致错误和成本的增加。为了提高面向服务计算的生产力,需要新的组合支持工具来利用附加到服务接口的元数据,并帮助自动化部分映射任务。
· 可回收性有限。当今互联网走向网络服务经济的另一个障碍是缺乏全面、值得信赖和被广泛接受的服务注册机构。事实上,用户依赖于一些提供丰富导航功能、提高透明度从而实现机构功能的内部中介。未来的中介机构应不断收集有关注册服务的数据,以便向潜在用户提供有关电子资源市场的详细信息。除了透明度之外,还需要可导航性来优化定位满足用户需求的服务。
· 静音和自闭症服务接口。像这样的技术上述 Web服务协议栈旨在支持松散耦合的应用程序交互的设置,特别是在专业环境中,并假设用户在技术上是复杂的。例如,基于 Web 服务描述语言的接口不适合机器和人类用户之间的丰富交互,而是专注于机器到机器的自动化交互。此外,服务很少有上下文感知: 在提供服务时不考虑指定环境条件的参数,从而降低了用户体验的服务质量。最后,目前可用的服务检索平台、组合和利用不允许从用户行为中显式的知识共享或隐含的推荐。未来的平台将不得不考虑这样的社会面向服务的云计算,以提高生产力。
许多项目试图解决这些问题或这些问题的子集。例如,欧盟第七框架 (EU FP7) 快速项目1旨在为下一代复合用户界面的开发提供一个创新的可视化编程环境。另一个欧盟 FP7 项目,开放,2旨在开发一个环境,使人们能够在移动或使用其他交互设备时继续执行任务。欧洲软件和服务战略联网倡议项目,EzWeb,3旨在开发一个丰富的企业 mashup 平台和用于构建新一代 SOA 体系结构前端层的关键技术。环境项目中的欧洲联盟第六个框架 (欧盟 FP6)4旨在为使不同组织的不同个体知识工作者能够在有效的团队协作中工作的问题开发一种新的科学方法彼此之间。CELTIC的移动网络项目5是移动 Web 下一代内容和应用程序适配平台的开源参考实现。所有这些项目都是 SFE 开放联盟的一部分。SFE 开放联盟旨在整合相关研发项目的结果,以便为预期的 Web 2.0 平台提供开放规范和组件的开源参考实现,以访问服务, 未来互联网的内容和事物。
所有这些项目都证明,人们对构建一个使用针对最终用户需求定制的 Web 服务的体系结构非常感兴趣。然而,在整个基于服务的复合 Web 应用程序开发周期中,没有一个能够满足最终用户的需求。
这些项目和架构中的大多数都有一个共同的想法: 为用户定制 Web 服务,以克服在没有高级编程技能的情况下阻止用户访问 soa 的障碍。基德尔和肯普 [9] 这方面的开创性工作,提出了一种根据调用 Web 服务的使用上下文定制 Web 服务的机制。这个建议的问题是,他们只是为服务量身定制, 但是,用户不需要修改实际的服务源代码就可以将这些服务参数化或者创建一个新的基于服务的应用程序,这需要高级编程知识。
许多其他论文侧重于如何为用户提供一个平台,让他们能够从前端直观地创建 Web 应用程序。这种平台通常被称为 mashup 平台,它使用户能够开发小型 Web 应用程序。正是这些平台推动了这项研究。雅虎、谷歌、微软、 Kapow 或苹果等主要制造商销售数据或 Web 组件 mashup 开发门户网站,如雅虎、Google 、 PopFly 、 OpenKapow 、 RoboMaker 、 Apple 仪表板等。然而,从许多欧洲项目中获得的经验表明,用户仍然无法使用这些门户开发复合应用程序,本文中讨论的第一个研究问题打算对此进行研究。此外,工具扩散表明需要一个全球平台,比如[马斯哈特10],或标准和通用的 Web 组件 (小工具) 定义语言 [11],能够使用他们所有的专用组件。MashArt 的缺点是它没有授权用户创建新的 Web 组件,它的潜力仅限于使用和参数化现有服务。另一方面,Agahee 和 Pautasso 定义的语言能够标准化正在使用的组件的元数据,但没有考虑到组件相互链接或协调的可能性, 这意味着对于用户可以链接 Web 服务的未来来说,这样的元数据是不够的。
解决上述弱点的最近工作开始侧重于前端。Bianchini 等人 [12,13],例如,关注如何在注册表或目录中提供视觉元素,用于基于选择模式生成 Web 应用程序编程接口 (APIs)。它们只引入用于创建前端的接口元素。它们不允许用户在这些元素上附加操作后端来集成与 Web 服务的接口。因此,他们没有解决这里提出的问题。
在这片土地上 Web 服务体系结构的设计提供了一个前端,它可以根据用户的需求定制,用户可以根据现有服务创建自己的复合解决方案,这仍然是一个开放的问题。这个问题现在比上面报告的研究追求的目标提出了更大的挑战。本文的目的是定义并验证这种体系结构。
最先进的技术描绘了一幅画,迄今为止进行的研究为应对这一挑战制定了一套指导方针。这些指南是根据上述研究人员和项目报告的发展情况进行后验定义的结果。以下列出了这些指南:
· 允许用户创建和共享他们的操作工作区和应用程序。传统的用户服务交互应该通过促进个性化操作环境[14]中应用程序的选择、创建、组合、定制、重用和共享来增强。
· 构建无所不在和上下文感知的服务前端。新一代服务前端应该能够检测、表示、操作和使用上下文信息来无缝地适应每种情况,以更有效、个性化和一致的方式支持人类用户。为了支持上下文感知的服务前端,应该设计新的工程工具和方法。这一指导方针将推动构建能够使用上下文信息影响其行为的新型服务前端,从而以更有效和个性化的方式支持人类用户[15]。
· 获取和利用服务前端的用户知识。这一原则旨在利用用户领域知识和集体智慧来改进服务前端。最终用户知识可用于使用轻量级语义标记资源、提供服务交互支持、丰富上下文信息(例如,通过自动用户分析),并推断出稍后将自动(在后端)[5]的新候选流程。
· 构建新一代协同、以用户为中心和上下文感知的ICT系统。企业系统应该集成高级的以用户为中心的、上下文感知的前端,以使员工和其他涉众能够利用,并共享他们广泛的领域专业知识和全面的业务知识[4]。员工、客户、开发人员和提供者将协作创建和改进企业应用程序,共享、重用、更改和组合现有的上下文感知组件(服务、内容、事物hellip;hellip;)[16]。
针对这个开放问题,我们提出了一个帮助最终用户创建复合Web应用程序的体系结构。它使没有编程技能的最终用户能够使用现有的Web服务。该体系结构解决了开放问题,也用于对第1节所述的研究问题进行实证研究。
- 提出了实现服务互联网的高层架构
在本节中,我们为下一代服务前端提出了一种新的架构。该建筑是根据目前的技术状态中提出的指导方针设计的。为了清晰起见,我们将服务前端生命周期的创作和运行时阶段分开(参见图1)。
图1.下一代服务前端的拟议架构 (概述)
如上所述,gadget将是此体
全文共22799字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[2627]