gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 04:13:04 25 4
gpt4 key购买 nike

这篇文章http://www.theserverside.net/tt/articles/showarticle.tss?id=Top5WSMistakes鼓励我为业务逻辑层创建 Web 服务,但很多人在数据访问层使用它。

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

在任何情况下,对两个层都实现 Web 服务可能是个好主意吗?

最佳答案

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

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

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

1 - 为企业公开 Web 服务,将数据隐藏在 Web 服务后面。如果三个客户端(我称桌面应用程序、Web 应用程序和手机“客户端”,因为它们就是这样)共享功能(即它们是相同业务模型的不同 View ),这是一个很好的设置。这样可以避免在所有客户端中重复类似的业务逻辑;

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

如果您考虑 1) 和 2),您会发现通常最好使用 service layer在你的数据前面。

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

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

关于web-services - 用于业务逻辑或数据访问层的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4531074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com