Web services 用于业务逻辑或数据访问层的web服务

Web services 用于业务逻辑或数据访问层的web服务,web-services,data-access-layer,business-logic,Web Services,Data Access Layer,Business Logic,本帖 鼓励我为业务逻辑层创建web服务,但许多人在数据访问层使用它 我想创建一个项目,在这个项目中,我想从桌面应用程序、网站和手机访问相同的数据存储库。你给我推荐什么 在任何情况下,将web服务实现到两个层都是一个好主意吗?这个问题太开放了,所以答案是:这取决于 您的应用程序对数据有什么需求?它只是数据访问还是涉及一些业务逻辑?如果只是访问数据,您真的希望客户机直接控制它吗?这三个应用程序有多相似?他们是共享功能还是只共享数据 在我看来,您可以选择两条主要路径: 1-为业务公开web服务,数据隐

本帖 鼓励我为业务逻辑层创建web服务,但许多人在数据访问层使用它

我想创建一个项目,在这个项目中,我想从桌面应用程序、网站和手机访问相同的数据存储库。你给我推荐什么


在任何情况下,将web服务实现到两个层都是一个好主意吗?

这个问题太开放了,所以答案是:这取决于

您的应用程序对数据有什么需求?它只是数据访问还是涉及一些业务逻辑?如果只是访问数据,您真的希望客户机直接控制它吗?这三个应用程序有多相似?他们是共享功能还是只共享数据

在我看来,您可以选择两条主要路径:

1-为业务公开web服务,数据隐藏在web服务后面。如果这三个客户端(我将称之为桌面应用程序、web应用程序和手机“客户端”,因为这就是它们)共享功能(即,它们是同一商业模式的不同视图),那么这是一个很好的设置。这避免了在所有客户机中重复类似的业务逻辑

2-使用web服务直接公开数据。如果这三个客户机没有任何共同之处,只是为了不同的目的使用相同的数据,那么这是一个很好的设置。但是在本例中,对于三组业务逻辑,您将把逻辑放在哪里?在客户中?对于桌面应用程序,这将如何工作(考虑到您安装此桌面应用程序300次左右)?你再次需要一些服务,而不是客户

如果你将1)和2)考虑在内,你会发现通常最好在数据前面加一个字母

回到“视情况而定”,首先分析您的特殊需求,然后选择最适合您情况的解决方案

给我一分怎么样将您的数据访问层放入一个库中(.jar、.dll或您正在使用的任何技术),并将其提供给为您的客户提供服务的(1?2?3?)业务web服务?

+1(+2,如果可以)以一个好的书面回答提供一个好的建议