gpt4 book ai didi

java - 我需要学习 Java 中的 Web 服务。它有哪些不同的类型?

转载 作者:IT老高 更新时间:2023-10-28 11:33:13 24 4
gpt4 key购买 nike

最近,我决定开始学习 java web 服务,当我开始在 google 中搜索 java web-services 的教程时,我发现有很多类型的 webservices 基于 XML,基于 SOAP,还有 RESTful webservices。

另外,我发现有一个用于基于 xml 的 Web 服务的 JAX-WS 规范,以及用于创建 RESTful Web 服务的 JAX-RS 规范。

Q1)我很困惑,如果有人能帮助我了解这些不同类型的 Web 服务之间的区别,那就太好了,这样我就可以决定先学习哪一个。

Q2) 另外,我想深入学习如何在 Java 中创建不同类型的 Web 服务。是否有任何教程或资源可以深入了解每种 Web 服务以及它们之间的比较。

Q3) 基于什么场景和条件,我应该决定创建基于 XML 的 Web 服务而不是 SOAP 服务,或者我应该使用 RESTful 服务。

最佳答案

  1. SOAP Web Services基于标准并受到几乎所有软件平台的支持:它们严重依赖 XML,并支持事务、安全、异步消息和许多其他问题。这是一个相当大而复杂的标准,但几乎涵盖了所有消息传递情况。在另一边,RESTful services依靠 HTTP 协议(protocol)和动词(GET、POST、PUT、DELETE)来交换任何格式的消息,最好是 JSON 和 XML。这是一种非常简单而优雅的架构方法。
  2. 与 Java 世界中的每个主题一样,有多个库可以构建/使用 Web 服务。在 SOAP 端你有 JAX-WS standardApache Axis , 在 REST 中你可以使用 RestletsSpring REST Facilities在其他图书馆中。

第 3 题,this article声明 RESTful 服务适用于这种情况:

  • 如果您的带宽有限
  • 如果您的操作是无状态的:从一次调用到下一次调用不会保留任何信息,并且每个请求都被独立处理。
  • 如果您的客户端需要缓存。

当 SOAP 是要走的路时:

  • 如果您需要异步处理
  • 如果您需要正式的契约(Contract)/接口(interface)
  • 在您的服务中,操作是有状态的:例如,您在请求中存储信息/数据,并在下一个请求中使用存储的数据。

关于java - 我需要学习 Java 中的 Web 服务。它有哪些不同的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10557514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com