问答题
[说明]
tourist.com是一家在线旅游信息服务公司,其主要业务是为了自助旅游者提供关于旅游线路及周边信息的服务。随着公司业务的不断发展,公司用户要求提供基于位置的增值旅游信息服务,即希望能够在给定位置(利用GPS全球定位系统获取)的情况下得到周边的地理位置、交通、住宿和餐饮等旅游相关信息。FT软件公司承接了tourist.com公司管理信息系统升级的开发任务。该软件公司的领域专家对需求进行深入分析,并结合需求对现有系统的架构和运行模式进行了认真分析,决定采用Mashup(一种基于因特网的内容聚合技术)集成来自其合作网站(假设为P、O、R、S)的信息,满足用户的需求。具体实现方式是:
(1)利用P网站提供的地图信息,得到用户位置相关的周边地理信息。
(2)O网站根据用户的位置信息向其提供周边的公交线路等信息。
(3)R网站根据用户的位置信息向其提供周边的住宿信息。
(4)S网站根据用户的位置信息向其提供周边的餐饮信息。
问答题 下图是tourist.com公司进行Mashup的流程示意图,请阅读并补充图中数字标出部分的内容。
【正确答案】(2)Tourist网站接收请求,将请求分解为对多个网站的数据请求调用,并为发起调用进行准备。 (3)调用P网站提供的Web编程接口,给出(提供)用户的位置信息,请求地图信息。 (5)调用Q网站的内容信息获取接口,给出(提供)用户地理信息,请求用户周边的交通信息。 (7)Tourist网站根据用户的请求信息进行数据内容聚合
【答案解析】[解析] Mashup程序从架构上是由客户机的Web浏览器、Mashup网站和API/内容提供者等3个不同的部分组成的,它们在逻辑上和物理上都是相互脱离的(可能由网络和组织边界分隔)。Mashup的主要工作流程是:当移动用户向Mashup网站发起一个请求时,通过GPS系统附带自身的位置信息;Mashup网站接收请求,并将请求分解为对多个服务网站的数据请求调用,并为发起调用进行准备:针对不同服务网站的调用接口,采用不同的调用方式;最终在Mashup站点将请求信息进行数据内容聚合,并将用户所处位置的整合信息返回。针对上图,具体而言tourist.com公司进行Mashup的工作流程如下。 (1)用户向Tourist网站请求服务,请求页面提供用户的位置信息。 (2)Tourist网站接收请求,将请求分解为对多个网站的数据请求调用,并为发起调用进行准备。 (3)调用P网站提供的Web编程接口,给出(提供)用户位置信息,请求地图信息。 (4)P网站向Tourist网站返回用户所处位置周边的地图信息。 (5)调用Q网站的内容信息获取接口,给出(提供)用户地理信息,请求用户周边的交通信息。 (6)Q网站向Tourist网站返回用户所处位置周边的交通信息。 (7)调用R网站的内容信息获取接口,给出(提供)用户地理信息,请求用户周边的住宿信息。 (8)R网站向Tourist网站返回用户所处位置周边的住宿信息。 (9)调用S网站的内容信息获取接口,给出(提供)用户地理信息,请求用户周边的餐饮信息。 (10)S网站向Tourist网站返回用户所处位置周边的餐饮信息。 (11)Tourist网站根据用户的请求信息对相关的地理位置、交通、住宿和餐饮等信息进行数据内容聚合。 (12)Tourist网站向用户返回用户所处位置周边整合的旅游信息。
问答题 在该项目建设过程中,tourist.com网站欲整合Google等网站提供的地图信息,为用户提供新的旅游信息增值服务。FT公司负责网站建设的工程师提出了两种解决方案,第一种方案拟采用传统的应用系统集成方法,集成来自不同源的数据。另外一种采用基于Web 2.0的Mashup技术,从不同的数据源抽取数据,聚合并转换数据,在不同的上下文中使用,具体如下表所示。请阅读并将表中空缺的内容填写完整。
【正确答案】(1)仅需要使用现有Web应用程序公开的、基于Web的API(或Web服务)构建应用程序,集成过程相对简单。 (2)直接使用Mashup技术集成两个或者更多的Web API,创建新的特性与功能。 (3)大多采用静态展现技术,当客户端发送请求时,往往需要刷新整个网页。 (4)使用Ajax技术调用基于Web的API,浏览器客户端无须在每次与服务器通信时都重新加载整个页面,动态特性强。 (5)采用SOA思想集成底层系统,强调功能暴露与服务组合,以服务形式集成并暴露现有系统的能力
【答案解析】
问答题 基于Web 2.0的Web应用十分强调用户的体验与感受,Ajax是目前广泛使用的表现层技术。请用300字以内的文字简要介绍Ajax的核心思想,并列举两个在使用Ajax时需要关注的效率问题。
【正确答案】核心思想是以下几种现有技术的组合。 (1)XHTML和CSS。 (2)使用文档对象模型(Document Object Model)进行动态显示和交互。 (3)使用XML和XSLT进行数据交互和操作。 (4)使用XMLHttp Request进行异步数据接收。 (5)使用JavaScript将它们绑定在一起。 需要关注的效率问题: (1)替换部分而不是全部HTML网页。 (2)不要在没有必要的情况下使用轮询计时器。 (3)根据不同的情况,考虑传递不同格式的数据(JavaScript、XML、HTML和XHTML等)。 (4)充分利用客户端的动态特性和计算能力减轻服务端负载。
【答案解析】[解析] Web 2.0是目前Internet上Web应用的新模式,其概念由Tim O'Reilly于2003年首次提出。目前Internet上已经有很多基于Web 2.0的Web应用系统。基于Web 2.0的Web应用十分强调用户的体验与感受,Ajax是目前广泛使用的表现层技术。事实上,Ajax并不是一种全新的技术,而是以下几种现有技术的组合。 (1)XHTML和CSS。 (2)使用文档对象模型(Document Object Model)进行动态显示和交互。 (3)使用XML和XSLT进行数据交互和操作。 (4)使用XMLHttp Request进行异步数据接收。 (5)使用JavaScript将它们绑定在一起。 针对这些技术的特点,在使用Ajax时,从性能方面考虑,需要注意以下几个问题。 (1)替换部分而不是全部HTML网页(这是Ajax核心思想的体现)。 (2)不要在没有必要的情况下使用轮询计时器。由于JavaScript是单线程的语言,不恰当的使用轮询计时器会大大降低程序的运行效率。 (3)根据不同的情况,考虑传递不同格式的数据(JavaScript、XML、HTML和XHTML等)。 (4)充分利用客户端的动态特性和计算能力减轻服务端负载。