我最后一次做Java Web开发是在2004年使用Java Servlets和JSP。我从来没有真正使用过EJB。我记得我在开发Web服务\动态网站时遇到的经验(开发时间较慢)和痛苦(易于部署)方面的经验。如何学习Java Web服务?
这些天大多数企业用来开发基于Java的网站是什么?您是否使用AXIS或其他框架来执行Web服务?你在前端使用JSP还是其他技术?
我最后一次做Java Web开发是在2004年使用Java Servlets和JSP。我从来没有真正使用过EJB。我记得我在开发Web服务\动态网站时遇到的经验(开发时间较慢)和痛苦(易于部署)方面的经验。如何学习Java Web服务?
这些天大多数企业用来开发基于Java的网站是什么?您是否使用AXIS或其他框架来执行Web服务?你在前端使用JSP还是其他技术?
当前的标准是使用JAX-WS(用于SOAP Web服务)和JAX-RS(用于RESTful Web服务)。
这些是有多个实现的标准。 JAX-WS有地铁,CXF等JAX-RS已经新泽西的RESTEasy等
我会为了
从2004年开始,工具支持和开发的便捷性也有了很大的提高。随着对轻量级框架的日益关注(部分归功于Spring),实现了web java中的服务并不容易。
在决定实施Web服务之前,您需要回答一个简单的问题。肥皂或REST.I建议你形成自己的观点,但这是我能想到的,在我头上。 SOAP的
优点:
Cons of SOAP。 (Ask Roy Fielding ..)
上臃肿的Web服务协议webservices,他长出了常识的说法使用互联网的SOA的背部骨罗伊Fieldings咆哮之后,出现了对REST一个平缓的动作。像Google和亚马逊这样的敏捷公司已经采用了REST,并且正在支持基于REST的Web服务。REST的
优点:
缺点:
我的偏好是REST和Jersey。它是一个了不起的框架,出色的支持,出色的文档和用于测试的良好支持库。
无论哪种方式,我将下载Netbeans IDE并使用它来开发基于REST或SOAP的Web服务的skeletol代码。 Netbeans使得开始非常容易。一旦您熟悉代码,就可以切换到您最喜欢的IDE。 (顺便说一句,除了原型设计之外,我不使用Netbeans,它试图做很多事情,并且其中大部分都很糟糕......无论如何我的意见)
我的意愿是Apache Avro(在@ rodrigoap的答案中提到)。我现在在哪里工作,我们有一个面向服务的架构,并使用Avro来提供内部服务。我们之所以选择它是因为它速度快,稳定,可以运行在http上(可以轻松地从Tomcat提供服务),可以自动生成客户端类,并且可以使用多种语言。客户类的生成对我们来说是一个很大的特性,因为它意味着我们只处理Java对象,并让Avro处理序列化并通过网络发送内容。不用处理很多不同的url也是很好的。 Avro webservice由单个servlet托管,Avro负责如何将每个请求映射到实施类中的相应方法。
要再次引用@ rodrigoap的答案,他在Avro列表中放置了几个其他选项,并且对于外部访问的Web服务,我同意这些选择是更好的选择,因为您的外部服务用户可能不是'因为您可能选择了Avro而对此感兴趣。
如果您对示例感兴趣,可以参考sample Avro web service项目,了解它是如何工作的。
您的意思是Web服务与狭义上的WSDL或REST驱动服务或Java驱动的网站一样吗? – justkt 2011-04-11 20:52:59