2008-10-01 19 views
8

Mam aplikację WWW LAMP (PHP), która musi współpracować z programami na komputerze mainframe IBM 3270 (za pośrednictwem serwera Microsoft SNA Server). Jednym z rozwiązań, na które patrzę, jest skrobanie ekranu przez 3270. (Integruję teraźniejszość z przeszłością!)Jak wykonać skanowanie ekranu przez 3270 z opartej na systemie Linux aplikacji internetowej

Wiele lat temu napisałem kod C, który posłużył się HLLAPI jako podstawą takiego zadania.

  1. Czy HLLAPI jest nadal najlepszym sposobem na podchodzenie do tego zadania?
  2. Jeśli tak, to najlepiej byłoby napisać aplikację C, aby wykonać niezbędną pracę i exec() to aplikacja C ze strony php?
  3. Czy istnieją dostawcy Open Source HLLAPI dla systemu Linux? (W przeszłości używałem komercyjnych rozwiązań, takich jak Cleo.)
+0

Wiem, że to stary wątek, ale czy znalazłeś coś dla siebie? –

Odpowiedz

5

Nie używałem go, ale może patrzeć na http://x3270.bgp.nu/ który mówi posiada wersję:

s3270 jest wersja displayless za ekranem skrobaniu pisanie skryptów

+0

Dziękuję, dałeś mi nadzieję, że mogę naprawić obecny bałagan, który odziedziczyłem. http://stackoverflow.com/questions/214836/whats-the-most-unsound-program-youve-had-to-maintain#430757 –

+0

Jesteś jak Anioł przychodzący prosto z nieba, aby mi pomóc, kiedy byłem po prostu się poddać. Dziękuję Ci! –

0

Chociaż nie mam doświadczenia z 3270, oczekiwałbym, że znalezienie i wywołanie zewnętrznej aplikacji lub biblioteki jest najlepszym rozwiązaniem. PHP nie jest narzędziem uniwersalnym, włamywanie się do protokołów komunikacji spoza sieci najlepiej pozostawić takim językom jak C lub Java, które mogą sobie z tym poradzić.

0

ekranu skrobanie 3270 zgłoszeń całkowicie poprawny sposób uzyskiwania danych. Wiele z tych aplikacji nie zmieniło się od lat lub w niektórych przypadkach od dziesięcioleci. Czasami po prostu nie ma API ani innego programowego sposobu uzyskania niezbędnych danych.

1

Obecnie próbuję zrobić coś podobnego, ale z wiersza poleceń w języku Python. Otwieram potok do s3270 (w systemie Windows nazwa exe to ws3270), aby połączyć się z serwerem i wysłać wszystkie polecenia.

Przeczytaj uważnie te część dokumentacji dla skryptów:

http://x3270.bgp.nu/wc3270-man.html#Actions

http://x3270.bgp.nu/x3270-script.html#Script-Specific-Actions

+0

Czy byłbyś skłonny opublikować swój skrypt Pythona lub jego części? Pracuję nad tym samym i byłoby to prawdopodobnie pomocne, aby zobaczyć, jak zrobił to ktoś inny. –

+0

@RandySyring Niestety był to projekt w poprzedniej firmie i nie mam już dostępu do tego kodu :( –

0

Nighthawk: Zawsze mogą nauczyć CORBA, że potworność systemu został zaprojektowany, aby umożliwić programy C rozmawiać zdalnego Systemy COBOL lub przypadkowe rzeczy napisane w PL/I lub czymś podobnym.

Ale poważnie, jeśli stara aplikacja nie ma interfejsu API, skrobanie ekranu 3270 jest w porządku. Istnieje wiele podobieństw między 3270 ekranami i formularzami HTML (w przeciwieństwie do terminali trybu znakowego).