[Allegro] Altes von Janas

Thomas Berger ThB at Gymel.com
Fr Okt 7 11:51:15 CEST 2011


Lieber Herr Eger,

> Unter http://support.microsoft.com/kb/95900 findet man diese schöne Aufstellung:
> 
> IPC Mechanism   Win2000  WinNT  Win9x   Win32s(1)  Win16(2)  MS-DOS(2)  POSIX  OS/2
>    -------------  -----  -----  ------  --------   --------  --------   -----  -----
> 
>              DDE  YES     YES    YES      YES        YES       NO        NO     NO
>          OLE 1.0  YES     YES    YES      YES        YES       NO        NO     NO
>          OLE 2.0  YES     YES    YES      YES        YES       NO        NO     NO
>          NetBIOS  YES     YES    YES      YES        YES       YES       NO     YES
>      Named pipes  YES     YES    YES(3)   YES(3)     YES(3)    YES(3)    YES(4) YES
>  Windows sockets  YES(5)  YES(5) YES      YES        YES(5)    NO        NO(6)  NO
>        Mailslots  YES     YES    YES      YES(3)     NO        NO        NO     YES
>       Semaphores  YES     YES    YES      NO         NO        NO        YES    YES
>              RPC  YES     YES    YES(7)   YES(8)     YES       YES       NO     NO
>  Mem-Mapped File  YES     YES    YES      YES        NO        NO        NO     NO
>      WM_COPYDATA  YES     YES    YES      YES(9)     YES       NO        NO     NO
> 				
> Da müßte doch etwas für a99-JanaS verwendbares dabei sein ;-)

z.B. anonyme Pipes, denn named Pipes koennen m.E. nur vom Administrator
aufgesetzt werden...


> Z.B. könnte eine Named Pipe nebenbei dazu dienen, genau eine a99-Instanz mit 
> genau einem JanaS-Prozess zu verheiraten. 'janas 0' wäre dann die Scheidung, 
> eingereicht durch a99.
> 
> Um das weiter zu spinnen: Wenn JanaS "an" ist, könnten ja write-Ausgaben direkt 
> in die pipe zu Janas umgeleitet werden - und als flex:-Request-Anwort ankommen.
> 
> Wenn das ginge, hätte man das Paradies in JanaS ;-)

Am besten waere wohl ein Janas, das etwas mit allegro zu tun hat:
Laengere Aktionen haetten dann Fortschrittsanzeigen und die
scriptbare Ablauflogik in Janas haette quasi direkten Zugriff
auf die Datenbank. In die Richtung ging das ActiveX-Plugin, das
Herr Hoeppner vor 10 Jahren einmal vorgeschlagen und versuchsweise
implementiert hatte (ich weiss jetzt nicht, ob das wirklich direkt
zugriff oder ueber a99 als Mittler, das ist dann aber egal, wenn
die vom Plugin bereitgestellten Methoden stimmen).

Am zweitbesten waere, wenn Janas ueberhaupt nichts mit allegro
zu tun haette: a99 haette einen eingebauten (single-threaded)
HTTP-Server und koennte einfache Dateien ausliefern sowie das
Ausfuehren von Flexen veranlassen. Das ist insofern aehnlich
der alten "Ruckzuck"-Methodik von 2001, als a99 erforderlich
ist, kommt aber ohne separaten Webserver und das als cgi.exe
verbraemte exflex.exe aus. Die eingebaute http-Library sollte
dabei auch den wuenschenswerten Nebeneffekt haben, dass
Escaping und Konstruktion von HTTP-Headern nicht den Flex-
Dateien ueberlassen wird. Mit allegro-OpenSource sollte es
lizenztechnisch moeglich sein, sich staerker als vorher an
existierenden Loesungen zu bedienen, also als Komponenten *in*
allegro-Modulen zu verbauen.
Warum das a99 sein sollte, weiss ich uebrigens gar nicht, vgl.
meine Auesserungen neulich, dass man avanti eigentlich nicht
mehr braucht, wenn acon einen HTTP-Server eingebaut haette
(o.k., fuer echtes Client/Server brauchen wir etwas asynchrones
oder multithreadiges, fuer Janas koennte das aber auch nicht
schaden, wenn vom Nachbarbuero oder Handy aus ohne lokal
installierte Allegro-Module aus katalogisiert werden kann).

Vom derzeitigen Janas ist wie beim derzeitigen avanti eigentlich
gar nicht klar, was es denn wirklich tut und ob nicht das, was
es tut, den Weg fuer vernuenftige Loesungen blockiert:
1. Es kann ein Signal vom "zugehoerigen" a99 empfangen und laedt
   daraufhin "seine" HTML-Datei neu (bzw. ueber eine Pointer-
   Datei ist das etwas indirekter und damit flexibler geregelt)
2. Es kann gewisse URLs ("flex:" statt "javascript:" oder "http:")
   behandeln und schreibt die zugehoerigen Daten aus GET- oder
   POST-Requests in eine Datei, dabei wird alles noch mit einigen,
   oft wenig hilfreichen Flex-Kommandos garniert, und signalisiert
   dann dem "zugehoerigen" a99, diese Datei nach der Exflex-Methode
   zu aktivieren.
D.h. hier wird clientseitig dafuer gesorgt, die Kommunikation
von etablierten Mechanismen (HTTP ueber TCP/IP) auf "flex ueber
on-the-fly geschriebenen Dateien plus Windows-Interne Wecksignale"
umzubiegen, ich halte das fuer keinen besonders tragfaehigen
Ansatz.

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro