Мне было интересно, есть ли у кого-нибудь опыт получения данных с помощью протокола 3270. Мое понимание до сих пор:
Связь
Мне нужно подключиться к серверу SNA с помощью telnet, ввести команду, после чего будут возвращены некоторые данные. Я не уверен, как это соединение установлено, так как я читал, что стандартное соединение telnet не будет работать. Я также читал, что у IBM есть библиотека, которая может помочь, но я так и не узнал об этом больше.
Разбор
Я предполагал, что возвращаемые данные будут строкой из 1920 символов, поскольку экран 3278 был 80x24 символов. Мне просто нужно было бы разобрать эти символы в соответствующие поля. Чем больше я читаю о протоколе 3270, тем меньше мне кажется, что это так — я читал в документации, прилагаемой к пробной версии Библиотека Java Jagacy 3270, атрибуты которой были отмечены в протоколе символом «A» перед атрибутом, и я понимаю, что есть больше символов, обозначающих другие факторы, такие как возможность редактирования полей.
Я разумно уверен, что мое мышление было слишком упрощенным. Возьмем, к примеру, экран со списком элементов — нажатие специальной клавиши на одной из 24 видимых строк позволяет перейти к более подробной информации об этой строке.
Также мне было предложено, чтобы можно было выдавать команды печати. Это имеет некоторые положительные последствия: если формат возвращаемой строки не 1920, поскольку он содержит такие символы, как «A», обозначающий, как пользователи взаимодействуют с терминалом, печать уничтожит их. Кроме того, это избавит от необходимости пролистывать множество данных. С другой стороны, я не знаю, как получить данные из команды печати обратно в Java.
So..
В настоящее время у меня нет доступа к серверу SNA, но у меня есть несколько снимков экрана того, как будет выглядеть терминал, когда я получу соединение, и поэтому я собирался начать работу по синтаксическому анализу. С таким количеством предположений и небольшим количеством идей о том, как будут выглядеть данные, я чувствую себя действительно в тупике. Кто-нибудь знает об этих системах, которые могли бы помочь мне вернуться на правильный путь?