2011-07-14 83 views
0

我首先构建了Web应用程序和一些类库。Web应用程序和移动应用程序是否使用其自己的公共Web服务?

  • 该web应用程序使用类图书馆。
  • 移动应用程序使用公开的公共Web服务。

现在我在想,既然移动应用程序具有很多与Web应用程序相同的功能,也许我应该让Web应用程序也使用公共Web服务?

Web应用程序和移动应用程序使用相同的公共API是否是一个好主意?

请帮我决定,让我知道为什么这是一个好主意或一个坏主意!

谢谢你们

编辑:我想,如果我有web应用程序使用的公共API,那么性能可能会下降?因为它必须去网络堆栈,并且还需要提供身份验证嗯....

回答

2

由Web应用程序使用Web服务的缺点使其缓慢,由于另一个请求(即使两者都在相同的服务器),也会导致性能问题。因为它的缺点,所以它不是一个好主意。

我还没有尝试与ASP.NET的WCF,但我想通过TCP协议使用WCF与ASP.NET更好。即使没有TCP,它也比Web服务更快。

0

通过保持它们分开,您有需要更新两个不同的程序集的缺点,如果需要更改或升级共享代码。如果额外请求的性能受到太多影响,那么我建议尝试将共享代码封装在Web Service和Web App使用的程序集中。这将避免额外请求的开销,同时删除多余的代码。

+0

已经是这样[内部方法] ---> [API方法] ----> [SOAP方法] – 001

0

如果Web服务正在使用相同的类库,我不会担心仅仅为了使用应用程序而使用Web服务。

除了性能,我会考虑的另一件事是我的应用程序需要什么类型的隔离。我会确保我所有的业务逻辑和安全机制都在一个地方,最好是将所有审计日志放在一起的代码。

通过拥有一个通用的Web服务(您可以使用其他协议来使用服务来提高性能),您可以真正利用可以添加行为的功能来确保所有安全和审计日志都以统一方式完成方式和在一个地方。

相关问题