提高Web Service效率的几种方式(转)
1.及时释放资源
通常,客户端的WebService代理类会一一对应生成所有的WebMethod的代理方法,从而直接导致了客户端Web Service代理类的体积庞大,而庞大的WebService代理实例将占用大量的内存。在设计时,建议应根据系统逻辑来规划Web Service类,不要把所有的操作方法都放在一个WebService类中;在使用时才去创建相关的WebService类。提倡尽量晚的创建,尽量早的释放。
2.让一次Web Service调用完成尽快多的工作
客户端应用程序应该尽量少地调用Web Service,在每一次调用Web Service的服务时也要尽量地把有用的信息处理在一次调用中完成,或是把多个远程Web Service调用封装在一个调用之中,以增加数据的使用率并且减少网络往复传输。例如,在查询数据时,尽量将WebMethod定义为getDataList(String query)以返回一个列表,而不是getDataById(int id)仅返回一条记录。
3. 对于整个 XML 传输文件进行压缩
经常用于对数据压缩的 API 有 gzip 等方式,在java.util.zip包中提供了相关的类。对象模型序列化成 XML 之前,可以对数据流进行压缩,再在XML接收端对已经压缩的文件进行解压缩。不过压缩和解压缩虽然可以使得 XML 的体积大大减少,但是其过程却是十分耗费CPU及内存。对于配置不高的客户端甚至是服务器端,都会造成不小的压力,建议用于网络瓶颈突出的情况或是主机配置比较高的情况。
4. 选择高效的XML解析器
XML解析器最基本的方式有DOM和SAX两种,DOM解析器的优点在于:1.XML树在内存中完整存储,可以直接修改其数据和结构;2.可以通过该解析器随时访问XML树中的任何一个节点; 3.DOM解析器的API在使用上也相对比较简单。但缺点在于如果XML文档体积比较大时,将文档读入内存是非常消耗系统资源的。SAX对内存的要求比较低,因为它让开发人员自己来决定所要处理的标签。特别是当开发人员只需要处理文档中所包含的部分数据时,SAX 这种扩展能力得到了更好的体现。但用SAX方式进行XML解析时,需要顺序执行,所以很难访问到同一文档中的不同数据。此外,在基于该方式的解析编码过程也相对复杂。比较十分有效。一个系统中往往需要同时使用这两种解析方式,以达到解析的最高效率
5.简化标签
<Name>不妨简化为<N>,<Address>不妨简化为<A>,只要事先约定好(最好建立一个对照表),这种简化有助于提高传输和处理效率。
6.使用缓存
一般的Web Service部署程序都可以采用缓存机制的处理。但如果数据更新频繁,则不建议使用缓存。
转载于:https://www.cnblogs.com/ningxu/p/3401096.html
提高Web Service效率的几种方式(转)相关推荐
- JAVA调用Web Service接口的五种方式
文章目录 1. 通过eclipse等直接生成Client 2. 通过JAVA命令wsimprot命令生成Client 3.通过axis直接调用(无需生成Client) 4.通过axis中的wsdl2j ...
- 提高 Web Service 数据传输效率的基本方法
背景 Web Service 现如今已经成为 SOA 实现标准之一.很多公司已经或者正在参与到 Web Service 项目的实现和部署中.Web Service 的优点在于松散的处理异构系统之间的通 ...
- CoffeeScript和Sass提高Web开发效率
CoffeeScript和Sass提高Web开发效率 如果您是一位每天都要编写JavaScript和Css的Web前端开发人员,可能您已经开始感觉到JavaScript的关键字 var, functi ...
- linux数据同步技术比较,linux下实现web数据同步的四种方式(性能比较)教程.docx
linux下实现web数据同步的四种方式(性能比较)教程 实现web数据同步的四种方式=======================================1.nfs实现web数据共享2.rs ...
- [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)
前言 本篇是承接上一篇: [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 在上一篇粗略地介绍了如何使用Top-Down的方式创建 ...
- linux下实现web数据同步的四种方式(性能比较)
实现web数据同步的四种方式 ======================================= 1.nfs实现web数据共享 2.rsync +inotify实现web数据同步 3.rs ...
- 实现web数据同步的四种方式
实现web数据同步的四种方式 ======================================= 1.nfs实现web数据共享 2.rsync +inotify实现web数据同步 3.rs ...
- web服务器攻击的八种方式
随着互联网的高速发展,网络走进了千家万户,同时也有很大一部分人架设起了自己的网站.继而不安分的黑客们,又将目光对准了服务器攻击这个方式,从而破坏或取得服务器的管理权限.本文将主要讲述针对web服务器攻 ...
- WEB通信交互的几种方式
WEB通信交互的几种方式 - 实时通信发展过程简介 简单介绍一下现在的WEB通信有以下几种方式:最基本的http请求方式,Ajax轮询,Ajax长轮询,HTML5推送事件,HTML5的WebSocke ...
最新文章
- 第2章 熟悉Eclipse开发工具---- System.out.println(sum=+(a+b));
- jq输出文本_jQuery获取文本节点之 text()/val()/html() 方法区别
- 内存延时cl_内存频率和CL延迟哪个重要
- 授权后接口调用(UnionID)
- how is CRM One Order date range finally converted to OPEN SQL
- unity 使用tile_如何使用Tile从网上查找电话
- 【原创】jpgraph中文乱码问题的解决
- you *might* want to use the less safe log_bin_trust_function_creators variable
- 用于故障诊断的残差收缩网络
- 计算机师范专业考编,不是师范生考教师很难?这4个专业考教师反而轻松!
- cv2 imread函数 python_opencv-python库基础操作(一)
- UVA 1611 Crane
- 蓝桥杯2015年第六届C/C++省赛A组第九题-垒骰子
- Java日常·面对对象
- java软考 试题_软考程序员下午考试试题练习
- 【4K录屏】高清录屏及剪辑软件:Bandicam 和 Captura
- android 补间动画停止,Android动画原理分析(一)---补间动画
- 路由器做二级路由方法
- 计算机里面不显示光驱位硬盘,Windows10系统识别不了光驱位机械硬盘怎么办?解决方法...
- CAP原理与传统的ACID