tourist.com是一家在线旅游信息服务公司,其主要业务是为了自助旅游者提供关于旅游线路及周边信息的服务。随着公司业务的不断发展,公司用户要求提供基于位置的增值旅游信息服务,即希望能够在给定位置(利用GPS全球定位系统获取)的情况下得到周边的地理位置、交通、住宿和餐饮等旅游相关信息。FT软件公司承接了tourist.com公司管理信息系统升级的开发任务。该软件公司的领域专家对需求进行深入分析,并结合需求对现有系统的架构和运行模式进行了认真分析,决定采用Mashup(一种基于因特网的内容聚合技术)集成来自其合作网站(假设为P、Q、R、S)的信息,满足用户的需求。具体实现方式是:
(1)利用P网站提供的地图信息,得到用户位置相关的周边地理信息。
(2)Q网站根据用户的位置信息向其提供周边的公交线路等信息。
(3)R网站根据用户的位置信息向其提供周边的住宿信息。
(4)S网站根据用户的位置信息向其提供周边的餐饮信息。
在该项目建设过程中,tourist.com网站欲整合Google等网站提供的地图信息,为用户提供新的旅游信息增值服务。FT公司负责网站建设的工程师提出了两种解决方案,第一种方案拟采用传统的应用系统集成方法,集成来自不同源的数据。另外一种采用基于Web 2.0的Mashup技术,从不同的数据源抽取数据,聚合并转换数据,在不同的上下文中使用,具体如下表所示。请阅读并将下表(1)~(5)空缺的内容填写完整。
[*]
参考答案:(1)仅需要使用现有Web应用程序公开的、基于Web的API(或Web服务)构建应用程序,集成过程相对简单。
(2)直接使用Mashup技术集成两个或者更多的Web API,创建新的特性与功能。
(3)大多采用静态展现技术,当客户端发送请求时,往往需要刷新整个网页。
(4)使用Ajax技术调用基于Web的API,浏览器客户端无须在每次与服务器通信时都重新加载整个页面,动态特性强。
(5)采用SOA思想集成底层系统,强调功能暴露与服务组合,以服务形式集成并暴露现有系统的能力。
解析:本问题主要考查传统的应用集成方案和基于Web 2.0、Mashup技术的集成方式的比较和差异。传统的企业应用集成方案一般需要现有系统平台API层的支持,如Java平台、J2EE和.NET等,集成过程涉及面较广,相对复杂。而基于Web的应用与数据集成时,仅需要使用由现有Web应用程序(如Google Maps)公开的基于Web的API(或者Web服务)来构建应用程序,避免了复杂的集成过程。因此,(1)空缺处应该填写“仅需要使用现有Web应用程序公开的,基于Web的API(或Web服务)构建应用程序,集成过程相对简单”。
基于Web 2.0和Mashup技术,可以直接使用Mashup技术集成两个或者更多的Web API,以创建某种新的特性与功能,因此在(2)空缺处应该填写“直接使用Mashup技术集成两个或者更多的Web API,创建新的特性与功能”。
对于(3)空缺处,传统集成方式下的表现层大多采用静态展现技术,当客户端发送请求时,往往需要刷新整个网页。
对于(4)空缺处,使用Ajax技术调用基于Web的API,浏览器客户端无须在每次与服务器通信时都重新加载整个页面,动态特性强。
对于(5)空缺处,基于Web 2.0和Mashup技术的集成方案使用SOA的思想集成底层系统,强调功能暴露与服务组合,以服务的形式集成并暴露现有系统的能力。
整理以上分析内容,可得到如下表所示的两种集成方案各自的考虑因素。