问题标签 [3270]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6791 浏览

php - 如何从基于 Linux 的 Web 应用程序中进行 3270 屏幕抓取

我有一个 LAMP (PHP) Web 应用程序,它需要与 IBM 3270 大型机上的程序交互(通过 Microsoft SNA 服务器)。我正在研究的一种解决方案是通过 3270 进行屏幕抓取。(我正在将现在与过去结合起来!)

许多年前,我编写了使用 HLLAPI 作为此类任务基础的 C 代码。

  1. HLLAPI 仍然是完成这项任务的最佳方式吗?
  2. 如果是这样,我是否最好只编写一个 C 应用程序来承担必要的工作并从 php 执行()这个 C 应用程序?
  3. 是否有任何适用于 Linux 的开源 HLLAPI 提供程序?(过去我使用商业解决方案,例如 Cleo。)
0 投票
8 回答
7238 浏览

sql-server - 有没有办法从 z/OS 大型机访问 Sql 服务器并在 IBM 3270 终端仿真中得到结果?

是否有任何方法(可能便宜)从 z/OS 大型机(COBOL 程序)访问 Microsoft Sql Server 并在 3270 终端仿真中获得结果?
我知道 3270 是一个相当古老的系统,但在银行 CED 中仍然很受欢迎。

0 投票
5 回答
5251 浏览

java - 用Java实现3270协议

IBM HACL 在访问使用 3270 协议的服务器时遇到了一个大问题。该库不断崩溃,我们的 JNI 包装器实际上是一个错误修复层,用于修复执行不佳且文档记录不佳的库(我怀疑我们也引入了新的错误)。而且,在我们公司,大家都懂Java,如果没有JNI-Layer和IBM类库,都可以维护软件。

我们必须使用 C++ 类库,因为 IBM Java 库无法使用:我们翻译了每个不可打印的字符,并且一路丢失了所有控制字符。

现在的问题是:我们是否可以放弃这个库并完全用 Java 实现我们的解决方案(我们希望避免使用来自其他供应商的另一个库)?协议是否有据可查?3270-over-ssl的实现真的那么复杂吗?

谢谢。

0 投票
2 回答
4768 浏览

java - 在 java 中解析 IBM 3270 数据

我想知道是否有人有使用 3270 协议检索数据的经验。到目前为止我的理解是:

联系

我需要使用 telnet 连接到 SNA 服务器,发出命令,然后将返回一些数据。我不确定这种连接是如何建立的,因为我已经读过标准的 telnet 连接不起作用。我还读到 IBM 有一个图书馆可以提供帮助,但还没有找到更多关于它的信息。

解析

我假设返回的数据是 1920 个字符的字符串,因为 3278 屏幕是 80x24 个字符。我只需要将这些字符解析为适当的字段。我对 3270 协议的了解越多,这种情况似乎就越少 - 我在Jagacy 3270 Java 库的试用版提供的文档中读到,该协议中的属性在属性之前用字符“A”标记,而我的理解是有更多的字符表示其他因素,例如字段是否可编辑。

我有理由确定我的想法过于简单化了。以包含项目列表的屏幕为例 - 在 24 个可见行之一上按下特殊键可深入了解有关该行的更详细信息。

还有人建议我可以发出打印命令。这有一些积极的影响——如果返回的字符串的格式不是 1920,因为它包含这些字符,例如表示用户如何与终端交互的“A”,打印将消除这些。它也将不再需要翻阅大量数据。另一方面是我不知道如何将打印命令中的数据检索回 Java。

所以..

我目前无法访问 SNA 服务器,但有一些屏幕截图显示了我获得连接后终端的外观,因此将开始进行解析工作。有这么多假设,但对数据的样子却没有太多想法,我真的很难过。有没有人知道这些系统可以帮助我重回正轨?

0 投票
2 回答
446 浏览

java - 在 Linux 上捕获虚拟打印机输出

我正在为 3270 大型机编写 Java 屏幕抓取应用程序,而不是逐页滚动 80x24 字符,我想将所有页面输出到打印机,然后捕获并解析打印机输出。

3270 客户端有一个打印选项,所以我只需要虚拟化一个打印机设备,然后以某种方式捕获输出。以前有人在 Linux 中实现过这个吗?

0 投票
1 回答
920 浏览

3270 - 如何使用 Microsoft HIS 将 F1 键发送到 3270 终端仿真器

我正在使用 Microsoft Host Integration Server (HIS 2006) 连接到 3270 IBM 大型机终端,以编程方式发送密钥并获取响应。但我无法发送 F1 键。

如果我使用 HIS 服务器 3270 客户端,手动按 F1 键将显示下一页的响应。在客户端记录手动过程后,我发现它以编程方式将@1 作为密钥发送,如下所示。但是当我以编程方式发送密钥时它不起作用。这是代码片段(我正在使用 Microsoft.HostIntegration.SNA.Session dll 中的类)

.. SessionDisplay 处理程序 = new SessionDisplay(); .... handler.SendKey("@1"); 有谁知道如何使用 Microsoft HIS 2006 以编程方式发送 F1 键,或者以编程方式在 3270 终端仿真器中从一页发送到另一页发送哪个键。

0 投票
1 回答
3223 浏览

terminal - 3270 屏幕刮板

浏览 2 个屏幕抓取框架,并认为我会在这里询问任何经验。我需要推荐一个用于抓取旧 7032 IBM 大型机系统的屏幕框架,我目前正在研究 Inventu 的 Flynet(令人印象深刻,但价格昂贵)和 Zephyr 的 Passport HOI(更便宜且功能较少)。目标是将终端应用程序封装在 Web 服务 (WCF) 中,并让少于 50 个并发用户访问该服务。有什么想法或建议吗?

