用Java实现3270协议
我在使用 IBM HACL 访问使用 3270 协议的服务器时遇到了一个大问题。该库不断崩溃,而我们的 JNI 包装器实际上是一个错误修复层,针对实施不善且文档记录不充分的库(我怀疑我们也引入了新的错误)。而且,在我们公司,每个人都懂Java,如果没有JNI层和IBM类库,也可以维护软件。
我们必须使用 C++ 类库,因为 IBM Java 库无法使用:我们翻译了每个不可打印的字符,并且在此过程中丢失了所有控制字符。
现在的问题是:我们能否放弃这个库并完全用 Java 实现我们的解决方案(我们希望避免使用其他供应商的另一个库)?该协议是否有详细记录? 3270-over-ssl 的实现真的有这么复杂吗?
谢谢。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Freehost 不是好代码。甚至不用费心去尝试。它看起来像死了是有原因的。 JIN TN3270 更好,但不完整。理想情况下,您希望找到您公司的仿真器软件使用的 API。我仍在寻找适合我们的。
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.
另一种选择是 h3270。它是 x3270 工具套件的 Java 前端。
Another option would be h3270. It is a Java front-end to the x3270 suite of tools.
https://www.rfc-editor.org/rfc/rfc1041
所以我猜它有记录(假设我找到了正确的文档)
虽然找不到 java 实现,但您需要通过 telnet 或 SSH 对其进行编码
https://www.rfc-editor.org/rfc/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
我不熟悉 3270 和 5250 数据流之间的差异,但 tn5250j 项目中有一个 Java 5250 实现,可从 获取http://tn5250j.sourceforge.net/
它可能对你有用?
(还有一个 3270 屏幕抓取项目 http://freehost3270.sourceforge.net/ 但它似乎被抛弃)。
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).
freehost3270 看起来并不像看起来那样被废弃 - CVS 与 2 年前相比已经发生了变化。总是有人争论,如果需求没有改变,那么在任何情况下,好的代码都不需要经常改变。对代码库有一些赞美的评论。如果您不是特别想使用其他供应商的产品,那么使用此代码/项目似乎是您的最佳选择。
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.