问答题 阅读以下Web应用系统架构设计的说明,根据要求回答下面问题。
[说明]
某公司拟开发一个市场策略跟踪与分析系统,根据互联网上用户对公司产品信息的访问情况和产品实际销售情况来追踪各种市场策略的效果。其中互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的数据报表;公司产品的实际销售情况则需要通过各个分公司的产品销售电子表格或数据库进行采集与汇总。得到相关数据后,还要对数据进行分析与统计,并通过浏览器以在线的方式向市场策略制定者展示最终的市场策略效果。
在对市场策略跟踪与分析系统的架构进行设计时,公司的架构师王工提出采用面向服务的系统架构,首先将各种待集成的第三方软件和异构数据源统一进行包装,然后将数据访问功能以标准Web服务接口的形式对外暴露,从而支持系统进行数据的分析与处理,前端则采用CSS等技术实现浏览器数据的渲染与展示。架构师李工则认为该系统的核心在于数据的定位、汇聚与转换,更适合采用面向资源的架构,即首先为每种数据元素确定地址,然后将各种数据格式统一转换为JSON格式,通过对JSON数据的组合支持数据的分析与处理任务,处理结果经过渲染后在浏览器的环境中进行展示。在架构评估会议上,专家对这两种方案进行综合评价,最终采用了李工的方案。
问答题 请根据题干描述,对市场策略跟踪、分析系统的数据源特征与数据操作方式进行分析,完成下表中的空白,并用200字以内的文字说明李工方案的优点。
系统数据源特征与数据操作方式
数据源特征 数据源特征 数据操作方式
数据形态 数据访问实时性
互联网用户访问信息 ______ 非实时 ______
产品销售信息 电子表格与数据库 ______ 只读
【正确答案】
【答案解析】数据报表 非实时 只读
通过对系统的数据源特征和数据操作方式进行分析可知,待集成的数据均为持久型数据(文件或数据库),系统对数据的访问均为只读非实时性的。针对这些应用特征,李工提出的面向资源的架构方式以对数据资源的只读访问为核心,通过数据唯一标识直接对各种数据进行访问与获取,系统架构清晰、实现简单、效率较高 由题干给出的关键信息“互联网上用户对公司产品信息的访问情况需要借助两种不同的第三方Web分析软件进行数据采集与统计,并生成不同格式的 数据报表 ”,可知“互联网用户访问信息”的数据形态为“数据报表”,属于非实时性数据访问,数据操作方式通常为“只读”方式。
同理,由题干给出的关键信息“公司产品的实际销售情况则需要通过各个分公司的产品销售 电子表格数据库 进行采集与汇总”,可知“产品销售信息”的数据形态为“电子表格、数据库”,也属于非实时性数据访问,数据操作方式通常为“只读”方式。
综上所述,通过对系统的数据源特征和数据操作方式进行分析可知,待集成的数据均为持久型数据(文件或数据库),系统对数据的访问均为只读、非实时性的。针对这些应用特征,李工提出的面向资源的架构方式以对数据资源的只读访问为核心,通过数据唯一标识直接对各种数据进行访问与获取,系统架构清晰、实现简单、效率较高。
问答题 请从数据获取方式、数据交互方式和数据访问的上下文无关性三个方面对王工和李工的方案进行比较,并用500字以内的文字说明为什么没有采用王工的方案。
【正确答案】
【答案解析】从数据获取方式来看,王工的方案需要将现有的多个系统和异构的数据源包装为服务,采用Web服务暴露数据接口,客户端需要通过服务调用获取数据,这种方法工作量大,复杂度较高。李工的方案则绕开了复杂的功能封装,只需要明确数据的位置与标识,通过特定的网络协议直接使用标识定位并获取数据,与王工的方案相比工作量小,实现简单。
从数据交互方式来看,王工的方案采用远程过程调用和异步XML消息等模式实现数据交互,这种方式适合于系统之间功能调用时进行的少量数据传输,而在进行单纯的数据访问时效率不高,稳定性也较差。李工的方案则以数据资源为核心,在对数据资源进行标识的基础上,通过标识符直接对数据资源进行访问与交互,实现简单且效率较高。
从数据访问的上下文无关性来看,王工的方案中数据访问是与上下文有关的,具体表现在每次客户端进行数据请求都需要附加唯一的请求标识,并且服务端需要区分不同的客户端请求,效率较低。李工的方案中数据访问是与上下文无关的,客户端通过全局唯一的统一资源标识符(URI)请求对应的数据资源,服务端不需要区分不同的客户端请求 依题意,从数据获取方式看,王工的方案需要将现有的多个系统和异构的数据源包装为服务,采用Web服务暴露数据接口,客户端需要通过服务调用获取数据。这种方法工作量大,复杂度较高。李工的方案则绕开了复杂的功能封装,只需要明确数据的位置与标识,通过特定的网络协议直接使用标识定位并获取数据,与王工的方案相比工作量小,实现简单。
从数据交互方式看,王工的方案采用远程过程调用和异步XML消息等模式实现数据交互,这种方式适合于系统之间功能调用时进行的少量数据传输,而在进行单纯的数据访问时效率不高,稳定性也较差。李工的方案则以数据资源为核心,在对数据资源进行标识的基础上,通过标识符直接对数据资源进行访问与交互,实现简单且效率较高。
从数据访问的上下文无关性来看,王工的方案中数据访问是与上下文有关的,具体表现在每次客户端进行数据请求都需要附加唯一的请求标识,并且服务端需要区分不同的客户端请求,效率较低。李工的方案中数据访问是与上下文无关的,客户端通过全局唯一的统一资源标识符(URI)请求对应的数据资源,服务端不需要区分不同的客户端请求。
问答题 表现层状态转换(REST)是面向资源架构的核心思想,请用200字以内的文字解释什么是REST,并指出在REST中将哪三种关注点进行分离。
【正确答案】
【答案解析】REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。
REST中将资源、资源的表现、获取资源的动作三者进行分离 REST从资源的角度来定义整个网络系统结构,分布在各处的资源由统一资源标识符(URI)确定,客户端应用程序通过URI获取资源的表现,并通过获得资源表现使得其状态发生改变。其特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。REST组件通过以一种数据格式转移资源的表述进行通信,可以基于接收者的能力和期待的内容,以及资源的性质动态地选择不同的表述。
REST中将资源、资源的表现和获取资源的动作三种关注点进行分离。