Allgemein
- Die Webdienststufe fördert die Wiederverwendung gemeinsamer Datenanforderungen für mehrere Anwendungen
- Der Webdienst kann mit der Versionsverwaltung eingerichtet werden, die viele Probleme bei der Entwicklung auf Anwendungsebene löst. Wenn ich beispielsweise neu in einem Projekt bin, dessen vorhandene Anwendung ich als gutes Modell für die Konfiguration meiner Anwendung für die Verwendung vorhandener Datenbankquellen verwende.
- Der Webdienst wurde weiterentwickelt, um flexible Optionen zum Senden von Anforderungen und zum Zurückerhalten von Antwortergebnissen in einem gemeinsamen Format wie JSON mithilfe eines einfachen URI zu ermöglichen. Dies bedeutet, dass Clientanwendungen unter Verwendung eines allgemeineren Standards entwickelt werden können, der zuverlässige einheitliche Schnittstellen fördert.
Ich werde gerade mit ASP.NET Web Api angestarrt und plane, zuerst Datendienste zu erstellen.
Ich habe mich kürzlich auf .NET MVC-Webanwendungen unter Verwendung des Entity-Frameworks konzentriert.
- Wenn Sie MVC bereits verwenden, verwendet die Web-API auch MVC mit dem Api-Controller, sodass die Lernkurve zum Erstellen der Dienste ziemlich einfach ist.
Ich befand mich kürzlich in einer frustrierenden Situation mit einer MVC-Web-App, die ich ursprünglich basierend auf gespeicherten Oracle-Prozeduren erstellt hatte. Die ursprüngliche Version als Oracle 9 oder noch früher, die ein weiteres Problem darstellte, als Visual Studio 2012 einen moderneren Ansatz für die Verbindungsfactory vorstellte, bei dem Assemblys mit Ladezeit anhand von Webkonfigurationsverbindungen und TNS-Namen die richtigen DLL-Dateien fanden.
Versuche, eine Verbindung zur Datenbank herzustellen, schlugen mit Fehlermeldungen fehl, die nicht mehr unterstützt wurden. Aus Neugier habe ich Oracle 12c heruntergeladen und einige Verbindungen auf Anwendungsebene hergestellt, die mit meinen TNS-Namen und der Load Assembly-DLL gut funktionierten, und ich konnte problemlos mit Oracle arbeiten.
Es wurden einige Webdienste erstellt, die mit Verbindungen zur älteren Oracle-Version arbeiteten. Sie wurden mit Methoden erstellt, die speziell zu meiner Enttäuschung ausgewählten Tabellen zugeordnet wurden. Ich müsste meine eigenen schreiben.
Mir wurde gesagt, dass die Gruppe, die für die Pflege der Oracle-Datenbanken verantwortlich war, neue gespeicherte Prozeduren schreiben würde, um die älteren zu ersetzen, die ich zum Abstrahieren der Clientschnittstellen- und Geschäftslogikschichten verwendete.
Meine ersten Gedanken waren also, dass alle gängigen Datenanforderungen wie das Ausfüllen von Dropdown-Listen oder die automatische Vervollständigung mit unternehmensweiten Daten über Datendienste erfolgen, die die gespeicherten Oracle-Prozeduren aufrufen. Warum sollte dieser Vorgang für jede Anwendung wiederholt werden und jeder Entwickler hat Probleme mit der Konfiguration und der Versions- / Lade-Assembly, TNS-Probleme?
so....
- Bei Problemen mit mehreren Datenbankservern, z. B. bei der Verwendung gespeicherter Oracle-Prozeduren in einer .NET MVC-Anwendung, bei der normalerweise EF für die SQL Server-Datennutzung verwendet wird, können Sie diese Probleme auf Web Api-Dienstmethoden übertragen, bei denen diese Konfigurationsprobleme isoliert werden können.
- Auch hier kann die Client-Schnittstelle mit JavaScript, JQuery und JSON ausgeführt werden, die Sie bereits verwenden, wenn Sie dies mit Web Api tun, um SQL Server-Datenanforderungen zu stellen.
Ich bin ein Anwendungsentwickler / -analyst und kein DBA. Meine Perspektive ist also eine aus Erfahrung mit der unendlichen Frustration, Anwendungen ständig ändern zu müssen, wenn sich Datenbank-Tools weiterentwickeln.