[linux-l] Re: Bridge again

Volker Grabsch vog at notjusthosting.com
So Okt 2 01:18:11 CEST 2005


On Mon, Sep 26, 2005 at 10:52:16PM +0200, Oliver Bandel wrote:
> On Mon, Sep 26, 2005 at 05:49:32PM +0200, Volker Grabsch wrote:
> [...]
> > Ein wesentliches Teilproblem ist folgendes: Ich habe eine Hierarchie von
> > "Typen", womit ich Mengen von Operationen auf gleichartigen Objekten
> > bezeichne. Diese Typen bilden eine Klassenhierarchie, d.h. man kann
> > sie aufeinander zurückführen. Als ganz blödes Beispiel steht dort, wie
> > man einen Integer nachbaut, wenn man nur Strings gegeben hat. (indem
> > man unicode() bzw. int() beim Setzen bzw. Auslesen aufruft)  ..
> > natürlich sind diese "Fallbacks" i.A. komplizierter. Das "Backend" kann
> > sich dann aussuchen, welche Typen (und deren Menge von Operationen),
> > also kurz: welche Klassen es implementieren will. Dies steht u.U.
> > erst zur Laufzeit fest.  Das Programm bekommt z.B. eine
> > Netzwerk-Verbindung von einem Client, der nur Strings und keine Integers
> > unterstützt. Also nutzt es deren Strings direkt, und für Integers nimmt
> > er sein Fallback (also die Konvertierungen). Wenn das Backend Integers
> > kennt, wird das natürlich direkt genommen.
> 
> Ehrlich gesagt verstehe ich das Problem nicht.
> 
> Was soll es denn bedeuten, daß ein Clients keine Integers "versteht" und nur Strings?
> 
> Wer macht welche Fallbacklösung und welches Problem wird damit umgangen?

Der Server kennt die Fallbacks, und konvertiert immer, bevor er mit dem
Client redet.

> Wie macht man einen Blinden sehend? Indem man die Ohren genauer benutzt?

Sozusagen. Oder indem man ihn den Gegenstand betasten lässt. Ist aber
nen schlechter Vergleich, IMHO.

> Wenn eine Seite Int durch Strings emuliert, aber die andere eh nix versteht,
> was soll das dann?

Ganz einfach: Der Client kann mit dem Server reden, *obwohl* er nichts
versteht. Bei mir geht es in der Tat darum, dass der Client universell
gehalten werden kann, sodass er den Server nur teilweise verstehen
braucht, und dennoch können sie ordentlich miteinander kommunizieren.

Wenn der Client z.B. nen Webinterface ist, das eh nur String-Eingabefelder
kennt, dann kann doch die Konvertierung im Server erfolgen. Der Client
braucht nichtmal zu wissen, dass es sowas wie Integers überhaupt gibt.
Der Client sagt dem Server einfach: "Ich kenne nur Strings", und dann
stellt sich der Server darauf ein.

Dieses Konzept wird aber natürlich erst dann sinnvoll und mächtig, wenn
es auch auf Strukturen, Listen und Referenzen angewendet wird.

> Bezüglich Datenübertragung im Netz kannste Dir übrigens
> mal XDR anschauen.
> 
> Vielleicht erschlägt das Deine Probleme ja.

Nö, das nun beiweitem nicht. Aber es ist ein guter Baustein. Nur mal
so: Wird XDR eigentlich intern bei XML-RPC benutzt?

Jedenfalls danke für den Tipp!


Viele Grüße,

	Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l