-
Die
vorliegende Erfindung betrifft ein Wägesystem mit einer Client-Server-Architektur, bei
dem die Server dazu ausgelegt sind, einem Client auf Anfrage Dienste
bereitzustellen.
-
Eine
Client-Server-Architektur ist grundsätzlich bekannt. Ein Server
ist ein Software-Modul, das einen Dienst anbietet. Ein anderes Software-Modul, der Client,
beispielsweise eine Benutzerschnittstelle, kann diesen Dienst anfordern.
Clients und Server können
auf verschiedenen Geräten
oder auf demselben Gerät
laufen.
-
Damit
ein Client auf einen Dienst zugreifen kann, müssen dem Client die Verbindungsdaten
des entsprechenden Dienstes, beispielsweise dessen Adresse, bekannt
sein. Kommt zu einer existierenden Client-Server-Architektur ein neuer Dienst hinzu, müssen jedem
Client die Verbindungsdaten des neuen Dienstes mitgeteilt werden.
Dies ist jedoch umständlich.
-
Aufgabe
der vorliegenden Erfindung ist es, ein Wägesystem der eingangs genannten
Art zu schaffen, beispielsweise eine Ladenwaage oder einen Geräteverbund
mit einer Ladenwaage und weiteren Geräten wie Anzeigeterminals, Kassensysteme, Druckersysteme
und/oder Hardware-Server, das den vorstehend erläuterten Nachteil vermeidet.
-
Diese
Aufgabe wird durch ein Wägesystem mit
den Merkmalen des Anspruchs 1 gelöst und insbesondere dadurch,
dass ein Client-Server- Kommunikationsvermittler
vorgesehen ist, bei dem die Dienste registriert sind und der dazu
ausgelegt ist, einen von dem Client angefragten Dienst zu vermitteln.
-
Alle
vorhandenen Dienste sind bei dem Client-Server-Kommunikationsvermittler
registriert. Ein Client, der auf die Dienste zugreifen möchte, muss die
Verbindungsdaten der Dienste daher nicht kennen. Vielmehr braucht
der Client lediglich eine Anfrage für einen jeweiligen Dienst an
den Client-Server-Kommunikationsvermittler zu senden, dem die Verbindungsdaten
der Dienste bekannt sind und der den jeweiligen angefragten Dienst
dann vermittelt. Sofern nachträglich
ein neuer Dienst hinzukommt, beispielsweise durch Installation eines
neuen Software-Moduls, muss dieser lediglich bei dem Client-Server-Kommunikationsvermittler
registriert werden. Den Clients müssen die Verbindungsdaten des neuen
Dienstes jedoch nicht mitgeteilt werden.
-
Die
auf dem Wägesystem
implementierte Software ist daher unbeeinflusst von Dienste-Änderungen,
die vor allem bei verteilten Systemen häufig auftreten können. Insbesondere
können
im Laufe der Zeit zusätzliche
Software-Module oder zusätzliche Hardware
mit neuen Funktionalitäten,
beispielsweise einer Benutzererkennung, hinzugefügt werden. Insgesamt kann eine
bessere Wartbarkeit und einfachere Erweiterbarkeit eines Wägesystems
erreicht werden.
-
Grundsätzlich ist
es möglich,
dass der Client eine Anfrage an den Client-Server-Kommunikationsvermittler sendet,
der den den angefragten Dienst anbietenden Server ermittelt und
die Anfrage an den ermittelten Server weiterleitet, der dem Client-Server-Kommunikationsvermittler
den angefragten Dienst bereitstellt, der den Dienst dann an den
anfragenden Client weiterleitet. Bevorzugt ist der Client-Server-Kommunikationsvermittler jedoch
dazu ausgelegt, den den angefragten Dienst anbietenden Server zu
ermitteln und dem Client den ermittelten Server mitzuteilen, wobei
die Erbringung des angefragten Dienstes direkt zwischen dem Client
und dem ermittelten Server erfolgt. Hierdurch kann der Aufwand auf
Seiten des Client-Server-Kommunikationsvermittlers verringert werden,
da dieser nur zu Beginn zum Einsatz kommt und an der Kommunikation zwischen
Client und Server ansonsten nicht weiter beteiligt ist.
-
Nach
einer Ausbildung der Erfindung erfolgt die Erbringung des angefragten
Dienstes nach dem Publisher-Subscriber-Modell. In diesem Fall abonniert
der Client (= Subscriber) bei dem Server (= Publisher) die dem angefragten
Dienst entsprechenden Daten, welche dem Client dann automatisch,
insbesondere in regelmäßigen Abständen oder
sobald neue oder aktualisierte Daten beim Server zur Verfügung stehen, übermittelt
werden. Der Client muss dann nicht ständig beim Server anfragen,
ob neue oder aktualisierte Daten vorhanden sind.
-
Zum
Starten der Dienste kann ein mit dem Client-Server-Kommunikationsvermittler
in Kommunikationsverbindung stehender Dienste-Manager vorgesehen
sein, der eine Autostart-Liste mit beim Systemstart des Wägesystems
zu startenden Diensten aufweist. Darüber hinaus kann der Dienste-Manager
eine weitere Liste aufweisen, in der nur oder auch erst auf Anfrage
des Client-Server-Kommunikationsvermittlers zu startende Dienste
eingetragen sind. Es müssen
also nicht alle verfügbaren
Dienste unmittelbar beim Systemstart gestartet werden. Der Dienste-Manager
kann auch ein dynamisches Starten von Diensten auf Anfrage erlauben.
Beim Systemstart nicht gestartete Dienste können daher auch später noch
auf einfache Weise der Client-Server-Architektur hinzugefügt werden.
Bevorzugt ist der Dienste-Manager dazu ausgelegt, jedem gestarteten Dienst
die Verbindungsdaten des Client-Server-Kommunikationsvermitt lers
mitzuteilen, so dass sich die gestarteten Dienste jeweils beim Client-Server-Kommunikationsvermittler
registrieren können,
der den gestarteten Diensten dann deren Verbindungsdaten zuweist.
Insbesondere können
mittels des Dienste-Managers nicht benötigte oder nicht mehr benötigte Dienste
auch beendet werden. Das Beenden der nicht benötigten Dienste bringt Vorteile
bei der Auslegung der Hardware. Die Hardwareressourcen können so
mit geringerer Performance ausgelegt werden, also insbesondere kostengünstiger
bemessen werden, da zu einem bestimmen Zeitpunkt nicht immer alle
Dienste aktiv sein müssen.
-
Insbesondere
erfolgt bei Installation eines hinzukommenden Dienstes eine Eintragung
des hinzukommenden Dienstes in den Dienste-Manager.
-
Nach
einer anderen Ausbildung der Erfindung sind eichpflichtige Server
und nicht-eichpflichtige Server über
rückwirkungsfreie
Software-Schnittstellen miteinander gekoppelt, um die von den eichpflichtigen
Servern erbrachten Dienste, beispielsweise Gewichtsanzeige oder
Preisberechnung, zu schützen.
Die rückwirkungsfreien
Software-Schnittstellen sind Bestandteil der eichpflichtigen Server und
beispielsweise jeweils als Filter ausgebildet, der eine Datenkontrolle
vornimmt, indem z. B. die Plausibilität, die Herkunft oder die Prüfsumme der
Daten ausgewertet wird. So kann eine sichere Client-Server Architektur
geschaffen werden, bei der verfälschte Daten
oder manipulierte Daten keine negative Auswirkung auf die Funktion
der Client-Server Architektur haben. Auf diese Art und Weise können insbesondere
verschiedenste Zertifizierungsvoraussetzungen erfüllt werden,
die an die Sicherheit von Waagen gestellt werden.
-
Bevorzugt
sind die einem von einem eichpflichtigen Server erbrachten Dienst
entsprechenden Daten mit einer Verschlüsselung oder einer ID, beispielsweise
einem Hash-Code, versehen sind. Hierdurch kann erreicht werden,
dass eichpflichtige Daten nur zwischen von einer zuständigen Stelle
zugelassenen Servern ausgetauscht werden. Daten, die von einem nicht-zugelassenen
Server an einen zugelassenen Server gesendet werden, werden dort
nicht akzeptiert. Daten, die von einem zugelassenen Server an einen
nicht-zugelassenen Server gesendet werden, verlieren ihren Status
als eichpflichtige Daten. Insbesondere werden von den Servern nur
solche Daten akzeptiert, deren ID in einem Speicher abgelegt und
somit dem empfangenden Server bekannt ist.
-
Nach
einer weiteren Ausbildung der Erfindung ist das Wägesystem
als verteiltes Wägesystem und/oder
als Wägeverbund
ausgebildet. In diesem Fall können
mehrere oder alle Geräte
des verteilten Wägesystems
jeweils einen Client-Server-Kommunikationsvermittler aufweisen und
die Client-Server-Kommunikationsvermittler
in Kommunikationsverbindung miteinander stehen. Ein derartiges Wägesystem
kann beispielsweise aufwendige Waagen, einfache Waagen, Anzeigeterminals,
Kassensysteme, Druckersysteme und/oder Hardware-Server mit hoher
Rechenleistung umfassen. In einem derartigen Wägesystem können die einzelnen Dienste
auf die Geräte
verteilt sein. Insbesondere können
rechenintensive Dienste auf einem zentralen Hardware-Server laufen,
so dass die Terminals weniger Hardware benötigen. Ein Client eines Terminals,
beispielsweise eine Benutzerschnittstelle oder User Interface, kann dennoch
auf alle Dienste zugreifen und z. B. eine optische Bildauswertung
für eine
Benutzererkennung anfordern. Ein derartiges Wägesystem ermöglicht auch
ein Durchbedienen eines Kunden im Laden oder Supermarkt.
-
Ein
Wägesystem
umfasst zumindest eine Waage mit einer Wägezelle zum Erfassen des Gewichtes
von Wiegegut. Die Waage kann dabei ein Gehäuse mit einer integrierten
Wägezelle
und einer mit der Wägezelle
verbundenen Lastplatte aufweisen. Mit der Waage verbunden ist vorzugsweise
eine Eingabevorrichtung wie z. B. eine Tastatur oder ein Touchscreen
und eine Ausgabevorrichtung wie z. B. einen Drucker oder ein Bildschirm.
-
In
ein solches Wägesystem
können
eine Waage oder mehrere örtlich
verteilt angeordnete Waagen eingebunden sein, die ihrerseits Ein-
oder Ausgabevorrichtungen aufweisen und/oder auf in dem Wägesystem
verteilt angeordnete Eingabevorrichtungen oder Ausgabevorrichtungen
zugreifen. Zudem kann das Wägesystem
einen oder mehrere Server aufweisen, die lokal angeordnet und/oder räumlich weit
entfernt sind und z. B. als Remoteserver laufen. Zudem kann das
Wägesystem
weitere Komponenten umfassen, wie z. B. eine Registrierkasse und/oder
eine Audioausgabe zur Ausgabe von Audiodateien und/oder eine Sprachausgabe
zur sprachlichen Benutzer- und/oder Kundenführung. Ebenso kann das Wägesystem
eine Kommunikationsvorrichtung, vorzugsweise ein Modem, umfassen,
um mit anderen Datennetzen zu kommunizieren.
-
Die
vorliegende Erfindung betrifft ferner ein Verfahren zum Betrieb
eines Wägesystem
mit einer Client-Server-Architektur, bei dem die Server einem Client
auf Anfrage angebotene Dienste bereitzustellen, wobei die angebotene
Dienste bei einem Client-Server-Kommunikationsvermittler registriert
werden, der einen von dem Client angefragten Dienst vermittelt.
-
Weitere
bevorzugte Ausführungsformen
der Erfindung sind in den Unteransprüchen beschrieben.
-
Die
Erfindung wird im Folgenden beispielhaft unter Bezugnahme auf die
Zeichnung beschrieben. Es zeigen, jeweils in schematischer Darstellung,
-
1 die
Vermittlung eines Dienstes eines Servers an einen Client durch einen
Client-Server-Kommunikationsvermittler,
-
2 einen
Client-Server-Kommunikationsvermittler und einen Dienste-Manager
eines erfindungsgemäßen Wägesystems,
-
3 das
Zusammenwirken der Client-Server-Kommunikationsvermittler zweier
Geräte
eines Geräteverbunds,
-
4 eine
Anzeige eines erfindungsgemäßen Wägesystems,
und
-
5 ein
verteiltes Wägesystem
gemäß der Erfindung.
-
In 1 ist
eine Client-Server-Architektur eines Wägesystems mit einem Server 11,
einem Client 15 und einem Client-Server-Kommunikationsvermittler 13,
der im Folgenden als Broker bezeichnet wird, dargestellt. Beim Systemstart
des Wägesystems,
der in 2 noch näher
erläutert
wird, registriert sich der Server 11 mit dem von ihm angebotenen
Dienst beim Broker 13 (Schritt S1). Der Client 15,
der auf den angebotenen Dienst zugreifen möchte, wendet sich hierzu an
den Broker 13, um den angebotenen Dienst anzufragen (Schritt
S2). Der Client 15 erhält
daraufhin vom Broker 13 die Verbindungsdaten des den Dienst
anbietenden Servers 11 (Schritt S3). Der Client 15 kann
sich dann direkt mit dem den Dienst anbietenden Server 11 in
Verbindung setzen (Schritt S4), so dass die Erbringung des Dienstes
dann direkt von dem Server 11 an den Client 15 erfolgen
kann (Schritt S5).
-
Gemäß 2 wird
beim Systemstart des Wägesystems
der Broker 13 und ein Dienste-Manager 17 gestartet
(Schritt S6). Der Dienste-Manager 17 umfasst eine Autostart-Liste 19,
in der diejenigen Dienste eingetragen sind, die beim Systemstart
gestartet werden sollen. Darüber
hinaus umfasst der Dienste-Manager 17 eine weitere Liste 21,
in die neben den bereits beim Systemstart zu startenden Dienste
auch solche Dienste eingetragen sind, die erst auf konkrete Anforderung
des Brokers 13 hin (Schritt S7) gestartet werden sollen,
wobei eine Anforderung des Brokers 13 durch eine Anfrage
eines Clients 15 ausgelöst
wird (Schritt S8). Es können
Abhängigkeiten
zwischen den Diensten existieren. Beispielsweise kann es beim Start
eines Dienstes erforderlich sein, zusätzlich einen anderen Dienst
zu starten, oder es kann vorkommen, dass bestimmte Dienste nicht
gleichzeitig gestartet sein dürfen.
Wird auf dem Wägesystem
ein neuer Dienst installiert, wird der neue Dienst zumindest in
die weitere Liste 21 eingetragen. Der Dienste-Manager 17 teilt
den von ihm gestarteten Diensten die Verbindungsdaten des Brokers 13 mit,
so dass sich die gestarteten Dienste beim Broker 13 registrieren
können.
Der Broker 13 weist den gestarteten Diensten dann deren Verbindungsdaten
zu.
-
3 zeigt
ein verteiltes Wägesystem
mit zwei Geräten 23 und 25.
Auf dem Gerät 23 ist
ein Server 11a (Dienst 1), ein Broker 13a, ein
Client 15 und ein Dienste-Manager 17a installiert.
Auf dem Gerät 25 ist
ein Server 11b (Dienst 2), ein Broker 13b und
ein Dienste-Manager 17b installiert. Bei beiden Brokern 13a und 13b sind
die Dienste 1 und 2 registriert. Für Broker 13a handelt
es sich bei Dienst 1 um einen lokalen Dienst und bei Dienst 2 um
einen Remote-Dienst auf Gerät
2. Für
Broker 13b handelt es sich bei Dienst 1 um einen Remote-Dienst
auf Gerät 1
und bei Dienst 2 um einen lokalen Dienst. Zwischen den Brokern 13a und 13b werden
die Verbindungsdaten der Dienste 1 und 2 ausgetauscht. Fragt der Client 15 beim
Broker 13a den Dienst 2 an (Schritt S9), erhält er vom
Broker 13a die Verbindungsdaten zu Dienst 2 auf Gerät 25 (Schritt
S10) und kann sich dann direkt mit diesem in Verbindung setzen (Schritt S11).
-
In 4 ist
eine Anzeigeeinrichtung eines Wägesystems
in Form eines Displays 27 gezeigt, das in drei Felder eingeteilt
ist, wobei jedes Feld von einem eigenen, jeweils als Benutzerschnittstelle
ausgebildeten Client 15a, 15b, 15c angesteuert
wird. Der obere Teil des Displays 27 wird von dem Client 15c angesteuert,
der den Dienst eines Informations-Servers 11c in Anspruch
nimmt, um Information über verschiedene
Artikel und Grundpreise für
diese Artikel anzuzeigen.
-
Der
mittlere Teil des Displays 27 wird von einem Client 15b angesteuert,
der den Dienst eines Bedienverkauf-Servers 11b in Anspruch
nimmt, um Daten über
einen Bedienverkauf anzuzeigen, wobei die in dem mittleren Display
dargestellten Daten nach dem Publisher-Subscriber-Modell von dem
Server 11b an den Client 15b übermittelt werden. In einem Grundzustand
des Servers 11b ist die Anzeige auf dem mittleren Teil
des Displays 27 beispielsweise leer. Sobald der Server 11b in
einen Zustand „Artikelaufruf" übergeht, werden dem aufgerufenen
Artikel entsprechende Daten an den Client 15b übermittelt
und der mittlere Teil des Displays 27 zeigt den aufgerufenen
Artikel an. Wird durch Drücken
einer Registriertaste der aufgerufene Artikel dann registriert, übermittelt
der Server 11b automatisch entsprechende Daten an den Client 15b,
wodurch im mittleren Teil des Displays 27 dann beispielsweise
der Name des Bedieners des Wägesystems
angezeigt wird.
-
Der
untere Teil des Displays 27 wird von einem Client 15a angesteuert,
der den Dienst eines eichpflichtigen Server 11a in Anspruch
nimmt, um ein Gewicht, einen Grundpreis und einen berechneten Preis
für den
aufgerufenen Artikel anzuzeigen.
-
Die
Server 11a, 11b, 11c stehen dabei in Kommunikationsverbindung
miteinander. Beispielsweise kann der eichpflichtige Server 11a Grundprei se
an den Informationsserver 11c übermitteln. Außerdem kann
der Bedienverkauf-Server 11b dem eichpflichtigen Server 11a den
aufgerufenen Artikel übermitteln.
-
5 zeigt
einen Wägeverbund
mit einer Waage 29, einer weiteren Waage 31, einer
Kasse 33 und einem Hardware-Server 35. Die beiden
Waagen besitzen jeweils eine Anzeige-, Wäge- und Druckfunktionalität. Die Kasse 33 besitzt
eine Anzeige- und Druckfunktionalität. Der Hardware-Server 35 besitzt einen
großen
Speicher und eine Bonverwaltungsfunktionalität. Die Datenübertragung
zwischen den einzelnen Geräten 29, 31, 33, 35 kann
durch ein beliebiges Kommunikationsmedium erfolgen, z. B. ein offenes
Bussystem oder Internet oder Feldbus. Mit dem dargestellten Wägeverbund
kann ein Durchbedienen eines Kunden realisiert werden. Auf den Kundenbon
kann daher von jedem Terminal aus zugegriffen werden, d. h. der
Einkauf eines Kunden kann an jedem Terminal gestartet, fortgesetzt
und/oder abgeschlossen werden.
-
- 11
- Server
- 13
- Broker
- 15
- Client
- 17
- Dienste-Manager
- 19
- Autostart-Liste
- 21
- weitere
Liste
- 23
- Gerät
- 25
- Gerät
- 27
- Display
- 29
- Waage
- 31
- Waage
- 33
- Kasse
- 35
- Hardware-Server
- S1–S11
- Verfahrensschritte