Was sind die Vor- und Nachteile, wenn wir die Wahl zwischen direktem Datenbankzugriff oder der Verwendung von Webdiensten haben?
Was würden Sie für eine kritische Anwendung wählen, die reaktionsfähig sein sollte (& lt; 0,5 s) und mit einem niedrigen Aufruf an diesen Webservice / DB (NB: der Webservice wird von einem anderen Team gewartet).
Der direkte Datenbankzugriff verbindet Sie eng mit dem Schema. Änderungen an beiden Enden wirken sich auf die anderen aus. Aber es hat die Vorteile, einfach zu sein und einen Netzwerksprung weniger zu erfordern.
Ein Web-Service bedeutet bessere Abstraktion und lockere Kopplung über eine zusätzliche indirekte Ebene. Ein Webdienst kann als einziger Verwalter der Daten fungieren. Sie werden direkt gegen die Datenbank vorgehen, wenn es nur Ihre App ist, aber wenn andere Apps die gleichen Daten benötigen, erhöhen Sie die Wahrscheinlichkeit, dass sie eines Tages Schemaänderungen benötigen. Diese Änderungen wirken sich auch auf Ihre App aus. Die Kosten sind mehr Latenz.
Ein Web-Service kann ein guter Ort sein, um Autorisierung und Sicherheit zu zentralisieren. Eine Datenbank kann das auch, also ist es vielleicht ein Waschgang.
Offensichtlich ist ein direkter Datenbankzugriff in einfachen Szenarien immer schneller.
Mit einem WebService gewinnen Sie Flexibilität:
In Anbetracht Ihres Reaktionskontextes (mit möglicherweise einem Problem mit dem anderen Team) würde ich versuchen, den direkten Datenbankzugriffsweg einzuschlagen, sofern nicht mehrere Anwendungen die Daten teilen müssen ... p>
Sowohl Duffymo als auch KLE machen gültige Punkte.
Eine zusätzliche Überlegung ist der Grad der Kopplung mit anderen Teams.
Wenn Sie mit einer Service-Schicht arbeiten, ist Ihr Projekt normalerweise einer von vielen Clients. Dies bedeutet oft, dass Sie entweder mit den verfügbaren Diensten arbeiten müssen oder warten müssen, bis die Roadmap die gewünschten Änderungen liefert. Dies führt oft zu Entscheidungen, die gut für das Unternehmen insgesamt sind, aber nicht so gut für Ihr Projekt.
Tags und Links database web-services