Moin!
whitef hat folgendes geschrieben : |
Internzugriff besteht; jedoch möchte ich keine Dateien ins Netz stellen (Datenschutz). |
Verschlüssel sie halt.
whitef hat folgendes geschrieben : |
Eine gemeinsame Netzwerkablage (Share) haben wir; gibt es hierfür direkt DB-Lösungen? |
Sicher gibt es Desktop-Datenbanken, die auf File-Basis arbeiten (um ein totel Pferd zu reiten: die BDE z.B., gibt natürlich auch noch andere, Sybase z.B.). Aber das löst dein Problem nicht: du willst sauberen Mehrbenutzerzugriff/Interlocking und nicht Daten organisieren.
Sobald Mehrbenutzerfähigkeit ins Spiel kommt, wirst du langfristig nicht ohne eine Serverinstanz (die für alle Benutzer atomisch ist) glücklich werden. Da führt kein Weg drum rum.
(Warum das so ist? Das ist eine Varietät des Turing-Problems, man kann beweisen, dass das nicht lösbar ist; umgangssprachliche Analogie: ein toter Mensch kann dir nicht sagen, dass er tot ist... )
whitef hat folgendes geschrieben : |
Ob CIFS oder File-Locking aktiviert werden kann weiß ich nicht. Ich gehe einfach mal von einem "nein" aus. |
Hm, ich frag mal so: weißt du, was CIFS und was Filelocking ist?
whitef hat folgendes geschrieben : |
Hast du den auch Beispiele davon das du mir vom Semaphor abraten kannst? |
Den simpelsten Fall hast du doch schon selbst genannt: wenn ein Client, der das "Schreibrecht" hält, abstürzt, kann er es nicht mehr freigeben (der Tote, der antworten soll...
).
Turing hat uns gezeigt, dass man hier nicht ohne eine aussenstehende Instanz (hier: der Server) auskommt (sei es ein RDBMS oder CIFS-File-Locking).
Das kann man in beliebig viele Versionen und mit beliebiger Komplexität abwandeln...
Klar kriegt man sowas mit einem manuellen Eingriff immer wieder schnell an´s laufen (wenn es sowas einfaches wie der Client-Absturz ist und du grade greifbar bist - dann bist du diese "aussenstehende Instanz"
). Aber was ist, wenn du mal nicht da bist oder du eine neue Version des "Problems" erstmal selbst (ggfs. lange) suchen musst?
Bis du rausgefunden hast, was und wie das passiert ist, da kann schonmal reichlich Zeit in´s Land gehen. Von den technischen Problemen beim Debugging in Multiuser-Umgebungen mal ganz zu schweigen...
Meine Erfahrung sagt mir: du wirst mit so einem Ansatz letztlich mehr Zeit damit verbringen, diese technischen Probleme (ich nenn sie jetzt mal so) zu beheben, umgehen, vermeiden, workarounden, patchen, manuell korrigieren, etc.pp, als mit dem fachlichen Teil der Anwendung.
Ich bremse deine Euphorie wirklich nur ungerne, aber es bleibt bei meinem Rat: mach das mit einem Server oder lass es lieber, gibt nur Ärger.
cu
Narses
There are 10 types of people - those who understand binary and those who don´t.