初学者设计模式问题(涉及Web服务)

时间:2011-01-11 07:57:01

标签: web-services design-patterns

我是网络服务世界的小伙子。我需要开发一个登录验证器模块并将其作为服务公开。我希望它是独立于服务的,即我将来可以选择将其作为SOAP服务或REST服务公开。

我应该遵循什么模式?对不起,如果我的要求不清楚,我可以根据需要澄清。

谢谢!

编辑:我使用Eclipse作为IDE和Jersey库。我没有进入任何框架,仅使用MVC模式。我发现SOAP ann REST方法之间存在很大差异,所以我希望我的方法与实现无关 - 即我应该可以根据需要通过SOAP或REST服务调用轻松地使用我的方法。我应该怎样做才能获得最大的灵活性?

2 个答案:

答案 0 :(得分:1)

选择一个好的MVC框架并了解如何正确使用它可以帮助确保您的功能“与服务无关”。我为大型框架阅读的大多数文档都建议您将业务逻辑与控制器分开。

如果您阅读了所使用工具的文档,并确保业务逻辑与控制器之间存在层,那么这将使得从SOAP切换到REST或其他协议的工作变得更加容易

由于您在下面的评论中提到您正在使用Eclipse,我假设您正在使用或愿意使用Java:

Restlets http://www.restlet.org/

Spring 3.0 REST http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/

答案 1 :(得分:0)

  1. 以POJO开发您的服务。一定要尊重staless模式。
  2. 为您需要的每种发布类型创建一个EndPoint类(Soap,Rest,EJB,JMS,无论如何)
  3. 使用适当的标准公开您的EndPoint。对于Soap和Rest,JAX-WS api和实现可以在您的EndPoint上使用Java注释为您完成。
  4. 就是这样!