Wie teilen Sie Konfigurationsinformationen oder Geschäftsregeln zwischen Sprachen?

8

Ich suche nach Best Practices für die Verwendung der gleichen Daten an verschiedenen Orten, ohne sich wiederholen - dies könnte Fügen Sie Konfigurations- oder Geschäftsregeln hinzu.

Beispiel 1. Datenvalidierungsregeln, die Sie auf dem Client mithilfe von JavaScript validieren möchten, aber Sie möchten sicherstellen, dass sie auf dem Server überprüft werden.

Beispiel 2. Datenbankzugriff, bei dem Ihr Webserver und Ihre Cronjobs das gleiche Passwort, den Benutzernamen, verwenden.

Einfache Verarbeitung und eine menschenlesbare Lösung wären von Vorteil.

    
Ken 27.10.2008, 13:11
quelle

5 Antworten

6

Kodieren Sie Ihre Daten in JSON . Es gibt eine JSON-Bibliothek für so ziemlich jede Sprache, die Sie sich vorstellen können, oder wenn nicht, ist es ziemlich einfach, eine zu programmieren. Wenn JSON nicht genug ist, schauen Sie sich vielleicht YAML an.

    
Jouni K. Seppänen 27.10.2008, 13:14
quelle
3

XML wird ziemlich global verwendet. Einfach zu lesen, einfach zu schreiben und lesbar. Wenn Sie Bedenken hinsichtlich des Platzbedarfs haben (was Sie eigentlich nicht sind, wenn Sie lesbar sind), dann komprimieren Sie es einfach, bevor Sie es versenden. XML komprimiert sich ziemlich gut.

    
tloach 27.10.2008 13:18
quelle
2

Siehe Antworten auf diese Frage . Ich denke, dass sie hier anwendbar sind, besonders der mit einem DSL .

    
Rafał Dowgird 27.10.2008 13:21
quelle
0

So viel Hass wie sie bekommen, um Datenvalidierungsregeln zu teilen, muss ich Reguläre Ausdrücke sagen.

Ich weiß, ich weiß, jeder hasst sie, aber sie sind (allgemein) sprachunabhängig.

    
Powerlord 27.10.2008 14:05
quelle
0
  1. Verwenden Sie O / S-Umgebungsvariablen (envvars), um Informationen zur Anwendungskonfiguration zu speichern (z. B. db-Kennwörter)

  2. Validierungsregeln erfordern oft Logik. Sie könnten Ihre Regeln in JavaScript schreiben und dann im Browser, Server (mit Nashorn) und Datenbank (PLV8 mit Postgres) ausführen.

Neil McGuigan 01.12.2014 19:41
quelle