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

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

本文将详细解释在实现XML和Web服务时要避免的常见错误。边肖觉得挺实用的,分享给大家参考。希望你看完这篇文章能有所收获。

Kyle指出,通常情况下,当Web服务开发人员开始遇到“内存溢出”错误或奇怪的“性能问题”时,他们总会发现服务器具有极高的处理负载,CPU利用率接近100%,低吞吐量和高网络延迟。这些症状的典型原因是非常大(有时高达50 MB或更多)的消息。此外,这些大消息通常包含由base-64编码的非常大的二进制编码信息,作为XML消息的主体。原因通常是:

……开发人员不理解技术的局限性:XML处理对于解决许多问题是有用的,

但是您必须意识到,要解析的消息是——,在大多数情况下.产品,

这意味着许多或所有消息将驻留在内存中。凯尔建议采用以下方法来改善这种情况:

不要发送多余的信息。在许多情况下,发送二进制数据时,您可能

发现该消息高度重复。如果是这样,您可能希望考虑在HTTP级别使用它。

压缩技术改善您的网络延迟。虽然这无助于您处理负载,但它可以

可以帮助缓解其中一个问题。在XML消息体中,根本不要嵌入二进制信息。这是一个更好的解决方案,

有几种不同的方法可以达到这种效果。例如,您可以将与附件一起使用。

的SOAP或消息传输优化机制(MTOM)绕过了解析开销,尽管它没有帮助

网络延迟问题。……有一种更好的方法可以使用SOAP完全不发送大的二进制blob。

相反,通过受控的文件传输系统使用“带外数据”。

“传输.或“索赔检查(见《EIP模式》或此处)”

模式,以避免在SOAP和HTTP上发送大的二进制文件。根据不好意思,你的数据正在显示。凯尔的说法,网络服务的另一个典型的“性能问题”是使用网络服务的水平非常非常低。——通常,网络服务与一条SQL语句相关,因为:

误解了SOA架构的原理。优秀的SOA架构的关键原则是你的服务。

它应该是高度可重用的。根据凯尔的说法,这些情况通常发生在:

……如果设计是从现有代码“自上而下”派生的服务,则此类服务

会出现;通常,开发人员会查看他们现有的架构图,并决定将

架构中的每一层(包括表示层)都被转换成一个服务集。相反,在SOA架构的正确位置使用粗粒度的Web服务更好。再一次

强调,检查一个架构的标准层次模型,通常架构中会有一个。

明确定义的地方封装了系统业务逻辑。你可以使用远程外观

模式(RemoteFacadePattern)”来包装这些服务,以便使用适当的

以的方式公开基于模型的服务。模式(Schema)?我们不需要任何发臭的模式!凯尔指出,开发人员通常试图重用现有的代码来生成和解析XML,作为网络服务实现的基础。这些实现通常使用XML解析器对消息进行分组/解分组,使用Java HTTP类发送和接收XML文档。使用Web服务时,一般的方法是使用模式元素创建WSDL文档,使XML不受阻碍地传递,然后在现有代码中解析它们。

这个问题的症状是组织未能看到SOA承诺的好处并维护它们

解决方案似乎比以前使用网络服务时更困难(而不是更容易)。简单的解决方案是,每当您编写Web服务时,无论您使用WS-*标准还是REST方法,都要确保您已经创建了一个完整而准确的XML模式来表示您的文档结构。

如果您正在构建WS-*网络服务,那么应该包含这个XML。

在描述你的网络服务的WSDL。即使您使用的是REST方法,

拥有一个可访问的XML模式将鼓励您的服务被重用。避开凯尔描述的陷阱似乎是常识。不幸的是,我们的行业已经证明,除非很好地理解和管理SOA实现,否则我们将一次又一次地犯同样的错误。

这篇关于“实现XML和Web服务时应该避免哪些常见错误”的文章将在这里分享。希望

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/73733.html

(0)

相关推荐

  • 什么是学区房,学区房的标准是如何界定的

    技术什么是学区房,学区房的标准是如何界定的学区房什么是学区房,主要是一些城市的中学,小学的生源,是按住址所在地就近入学这一原则划分的。这也避免了很多麻烦,避免了托人情找关系。你住在哪个地方,你的小学入学就在附近的小学,不

    生活 2021年10月26日
  • Python中如何用Redis

    技术Python中如何用Redis本篇内容主要讲解“Python中如何用Redis”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中如何用Redis”吧!前面我们都

    攻略 2021年11月27日
  • 补充阅读

    技术补充阅读 补充阅读02. 字符串转IntergerInteger.valueOf( "123") 将字符串转成Integer类型
    Integer.parseInt("123") 将字符串转成

    礼包 2021年11月19日
  • 怎么用Java设计一个短链接生成系统

    技术怎么用Java设计一个短链接生成系统这篇文章主要讲解了“怎么用Java设计一个短链接生成系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java设计一个短链接

    攻略 2021年12月11日
  • 抖音刷赞推广平台便宜,抖音刷赞全网最低价!

    技术抖音刷赞推广平台便宜,抖音刷赞全网最低价!这里推荐一个非常不错的代刷平台给大家,就是代刷网现在新老客户都有福利,点进网站后,只要收藏网址,每天都可以免费领取抖音播放1000次价格,不敢说是全网价格足最低,但是全网最实

    测评 2021年10月21日
  • 微信如何实名认证不绑定银行卡,微信没有银行卡怎么实名认证

    技术微信如何实名认证不绑定银行卡,微信没有银行卡怎么实名认证微信不绑定银行卡也可通过绑定身份证进行实名认证的微信如何实名认证不绑定银行卡,具体操作如下:1、打开手机微信,点击微信页面下方的“我”2、进入我的页面,点击“钱

    生活 2021年10月28日