什么时候应该使用Web服务?

时间:2011-06-29 10:59:24

标签: java asp.net web-services performance architecture

我有一个基于Web的企业应用程序。我们面临的一个问题是后端与我们的前端紧密耦合。现在我们想为我们的软件提供移动应用程序和桌面客户端。为此,我们决定将后端移动到Web服务,以便多个前端客户端可以使用相同的函数调用。但仍然想知道这是否是一个正确的举动?或任何其他方法可以帮助?使用网络服务的任何陷阱?最让我担心的一件事是速度。 Web服务本身是否较慢?

感谢您的帮助。

4 个答案:

答案 0 :(得分:3)

大多数Web服务(SOAP,REST)用于创建与平台无关的服务。我想说的是,用Java,.NET平台等编写的应用程序可以访问Web服务,而不必担心语言使用和技术之间的互操作性。

此外,大多数应用程序需要访问相同的数据,因此为每个应用程序编写数据抽象层不是OO。

在您的情况下,Web服务将是必要的,因为您将有足够的表示层(桌面,移动和Web应用程序),它们将通过网络协议访问您的系统。在这种情况下,我会建议一个Web服务,因为您可以轻松地在服务中编写业务逻辑/规则,客户端将只执行请求/响应过程来获取/发布数据。

答案 1 :(得分:1)

这取决于您来回传递的信息类型,但在更广泛的方案中,SOA是您想要拥有一个“后端”系统的方法。我相信你会对表现感到满意,甚至在某些情况下会感到惊讶。大多数情况下,数据库调用仍然是瓶颈。我负责在很多项目上实施SOA。在很多情况下,应用程序使用Web服务的速度更快,不是因为调用速度要快得多,而是因为它会引导您更好地设计并利用本地和远程缓存等其他技术。

我想说使用Web服务作为后端通常有两个陷阱。

1。)如何实施。在开始编写真实内容之前,请阅读一些书籍并进行一些测试。制定标准并努力坚持下去。

2.。)单点访问是一件好事,但不是在不稳定或快速变化的环境中。有一些冗余和备份计划以及沙箱和临时区域。

答案 2 :(得分:0)

取决于您对'webservices'的理解。 SOAP,REST,这样的所有技术?

SOAP服务具有很大的优势,它们通过WSDL具有良好定义的合同,并且客户端可以轻松生成存根。另一方面,SOAP服务也可以带来更多的工作(例如,如果在没有soap客户端的客户端上使用它们(例如iOS,普通的html app))。此外,Web服务的东西会带来很多开销,如果你打算提供大量数据,这可能会起作用。到移动设备。

在那里,您必须考虑到客户端可能具有有限的带宽(速度和数据量)。此外,它必须处理漏洞XML文档,而例如json可能更容易。

答案 3 :(得分:0)

它不会降低性能(速度)。因为websevice是肥皂而不是http。我想,在你的情况下,反手应该公开为webservice,多个客户端调用服务是可行的。你可以更多如果你需要,还要引入额外的安全性......