Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Server, Client Beziehung richtig aufbauen (https://www.delphipraxis.net/148915-server-client-beziehung-richtig-aufbauen.html)

Jens Hartmann 10. Mär 2010 20:10


Server, Client Beziehung richtig aufbauen
 
Guten Abend zusammen,

ich habe mal wieder eine Frage. Ich bin zur Zeit am prüfen, ob es eine einfach Lösung gibt, mein Programm sauber Netzwerkfähig zu gestalten. Allerdings denke ich. das ich dich frühere Fehler, damit recht schnell in eine nicht sauber Lösung komme.

Mein Programm ist zur Zeit ein reines Einplatzsystem. Durch die Datenbankanbindung (Firebird) habe ich es mittlerweile aus Spaß mal so realisiert, das ich es auch auf einem anderen Rechner laufen lassen kann, und auf die Datenbank des anderen Rechners zugreife.

Mein großes Ziel ist es allerdings jetzt, das ganze sauber und richtig Netzwerkfähig zu gestalten. Ich habe in einem früheren Thread von mir zwar schon mal darauf Aufmerksam gemacht, das ich die einzelnen Datenbanken aus Sicherheitsgründen auf dem jeweiligen Einzelplatzrechner belassen möchte, allerdings würde mich mal interesieren, wie ich es hinbekommen kann, von einem Zentralen Rechner aus, sauber auf jede Datenbank zuzugreifen, ohne eine neue Anwedung zu schreiben.

Oder macht es Sinn, diese Anwendung genau aus diesem Grund neu zu Programmieren.

Der Funktion die ich realisieren möchte, ist eigendlich das einsehen und vergleichen von Daten von verschiedenen Systemen. Es gibt verschiedene Kunden, die mehrer Objekte besitzen, und die Daten von diesen gerne vergleichen würden.

Momentan mache ich es zum testen so, das ich an den externen Rechnern die IP des jeweiligen Objektrechers eintrage, und somit die Daten von diesem Rechner einsehen kann. Das alles mit der selben Anwendung.

Jetzt wäre halt die Frage, wie man es normalerweise realisieren würde. Gewisse Funktionen sollen nur von den Objektrechnern ausgeführt werden können, und andere nur von den Client Rechnern. Das heißt, der Softwarepflege zur liebe, wäre eine Anwendung natürlich besser, sonst müsste ich ja bei Erweiterungen immer 2 Anwendungen pflegen.

Ein weitere gedanke, wäre die gesamte Struktur zu ändern. Das würde gedanklich zumindestens bedeuten, das ich mir so ein Art Dienst schreiben würde, mit dem die Daten der Objekt gesammelt würden und eine Anwendung, mit der ich auf diesen zugreifen kann um die Daten einzusehen. Von der Logik gesehen, glaube ich das es die beste Lösung wäre. Damit würde ich erreichen, das ich auf dem Rechner, wo Daten produziert werden, diesen Dienst und die Anwendung installieren müsste, und an Rechnern, wo ich nur auf die Daten zugreifen will, nur die Anwendung.

Somit, müsste ich den Dienst nur anpassen, wenn sich was an der Hardware oder Schnittstelle ändern würde, und die Anwendung, wenn ich irgendwelche Abfragen oder Funktionen ändern würde.

Ich hoffe das irgendwie rüber gekommen ist, was ich will. :gruebel:

Danke schon mal für Eure Anregungen :thumb:

Gruß Jens

Blup 11. Mär 2010 12:23

Re: Server, Client Beziehung richtig aufbauen
 
Hallo,
die optimale Lösung liegt irgendwo zwischen Aufwand und Nutzen.
Ich könnte mir das auch so vorstellen:

Dienst auf Clients
erfasst die Daten (notfalls zwischenspeichern) und sendet diese an einen zentralen Webservice zur Verarbeitung

Webservice
Schnittstellen die Daten der Dienste entgegen nehmen.
Schnittstellen die Funktionen und Daten für die Anwendungen bereitstellen.
(Schnittstellen werden in späteren Programmversionen nicht geändert, es kommen neue hinzu und eventuell entfallen alte)

Dahinter zentrale Datenbank
mit Mandanten, Benutzern, Rechteverwaltung, autom. Datensicherung usw.

Webbasierende Benutzeroberfläche
die keine extra Installation der Anwendersoftware auf den Clients erfordert und auf den Schnittstellen des Webservice basiert.
(ich würd mir Silverlight mal anschaun)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz