问题 问答题

采用基于Web2.0的Mashup技术架构Web应用系统,可以从不同的数据源抽取数据,聚合并转换数据,在不同的上下文使用,避免了复杂的集成过程,近年来受到了广泛的关注。Mashup核心活动包括数据输入、数据可视化、调度与监视、剪裁、转换与充实、动作,以及发布与推广等。可以通过使用搜索、语言翻译、工作流支持和其他改进技术来增强基础的Mashup。

请围绕“基于Mashup的Web应用系统设计与应用”论题,依次从以下3个方面进行论述。

(1)概要叙述你参与管理和实施的Web应用系统开发项目及你所承担的主要工作。

(2)简述常见的Mashup数据接口,详细论述你在所参与建设的Web应用系统项目中是如何应用Mashup技术,并分析应用这些技术之后对项目产生了哪些效果(或影响)。

(3)论述在你参与建设的Web应用系统项目实施过程中遇到的,与Mashup技术相关的问题及解决的办法,还有哪些需要进一步改进之处及如何进行改进。

答案

参考答案:

(A)简要介绍你参与规划和设计的Web应用系统开发项目,尤其着重介绍Web应用系统的应用环境、总体需求(特别是质量属性需求)、Web应用系统的逻辑与物理拓扑结构、采用的技术等内容,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。参与设计和实施的Web应用系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。

(B)Mashup程序从架构上是由客户机的Web浏览器、Mashup网站和API/内容提供者等C个不同的部分组成,它们在逻辑上和物理上都是相互脱离的(可能由网络和组织边界分隔)。Mashup的主要工作流程是:当移动用户向Mashup网站发起一个请求时,通过GPS系统附带自身的位置信息;Mashup网站接收请求,并将请求分解为对多个服务网站的数据请求调用,并为发起调用进行准备;针对不同服务网站的调用接口,采用不同的调用方式;最终在Mashup站点将请求信息进行数据内容聚合,并将用户所处位置的整合信息返回。目前,经常使用的C科Mashup接口如下。

①聚合内容(Really Simple Syndication, RSS)式的Mashup接口:一种用于对网站内容进行描述和同步的格式,是目前使用最为广泛的Web资源发布方式,可以被称为资源共享模式的延伸。

②表述性状态转移(REpresentational State Transfer, REST)式的Mashup接口:REST从资源的角度来看待整个网络,分布在各处的资源由统一资源标识符(Unified Resource Identifier, URI)确定,而客户端的应用通过URI来获取资源的表示。

③基于简单对象访问协议(Simple Object Access Protocol, SOAP)的Web服务式Mashup接口。一种基于XML的数据格式定义,用来进行Web服务调用过程中的参数调用和返回。

采用基于Web B.0的Mashup技术架构Web应用系统具有的优势:①仅需要使用现有Web应用程序(如Google Maps)公开的、基于Web的API(或Web服务)构建应用程序,集成过程相对简单;②直接使用Mashup技术集成两个或者更多的Web API,创建新的特性与功能;③使用Ajax技术调用基于Web的API,浏览器客户端不需要在每次与服务器通信时都重新加载整个页面,动态特性强;④使用SOA的思想集成底层系统,强调功能暴露与服务组合,以服务的形式集成并暴露现有系统的能力等。

在实现Mashup应用时,进行内容聚合的物理位置是一个十分重要的因素。目前很多Mashup站点都选择在客户端机器上进行内容聚合,构成所谓的胖因特网应用程序(Rich Internet Application, RIA)。这种在客户端进行内容聚合的优点主要表现在:①从Mashup服务器存储的角度来说,对服务器所产生的负载较轻,因为数据可以直接从内容提供者那里传送到客户端;②从网络传输的角度来说,在基于Ajax等技术和应用模型的基础上,客户端页面只请求需要更新的内容,而不用刷新整个页面,从而减少网络数据的通信量。

结合项目实践经验,说明你参与管理和开发的项目中,如何理解Mashup、门户、SOA、EAI/EII和SaaS之间的关系;能够全面和准确地描述Mashup各个核心活动(包括数据输入、数据可视化、调度与监视、剪裁、转换与充实、动作,以及发布与推广等)及其具体的实施内容;能够准确地描述如何管理Mashup开发,包括从计划和管理方法到集成、测试和部署的全过程:在优化安全性、隐私、可访问性、有用性和性能,通过使用搜索、语言翻译、工作流支持和其他改进来增强基础的Mashup,执行有效的负载和回归测试,避免造成企业Mashup故障的“反模式”等方面也要有一定的论述。

(C)有具体着眼点地论述在你参与建设的Web应用系统项目实施过程中遇到的,与Mashup技术相关的问题。针对具体的问题你采取了哪些解决技术、方法和措施,以及它们对该工程项目后期的工作产生了哪些积极(或消极)的影响(效果和存在的问题)。论文最后可以进一步讨论你在该工程项目中获得的与Mashup应用相关的体会,以及在今后的工作过程中,如果碰到类似的开发项目你将如何应用这些经验或教训。对需要进一步改进的地方,应有具体的着眼点,不能泛泛而谈。

单项选择题
单项选择题