2009-08-04 8 views
1

Ich studiere E-Commerce wie Web-Anwendung. In einer Fallstudie habe ich Probleme mit der Validierung von Massendaten. Was ist die beste Vorgehensweise in der Unternehmensanwendung?Best Practice der Datenvalidierung in Unternehmensanwendung

Hier ist ein Szenario:

für ein Frachtsystem. Es gibt ein "Fracht" -Objekt, das eine Liste von "Gut" enthält, mit der versendet werden soll. Jedes "Gut" hat ein String-Feld namens "Category", das angibt, welche Art von "Good" es ist. Wie "brennbar", "Fragile".

Es gibt also zwei Möglichkeiten für die Validierung. Die Erstellung des Objekts. Oder der Speicher in der Datenbank des Objekts. Wenn wir nur in der Speicherphase validieren, wenn eine "gute" Validierung fehlschlägt, schlägt der "Fracht" -Lager ebenfalls fehl, und die zuvor gespeicherten "Waren" müssen gelöscht werden. Dies ist wenig effizient. Wenn wir auch bei der Erstellung validieren. Es wird eine doppelte Validierungslogik geben (eine Überprüfung des Fremdschlüssels, während ich diese "Kategorie" in der Datenbank ablege, und eine Überprüfung im Konstruktor).

+0

Wie werden die Datensätze erstellt? manuell oder im Stapel? – mson

+0

Sie werden durch Benutzerauswahl konstruiert, aber ich möchte auch die Berücksichtigung von Sicherheitsproblemen berücksichtigen. Also möchte ich eine Validierung hinzufügen. – Roy

Antwort

3

Wenn Sie mehrere Datensätze in der Datenbank speichern, sollten alle Aktualisierungen gleichzeitig in einer einzigen Transaktion durchgeführt werden. So würden Sie ALLE Objekte vor dem Speichern validieren. Wenn während des Speichervorgangs ein Problem auftrat, konnte die Transaktion zurückgesetzt werden, wodurch alle Datenbankaktualisierungen zurückgesetzt werden (dh Sie müssen nicht zurückgehen und Datensätze manuell löschen).

Im Idealfall sollten Sie auf dem Server validieren, bevor Sie Daten speichern. Die Servervalidierung sollte dann die Validierungsnachrichten an den Benutzer/die Benutzerschnittstelle weiterleiten. Die Validierung auf dem Client/UI ist auch insofern gut, als sie reaktionsfähiger ist und den Overhead für den Rest des Systems reduziert.

+0

Realyy danke! Kennzeichen. – Roy

+0

Suchen Sie nach OWASP Web-Develpment Guidelinse. Dort finden Sie abgestimmte Richtlinien zu Themen wie Validierung, Zutrittskontrolle etc. – er4z0r