我的团队正在开发一个基于WEB的财务应用程序,并且与一位同事存在争议,该将计算保留在哪里-纯粹在后端还是在前端?
简要说明:我们将Java(ZK,Spring)用于前端,将Progress 4gl用于后端。涉及数据库中一些核心数学和数据的计算都保存在后端,因此我不在谈论它们。我说的是用户输入值X,然后将其添加到值Y(在屏幕上显示),然后结果显示在字段Z中的情况。我的意思是,纯简单的jQuery-ish操作。
因此,这里的最佳做法是:
1)使用JavaScript添加值,该值可保存到后端和后端,然后在后端“保存时”验证它们?
2)将所有业务逻辑放在同一位置-因此将值带到后端并在那里进行计算?
3)在前端进行计算;然后将数据发送到后端,在那里进行验证,仅在结果有效且相等时才再次进行计算,然后将其显示给用户?
4)还有别的吗?
注意:我们在Java中进行了一些基本的验证,但与其他所有业务逻辑一样,大多数验证仍在后端。
通过重新计算后端中的所有内容来发送的数据增加不是问题(XML大小较小;服务器和带宽可以承受用户增加的操作量)。