返回顶部
首页 > 资讯 > 前端开发 > node.js >实现XML和Web服务时要避免的常见错误有哪些
  • 131
分享到

实现XML和Web服务时要避免的常见错误有哪些

2024-04-02 19:04:59 131人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关实现XML和WEB服务时要避免的常见错误有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Kyle指出,通常,Web服务开发者开始经历“内存

这篇文章将为大家详细讲解有关实现XML和WEB服务时要避免的常见错误有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Kyle指出,通常,Web服务开发者开始经历“内存溢出”的错误或者奇怪的“性能问题”时,总是会发现服务器拥有极高的处理负载,CPU使用率接近100%,以及较低的吞吐量和高网络延迟。导致这些症状的典型原因是非常大的(有时会达到50 MB或者更大)消息。而且,这些大消息往往包含了非常大的、作为XML消息主体的、采用base-64编码的二进制编码信息。导致其发生的原因通常是:

……开发者不理解技术的局限性:XML处理对解决许多问题都有用,
但是你必须认识到消息是要被解析的——并且在大多数……产品中,
这就意味着许多或者所有的消息都会驻留在内存中。

Kyle建议采用如下方法来改善这种情况:

不要发送冗余信息。在许多情况下,发送二进制数据时,你可能会
发现消息高度重复。如果是这样,你可能就要考虑在Http层面使用
压缩技术来改善你的网络延迟。虽然这不会帮助你处理负载,但可
能有助于减轻其中一个问题。
在XML消息体中,根本不要嵌入二进制信息。这是较好的解决方法,
还有几种不同的途径可以实现这一效果。比如,你可以使用带有附件
的SOAP或者消息传输优化机制(MTOM)绕过解析开销,尽管这无助于
网络延迟问题。
……还有一个更好的办法,使用SOAP根本不发送大的二进制blob。
替代方法,通过受控的文件传输系统,使用一个“带外数据
”传输……或者“声明标签(claim Check,参见《EIP模式》或这里)”
模式,避免在SOAP和HTTP上发送大的二进制文件。

不好意思,你的数据正在显示。根据Kyle所说,另一个典型的Web服务的“性能问题” 是,使用Web服务的层面非常、非常低——通常Web服务跟一个sql语句相关,这是因为:

误解了SOA架构原则。一个优秀SOA架构的关键原则是你的服务
应该具有高复用性。

根据Kyle所说,这些情况通常发生在:

……如果设计是根据现有代码“自上而下”衍生出服务,这类服务
就会出现;通常,开发者会看着他们现有的架构图并且决定将
架构中的每一层(包括表现层)转变成服务集。
相反,在SOA架构的正确位置使用粗粒度的Web服务会更好。再次
强调,检查一个架构的标准分层模型,通常在架构中会有一个
明确定义的地方已经封装了系统业务逻辑。可以使用“远程门面
模式(Remote Facade Pattern)”来包装这些服务,以便用合适
的方式来暴露基于模型的服务。

模式(Schema)?我们不需要任何发臭的模式! Kyle指出,通常开发者试图重用现有代码来生成和解析作为Web服务实现基础的XML。这些实现通常使用XML解析器来编组/解组消息,同时使用Java HTTP类来发送和接收XML文档。使用Web服务时,通用的方法是,创建使用模式元素的WSDL文档,使XML不受阻地通过,然后在现有代码中对它们进行解析。

这个问题的症状是组织没有看到SOA承诺的好处,而且维护他们的
解决方案似乎比以前使用Web服务的时候更难(而不是更容易)

简单的解决方案是,每当写Web服务时,不管使用WS-*标准还是使用REST方法,都要确保你创建了代表你文档结构的完整准确的XML模式。

如果你正在构建WS-* Web服务,那么这个XML应该被包含
在描述你的Web服务的WSDL之中。即使你在使用REST方法,
拥有易于访问的XML模式将鼓励你的服务被重用。

避免Kyle描述的陷阱似乎是个常识。不幸的是,我们的业界证明了,除非很好的理解和治理SOA实现,否则我们会继续一次又一次地重复犯同样错误。

关于“实现XML和Web服务时要避免的常见错误有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 实现XML和Web服务时要避免的常见错误有哪些

