Frage

Ich habe eine Client / Server-Anwendung. Einer der Kunden ist ein CLI. Die CLI führt einige grundlegende Validierung macht dann SOAP-Anfragen an einen Server. Die Antwort wird interpretiert und relevante Informationen für den Benutzer dargestellt. Jeder Befehl beteiligt eine Anforderung an einen Web-Service.

Jedes Mal, Dienste geändert serverseitige, eine neue CLI muss freigegeben.

Was ich frage mich, wenn es etwas falsch wäre mein CLI unglaublich dünn mit zu machen. Alles, was sie tun würde, ist die Befehlsfolge an den Server senden, wo sie validiert werden würde, interpretiert und eine Antwort-String zurückgegeben.

(Selbst TAB Abschluss mit dem Server der Zusammenarbeit getan werden könnte.)

Ich fühle mich in meinem Fall diese Entwicklung vereinfachen würde und Wartungsarbeiten reduzieren.

Gibt es Fallstricke ich mit Blick auf bin?

UPDATE

Skalierbarkeit Probleme sind keine hohe Priorität.

War es hilfreich?

Lösung

Ich denke, das ist wirklich nur eine Frage des Geschmacks. Die Validierung muss irgendwo passieren; Sie traden nur Komplexität in der Client für die gleiche Menge an Komplexität in der Software ab. Das ist nicht unbedingt eine schlechte Sache für Ihre Architektur; Sie wirklich nur einen zusätzlichen Service, der Anrufer ein alternatives Mittel für den Zugriff auf Ihre vorhandenen Dienste gibt. Die einzige pitfall ich schauen würde für Code-Duplizierung ist; wenn Sie, dass Ihre CLI Validierung finden wird, die gleichen Dinge wie einige Ihre Dienste tun (Parsing-Nummern, zum Beispiel), dann Refactoring, um die Doppelarbeit zu vermeiden.

Andere Tipps

im Allgemeinen, dann würden Sie in Ordnung sein, aber die clientseitige Validierung ist ein guter Weg, um Ihre Arbeitsbelastung zu reduzieren, wenn schlechte Anfragen frühzeitig abgelehnt werden.

  

Was ich frage mich, wenn es etwas falsch wäre mein CLI unglaublich dünn mit zu machen.

     

...

     

Ich fühle mich in meinem Fall diese Entwicklung vereinfachen würde und Wartungsarbeiten reduzieren.

Die Menschen tun dies schon seit Jahren für eine CLI-Remote Telnet / SSH verwenden, die auf dem Server ausgeführt wird. Wenn die ganze Intelligenz sowieso auf dem Server sein muss, könnte es keinen Grund, Ihre CLI haben eine verteilte Client mit Intelligenz sein. Gerade haben sie eine Terminalsitzung sein - wenn Sie mit der Verwendung von SSH wegkommen können, ist das, was ich tun würde - dann wird das Client-Stück einmal getan (oder möglicherweise nur eine Off-the-shelf-Bit-Software) und alle Wartungs- und Upgrades auf dem Server passieren (willkommen in 1978).

Dies ist natürlich nur gilt wirklich, wenn es wirklich keine Notwendigkeit für die Kunden ist intelligent zu sein (was wie der Fall in Ihrer Situation klingt).

Name / Wert-Paare in einem Anfrage-String

ist eigentlich ziemlich prevalant. Doch an diesem Punkt, warum die Mühe überhaupt mit SOAP? Statt nur zu einer REST-Architektur bewegen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top