5

I've got a big problem with IBM HACL for accessing a server which speaks 3270 protocol. The library keeps crashing, and our JNI wrapper is actually a bug-fixing layer for the poorly-implemented and poorly-documented library (and I suspect we have introduced new bugs with it too). Moreover, in our company, everybody knows Java, and could maintain the software if we didn't have the JNI-Layer and the IBM class library.

We have to use the C++ class library, because the IBM Java library is unusable: we get every non-printable character translated, and we lose all control characters along the way.

Now the question is: can we ditch this library and implement our solution in Java completely (we'd like to avoid using another library from another vendor)? Is the protocol well documented? Is the implementation of 3270-over-ssl really so complex?

Thanks.

G B
  • 2,853
  • 2
  • 26
  • 47
  • 1
    If it's anything like the 5250 data stream, you are standing at the door of hell, looking into the abyss. – Lawrence Dol Mar 04 '10 at 07:46
  • You might consider an evaluation version of commercially available terminal emulation software - e.g. http://www.attachmate.com/Products/Terminal+Emulation/Reflection/ribm/tech-specs.htm (I don't have any connection to that vendor other than my company uses a different version of their product) – barrowc Mar 05 '10 at 02:49

5 Answers5

1

http://tools.ietf.org/html/rfc1041

so i guess its documented (assuming i hit the right doc) couldnt find a java implementation though, you'd need to code it over telnet, or maybe SSH

radai
  • 22,610
  • 8
  • 59
  • 108
  • Ok, at least I have a starting point. Decoding the data stream could be fun (well, more than fixing memory leaks in JNI code I didn't write). – G B Mar 08 '10 at 09:04
  • this seems to be a lot more comprehensive : http://www-05.ibm.com/e-business/linkweb/publications/servlet/pbi.wss?CTY=US&FNC=SRX&PBL=GA23-0059-07 unfortunately its not free .... – radai Mar 10 '10 at 07:09
1

I am unfamiliar with the differences between 3270 and 5250 data streams, but there is a 5250 implementation in Java in the tn5250j project available from http://tn5250j.sourceforge.net/

It might be usable for you?

(also there is a 3270 screen scraping project at http://freehost3270.sourceforge.net/ but it appears to be abandoned).

Thorbjørn Ravn Andersen
  • 68,906
  • 28
  • 171
  • 323
1

freehost3270 doesn't look as abandoned as it might appear - CVS has changes from 2 years ago. There is always an arguement that good code won't need to be changed that often in any case if the requirements have not altered. There have been complimentary comments wrt to the codebase. If you don't particularly want to work with other vendors products then working with this code/project seems to be your best option.

Andrew
  • 11
  • 1
1

Freehost is not good code. Do not even bother trying it. There is a reason that it seems dead. JIN TN3270 is better but is incomplete. Ideally you want to find the API that your company's Emulator software uses. I am still searching for one for ours.

DDD
  • 11
  • 1
  • I understand what you're saying, but I don't completely agree. We used FreeHost as the core of a JRuby gem that allowed us to do automation testing in much the same way as Selenium-Webdriver is used for web sites. Freehost isn't perfect, and we had to make a few tweaks to it to make sure it worked everywhere, however compared to starting from scratch, I'd say FreeHost is an okay starting point. I don't have any experience with JIN TN3270, maybe it's better, but FreeHost isn't complete garbage, it's just incomplete. – Calphool Jul 09 '15 at 20:54
0

Another option would be h3270. It is a Java front-end to the x3270 suite of tools.

drmirror
  • 3,550
  • 24
  • 26
  • Thanks, but this wouldn't solve my problem. We don't need screen scraping, but really low-level access to the 3270 protocol stream, because some data span across multiple screens, and we can't rely on the "screen update" event. Anyway, I'm working on something different now, and I don't know if the old project is still alive, nor who's working on it now. – G B Apr 02 '13 at 09:03