本文链接: https://lsjlt.com/news/85654.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 实现XML和Web服务时要避免的常见错误有哪些
    这篇文章将为大家详细讲解有关实现XML和Web服务时要避免的常见错误有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Kyle指出,通常,Web服务开发者开始经历“内存...
    99+
    2024-04-02
  • ASP 接口框架文件:有哪些常见错误需要避免?
    随着互联网的普及,越来越多的企业开始使用 ASP 接口框架文件来构建自己的网站和应用程序。但是,由于 ASP 接口框架文件的复杂性,很容易出现各种各样的错误。在本文中,我们将介绍 ASP 接口框架文件中常见的错误,并提供一些避免这些错误的...
    99+
    2023-07-28
    接口 框架 文件
  • Vue3需要避免的错误有哪些
    使用Reactive声明原始值数据声明在过去都是非常直接的,但是现在有很多帮助函数供我们使用。目前的规则是:使用reactive声明Object, Array, Map, Set使用ref声明String, Number, Boolean为...
    99+
    2023-05-15
    Vue3
  • 避免的常见JavaScript错误的9个编码都有哪些
    这篇文章给大家介绍避免的常见JavaScript错误的9个编码都有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。有一些非常常见的编程错误是我们要避免的,以保持代码的干净和可读性。一...
    99+
    2024-04-02
  • PHP 函数的最佳实践有哪些?如何避免常见错误?
    遵循这些最佳实践,可以编写出高效、无错误的 php 函数:使用命名空间组织函数,避免名称冲突。遵循命名约定,使函数易于识别。文档化函数,提高代码可读性。使用类型提示,避免类型错误。使用错...
    99+
    2024-04-11
    php 最佳实践 数据丢失 代码可读性
  • PHP 和 JavaScript 实时面试:如何避免常见的错误和陷阱
    PHP 和 JavaScript 是目前最流行的编程语言,尤其在 Web 开发中广泛应用。在面试中,PHP 和 JavaScript 的掌握程度成为了很多公司招聘的重要考察点。但是,由于两者的不同特性和语法结构,很容易出现一些常见的错误和陷...
    99+
    2023-07-04
    实时 面试 javascript
  • 有哪些常见的Java学习笔记npm异步编程错误需要避免?
    Java是一种广泛应用于企业级开发的编程语言,它提供了许多强大的工具和框架,用于编写高效的异步代码。然而,在学习Java异步编程时,经常会出现一些常见的错误,这些错误可能会导致程序崩溃或出现其他问题。本文将介绍一些常见的Java学习笔记np...
    99+
    2023-07-21
    学习笔记 npm 异步编程
  • 使用 PHP 函数的最佳实践有哪些,以避免常见的错误?
    php 函数最佳实践包括:1. 使用类型提示声明参数和返回值类型;2. 使用默认参数值避免冗长的条件检查;3. 检查函数是否返回预期的值;4. 使用 try-catch 块处理异常;5....
    99+
    2024-05-01
    php最佳实践
  • 掌握CentOS上搭建web服务器的方法,避免常见错误
    搭建Web服务器的方法可以使用Apache、Nginx或者其他一些Web服务器软件。下面是在CentOS上搭建Web服务器的基本步骤...
    99+
    2023-10-09
    CentOS
  • 怎么避免erp实现中的几大常见错误
    怎么避免erp实现中的几大常见错误,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、不仔细收集需求 咨询公司云技术合作伙伴(Cloud Technology Part...
    99+
    2023-06-03
  • 如何在使用NPM时避免常见的错误和陷阱?
    NPM(Node Package Manager)是一个包管理器,用于在Node.js中管理软件包。它是Node.js社区最流行的包管理器之一。NPM可以帮助开发者轻松地安装、更新和卸载软件包,以及管理软件包之间的依赖关系。但是,即使对于...
    99+
    2023-06-21
    并发 ide npm
  • Vue开发时常见的错误有哪些
    今天小编给大家分享一下Vue开发时常见的错误有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。安装超时(install t...
    99+
    2023-07-05
  • 存储方面,Java 和 JavaScript 有哪些常见的坑点需要避免?
    在软件开发中,存储是一个非常重要的方面。在使用Java和JavaScript进行开发时,存在许多常见的存储坑点,需要我们避免。在本文中,我们将介绍Java和JavaScript中存在的一些常见的存储坑点,并提供相应的解决方案。 一、Java...
    99+
    2023-08-05
    存储 面试 javascript
  • web前端开发中的常见错误有哪些
    本篇内容介绍了“web前端开发中的常见错误有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!定义首先,我...
    99+
    2024-04-02
  • web开发中常见的编码错误有哪些
    这篇文章主要介绍“web开发中常见的编码错误有哪些”,在日常操作中,相信很多人在web开发中常见的编码错误有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”web开发中常见的编码错误有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • 避免 PHP 中 == 运算符的常见错误和最佳实践
    php 中使用 == 运算符的最佳实践:1、使用 === 进行严格比较,避免类型转换。2、针对具体类型使用特定比较运算符,如 ===、==、empty() 和 isset()。3、避免 ...
    99+
    2024-04-09
    php最佳实践 ==运算符
  • JavaScript 对象的陷阱:避免常见错误和最佳实践
    1. 引用原始值 对象属性可以引用原始值,如字符串、数字和布尔值。 对原始值进行修改不会修改对象本身,因为它们是不可变的。 解决方案:使用 getter 和 setter 函数来封装原始值,以便对其进行修改。 2. 重复的属性 对象...
    99+
    2024-03-13
    常见的陷阱
  • 如何在 Python 中正确使用索引和打包功能?有哪些常见错误需要避免?
    Python 是一种高级编程语言,广泛应用于各种领域。其中,索引和打包功能是 Python 中常用的两种操作。正确使用这两个功能可以提高代码的效率和可读性。但是,如果使用不当,会导致程序出错或产生不必要的麻烦。本文将介绍如何在 Python...
    99+
    2023-10-08
    关键字 打包 索引
  • ASP Web 服务的常见陷阱和如何避免它们
    ASP Web 服务是一个强大的工具,可以用来构建分布式应用程序。然而,在开发ASP Web 服务时,也存在一些常见的陷阱,这些陷阱可能会导致性能问题、安全漏洞以及其他问题。在本文中,我们将讨论一些常见的ASP Web 服务陷阱,以及如何...
    99+
    2024-02-21
    ASP Web 服务 常见陷阱 避免陷阱 最佳实践
  • JS使用Promise时常见的错误有哪些
    本文小编为大家详细介绍“JS使用Promise时常见的错误有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JS使用Promise时常见的错误有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Promise...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作