问题 问答题

阅读以下关于体系结构设计的叙述,根据要求回答问题。
[说明]
某大中型电子商务公司的主要业务是在线购物,包括书籍、服装、家电和日用品等。随着公司业务规模不断增大,公司决策层决定重新设计并实现其网上交易系统。PH软件公司承担了该项目软件开发任务,负责系统开发的杜工和赵工分别给出了两种不同的设计方案,分别如图4—14和图4—15所示。



公司的架构师和开发者针对这两种设计方案,从服务器负载情况、业务逻辑的分离性、系统可靠性,以及实现简单性等方面进行讨论与评估,综合考虑最终采用了赵工给出的方案。

[问题3]
REST(REpresentational State Transfer)是从几种基于网络的架构风格衍生出来的一种混合架构风格。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点。结合你的系统架构设计经验,请用300字以内的文字简要说明与传统的Web服务相比,采用REST服务构建的Web应用具有哪些优势和不足。

答案

参考答案:REST(REpresentational State Transfer)是从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前因特网的核心架构风格。REST风格中的特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。REST组件通过以一种数据格式转移资源的表述进行通信,可以基于接收者的能力和期待的内容,以及资源的性质动态地选择不同的表述。
基于REST服务(RESTful Service)的Web应用系统设计任务主要包括识别并设计REST风格的服务和采用面向服务的思想进行REST服务集成。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点,近年来受到了广泛的关注。
与传统的Web服务相比,REST服务主要有以下几点优势。
(1)REST服务基于W3C/IETF的标准与规范(包括HTTP、XML、URI和MIME等),其实现技术简单且成熟。
(2)REST服务基于URI和超链接技术,不需要通过集中式的服务信息仓库即可发现服务资源。
(3)REST服务支持缓存,具有无状态的特性,这些使得REST服务能够支持大量客户端,构建的应用系统具有较强的伸缩性。
(4)REST服务基于轻量级的Web框架,仅仅需要基本的开发工具支持,构建过程简单且成本较低。
(5)REST服务的测试相对简单,采用浏览器即可完成服务功能测试。
与传统的Web服务相比,REST服务主要存在如下不足。
(1)REST服务倡导的REST风格与实际实现尚存在一定差距。例如高层REST服务倡导使用GET、PUT、POST和DELETE所有4个统一接口,在REST实现部分通常只能采用GET和POST接口,因为大多数的代理和防火墙会屏蔽其他接口;并且XHTML表单中只能使用GET和POST接口。
(2)REST服务要求所有的输入参数都必须在URI中传递,这样会产生对参数容量大小的限制(目前的大小是4KB)。如果超出该数量,会导致HTTP协议错误(错误代码414:Request—URI too long)。
(3)在URI中表达复杂类型的参数比较困难,且目前对uRj中的参数不存在一种公认的编组(marshalling)和解编(un-marshalling)方法。

选择题
问答题 简答题