![]() |
1
2
从您的问题中,我了解到Web服务的界面如下所示:
既然你问你是否应该储存
我会给你同样的答案
问题1和2
. 尽管
然而,以上假设您使用的是关系数据库—如果您使用的是NoSQL数据库,我假设存储名称而不是ID也是一个可行的选择(至少就我目前对NoSQL解决方案的理解而言,不幸的是,我没有任何实践经验)。所有的经验都还没有)。
关于
第3题
-我将坚持您已经在数据库中使用的命名约定。对于表和列的命名有很多不同的约定,所以我真的怀疑在如何命名引用web服务对象的列方面是否有任何标准化的约定。我会根据你的名字
现有命名约定
在某种程度上
各栏目的明确
所有使用该系统的人。注意,如果将来有可能使用其他web服务,则应考虑将服务的名称保留在列名中,而不是使用泛型
我将试着从我的经验中指出一些项目,但我不会将它们标记为 最佳做法 -只是一些需要思考的话题。 根据我的经验,我发现以与数据库中的数据相同的方式处理web服务中的数据是有用的——至少从应用程序的角度来看,在应用程序的存储层将从应用程序逻辑中抽象出来。我的意思是,无论您的存储介质是数据库还是web服务,您都应该考虑并准备类似的场景。 与数据库一样,web服务也可能宕机,两者都可能导致其数据或完整性损坏,这两种情况都将要求您在输入时清理或处理数据。
数据缓存
应该是一个在您的列表中排名靠前的项目-除了明显的性能原因之外,它还允许您处理web服务的中断(在一定程度上受缓存数据的限制)。
参照完整性 是使用web服务时要考虑的另一个重要方面。由于web服务与数据库完全分离,因此您没有创建外键的选项,就像在仅数据库的解决方案中那样。这意味着web服务中的数据更改(即产品更新或删除)可能会破坏数据库中数据的完整性。 关于 参考文献 ,这主要取决于您将要使用的web服务的类型(您没有指定要使用的服务)。如果服务基于rest原则,我可以推荐 Restful Web Services by Leonard Richardson and Sam Ruby . 尽管它并不专注于应用程序/服务集成,但它是对rest的一个很好的介绍。 |
![]() |
George · 按每小时积分(行数) 7 年前 |
![]() |
MD' · 从odeint-scipy python使用的函数中提取值 7 年前 |
![]() |
Ahmed Mohammed · 在Matlab中计算定积分 7 年前 |
|
Bee · R中的矩阵逆与数值积分 7 年前 |