Client-Server-Datenbank
Verfasst am: Mittwoch, 17. Nov. 2010 um 08:33Heute möchte ich die Gelegenheit nutzen, um die Frage zu beantworten, warum ich beim BVASystem auf ein Client-Server-Datenbankmodell gesetzt habe. Bevor ich jetzt aber groß in die Vor- und Nachteile einer Client-Server-Architektur einsteige, möchte ich kurz erklären, was das eigentlich ist.
Was ist ein Client-Server-System?
Wie der Name es sagt, besteht ein Client-Server-System aus 2 Komponenten, dem Client und dem Server. Bei beiden handelt es sich um eigenständige Programme, die in der Regel auf unterschiedlichen Rechnern in einem Netzwerk laufen. Es ist aber auch möglich, das Server und Client auf nur einem Rechner laufen. Der Server hat in der Regel keine eigene Oberfläche. Seine Aufgabe ist es, dem Client bestimmte Funktionen zur Verfügung zu stellen. Der Client ist das Programm, welches der Anwender gut kennen sollte. Der Client nutzt die Funktionen, die der Server zur Verfügung stellt und zeigt die Resultate dieser Funktionen dem Anwender an.
Beim BVASystem ist der Server ein Datenbankmanagementsystem, wie zum Beispiel das während der Entwicklung genutzte MySQL. Der Server hat hier die Aufgabe, die Fotos, die der Client dem Server übermittelt, zu speichern und zu einem späteren Zeitpunkt dem Nutzer wieder anzuzeigen. Eigentlich sollte es jetzt bereits klar sein, der Client ist in dem System das Programm, welches ich gerade programmiere.
Welche Vorteile und Nachteile hat ein Client-Server-System?
Für mich ist der größte Vorteil, das ich meine Fotos nur auf einem Server speichern muss. Ich bin im Besitz von mehreren Computern, die ich hier in einem Heimnetzwerk miteinander verbunden habe. Zum einen habe ich einen Standrechner, auf dem ich hier gerade diesen Text schreibe und zum zweiten habe ich einen Notebook, der mich begleitet, wenn ich mal unterwegs bin. Auf dem Standrechner habe ich den MySQL-Server installiert. Sowohl auf Standrechner, als auch auf dem Notebook habe das BVASystem installiert und so eingerichtet, das beide Rechner auf das Serverprogramm des Standrechners zugreifen können.
Ein Nachteil ist es, das auch, wenn man nur von einem Rechner aus seine Fotos verwalten will, man den Datenbankserver installieren muss. Gerade für Nutzer, die nicht so technikaffin sind, könnte es zu Schwierigkeiten in der Administration des Servers kommen. Auch ich hatte schon so meine Schwierigkeiten mit dem MySQL-Server: Server has gone away Weiterhin kann es von Nachteil sein, wenn man mit mehreren Clients auf die Fotos zugreifen will und dafür extra einen Rechner bereitstellen muss auf dem nur der Server läuft.
Ein weiterer Vorteil, für mich als Entwickler ist, das ich mit dem Client-Server-Modell auf standardisierte Server-Komponenten zurückgreifen kann. Damit lässt sich wunderbar, das von mir bereits beschriebene Schichtenmodell umsetzten. Ich muss also weniger Aufwand in die Entwicklung des Systems stecken. Aber auch für den Anwender hat dies einen Vorteil. Wenn ich morgen, aus welchem Grund auch immer, das BVASystem nicht mehr weiterentwickeln würde, dann könnte der Anwender weiterhin mit Service-Programmen, die mit dem Server ausgeliefert werden, auf seine Daten zugreifen und sie in eine Struktur überführen, die andere Programme lesen können.
Als nachteilig empfinde ich es, das die Bilder, die ich in der Datenbank gespeichert habe, nicht so ohne weiteres Bearbeiten kann. Wenn ich von mehreren Rechnern auf die Bilder zugreifen will, so muss ich diese direkt in der Datenbank abspeichern. Zur Bearbeitung muss ich die Bilder also erst aus der Datenbank extrahieren und anschließend wieder neu abspeichern. Um diesen Nachteil auszugleichen, hatte ich damals vor, das BVASystem mit Bildbearbeitungsfunktionen auszustatten. Mittlerweile bin ich davon aber weg gekommen, da dies den Rahmen eines Hobbyprojektes bei weitem sprengen würde.
Ähnliche Artikel:
Tags: Bilddatenbank, BVASystem, MySQL