【发布时间】:2010-12-17 17:08:26
【问题描述】:
我是网络服务的新手。我已经使用 AXIS2 编写了一些客户端,但仅此而已。现在我必须创建一些将被其他人使用的服务。我们有一个使用 wicket 编写的 Web 应用程序。
我的网络服务是否需要成为网络应用程序的一部分。是否可以单独部署,但仍使用 Web 应用程序使用的相同代码。
任何关于如何开始的提示,包括安全性、身份验证等。非常感谢任何对阅读材料、教程的参考。
【问题讨论】:
标签: java web-services
我是网络服务的新手。我已经使用 AXIS2 编写了一些客户端,但仅此而已。现在我必须创建一些将被其他人使用的服务。我们有一个使用 wicket 编写的 Web 应用程序。
我的网络服务是否需要成为网络应用程序的一部分。是否可以单独部署,但仍使用 Web 应用程序使用的相同代码。
任何关于如何开始的提示,包括安全性、身份验证等。非常感谢任何对阅读材料、教程的参考。
【问题讨论】:
标签: java web-services
一次回答一个问题:
Web 服务是否需要成为 Web 应用程序的一部分?不,它可以是一个完全独立的项目,有自己的部署。
可以单独部署吗?是的,请参见 #1。
它可以使用与 Web 应用程序相同的代码吗?是的。这是您如何引用 Web 应用程序的问题。您可能会考虑对代码进行分支,或者只是将其构建到 Web 应用程序中。
几个资源:
RESTful webservices with Wicket
Web service API for Wicket
请记住,我以前从未使用过检票口,所以我不知道上述链接是否值得。
关于安全性。您通常会向您的客户提供某种 Web api“密钥”。然后将该密钥传递给每个 api 调用,然后您验证身份验证和授权。这是大多数系统的工作方式。
此外,与网络应用程序一样,对 API 的调用应通过 SSL 连接,以防止任何人窃听对话。
就日志记录而言,这与您为普通 Web 应用程序设置的日志记录没有什么不同。有很多日志工具,例如 log4j。
【讨论】:
简短回答:一般来说,是的,您可以将 Web 服务部署为 Web 应用程序的一部分。您应该将 Web 服务视为业务逻辑的另一个“视图”。如果您遵循了良好的模式(例如,将您的业务逻辑放在库中,而不是控制器中),这应该不会太难。
您可能希望通过将共享业务逻辑放在一个库中来“强制执行”这一点,然后将 Web 服务和 Web 应用程序拆分到另一个项目中。
Web 服务的选项实在太多,无法全部列出,但这里有一个地方可以作为教程:
http://static.springsource.org/spring-ws/sites/1.5/reference/html/tutorial.html
【讨论】:
点击下面的链接,该链接解释了如何将您的 ASP.Net Web 应用程序功能公开为 Web 服务。下面的文章以TrendsInInvestment web应用程序来解释这个过程。在实现web服务时已经包含了身份验证、缓存和分页等功能。
2)修改后的Web应用程序、Web服务及其示例代码的链接。 http://securityresearch.in/index.php/projects/f_security/trends-in-investment-web-service-1-0-is-now-available
【讨论】: