Hallo Leute,
ich bräuchte mal das Schwarmwissen zum Thema Server Client / Middletier Applikation.
Ausgangspunkt:
Ich arbeite aktuell an einer CRM Software diese ist auf WPF C# (vor ein paar Wochen noch vb.net) Basis aufgebaut und folgt MVVM und Multilayer (also View, Viewmodel, DataaccessLayer, Businesslogic usw.) für den Datenzugriff benutze ich EF Core. Das ganze funktioniert eigentlich perfekt hat aber aus meiner Sicht ein großes Problem, die Zugriffsdaten auf den Datenbank Server liegen in jedem Client und jeder User muss als DB User mit CRUD Rechten geführt werden. Ich habe natürlich die Connection verschlüsselt und möglichst versteckt aber auf Dauer ist das keine Lösung.
Bis dato sind alle Softwarelösungen in diesem Bereich mit denen ich gearbeitet habe so aufgebaut das es einen Client gibt, der mit einer Middletier kommuniziert welche dann wieder den Datenzugriff regelt, nebenbei dann auch noch so Geschichten wie Mail Versand übernimmt usw.
Ich hoffe die Ausgangsbasis ist klar.
So nun zu meinem Problem:
Was ist der Best Practise für eine Middletier Anwendung?
Ich habe viel recherchiert es gibt / gab mal früher wie WCF (Windows Communication Foundation) diese gibt es aber anscheinend im .net 5.0 Framework nicht mehr. Weiters bin ich auf ZeroMQ gestoßen das Framework unterstützt ebenfalls verteilte Anwendungen. Des weiteren wird von ASP.net Server gesprochen als Middletier..... Irgendwie ist das Thema schwer aufzugreifen...
Was sind meine Anforderungen:
- Client soll aktuell auf WPF bleiben, ein ASP.net Client kommt sicher aber irgendwann später dafür fehlt mir die Zeit.
- Der Middletier soll auf Windows Server 2016 / 2019 lauffähig sein und wenn geht als Dienst ausgeführt werden.
- Die Datenbank ist ein MsSQL Server
- Das wichtigste (zumindest soweit ich es überblicken kann) übertragen von typisierten Objekten vom Client zum Middletier und retour (ich hoffe die Aussage ist soweit korrekt).
(Mein Problem ist das in allen Code Schnipseln die ich gefunden habe immer nur ein String rumgeschubst wird aber niemand im Ansatz erwähnt ob man ein "Objekt" vom Typ T vom Client zum Server kriegt ohne dieses aus irgendeinem Memorystream odg. wieder zusammenbauen zu müssen.).
Habt ihr einen Tipp für mich?
Danke.
ich bräuchte mal das Schwarmwissen zum Thema Server Client / Middletier Applikation.
Ausgangspunkt:
Ich arbeite aktuell an einer CRM Software diese ist auf WPF C# (vor ein paar Wochen noch vb.net) Basis aufgebaut und folgt MVVM und Multilayer (also View, Viewmodel, DataaccessLayer, Businesslogic usw.) für den Datenzugriff benutze ich EF Core. Das ganze funktioniert eigentlich perfekt hat aber aus meiner Sicht ein großes Problem, die Zugriffsdaten auf den Datenbank Server liegen in jedem Client und jeder User muss als DB User mit CRUD Rechten geführt werden. Ich habe natürlich die Connection verschlüsselt und möglichst versteckt aber auf Dauer ist das keine Lösung.
Bis dato sind alle Softwarelösungen in diesem Bereich mit denen ich gearbeitet habe so aufgebaut das es einen Client gibt, der mit einer Middletier kommuniziert welche dann wieder den Datenzugriff regelt, nebenbei dann auch noch so Geschichten wie Mail Versand übernimmt usw.
Ich hoffe die Ausgangsbasis ist klar.
So nun zu meinem Problem:
Was ist der Best Practise für eine Middletier Anwendung?
Ich habe viel recherchiert es gibt / gab mal früher wie WCF (Windows Communication Foundation) diese gibt es aber anscheinend im .net 5.0 Framework nicht mehr. Weiters bin ich auf ZeroMQ gestoßen das Framework unterstützt ebenfalls verteilte Anwendungen. Des weiteren wird von ASP.net Server gesprochen als Middletier..... Irgendwie ist das Thema schwer aufzugreifen...
Was sind meine Anforderungen:
- Client soll aktuell auf WPF bleiben, ein ASP.net Client kommt sicher aber irgendwann später dafür fehlt mir die Zeit.
- Der Middletier soll auf Windows Server 2016 / 2019 lauffähig sein und wenn geht als Dienst ausgeführt werden.
- Die Datenbank ist ein MsSQL Server
- Das wichtigste (zumindest soweit ich es überblicken kann) übertragen von typisierten Objekten vom Client zum Middletier und retour (ich hoffe die Aussage ist soweit korrekt).
(Mein Problem ist das in allen Code Schnipseln die ich gefunden habe immer nur ein String rumgeschubst wird aber niemand im Ansatz erwähnt ob man ein "Objekt" vom Typ T vom Client zum Server kriegt ohne dieses aus irgendeinem Memorystream odg. wieder zusammenbauen zu müssen.).
Habt ihr einen Tipp für mich?
Danke.
mfG.
Stephan
Stephan