Come 3270 screen-scrape da un'app Web basata su Linux [chiuso]
Domanda
Ho un'app Web LAMP (PHP) che deve interfacciarsi con i programmi su un mainframe IBM 3270 (tramite Microsoft SNA Server). Una soluzione che sto guardando è lo screen scraping via 3270. (Sto integrando il presente con il passato!)
Molti anni fa, ho scritto codice C che utilizzava HLLAPI come base per tale compito.
- HLLAPI è ancora il modo migliore per affrontare questo compito?
- In tal caso, sarebbe meglio scrivere semplicemente un'app C per intraprendere il lavoro necessario ed eseguire () questa app C da php?
- Esistono provider HLLAPI open source per Linux? (In passato ho usato soluzioni commerciali come Cleo.)
Soluzione
Non l'ho usato ma forse guardo http://x3270.bgp.nu/ che dice che ha una versione:
s3270 è una versione senza display per scrivere script di screen-scraping
Altri suggerimenti
Attualmente sto provando a fare una cosa simile ma con uno script Python da riga di comando. Apro una pipe per s3270 (su Windows il nome exe è ws3270) per connettermi al server e inviare tutti i comandi.
Leggi attentamente quelle parti della documentazione per lo scripting:
http://x3270.bgp.nu/wc3270-man.html#Actions
http://x3270.bgp.nu/x3270-script .html # script-specifici per azioni
Anche se non ho esperienza con 3270, mi aspetto che trovare e chiamare un'applicazione o una libreria esterna sia la soluzione migliore. PHP non è uno strumento per tutti gli usi, l'hacking in protocolli di comunicazione non web è meglio lasciare a linguaggi come C o Java in grado di gestirlo bene.
Le applicazioni 3270 di raschiatura dello schermo sono un modo perfettamente valido per ottenere dati. Molte di queste applicazioni non sono cambiate per anni o decenni in alcuni casi. A volte non esiste semplicemente alcuna API o altro modo programmatico per ottenere i dati necessari.
Nighthawk: puoi sempre imparare CORBA, che la mostruosità di un sistema è stata progettata per consentire ai programmi C di parlare con sistemi COBOL remoti o cose casuali scritte in PL / I o qualcosa del genere.
Ma seriamente, se la vecchia app non ha API, la raschiatura dello schermo 3270 va bene. Ci sono molte somiglianze tra 3270 schermate e moduli HTML (a differenza dei terminali in modalità carattere).