Im Grunde habe ich eine neue Desktop-Anwendung, an der mein Team und ich arbeiten, die auf Windows 7-Desktops in unserer Fertigungshalle läuft. Dieses Programm wird bei seiner Einführung ziemlich intensiv genutzt und muss mit unserer Fertigungsdatenbank interagieren. Ich würde schätzen, dass es (irgendwann) ungefähr 100 - 200 Maschinen geben wird, die diese Anwendung gleichzeitig ausführen.Wie soll ich mit einer Datenbank von einer Desktopanwendung aus interagieren, ohne sie für die ganze Welt zu öffnen?
Wir haben Glück, wir haben alles von Grund auf neu zu machen, also definieren wir die Datenbank, alle Webdienste, das Programmdesign und jede Interaktion zwischen den oben genannten.
Wie es gerade ist, haben unsere Legacy-Anwendungen nur direkten Zugriff auf eine Datenbank, die icky ist. Das wollen wir mit der neuen Anwendung nicht machen.
Also meine Frage ist, wie mache ich das? Vage, ich weiß, aber im Grunde habe ich hier eine Menge zur Verfügung, und ich bin mir nicht ganz sicher, was die richtige Richtung ist.
Mein erster Gedanke, basierend auf dem, was ich andere wahrgenommen habe, besteht darin, die Datenbank mithilfe von Webservices zu schließen. d. h. alle Datenbankinteraktionen vom Boden MÜSSEN über die Webdienste erfolgen, wodurch eine Sicherheitsschicht geschaffen wird, indem ein großer Teil der Datenbanklogik hinter verschlossenen Türen ausgeführt wird. Webservice-Aufrufe werden dann über Active Directory für einzelne Benutzer gesichert.
Wie ich jedoch festgestellt habe, hat das einige Implikationen ... Wir müssen die Daten abstrahieren, bevor sie die Anwendung erreichen. Es besteht immer noch das Potenzial für bösartigen Missbrauch, indem Webservice-Anrufe wiederholt verwendet werden, um Daten zu ruinieren oder zu spammen. Wir haben uns Entity Framework angeschaut und mögen wirklich, was es bietet, aber wenn ich das am besten beurteilen kann, wird es in diesem Moment nicht verfügbar sein, wenn wir uns auf Anwendungsebene befinden.
Es scheint nur so, als könnte ich nicht zu dem Schluss kommen, was "richtig" ist. Also, was ist richtig?
Vielen Dank für Ihre Antwort! Ich hatte gehofft, dass - das wäre der richtige Ansatz. – MGSoto