スペシャル
アプリケーション資産を継承しながらオープンソース対応が可能に
進化したIBM i開発環境


img_app01

IBMの歴史は、究極のビジネスマシン追求の歴史であるといっても過言ではありません。「テクノロジーの変化が、お客様のビジネスの妨げになってはならない」という、ビジネスありきの哲学が根付いています。ハードウェアやオペレーティングシステムのバージョンが変わっても、アプリケーションを使い続けることができる「アプリケーション資産の継承」という設計思想は、AS/400の先代なるSystem/38の時代からかたくなに守られてきました。

なぜアプリケーション資産の継承が重要なのか。生産管理や販売管理、人事・給与・経理といった基幹業務プロセスは、長期に渡って大きく変化することがないためです。したがって、アプリケーション資産の継続に重点を置いたとき、開発言語としては、信頼性の高い、RPG、COBOLなどをサポートすることが求められるのです。

ユーザーの声を受け止め、新旧のテクノロジーを融合させたIBM

一方で、「保守要員の高齢化」「RPGの知識がある若手が育っていない」「(5250のような)グリーンスクリーンに違和感を抱いてしまう」「RPG、COBOLなどはメインストリームから外れてきたイメージがあり、この先もIBM i使い続けることができるか不安」など、これからの開発を考えたとき、果たしてIBM iでベストなのかという、不安の声があることも確かです。また、アプリケーション資産の継承が重要といっても、RPGだけで開発するというのは、生産性の面で賢明とはいえないケースもあります。IBMはこうした声と真摯に向き合い、「アプリケーション資産の継承」を維持しながら、複数の言語を効果的に組み合わせて使用できるように、オープンなアプリケーション・テクノロジーを積極的に取り込んでいます。

Git とEclipse Orionをサポートし、オープン系と同じ開発スタイルを実現

オープンソースへの対応は従来から実現していましたが、IBM i 7.3はさらに多くの開発言語をサポートしました。オープンソースと親和性を高めるために提供されたライセンス・プログラム「Open Source Technologies on IBM i (5733-OPS)」は、Python 2.7 (v2.7.11:SI59035)、Node.js 4.x  (v4.4.3:SI59404)、Git 、Tools、Orionをカバー。オープンソースとIBM i のリソースを連携するためのツールとして、XML Serviceをベースとした「IBM i ネイティブ・オブジェクト・アクセス用ツールキット」「DB2 for i アクセス用API」もリリースされました。

Node.jsやPythonなどのソース管理を行うことができる構成管理ツールGitで、RPGのソースを管理できるようにもなったのも大きなポイントと言えるでしょう。「Rational Developer for i」 に追加できるプラグインもあるため、「Rational Developer for i 」を使い、RPGで開発しつつ、Gitで構成管理をするといったフレキシブルな使い方も可能です。また、オープン系の技術者の多くが利用する開発環境Eclipseをベースに開発された、Eclipse Orionもサポートされました。これによりIBM i ユーザーであっても、ブラウザーさえあれば開発が可能になります。すなわち、オープン系とほぼ同じスタイルでIBM iの開発ができるということを意味します。新規RPG開発者でも、他の開発言語と同じような感覚で取り組むことができます。GitとEclipseベースのOrionをサポートしたことは、若手技術者などに対しIBM iへの門戸を大きく開くことになるでしょう。

フリーフォームRPGで初心者も違和感なく開発スタートできる!

バージョン7.1以降のIBM i では、他言語のサポートと並行し、RPGのモダナイズも進められました。従来のRPGを見直し、フリーフォーム化することで、オープンな他のプログラム言語と共通な構文を取り入れ、同じような感覚で開発できる言語へと変化を遂げました。前述の「Rational Developer for i」を使用し、フリーフォームRPGをJavaやCのようなスタイルで記述できるため、「オープン系の開発経験はあるけれどもRPGは未経験」という技術者でも、スムーズに開発をスタートできるようになっています。

フリーフォームRPGでは1行目に **free と記述を追加することで、ソースの桁を気にすることなくコーディングが可能。組み込みSQLなども、改行を気にすることなくコーディングすることができます。オープン系の開発が中心だったという人にもなじみやすい仕様です。

なお、この新しいRPGを利用するからといて、フリーフォーム化以前に作成したRPGのソースコードを改修しなければならないということではありません。面倒な手間が増えることなく、既存のRPG技術者も抵抗を感じずにフリーフォームRPGに移行できます。しかし、フリーフォームで記述し直すことにより、オープン系のプログラムとの連携可能性が高まるというメリットもあるため、今後の開発方針によっては記述し直したほうがよいかもしれません。このように、IBM iの資産を活かしつつ、Java、php、pythonなどのオープンテクノロジーで開発されたアプリケーションと連携させるなど、既存の資産をモダナイズすることで新たな可能性が開けることでしょう。