有人可以推荐合适的FOSS Java技术来开发具有这些要求的Web服务:
需要查询Oracle数据库,返回XML数据并支持回滚(因此可能必须以某种方式维护状态)。
目前我有一个用PHP编写的web服务,但我发现PHP支持SOAP限制。我查看了Sun Microsystems各种关于他们的Web服务产品的页面,但发现在它们之间做出选择令人费解。如果有人可以推荐合适的方向,那将非常有用。
答案 0 :(得分:2)
如果维持状态,您的服务将会很难。
您根据Oracle数据库和事务描述它的事实表明存在问题。从组件将提供的“服务”开始,并根据接口进行思考 - 消息输入和输出。如果你做对了,你就不会有任何问题。
您将不得不做出SOAP与REST决策。
如果您决定进入SOAP方向,我认为开发Web服务的最佳方式是使用Spring的“契约优先”Web服务方法。您将从消息的XSD开始,然后从那里开始工作。您没有这样依赖于应用服务器。如果您恰好使用Spring已经特别好了。它也可以帮助连接数据库和声明式事务。
答案 1 :(得分:0)
通常,Web服务(SOAP或REST)是无状态的。事务处理通常发生在服务本身内部。如果工作成功完成,则返回“良好”响应并提交更改。如果工作失败,则回滚工作并给出“错误”响应。
对于严格的Web服务部分,我推荐AXIS(1或2)。它们是受到良好支持的Apache项目,它们具有Eclipse和其他IDE的插件。我不使用Spring Framework,但我听说将服务的所有部分(数据库,Web服务,配置等)捆绑在一起非常棒。