2012-07-09 53 views
0

我正在考虑为基于Web的时间表应用程序使用Web服务(SOAP)。将有大约250-300人使用这个网站。

开发环境: VS2010(VB.NET,ASP.NET AJAX与Telerik的或)和ORACLE

办公环境: Web服务器是在英国,但用户将要访问通过不同的国家,这个应用程序。 (主要来自欧洲,但很少有用户在澳大利亚)我应该阅读Web服务(SOAP)

在我为稍微大一点的应用程序中使用Web服务的过去。我的计划是使用Web服务进行数据层。我将以XML格式传递Oracle Store过程值,然后在存储过程中提取它们。 Web服务函数将调用存储过程,然后将数据集对象返回给UI。

(所有数据库相关的功能(数据提供者和等)将在像连接网络服务和功能恢复的数据集。)

也将在这个应用程序尤其是对财务报告的数量。未来,我将使用此Web服务开发少数其他(中小型)应用程序。

enter image description here

我想知道如果Web服务会减慢性能?

+0

根据我的经验,当你不需要的时候添加服务层会导致其他问题,例如,当你有大量数据时,难以从懒惰加载的ORM获取正确的字段。 – Rup 2012-07-09 11:39:20

+0

我已经使用了三年的Web服务,并且从未遇到访问大量数据的问题。我从经验开发者那里了解到它。 – user1263981 2012-07-09 12:37:27

回答

1

当然,使用Web服务进行数据检索会降低应用程序的性能,因为您添加了另一个图层。数据将不得不被(序列化),这需要处理时间。

什么是替代方案?如果您不使用Web服务,那么您必须将数据访问代码写入ASP.Net站点将引用和使用的单独项目中,但它需要数据库服务器和Web服务器之间的直接连接。如果这不会成为问题:使用最直接的方法。代码越少,错误越少。

如果您希望客户端通过这些Web服务(例如,通过AJAX)获取实时数据,或者希望创建可在任何地方运行并引用数据的应用程序,那么Web服务绝对是一条可行的路。

+0

请详细解释一下:“如果你希望客户端通过这些Web服务(例如通过AJAX)获取实时数据,或者如果你想创建可以在任何地方运行并引用数据的应用程序,那么Web服务绝对是要走的路。“ – user1263981 2012-07-09 11:52:14

+1

您可以直接从客户端浏览器上运行的JavaScript调用Web服务。因此,您的页面不必将数据回发到服务器。使用服务而不是直接访问的另一个好处是您可以使用相同的数据访问层轻松编写您的网站的本地应用程序版本。 – pingoo 2012-07-09 11:58:25

+0

嗨雷内,我同意我可以使用相同的网络服务,我打算做的其他应用程序。我只是想考虑性能,因为与直接连接数据库相比,添加一层会降低性能。另一方面,在DB架构需要更新的情况下,Web服务是很好的。对于Timesheet应用程序来说,安全性并不是一个大问题。 – user1263981 2012-07-09 14:08:08