Ich habe eine LAMP (PHP) -Web-App, die mit Programmen auf einem IBM 3270 Mainframe (über Microsoft SNA Server) verbunden werden muss. Eine Lösung, die ich sehe, ist Screen-Scraping über 3270. (Ich integriere die Gegenwart mit der Vergangenheit!)
Vor vielen Jahren schrieb ich C-Code, der HLLAPI als Grundlage für eine solche Aufgabe verwendete.
Ich versuche gerade, eine ähnliche Sache zu machen, aber mit einem Kommandozeilen-Python-Skript. Ich öffne eine Pipe zum s3270 (unter Windows ist der exe Name ws3270), um eine Verbindung zum Server herzustellen und alle Befehle zu senden.
Lesen Sie sorgfältig den Teil der Dokumentation für das Skripting:
Obwohl ich keine Erfahrung mit 3270 habe, würde ich erwarten, dass das Finden und Anrufen einer externen Anwendung oder Bibliothek die beste Wahl ist. PHP ist kein Allzweck-Tool, das Einbinden in Nicht-Web-Kommunikationsprotokolle ist am besten bei Sprachen wie C oder Java, die damit gut umgehen können.
Screen scraping 3270-Anwendungen sind eine absolut gültige Methode, um Daten abzurufen. Viele dieser Anwendungen haben sich seit Jahren oder in einigen Fällen nicht verändert. Manchmal gibt es einfach keine API oder andere programmatische Möglichkeit, um die notwendigen Daten zu bekommen.
Nighthawk: Man konnte immer CORBA lernen, dieses Monstrum eines Systems wurde entwickelt, um C-Programme mit entfernten COBOL-Systemen oder zufälligem Zeug, das in PL / I geschrieben wurde, oder so etwas zu kommunizieren.
Aber im Ernst, wenn die alte App keine API hat, ist 3270 Screen Scraping in Ordnung. Es gibt viele Ähnlichkeiten zwischen 3270-Bildschirmen und HTML-Formularen (im Gegensatz zu Zeichenmodus-Terminals).