ja, die lokation der datenbank wird ja mittels netzwerk-adresse festgelegt. mit der datenbank unterhält sich dein programm also genau so, als wäre es eine datenbank, welche sich irgendwo im internet befinden würde. das ist von dem her auch vollkommen wurscht.
die nutzer können selbstverständlich alle auf das jar-file zugreifen, denn, wie gesagt, das betriebssystem wird dir hier beim lesezugriff nicht dazwischen pfuschen, schließlich ist es ja nicht das jar-file, sondern javaw.exe oder java.exe, welches vom betriebssystem ausgeführt wird.
das einzige problem kann sich dann nur noch in der datenbank abspielen. hier können alle typischen datenbankprobleme auftreten, beispielsweise wenn ein benutzer einen datensatz löscht, ein anderer diesen aber gerade bearbeitet. das liegt letztlich dann an dir eine intelligente programmierung im jar-file vorzunehmen, die derlei dinge ausschließt oder ggf. abprüft, sofern dies möglich ist. falls derlei vorgehen nicht geht gibt es halt fehlermeldungen die du dem benutzer entgegenschleuderst oder du überlegst dir, was das sinnvollste vorgehen wäre. in dem genannten beispiele könntest du, wenn benutzer1 den datensatz löscht, welchen benutzer2 gerade bearbeitet, durch eine grundlegend eingeführte weitere spalte in der tabelle das löschen durch benutzer1 unterbinden, da das öffnen und bearbeiten von benutzer2 ein entsprechendes flag in besagter zusatzspalte gesetzt hat. andere lösung für dieses problem wäre, daß nach dem bearbeiten benutzer2 speichern drückt und dein programm zunächst überprüft ob der datensatz noch existiert, wenn ja, dann eben ein update durchführt und wenn nein, ein insert.
wayne