Ich habe ein paar Programme mit VB.NET geschrieben, welche db4o als eingebettete Datenbank benutzen. Jetzt brauche ich eine Datenbank, die ich von mehreren Anwendungen aus abfragen kann (Client - Server). Gerne würde ich dafür auch wieder db4o nutzen. Kann mir jemand grob skizzieren wie ich das am Besten angehe?
Eine Client-Server-Architektur ist erstmal völlig unabhängig von der Datenbank. Mit .NET bietet sich am besten WCF an. Hier erstellst du einen Service, der die Clients bedient. Das können WebServices sein, muss aber nicht. Darunter kommt ein Businesslayer, der deine Geschäftslogik beinhaltet. Darunter liegt der DataAccessLayer, der für das Persistieren der Daten zuständig ist. Ob die Daten in einer Datenbank wie db4o, SQL-Server, Oracle, XML oder sogar Files liegen ist für eine Client-Server-Architektur egal. Das ist dann eine Frage der Datenmenge, Performance und sonstigen Ansprüchen, die man an einen Datencontainer hat.
Um db4o als Db-Server laufen zu lassen reicht dem "Server" ein Mini-Programm das das Db-File mit OpenServer öffnet. Vom Client aus musst wird der Server dann mit OpenClient geöffnet. Unter <db4o-path>\doc\references\Content\client-server findest Du ausreichend Code-Beispiele.