Mein Team entwickelt eine WEB-basierte Finanzanwendung und es gab ein paar Auseinandersetzungen mit einem Kollegen, wo die Berechnungen aufbewahrt werden sollten - rein im Back-End oder auch im Front-End?
Kurze Erklärung: Wir verwenden Java (ZK, Spring) für das Front-End und Progress 4gl für das Back-End. Berechnungen, die einige Hardcore-Mathematik- und -Daten aus der Datenbank beinhalten, werden im Back-End aufbewahrt, sodass ich nicht über sie spreche. Ich spreche von der Situation, in der der Benutzer den Wert X eingibt, dieser dann zum Wert Y addiert (auf dem Bildschirm angezeigt) und das Ergebnis im Feld Z angezeigt wird. Reine und einfache jQuery-ish-Operationen, meine ich.
Was wäre hier die beste Vorgehensweise:
1) Fügen Sie mit JavaScript Werte hinzu, die vom Wechseln zum Back-End und zurück gespeichert werden, und validieren Sie sie dann am Back-End "beim Speichern"?
2) Bewahren Sie die gesamte Geschäftslogik an derselben Stelle auf. Stellen Sie daher die Werte in das Back-End und führen Sie die Berechnungen dort durch.
3) Führen Sie die Berechnungen im Frontend durch; Daten dann an das Backend senden, dort validieren, die Berechnungen erneut durchführen und dem Benutzer nur dann anzeigen, wenn die Ergebnisse gültig und gleich sind?
4) Noch etwas?
Hinweis: Wir führen einige grundlegende Überprüfungen in Java durch, die meisten befinden sich jedoch wie alle anderen Geschäftslogiken im Back-End.
Die Zunahme der Daten, die durch Neuberechnung aller Daten in einem Back-End gesendet würden, wäre kein Problem (geringe XML-Größe; Server und Bandbreite würden dem erhöhten Arbeitsaufwand der Benutzer standhalten).