IBM i 上のオープンソースに関わり始めた時に思っていたこと
IBM i 上で稼動するオープンソースに関わり始めた 2007 年に私が思っていたことは、IBM i に今まで蓄積されてきた各種データを 5250 画面の操作を知っている担当者ばかりではなく、Web アプリケーションとしてもっと簡単に多くの人が活用できたら良いのに。ということでした。Web アプリケーション化するための製品もいくつかありましたが、オープンソースを活用するともっと便利なのではないか、と考えて関わり始めました。
予想外のこと
しかしながら、実際は思っていた以上に労力がかかるものでした。もっと円滑にトラブル無く稼動できれば本当は良いのですが、導入してから安定稼動にいたるまで、および稼動開始後に発生するトラブルの原因調査と対応にかかる時間が多すぎる、と感じます。それは、いろいろな使い方の提案を考えたり、マニュアルの整備をしたり、ほかの色々なソフトウェアの使い方も覚えたり、などの前向きのことをするための時間が削られ、後ろ向きの仕事で時間が食いつぶされてしまう、ということにつながります。
IBM i の問題点
IBM i をオープンソースベースのアプリケーションを稼動させるプラットフォームとしてみた場合、下記の3つがもっとも大きな問題と感じます。
- CCSID という IBM i 特有の文字コード制御の仕組みにより、英語圏では英語の小文字として解釈される文字が日本語環境では半角カナとして解釈されることがある。オープンソース内部で呼ばれているコマンド名などに英語の小文字が使用されているため、内部でトラブルを発生させることがある。その他、文字コードに依存するインターフェースで問題が生じることがある。
- x86 Linux 向けに公開されているノウハウが IBM i では参考にできない可能性が高い。ほとんど情報がない中、対処方法を試行錯誤する必要がある。調査依頼可能な企業も限られている。
- オープンソースの選択肢、およびバージョンアップによる改良の恩恵を受けられるかどうかは、ベンダーによる提供の有無、および提供スケジュールに大きく依存する。自分たちでパッチを当てて改善できる可能性は、ほぼゼロ。
私個人としては、オープンソースベースのアプリケーションをIBM i 上で稼動させることは本当に適切なのだろうか?IBM i にこだわる必要はあるのだろうか?と考えています。
最近提案していること
そのため、最近は、x86 Linux プラットフォーム、および x86 Linux ベースのクラウドの利用を積極的に提案しています。例えば下記のような改善効果が期待できます。
- 文字コードが OS 全体で UTF-8 に統一される。そのため、英語圏では英語小文字として解釈される文字が日本語環境では半角カナとして解釈される、ということがなくなる。
- x86 Linux 向けに公開されている各種ノウハウがそのまま使用できる。
- 必要に応じてソースコードを入手して自分でコンパイルしたり、パッチを当てて改善できる。開発コミュニティーでの日々の改善の恩恵も受けやすい。調査依頼可能な企業も多数存在する。
その他のメリット
さらに、最近ではクラウドを使用することにより、下記のような恩恵も受けることができるようになって来ています。
- 分析、予測関係のアプリケーションは、IBM i 上で稼動するソフトウェアだけではアイデアを実現することが難しかったが、各種の Watson API により簡単に実現することができる。
- DevOps 機能との連携により、 ソースコードの管理、本番環境へのデプロイも容易に行える。自分で Git を導入する手間をかけなくてもよい。
最後に
IBM i 上に蓄積してきたデータを他のプラットフォームに移行することにもそれなりの労力がかかります。しかしながら IBM i 上でアプリケーションを稼動させようとして、多数のトラブルに直面し、解決に労力をかけることについても疑問に思います。
ひとつの解決策としては、IBM i は、蓄積した業務データのデータソースとして割り切って使い、各種の処理は x86 Linux やクラウド上のアプリケーションへデータ連携して実行する、という住み分けはいかがでしょうか。
この記事が、IBM i 上でオープンソースベースの各種アプリケーションのトラブルに直面して困り果てているみなさま、および IBM i から他のプラットフォームへの移行可否および範囲について検討にお困りのみなさまのお役に立てば幸いです。