2014-03-05 55 views
1

我开始使用java web服务。我很迷茫。Java WebService技术

如果我有好的undersdood有两种架构的

  • SOAP Web服务
  • 问题的REST Web服务

但经过...

是不是正确的说有框架apis来帮助构建web服务,并且那

  • JAX-WS

是这些API的一个?

我知道JAX-WS的参考实现

  • 地铁

而且我想这是捆绑在一起的Java 6等的GlassFish 3.1。

  • Axis2的

它是一个API?一个jax-ws的实现?

哪些其他的API和实现都存在? 如果我正在使用weblogic 10.3.5?现在

,如果我拿这个问题的另一面。

我必须使用Web服务。我需要知道些什么?

我想我必须知道,如果它是肥皂或休息,但之后?

回答

1

Ø男孩,这需要一本书来解释,但非常高的水平:

的Java EE定义了一大堆的API它们基本上只是接口,没有实现。 JAX-WS是基于SOAP的Web服务API的同时JAX-RS是基于REST的服务的API。

所使用的实际实现取决于您的Java EE容器上,还有很多。 Metro是与glassfish EE服务器捆绑在一起的实现,jboss AS使用JBossWS。 Axis是另一个支持JAX-WS的实现(可能还有JAX-RS,没有选中)。还有CXF和其他许多...

REST更容易理解,因为它非常轻便,但是SOAP是行业标准,因为有很多标准化功能(谷歌WS- *),它有一个描述符以WSDL的形式(WADL for REST只是还没有)。描述符(由JAX-WS自动生成)向客户描述应该如何调用web服务并使用跨技术。导入由java生成的WSDL是微不足道的。NET(例如,如果你愿意,你应该谷歌Web服务互操作性,也就是WS-I)。

Java提供了一个名为wsimport的实用程序,它允许您从WSDL生成完全可用的Java客户端。

但是的确,您的问题的基本性质表明您没有阅读过与EE有关的任何内容,或者甚至不熟悉泛型Web服务技术,因为您显然使用的是Weblogic服务器,所以这有点令人惊讶。你有一个很多阅读你前面。

+0

谢谢。我知道我有很多工作......基本上Java很简单。但了解和理解所有底层技术并不总是容易的。而对于Web服务(我在互联网上阅读了很多东西),我发现在api和实现之间做出区别并不容易。在一些读物上,他们并没有将地铁描述成jax-ws的jax-ws ri,而仅仅是jax-ws! – tweetysat

+0

你不应该知道你使用的是什么实现,所有的教程和所有你的工作应该完全基于API。实施并不重要。 Java确实很简单(虽然它有很多非常有趣的怪癖),但是构建它的生态系统(特别是对于行业)是巨大且精心设计的(通常)。 – nablex

+0

从基础开始:XML Schema,WSDL,SOAP,WS-I,WS- *,JAX-WS。以该顺序。 – nablex