`
julyboxer
  • 浏览: 215006 次
  • 性别: 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

相关推荐

    想学习的看过来了spring4.0、springboot、springcloud详细视频课程(硅谷)

    Springboot: 1.什么是spring boot 1 2.spring boot的优点 2 3.环境搭建 3 3.1 添加依赖 3 3.2 创建目录和配置文件 4 ...4 ....5 ....通过整合SpringMVC+SpringBoot+Mybatis构建一个...第一季架构技术总结和第二季展望

    Banco_-_API_REST-源码

    REST API银行总结 :rocket: ••••• :laptop: 关于该项目这是一个付款API,我称它为银行,可以用来进行银行的基本操作,例如:存款,取款,转账,购买和其他功能。 该项目是提出的一项挑战,目的是让我学习旨在...

    软件测试理论总结,Selenium学习

    软件测试基础翻译——原网站地址:Software Testing Fundamentals ... Unittest 单元测试框架 Robot Framework 关键字测试框架 rest api 自动化测试 UI自动化测试 Selenium + Python 学习笔记 ...其它测试心得总结

    JavaScript剩余操作符Rest Operator详解

    在本篇文章里小编给各位分享的是关于JavaScript剩余操作符Rest Operator知识点用法总结,有需要的朋友们跟着学习下。

    Django restframework 源码分析之认证详解

    最近学习了 django 的一个 restframework 框架,对于里面的执行流程产生了兴趣,经过昨天一晚上初步搞清楚了执行流程(部分方法还不太清楚),于是想详细的总结一下当来一个请求时,在该框架里面是如何执行的?...

    openstack OSLO库的学习

    自己学习总结的 openstack oslo库的心得。随着OpenStack项目的不断发展与完善,OpenStack社区将所有组件中的具有共性的组件剥离出来,并统一放在oslo公共库中。Oslo库中的组件不仅可以在OpenStack项目中使用,也可以...

    GeoServer教程

    GeoServer地图开发解决方案(一):环境搭建篇  GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现的社区开源项目,...文中内容来自本人工作中通过网络学习后总结而成,如有类同纯属巧合,同时欢迎广大网友前来交流。

    JAVA.WEB服务.构建与运行

    2.5 wsdl总结 69 2.6 下一章 80 .第3章 soap消息编程 81 3.1 soap是否真地不可见 81 3.2 在soap 1.2下实现rabbitcounter服务 102 3.3 messagecontext和传输头 104 3.4 web服务与二进制数据传输 109 3.5 下一章 119 ...

    快意编程 EXT JS Web开发技术详解.pdf

    然后按照Ext JS的开发顺序,首先讲解了页面的布局设定,接着详细讲解了各种常用组件的使用方法,并对实际开发中常用的画面场景进行了总结,最后通过完整的示例演示了Ext JS+REST+Spring+Hibernate的整合方案。...

    快意编程EXT JS Web开发技术详解.part1

    然后按照Ext JS的开发顺序,首先讲解了页面的布局设定,接着详细讲解了各种常用组件的使用方法,并对实际开发中常用的画面场景进行了总结,最后通过完整的示例演示了Ext JS+REST+Spring+Hibernate的整合方案。...

    使用Python实现支持向量机(SVM)分类器:从理论到实践

    svm支持向量机python代码在机器学习领域,支持向量机(Support Vector Machine,简称SVM)是一种强大的分类器,广泛应用于图像分类、文本分类、人脸识别等任务。本篇博客将为您详细介绍SVM的理论基础,并通过Python...

    PHP和MySQL WEB开发(第4版)

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 9.5.1 最少...

    PHP和MySQL Web开发第4版pdf以及源码

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 ...

    PHP和MySQL Web开发第4版

    8.2.7 表格类型的总结 8.3 Web数据库架构 8.4 进一步学习 8.5 下一章 第9章 创建Web数据库 9.1 使用MySQL监视程序 9.2 登录到MySQL 9.3 创建数据库和用户 9.4 设置用户与权限 9.5 MySQL权限系统的介绍 ...

    快意编程EXT JS Web开发技术详解.part2

    然后按照Ext JS的开发顺序,首先讲解了页面的布局设定,接着详细讲解了各种常用组件的使用方法,并对实际开发中常用的画面场景进行了总结,最后通过完整的示例演示了Ext JS+REST+Spring+Hibernate的整合方案。...

    快意编程EXT JS Web开发技术详解.part3

    然后按照Ext JS的开发顺序,首先讲解了页面的布局设定,接着详细讲解了各种常用组件的使用方法,并对实际开发中常用的画面场景进行了总结,最后通过完整的示例演示了Ext JS+REST+Spring+Hibernate的整合方案。...

    endpoint-testing-mini:一个迷你项目,介绍如何使用Postman测试端点

    Postman是一个REST客户端,我们将通过它发出HTTP请求。 我们将学习如何为HTTP请求的响应编写Postman测试。 您可以通过阅读有关Postman测试的更多信息 设置 fork并clone此存储库。 cd进入项目的根目录。 运行npm ...

    电子商城系统设计实习报告.doc

    16 7.2 逻辑结构 18 7.2.1 数据表结构详细设计 18 7.2.2 数据库表之间的关系设计 19 8 程序效果展示 20 8.1 前台功能模块 20 8.2 后台功能模块 22 9 实习总结体会 27 实习内容简述 1 实习期间完成的学习内容: 1 ...

    SAP PI配置流程完整版(ecc端发布RFC服务供外部系统调用)

    本文档详细介绍了RFC如何在PI创建配置并导出wsdl供外部系统调用,本篇进介绍服务提供方是erp,供外围系统调用的用例,外围发布服务erp为消费方的PI配置请见PI...在此声明,本文档为本人的归纳总结,仅供学习交流使用。

Global site tag (gtag.js) - Google Analytics