java - spring web 服务是用来做什么的

标签 java spring-mvc

我正在 Spring MVC 中构建网站。由于Spring项目很多,我想知道Spring Web Services使用时会是什么样的场景。

我的意思是可以用它做什么。我真的需要电子商务网站吗

最佳答案

您的问题实际上是关于“网络服务”的。对于外行人对其含义的解释,请阅读此 Wikipedia article .

有许多相关的缩写词被广泛传播:

  • SOAP (简单对象访问协议(protocol))是一种用于向服务发送请求并获取响应的协议(protocol)。消息以 XML 进行编码,并通过 HTTP 发送。

  • WSDL (Web 服务描述语言)是基于 SOAP 的服务的服务描述语言。它执行诸如指定消息中的内容以及消息如何绑定(bind)到服务之类的操作。

  • SOA (面向服务的体系结构)本质上是一种系统体系结构,其中系统由许多使用 WSDL 描述的 SOAP 服务(以及其他服务)组成。

(SOA 的支持者谈论“设计原则”,但在我看来,这只是对人们 20 多年来以其他名称所做的事情的重新包装/重铸。)

<小时/>

Do i really need it for ecommerce site

询问您的客户。询问您的系统将与谁的系统进行交互的人。询问您打算将其组件嵌入到您的系统中的供应商。

<小时/>

If you have to use WS then what extra facility it will give

如果您必须使用 WS(例如,因为您的站点需要与需要 WS 的其他服务通信),那么您就必须这样做。这是足够的理由。

如果您不必使用 WS,那么您需要平衡使用 WSDL + SOAP 的优势与实现 Web API 的其他方法的优势。 SOA 专家可能会说使用 SOA; AJAX 专家可能会这么说。如果您确实需要这种东西,还有其他远程过程调用技术。

WSDL + SOAP 当然有一些优点;例如

  • 网络 API 的机器可读规范,
  • 可以根据 XML 模式验证消息,
  • 现有 WSDL 服务的生态系统,
  • 某些 IT 领域的采用。

但它也有缺点;例如

  • 与某些替代方案相比,WSDL + SOAP 具有显着的学习曲线,
  • XML 是一种重量级编码方案 - 解析成本相对较高,
  • SOAP 只是假装类型安全(与 CORBA/IIOP 相比),
  • 基于浏览器的客户端通常不使用 SOAP*; JSON 或纯 XML 通常用于 AJAX 应用程序,
  • 许多人认为 SOA 被过度炒作,因而敬而远之。

* 但是,它可以使用;阅读这些IBM DeveloperWorks Articles .

<小时/>

如果您的系统主要是一个网站,不需要与 SOAP 服务交互,并且不需要提供 SOAP 服务,我的建议 (FWIW)其他人的 API ....不用打扰。如果需要,您可以随时添加 SOAP 服务 API。

关于java - spring web 服务是用来做什么的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163433/

相关文章:

java - 正则表达式避免了 Java 中不必要的回溯

java - 如何在tomcat/java中仅在特定时期内存储一个值

spring - Spring MessageSource 属性文件中的内部引用

hibernate - 未知枚举常量 javax.persistence.CascadeType.DETACH

java - 嵌套事务理论上可用,但未使用

Java数学题,结局不同!

java - 当 Activity 屏幕首次在 Android Studio 上加载时,如何在隐藏背景中发送带有当前位置数据的 SMS 文本消息?

spring-mvc - Spring SimpleFormController 中的 Java junit 测试更改区域设置

java - Spring bean java.lang.NoSuchMethodError 错误

java - 请求范围被多次初始化