問題タブ [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.
php - Linux ベースの Web アプリから 3270 スクリーン スクレイピングする方法
IBM 3270 メインフレーム上のプログラムと (Microsoft SNA Server 経由で) インターフェイスする必要がある LAMP (PHP) Web アプリがあります。私が検討している解決策の 1 つは、3270 を介したスクリーン スクレイピングです (現在と過去を統合しています!)
何年も前に、私はそのようなタスクの基礎として HLLAPI を使用する C コードを書きました。
- HLLAPI は、このタスクにアプローチするための最良の方法ですか?
- もしそうなら、Cアプリを書いて必要な作業を行い、phpからこのCアプリをexec()するのが最善でしょうか?
- Linux 用のオープン ソース HLLAPI プロバイダーはありますか? (以前は Cleo などの商用ソリューションを使用していました。)
sql-server - z/OS メインフレームから Sql サーバーにアクセスして、IBM 3270 端末エミュレーションで結果を得る方法はありますか?
z/OS メインフレーム (COBOL プログラム) から Microsoft Sql Server にアクセスして 3270 端末エミュレーションを行う方法 (おそらく安価) はありますか?
3270 がかなり古いシステムであることは承知していますが、銀行の CED では依然として非常に人気があります。
java - Java で 3270 プロトコルを実装する
3270 プロトコルを使用するサーバーにアクセスするための IBM HACL に大きな問題があります。ライブラリはクラッシュし続け、私たちの JNI ラッパーは実際には、実装と文書化が不十分なライブラリのバグ修正レイヤーです (また、新しいバグも導入したのではないかと思います)。また、当社では全員が Java を知っており、JNI-Layer と IBM クラス ライブラリがなければソフトウェアを保守できました。
IBM Java ライブラリは使用できないため、C++ クラス ライブラリを使用する必要があります。印刷できない文字はすべて変換され、途中ですべての制御文字が失われます。
問題は、このライブラリを捨てて、ソリューションを Java で完全に実装できるかどうかです (別のベンダーの別のライブラリを使用することは避けたいと考えています)。プロトコルは十分に文書化されていますか? 3270-over-ssl の実装は本当に複雑ですか?
ありがとう。
java - JavaでのIBM3270データの解析
誰かが3270プロトコルでデータを取得した経験があるかどうか疑問に思いました。これまでの私の理解は次のとおりです。
繋がり
telnetを使用してSNAサーバーに接続し、コマンドを発行すると、一部のデータが返されます。標準のtelnet接続が機能しないことを読んだので、この接続がどのように行われるかわかりません。私はまた、IBMには役立つライブラリがあることを読みましたが、それについてこれ以上知ることはできませんでした。
構文解析
3278画面は80x24文字であるため、返されるデータは1920文字の文字列であると想定していました。これらの文字を適切なフィールドに解析する必要があります。3270プロトコルについて読むほど、これは当てはまらないようです。Jagacy3270 Javaライブラリの試用版で提供されたドキュメントを読んだところ、プロトコルで属性の前に文字「A」が付いていることがわかりました。フィールドが編集可能かどうかなど、他の要素を示す文字がもっとあることを理解してください。
私の考えは単純すぎると合理的に確信しています。アイテムのリストを含む画面のような例を見てみましょう。表示されている24行の1つで特別なキーを押すと、その行に関するより詳細な情報にドリルダウンします。
また、印刷コマンドを発行できることも提案されています。これにはいくつかの肯定的な意味があります。返される文字列の形式が1920でない場合、ユーザーが端末を操作する方法を示す「A」などの文字が含まれているため、印刷によってこれらの文字が根絶されます。また、大量のデータをページングする必要がなくなります。反対に、printコマンドからJavaにデータを取得する方法がわかりません。
それで..
現在、SNAサーバーにアクセスできませんが、接続を取得すると端末がどのように表示されるかを示すスクリーンショットがいくつかあるため、解析の作業を開始する予定でした。非常に多くの仮定があり、データがどのように見えるかについてのアイデアはあまりありませんが、私は本当に困惑していると感じます。誰かが私が軌道に戻るのを助けるかもしれないこれらのシステムの知識を持っていますか?
java - Linuxで仮想プリンターの出力をキャプチャする
私は3270メインフレーム用のJavaスクリーンスクレイピングアプリケーションを作成しており、80x24文字のページを次々とスクロールするのではなく、すべてのページをプリンターに出力してから、プリンター出力をキャプチャして解析したいと思います。
3270クライアントには印刷オプションがあるので、プリンターデバイスを仮想化してから、何らかの方法で出力をキャプチャする必要があります。Linuxでこれを達成した人はいますか?
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ターミナルエミュレーターでページからページに移動するために送信するキーを知っている人はいますか?
terminal - 3270 スクリーン・スクレーパー
2つのスクリーンスクレイピングフレームワークを調べて、ここで経験を求めたいと思いました. 古い 7032 IBM メインフレーム システムをスクリーン スクレイピングするためのフレームワークを推奨する必要があり、現在 Inventu の Flynet (印象的ですが、高価) と Zephyr の Passport HOI (安価で機能が少ない) を検討しています。目標は、ターミナル アプリを Web サービス (WCF) にカプセル化し、50 人未満の同時ユーザーがサービスにアクセスできるようにすることです。アイデアや推奨事項はありますか?
ありがとう
c# - 良い3270エミュレーター(.NET)
.NET(winおよびweb)用の優れた3270エミュレーター(ログイン、画面のスクレイプ、テキストの検索、バックグラウンドでのキーの送信などが可能)を誰かが示すことができますか?http://www.zephyrcorp.com/legacy-integration/index.htmに非常によく似たものです(明らかに、zephyrのコストは1台のPCで年間5,000ドル程度で、かなりの金額になります)。
http://open3270.codeplex.com/SourceControl/list/changesetsも試しましたが、古くてバグがあります。
c# - メインフレームへの 3270 接続が C# から利用可能かどうかを確認しますか?
私の会社には、az シリーズのメインフレームでデータをホストするアウトソーシング パートナーがいます。データは db2 ではなく、いくつかの古い構造にあります。それらのメインフレームの人たちを誤解していなければ、vsam テーブルだと思います。私たちは、メインフレーム テクノロジに関する専門的な知識を持っていません。パートナーのメインフレーム担当者と話すと、外国語を話しているように聞こえます。私たちは彼らを理解していません、彼らは私たちを理解していません。PCの世界とメインフレームの世界は全然違いますね。3270 端末エミュレーター (IBM Persona Communications) を介してデータにアクセスします。ターミナル エミュレータは、メインフレームに直接接続するのではなく、HIS 2000 Server (Microsoft Host Integration Server) に接続します。HIS は SNA をメインフレームに送信し、クライアントは tpc/ip を HIS サーバーに送信します。他のシステムの可用性を監視する内部開発のヘルプデスク ソフトウェア (c# で記述) があります。現在、メインフレームの可用性を監視するためにソリューションを拡張したいという要望があります。私たちが考えているのは、コードから 3270 セッションを開始することです。接続が成功した場合、システムは利用可能です。そうでない場合は利用できません。メインフレームにログインしてそこにあるデータにアクセスする必要はありません。3270 接続が開いているかどうかを確認するだけです。これは、実際のデータが利用可能であることを意味するわけではありません (バッチ ジョブによってデータがロックされ、システムが稼働しているにもかかわらずアクセスできない場合があります) が、このアプローチで十分です。いくつかのドキュメントまたは既存のプロジェクトを教えていただけますか? HIS または Personal Communications ライブラリーを使用できますか? それに関するドキュメントは見つかりませんでした。接続が成功した場合、システムは利用可能です。そうでない場合は利用できません。メインフレームにログインしてそこにあるデータにアクセスする必要はありません。3270 接続が開いているかどうかを確認するだけです。これは、実際のデータが利用可能であることを意味するわけではありません (バッチ ジョブによってデータがロックされ、システムが稼働しているにもかかわらずアクセスできない場合があります) が、このアプローチで十分です。いくつかのドキュメントまたは既存のプロジェクトを教えていただけますか? HIS または Personal Communications ライブラリーを使用できますか? それに関するドキュメントは見つかりませんでした。接続が成功した場合、システムは利用可能です。そうでない場合は利用できません。メインフレームにログインしてそこにあるデータにアクセスする必要はありません。3270 接続が開いているかどうかを確認するだけです。これは、実際のデータが利用可能であることを意味するわけではありません (バッチ ジョブによってデータがロックされ、システムが稼働しているにもかかわらずアクセスできない場合があります) が、このアプローチで十分です。いくつかのドキュメントまたは既存のプロジェクトを教えていただけますか? HIS または Personal Communications ライブラリーを使用できますか? それに関するドキュメントは見つかりませんでした。システムが稼働していてもアクセスできません) が、このアプローチで十分です。いくつかのドキュメントまたは既存のプロジェクトを教えていただけますか? HIS または Personal Communications ライブラリーを使用できますか? それに関するドキュメントは見つかりませんでした。システムが稼働していてもアクセスできません) が、このアプローチで十分です。いくつかのドキュメントまたは既存のプロジェクトを教えていただけますか? HIS または Personal Communications ライブラリーを使用できますか? それに関するドキュメントは見つかりませんでした。
java - Windows デスクトップ アプリケーションからの CICS への接続
今、新しい要件があります。私は手元にアドホックな仕事をいくつか持っています。要件は、デスクトップ ベースの Java アプリケーションを接続して、CICS トランザクションによって生成されたメインフレームからデータを読み取ることです。[基本的に、ファイルに追加されるすべてのレコードを読み取る必要があります (Linux で tail-f filename を実行するのと同じ方法です)。これは参考までに、私の要件は別のものです。]
問い合わせたところ、雇用主が 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 では 1 つのページから別のページに移動) する必要があるため、ネットワークの大幅な遅延が発生します。
私の雇用主がクライアントにメインフレームのポートを開いたり、ソフトウェアをインストールするように依頼する必要がないように、いくつかの方法を提案してもらえますか (これは私の雇用主には不可能であるため)。
3270 端末エミュレーションを使用して、すべて (または少なくともより多くのデータ) を取得できますか? このようにして、私の雇用主の要件は満たされ、彼はクライアントに何も尋ねる必要がなくなります。(いずれにせよ、エミュレーターからは CICS トランザクションを起動しています)。私たちは、クライアントのメインフレームを少しでも妨害することなく、雇用主側ですべてを実行したいと考えています。
クライアントには MQ がないため、MQ を提案しないでください。
まだ CICS Transaction Gateway を提案している場合は、リモート マシンに接続する方法を教えてください (技術的な詳細が必要です)。
- クライアントからどのような情報を聞く必要がありますか?
- 自分のマシンにどのソフトウェアをインストールする必要がありますか? - そのソフトウェアの使用に関する技術的な詳細。
よろしく、
ニチン