Hallo,
ich plane derzeit eine Software, die die Arbeit mehrerer Mitarbeiter einteilt, je nach Auftrag der Kunden. Es soll Kollisionen bei der Bearbeitung mehrerer Aufträge erkennen, einen Auftrag auf mehrere Tage verteilen können und Urlaub einteilen können etc.. Da die Daten an mehreren Rechnern eingegeben werden, sollte es ein Netzwerkfähiges Programm werden.
Das Programm selbst soll koordinieren wann welcher Mitarbeiter für welche Arbeit (mit Angabe des Kundens) eingeplant ist. Ich hatte nun vor, auch wenn ich so etwas vorher noch nie realisiert habe, das ganze als Server Client Architektur aufzubauen.
Zuerst dachte ich das alles in ein zentrales textfile zu schreiben, was aber natürlich sehr ineffizient wäre und vorallem sollen meherere Benutzer gleichzeitig auf die Daten Zugriff haben. Dazu wollte ich nun einen MySQL Server auf einem rechner im Netzwerk laufen lassen. Alle anderen Rechner sollen ein in VB .Net programmierten Client bekommen, die die Datenbank auslesen und manipulieren können. Meine Fragen:
1. Ich habe weder jemals einen SQL server installiert und eingerichtet noch habe ich jemals eine Netzwerkanwendung in VB .Net geschrieben.
--> Ich habe mich über Winsock Programmierung informiert, ist das der richtige ansatz um vom Client an den Server zu kommen? Ado.Net (als stichpunkt zur Datenbankanbindung)?
2. Wie richte ich den Server ein? (Und die Tabellen?) Wie läuft das mit den ODBC Treibern, müssen die auf allen clients installiert werden?
3. Sollte ich ebenfalls ein Serverprogramm als zwischenstück von Datenbank und Clients programmieren oder die Clients direkt auf die Datenbank zugreifen lassen?
4. IST DER GESAMTE ANSATZ ÜBERHAUPT SINNVOLL?
Gibt es vielleicht irgendwelche Tutorials oder wisst ihr wo ich brauchbare infos finde oder kann jmd das zusammenspiel (Datenbank, DBMS,Server,Client in Bezug auf Netzwerk und VB.Net) einmal kurz erklären?
Ich finde vieles zu Netzwerk und zur Datenbankprogrammierung aber nicht in Kombination :(
Danke im Vorraus
Gruß
Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge
Hi!
Zu den Details der Kommunikation und der Anbindung der Clients an die Datenbank, kann ich dir nicht viel sagen - die Systeme, die mich ärgen, haben dass immer bereits. ;-)
Mit dem MS SQL-Server hab' ich privat noch nicht näher zu tun gehabt. Ich würde erwarten, dass es eine Art "Datenbank-Assistenten/Manager/Console" gibt, mit dem man die Tabellen am Server anlegen kann.
Den Server mit einem Netzwerkgebundenen Listener auszustatten ist schon eine Möglichkeit, aber IMHO ist das eigentlich unnötig: wenn die Clients Zugriff auf die Datenbank haben, dann können sie direkt Daten laden und speichern (der Handshake zwischen Datenbankserver und der Clientseite ist damit dann schon erschlagen). Ein eigenes Protokoll wäre dann nicht mehr nötig.
Die Systeme, die ich näher kenne, nutzen zwar ein eigenes Protokoll, dass liegt aber daran, dass sie ihr Client keine eigene Intelligenz besitzt (und der Applikationsserver alle Programme ausführt und den Zugriff auf die Datenbank abwickelt). Die Clients sind dann quasi kleine Terminalserver, die nur Information abfragen und Usereingaben entgegennehmen.
Klassisch sind das spezielle Clients (also auf dem Client ausführbare Programme). Man geht aber zu plattformunabhängigen Clients über, die webbasiert funktionieren (z.B. als Java-Applikation im Webbrowser).
Bis dann
Andreas