Ich habe es in anderen Beiträgen schon angekündigt - hier meine ersten Erfahrungen mit den freien IBM „TCP/IP Socket Client APIs“ von hier: http://www-03.ibm.com/servers/eserve...cktclient.html

Es gibt viele Fälle, wo der Einsatz von DataQueues ideal ist - inbesondere wenn die Kommunikationsdaten nicht verloren gehen sollen. Aber die DataQueues werden dann kompliziert, wenn es viele verschiedene Clients gibt, welchen geantwortet werden soll. Dann braucht man entweder eine andere Art von Antwort (Datenbank, File) oder pro Client eine eigene Antwort-Dataqueue und am besten noch ein Session-Managment um Leichen in den Anwort-DataQueue’s zu erkennen.

Daher habe mich entschlossen meine Anfragen von 5250-Onlinejobs (Volltextsuche der eigenen Artikel, Katalog-DB, Lieferantenartikel, Speditionsabfragen (http), WebServiceanfragen...) mit Sockets (zu einem Javaserverjob) abzuwickeln.

Erfreulicherweise musste ich meine C-Kenntnisse nicht auffrischen - es steht eine ganz brauchbare Middle(Free)ware von IBM zur Verfügung.

Die Freeware von IBM ist einfach noch eine Schicht zwischen den System-API’s und der Applikation. Die Funktionen stehen als OPM- oder ILE-Module zur Verfügung.

Im Open wird die gewünsche Zielcodepage angegeben - damit ist die EBCDIC/ASCII-Umwandlung auch schon erledigt!

Für die Kommunikation gibt es Send und Receive bzw. Receive mit Waittime. Wenn man zeilenorientiert arbeitet, ähnelt das Arbeiten sehr stark den DataQueues.

Meine bisherigen Tests verliefen gut. Man bekommt sofort eine Fehlernummer, wenn der Server nicht erreichbar ist. Somit kann ich schnell z.B. auf einen anderen Server wechseln. Auch die Waittime beim Empfangen tut so wie sie soll (allerdings geht die Warterei nach dem ersten empfangenen Byte auf endlos). Ich habe bisher noch keinen Hänger provozieren können.

Derzeit teste ich mit 3 Serverdiensten (in Java geschrieben) - Anfragen werden abwechselend an 2 Linuxserver gestellt, die AS/400 ist nur das Backup, wenn beide Linuxserver nicht erreichbar sind.

Wobei die 1000CPW-Maschine die RAM-Datenbank (H2) auch locker wegsteckt, JDBC-Zugriffe auf fremde Datenbanken, sowie HTTP-Zugriff sind sowie recht harmlos - ich habe da allerdings (noch) keine großen Mengen.

Robert P.