论基于REST服务的Web应用系统设计
REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,它是目前互联网的核心架构风格。基于REST服务(RESTful Service)的Web应用系统设计任务主要包括:识别并设计REST风格的服务,采用面向服务的思想进行REST服务集成。采用这种方法设计的Web应用系统能够结合REST风格和面向服务思想的优点,近年来受到了广泛的关注。
请围绕“基于REST服务的Web应用系统设计”论题,依次从以下三个方面进行论述。
1.概要叙述你参与实施的Web应用系统开发项目以及你所承担的主要工作。
2.简要叙述与传统的Web服务相比,采用REST服务构建的Web应用具有哪些优势和不足。
3.阐述你在设计基于REST服务的Web应用系统时遇到了哪些问题,如何解决。
正确答案及解析
正确答案
解析
一、论文中要具体介绍项目的总体需求(特别是质量属性需求)、Web应用系统的逻辑与物理拓扑结构、采用的技术等内容和承担的实际工作。
二、REST(REpresentational State Transfer)是指从几种基于网络的架构风格衍生出来的一种混合架构风格,目前Web的体系结构正是基于REST风格的。REST风格中的特点是客户端/服务器、无状态、缓存、统一接口、分层系统和按需代码。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中表达复杂类型的参数比较困难,且目前对URI中的参数不存在一种公认的编组(marshalling)和解编(un-marshalling)方法。
三、进行基于REST服务的Web应用系统的设计时可能遇到的问题包括:如何识别并设计REST风格服务;构建REST服务的运行环境,包括HTTP服务器与应用服务器选型等;富客户端表现方式及编程语言的选择;系统逻辑与物理拓扑结构的分析与设计等。
包含此试题的试卷
你可能感兴趣的试题
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
-
- A.202.123.25.0
- B.202.123.25.255
- C.202.123.24.0
- D.202.123.24.255
- 查看答案
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
-
- A.电子邮件
- B.硬盘
- C.U盘
- D.ROM
- 查看答案
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
-
- A.201.117.15.254 和 201.117.17.01
- B.201.117.17.01 和 201.117.24.5
- C.201.117.15.254 和 201.117.29.3
- D.201.117.24.5 和 201.117.29.3
- 查看答案
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
-
- A.50波特
- B.500波特
- C.550波特
- D.1000波特
- 查看答案
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
-
- A.该命令使得本地主机向目标主机发送了 4 个数据包
- B.本地主机成功收到了目标主机返回的 4 个数据包
- C.本地主机与目标主机连接正常
- D.该命令用于查看目标主机的 IP 地址
- 查看答案