谢谢

0 投票
2 回答
5779 浏览

c# - 好的 3270 模拟器 (.NET)

任何人都可以为.NET(win和web)指出一个好的3270模拟器(可以在后台登录、抓取屏幕、查找文本、发送密钥等)。与http://www.zephyrcorp.com/legacy-integration/index.htm非常相似的东西(显然 zephyr 每年的成本约为 5000 美元,对于一台 PC 而言,这是相当多的)。

我也试过http://open3270.codeplex.com/SourceControl/list/changesets但它太老了而且有问题。

0 投票
2 回答
3584 浏览

c# - 检查是否可以从 C# 获得与大型机的 3270 连接?

我的公司有一个在 az 系列大型机上托管数据的外包合作伙伴。数据不在 db2 中,而是在一些较旧的结构中。我猜是 vsam 表,如果我没有误解那些大型机的人的话。我们没有大型机技术的内部知识。当我们与合作伙伴的大型机人员交谈时,听起来他们会说外语。我们不理解他们,他们也不理解我们。PC 世界和大型机世界是完全不同的,是的。我们通过 3270 终端仿真器(IBM Persona Communications)访问数据。终端仿真器不直接连接到大型机,而是连接到 HIS 2000 服务器(Microsoft 主机集成服务器)。HIS 将 SNA 与大型机通信,而客户端将 tpc/ip 与 HIS 服务器通信。我们有一个内部开发的帮助台软件(用 c# 编写)来监控其他系统的可用性。现在我们请求扩展解决方案以监控大型机的可用性。我们的想法是从我们的代码开始一个 3270 会话。如果连接成功,则系统可用,否则不可用。我们不需要登录大型机并访问那里的任何数据,只需检查 3270 连接是否打开。我知道这并不意味着实际数据可用(有时数据被批处理作业锁定,即使系统启动并运行我们也无法访问它)但这种方法对我们来说已经足够了。您能指出一些文档或现有项目吗?我们可以使用 HIS 或个人通信库吗?我还没有找到任何关于它的文档。如果连接成功,则系统可用,否则不可用。我们不需要登录大型机并访问那里的任何数据,只需检查 3270 连接是否打开。我知道这并不意味着实际数据可用(有时数据被批处理作业锁定,即使系统启动并运行我们也无法访问它)但这种方法对我们来说已经足够了。您能指出一些文档或现有项目吗?我们可以使用 HIS 或个人通信库吗?我还没有找到任何关于它的文档。如果连接成功,则系统可用,否则不可用。我们不需要登录大型机并访问那里的任何数据,只需检查 3270 连接是否打开。我知道这并不意味着实际数据可用(有时数据被批处理作业锁定,即使系统启动并运行我们也无法访问它)但这种方法对我们来说已经足够了。您能指出一些文档或现有项目吗?我们可以使用 HIS 或个人通信库吗?我还没有找到任何关于它的文档。即使系统已启动并正在运行,也无法访问它)但是这种方法对我们来说已经足够了。您能指出一些文档或现有项目吗?我们可以使用 HIS 或个人通信库吗?我还没有找到任何关于它的文档。即使系统已启动并正在运行,也无法访问它)但是这种方法对我们来说已经足够了。您能指出一些文档或现有项目吗?我们可以使用 HIS 或个人通信库吗?我还没有找到任何关于它的文档。

0 投票
1 回答
3141 浏览

java - 从 Windows 桌面应用程序连接到 CICS

现在有一个新的要求。我手头有一些临时工作。要求是连接基于桌面的 Java 应用程序以从大型机读取由某些 CICS 事务生成的数据。[基本上我必须读取所有附加到文件中的记录(与我们在 linux 中执行 tail-f 文件名的方式相同)。这只是仅供参考,我的要求有所不同。]

我询问并得知我的雇主无法向我提供 MQ 或 CICS Transaction Gateway 访问权限。他提出了一些刮屏的方法。我已经使用 VB.Net 应用程序和 Quick3270 以及 IBM Communicator Emulators 完成了这项工作。这两个模拟器都提供了可用于读取屏幕上任何内容的功能。

您可以参考 EHILLAPI 编程细节(仿真器编程语言) - http://publib.boulder.ibm.com/infocenter/pcomhelp/v5r9/index.jsp?topic=/com.ibm.pcomm.doc/books/html /emulator_programming07.htm如果您有兴趣学习。

但是这种方法将我限制在屏幕上可以出现的最大字节数。使用这种方法,网络延迟很明显,因为我每次都必须刷新(基本上在 CICS 上从一个页面移动到另一个页面)以获取跨越多个页面的数据。

您能否建议我一些方法,以便我的雇主不需要要求客户在其大型机上打开任何端口或安装任何软件(因为这对我的雇主来说是不可能的)。

我可以使用 3270 终端仿真并检索所有(或至少更多数据)吗?这样我的雇主的要求就得到了满足,他不需要向他的客户提出任何要求。(在任何情况下,我们都会从模拟器中触发 CICS Transactions)。我们希望一切都由我的雇主自己完成,而不会打扰客户的大型机,哪怕一点点。

请不要建议 MQ,因为客户端没有它。

如果您仍然建议使用 CICS Transaction Gateway,请告诉我如何连接到远程机器(我需要技术细节)。
- 我需要向客户询问什么信息。
- 我需要在我的机器上安装什么软件。- 使用该软件的技术细节。

问候,

尼丁