Web服务和Web应用程序

时间:2010-12-17 17:08:26

标签: java web-services

我是网络服务的新手。我已经使用AXIS2编写了一些客户端,但仅此而已。现在我必须创建一些将被其他人使用的服务。我们有一个使用wicket编写的Web应用程序。

我的网络服务是否需要成为网络应用程序的一部分。它可以单独部署,但仍然使用Web应用程序使用的相同代码。

如何开始包括安全性,身份验证等的任何提示。任何对阅读材料的参考,教程都非常感谢。

3 个答案:

答案 0 :(得分:2)

一次提出一个问题:

  1. Web服务是否需要成为Web应用程序的一部分?不可以。它可以是一个完全独立的项目,也可以自己部署。

  2. 可以单独部署吗?是的,请参阅#1。

  3. 它可以使用与网络应用相同的代码吗?是。这是您如何引用Web应用程序的问题。您可以考虑分支代码,或者只是将其构建到Web应用程序中。

  4. 一些资源:
    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服务时已经包含了身份验证,缓存和分页等功能。

1)文章的链接。 http://securityresearch.in/index.php/tutorials/how-to-expose-your-asp-net-web-application-functionality-as-awebservice

2)修改后的Web应用程序,Web服务及其示例代码的链接。 http://securityresearch.in/index.php/projects/f_security/trends-in-investment-web-service-1-0-is-now-available