我是网络服务的新手。我已经使用AXIS2编写了一些客户端,但仅此而已。现在我必须创建一些将被其他人使用的服务。我们有一个使用wicket编写的Web应用程序。
我的网络服务是否需要成为网络应用程序的一部分。它可以单独部署,但仍然使用Web应用程序使用的相同代码。
如何开始包括安全性,身份验证等的任何提示。任何对阅读材料的参考,教程都非常感谢。
答案 0 :(得分:2)
一次提出一个问题:
Web服务是否需要成为Web应用程序的一部分?不可以。它可以是一个完全独立的项目,也可以自己部署。
可以单独部署吗?是的,请参阅#1。
它可以使用与网络应用相同的代码吗?是。这是您如何引用Web应用程序的问题。您可以考虑分支代码,或者只是将其构建到Web应用程序中。
一些资源:
RESTful webservices with Wicket
Web service API for Wicket
请记住,我之前从未使用过wicket所以我不知道上述链接是否值得。
关于安全性。您通常会向您的客户提供某种类型的web api“密钥”。然后将该密钥传递给每个api调用,然后验证您的身份验证和授权。这就是大多数系统的工作方式。
此外,就像网络应用一样,对API的调用应该通过SSL连接,以便尝试阻止任何人窃听对话。
就日志记录而言,这与您为普通Web应用程序设置的日志记录没有什么不同。有很多日志工具,如log4j。
答案 1 :(得分:2)
简短回答:一般来说,是的,您可以将Web服务部署为Web应用程序的一部分。您应该将Web服务视为业务逻辑的另一个“视图”。如果您遵循了良好的模式(例如将您的业务逻辑放在库中,而不是控制器中),这应该不会太难。
您可能希望通过将共享业务逻辑放在一个库中来“强制执行”此操作,然后将Web服务和Web应用程序拆分为另一个项目。
Web服务的选项确实太多,无法列出所有内容,但这里有一个可以作为教程的地方:
http://static.springsource.org/spring-ws/sites/1.5/reference/html/tutorial.html
答案 2 :(得分:0)
按照以下链接说明如何将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