IBM では大学生の皆さんを対象に、メインフレームを使ったプログラミングコンテストを開催中です:
IBM メインフレームコンテスト 2016

2016073101


このコンテストは「メインフレーム」や「汎用機」と呼ばれている IBM zSystems の最新版である z13 環境にリモートログインしてプログラミングを行う、という内容のコンテストです。コンテストといっても最初は与えられた課題をクリアしながらメインフレームの使い方を学び、最終的にはメインフレーム用のアプリケーションを開発して世界中の大学生とその出来を競う、というものです。ちなみにリモートログインする先のシステムはメインフレームのネイティブOSである z/OS に加え、メインフレーム版の Linux(zLinux)も含まれています。旧来型から最新環境までメインフレームを学ぶ面白い機会であると思っています。


で、これだけだとただのコンテスト宣伝になってしまうので、1つ自分なりに挑戦してみました。同コンテストに参加する上で、参加者の個人 PC は Windows/Mac OS/Ubuntu のいずれかであることを前提として解説されています:
2016073102


現実的にほとんどの学生参加者の皆さんが所有している PC はこのいずれかの環境であると思いますが、僕は人気の教育向けシングルボードコンピュータで、比較的最近は IoT デバイスとしても注目されているラズペリーパイ(以下「ラズパイ」)で挑戦してみました。結論から言うと「ラズパイでもできそうです(少なくとも課題のパート1はできます)!」。

準備段階として、z/OS システムにログインして操作するための 3270 エミュレータアプリケーションの導入が必要です:
2016073100
 ↑オッサン感涙のこんなアプリ


ラズベリーパイ向けの 3270 エミュレータの導入はこちらのページの「IBM 3270 環境」を準備している箇所の説明を参考に導入してください:
PiTop で日本語デスクトップ環境構築


ここで紹介している方法では X11 版(x3270)ではなくコマンドライン版(c3270)の導入を紹介しているので、X Window 環境からだけでなくターミナル環境からでも利用できる方法です:
pi_zos_zlinux
 ↑ラズパイのデスクトップ上で z/OS と zLinux に同時にログインしている様子


ただし、この方法で z/OS 環境を用意した場合には2つ注意点があります。1点目は起動方法です。ウィンドウのメニューから実行するのではなく、ターミナルを開いてコマンドラインから以下のように指定して z/OS に接続する必要があります(IPアドレスとポート番号に関しては参加者向けのガイドを参照してください):
$ c3270 (接続先IPアドレス):(接続先ポート番号)

もう1点。IBM からのガイドでは上記3つの GUI 環境から利用することを想定していますが、このラズベリーパイからコマンドライン版 3270 アプリを使う場合はウィンドウ環境を前提としていないため、一部のキーバインドが正しく動きません。例えば z/OS の画面において「1つ前に戻る」という場合は F3 キーを押すようガイドされていますが、c3270 では F3 が正しくバインドされていないので期待通りの結果になりません:
2016073103


c3270 で1つ前の画面に戻るには、F3 ではなく "Exit" と明示的にコマンド入力する必要があります:
2016073104


この辺りはちょっと不便ではありますが、操作そのものには影響はなさそうでした。なお zLinux 環境に関しては普通の Linux と同じ(実体は RedHat Linux Enterprise 7)なので、普段から Linux を使っている方であれば違和感なく使えると思っています。