`
julyboxer
  • 浏览: 220173 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

REST学习总结一

    博客分类:
  • java
阅读更多
      一个应用的性能首先取决于它的需求.然后再取决于它所采用的架构风格..最后才是代码的优化..由于需求部分所导致性能降低是不可避免的..所以性能优化的关键在于根据它的需求采用最适合的架构..代码优化也是一个很关键的部分..因此架构师要尽可能地选用对于某一特定需求具有较好性能的架构风格..而程序员则是在平时的代码编写过程尽可能养成一些好的编程习惯..如在功能模块化下面要对于某一函数里面的语句再次进行优化以便提高性能.便得局部变量的生命周期尽可能的短.对共有进行操作的语句改可能的放在一起..不要出现那种在函数里面第一句声明..然后到了结尾的时候再去使用(这是一种非常差的编程习惯,使得程序的可读非常差)..关于代码优化这方面的技巧可以多看看代码大全这本书.

       其中性能又分成两种:网络性能和用户可觉察性能. 网络性能是用来描述通信的某些属性.用户可觉察性能主要度量手段是延迟和动作的完成时间.网络性能主要是受到架构风格及应用现场的网络实际情况所决定的..风格对于网络性能的影响是通过影响每个用户动作的交互的数量和数据元素的粒度来实现的.而用户可觉察性能中的延迟关键点在于在组件间传输交互数据所需的时间..还有在应用能够呈现一个可用的结果之前.完成数据的转移和处理交互的结果所需的时间.. 其他如触以动作的时间.组件之间建立交互所需的时间.组件处理每个交互的时间等这些相对来说都是比较可控的..通过某些代码优化手段或者信息提示手段减少时间.. 但总的来说还是受到架构风格的影响 ,而动作完成时间就是完成一个应用动作所花费的时间..完成时间取决于所有上述的延迟点..经常出现的一种情况是对延迟进行优化的设计会产生延长完成时间的副作用

 里面提到根据分类方法学可以将架构风格分为
数据流风格..
复制风格(缓存风格).
分层风格
客户-服务器 (C/S风格)
       分层系统(TCP|IP和OSI协议栈) 关键点:增加了处理的开销和延迟.降低了用户可觉察的性能.
      分层-客户-服务器(MVC模式)
      客户-无状态-服务器     关键点:从客户端发到服务器的每个请求必须包含理解请求所必需的全部信息, 不利用任何保存在                                                                服务器上的上下文.会话状态全部保存在客户端
      客户-缓存-无状态-服务器(Sun公司的NFS) 关键点:来源于客户-无状态-服务器和缓存风格的结                                                                                                                              合..有可能部分或全部消除一些交互.从而提高效率和用户可觉察的性能
      分层-客户-缓存-无状态-服务器(DNS域名系统) 关键点:通过添加代理或网关组件..继承了分层-  客户-服务器和客户                                                                                            -缓存-无状态-服务器风格
      远程会话(FTP服务) 关键点:客户-服务器的一种变体..由于要在服务器上保存应用状态.降低了服务器的可伸缩                                                                性..还降低的交互的可见性
    远程数据访问(远程数据库访问)      关键点:客户端必须像服务器实现那样理解相同的数据库操作概念.必须在服务器上保存应                                                            用的上下文.降低了可伸缩性.虽然使用事务机制可以修正可靠性的问题..但是增加了复杂性和                                                                交互的开销
移动代码风格  关键点:使用移动性来动态地改变在处理过程与数据源或结果目的地之间的距离
        虚拟机风格
        远程求值
        按需代码风格  关键点:一个客户端知道如何访问一组资源.但不知道如何处理它们.它向一个远程服        务器发过如何处理                                                    资源的代码的请求..接收这些代码..然后在本地执行这些代码
        分层-按需代码-客户-缓存-无状态-服务器(HotJava Web服务器)
        移动代理
点对点风格
        基于事件的集成(EBIMVC范例    关键点:一个组件发能够发布一个或者多个事件.在事件发布后.系统  中的其他组件能够注                                                                            册对于某些事件类型的兴趣.由系统本身调用所有已注册的组件
        C2架构风格 
        分布式对象(DO)

REST::::    统一-分层-客户-缓存-无状态-按需代码-服务器

资源:资源R一个随着时间变化的成员函数M  该函数将时间t映射到等价的一个实体或值的集合,集合中值可能是资源的表述和或资源的标识符.

中间件: 包括了标准编程接口和协议的分布式系统报务,扮演了一个位于操作系统和网络软件之上.特定行业的应用软件之下的中间层
 
分享到:
评论
1 楼 julyboxer 2008-04-06  
REST讨论组
http://groups.google.com/group/rest_in_action/topics

相关推荐

    Rest服务学习

    总结,学习REST服务意味着理解REST原则并掌握如何在Spring框架中应用这些原则。`RestTemplate`作为Spring提供的实用工具,大大简化了与REST服务的交互。通过深入阅读相关的博客文章,如“SpringSource Team Blog”,...

    WCF REST service test

    在本项目中,“WCF REST Service Test”是一个用于测试WCF REST服务的应用程序,它提供了模拟RESTful服务器的功能。 ### WCF REST服务基础 WCF REST服务允许开发者创建基于HTTP协议的、符合REST原则的服务。REST...

    Rest 开发小案例

    总结起来,"Rest 开发小案例"是一个学习RESTful服务开发的好起点,它涵盖了使用Jersey框架创建REST服务的基础知识。通过此案例,开发者可以快速了解REST设计原则,掌握如何在Java环境中构建RESTful API,以及如何与...

    关于activiti rest服务

    总结来说,Activiti REST服务是Activiti引擎与外部系统交互的重要桥梁,它使得流程管理更加灵活和便捷。开发者应当熟悉这些接口,以便在实际工作中高效地利用Activiti实现业务流程自动化。通过深入学习和实践,我们...

    REST实战中文版(有目录)

    总结来说,REST是一种广泛应用于Web服务的架构风格,它通过定义资源模型、使用标准的HTTP方法和统一的接口,来实现系统的松耦合和可伸缩性。《REST实战中文版》作为深入研究REST的资料,将为读者提供详尽的理论知识...

    arcgis server rest api

    总结,ArcGIS Server REST API是GIS开发的核心工具之一,理解并熟练运用它,能够极大地提升地理信息系统的开发能力和应用范围。通过深入学习和实践,开发者可以构建出高效、智能的GIS应用,满足各种业务需求。

    odoo rest api

    **Odoo REST API** Odoo是一款开源的企业资源规划(ERP)软件,它提供了一整套模块化的业务应用程序,包括但不限于销售管理、...对于那些想要深入学习和开发Odoo应用的人来说,理解和掌握Odoo REST API是至关重要的。

    REST 客户端 完整 实例 绝对经典。

    总结来说,本实例提供的JAVA REST客户端是一个非常实用的工具,对于JAVA开发者调试和测试RESTful服务来说是宝贵的资源。通过学习和使用这个工具,你可以更好地理解REST原理,掌握JAVA中处理HTTP请求的方法,同时提升...

    MyEclipse REST Web Service 简单的实现例子

    总结来说,MyEclipse提供了一套完整的REST Web Service开发环境,使得开发者可以轻松地创建、测试和部署REST服务。通过以上实例,我们了解了如何在MyEclipse中利用JAX-RS注解构建RESTful接口,以及如何运行和测试...

    Salesforce_REST_API

    总结来说,Salesforce REST API作为一项标准化的网络服务接口,允许开发者通过简单的HTTP请求来与Salesforce平台进行交互。它不仅在技术上易于集成和开发,而且功能强大,非常适合于移动应用和Web 2.0项目。开发者...

    REST接口测试源代码

    总结来说,这个压缩包包含的源代码提供了使用C#在Visual Studio 2012环境下进行REST接口测试的方法,特别是针对返回JSON格式数据的接口。通过学习和理解这部分代码,开发者可以更好地理解和测试RESTful服务,确保...

    使用Jersey框架搭建Rest服务

    通过对这一过程的学习,读者可以更好地理解和掌握REST服务的构建方法。 #### 二、环境配置 在搭建基于Spring和Jersey的REST服务之前,需要完成一系列的环境配置工作,包括开发工具的选择、系统环境的准备以及JDK、...

    Openlayer调用arcgis的REST服务的代码

    ### OpenLayers与ArcGIS Server REST API的集成及应用 #### OpenLayers简介 OpenLayers是一款开源的JavaScript库,用于显示地理图层和矢量数据。...此外,还提供了一些实用的链接资源供读者进一步学习和探索。

    Spring MVC REST Demo

    总结来说,"Spring MVC REST Demo"项目展示了如何在Spring MVC框架中利用REST原则创建Web服务。这包括定义Controller,标注HTTP方法,处理资源URI,以及进行数据交换。通过学习这个示例,开发者可以更好地理解和实践...

    REST开发指南

    #### 一、REST概念与架构 **REST(Representational State Transfer)** 是一种软件架构风格,特别适用于构建分布式超媒体系统,例如万维网。REST 被认为是构建 Web 服务的一种简单且高效的方式,相较于 SOAP 等...

    rest 论文 英文原版

    根据提供的文件信息,本文档是罗伊·托马斯·菲尔丁(Roy Thomas Fielding)在加利福尼亚大学欧文分校...通过学习这篇论文,不仅可以深入了解 REST 的设计理念和实践方法,还可以了解到如何评估和改进网络应用架构。

    spring mvc rest 小例子

    REST是一种软件架构风格,常用于创建高效、分布式的Web服务。在这个小例子中,我们将探讨如何使用Spring MVC来实现REST接口。 首先,让我们理解Spring MVC的基本架构。Spring MVC通过DispatcherServlet作为前端控制...

    rest简单示例

    总结来说,"rest简单示例"是一个实用的教学资源,它演示了如何构建和使用RESTful服务。从客户端如何通过GET和POST方法调用服务端,到服务端如何处理这些请求并返回响应,这个项目涵盖了REST架构的核心要素。通过这个...

    三步发布java方式的rest服务

    创建REST服务的第一步是定义一个REST控制器。在Spring Boot中,我们可以通过使用`@RestController`注解来标记一个类作为控制器。然后,我们可以使用`@RequestMapping`和`@GetMapping`、`@PostMapping`等注解来指定...

Global site tag (gtag.js) - Google Analytics