新しくなった Rational Developer for i
幅広い新フィーチャーを誇るIDEアップデート版でパッケージ化を簡略化する
新しい Rational Developer for i (RDi) バージョン 9.0 では、我々 IBM はいくつか重要なアップデートと機能改善をすることを目標としていました。この統合開発環境は、 IBM の Rational 部門の IBM i 開発ツール・ファミリーの最新版で、特に IBM i 開発者向けに設計されています。バージョン 9.0 は 4 月に発表され、6 月にダウンロード可能になりました。このバージョンには、IBM i でのアプリケーション作成と、更新のためのツールへのアップデートが含まれています。このアップデートは、IBM i 開発者が生産性を向上させ、現在に合った最新のツールを提供できることを目的に提供されています。
この記事では、このリリースでデビューした新しいパッケージ化、最近追加したフィーチャーの一部、今後の開発に関するアイデアなどを詳しく説明します。
パッケージ化
まず初めに、混乱を少なくするためにRDiのパッケージ化を簡略化しました。Rational Developmentツールの過去のリリースやバージョンは、我々を混乱させるような多数の名前とパッケージ化オプションを使用していました。したがって、規則化過程を簡略化し、開発者を支援するため、ツールをまとめ再パッケージ化しました。
RDi バージョン 9.0 で行った内容を理解するためには、過去に行った内容と現状を比較することが役立つかもしれません。リッチ・デスクトップ開発環境への動きは始まったばかりです。以下のような名前を見たことがあるでしょう。
- WebSphere Development Studio Clientは、Rational Developmentデスクトップ・ツールの開始点でした。これは画期的な環境でしたが、長期間サービスを休止しています。
- Rational Developer for i は、RPGおよびCOBOL for IBM i の開発ツールを提供しました。このバージョンもサービスを休止しています。
- Rational Developer for i SOA Construction は、RPGおよびCOBOL、さらに Web サービスを (RPG や COBOL プログラムから) 開発するツール、HATS、EGL の開発環境を提供しました。
- Rational Developer for Power Systems Software は、最新版を発表するまでは最新のバージョンでした。これは、IBM Power Systems でサポートされているすべての言語を開発する単一の環境として設計されました。ユーザーは、IBM i、AIX、Linux のどれで開発しているか、また RPG、COBOL、C、または C++ のどれを使用しているかによって、さまざまなコンポーネントを注文しました。残念ながら、この総称により、開発者がどのコポーネントを必要としているか判断できないことが多々ありました。
- Rational Application Developer Standard Edition が、IBM i で Java コードを開発したいと考えていたユーザー向けに、Rational Developer for Power Systems Software for Power に追加されました。
そのリスト中の名前は、新しいバージョンの Rational Developer にまとめられました。図1 に示すように、非常にシンプルです。
Rational Developer for i
名前は古めかしいですが、その目的は明確です。RDiには 3種類のエディションがあり、それぞれ独立してビルドされています。
- RPG and COBOL Tools: 名前が示すとおり、IBM i 向けの RPG および COBOL コード開発用です。CL、C、C++、SQL、DDS、その他 (すべての名前を挙げることはできません) のサポートも含まれています。
- RPG and COBOL + Modernization Tools, Java Edition: すべての RPG および COBOL サポート、さらに Web サービス作成用のツール・セット、HATS エディター、IBM i で Java を開発するためのサポートが含まれています。
- RPG and COBOL + Modernization Tools, EGL Edition: すべての RPG および COBOL サポート、さらに Web サービス作成用のツール・セット、HATS エディター、EGL アプリケーションを開発するためのサポートが含まれています。
Rational Developer for AIX and Linux
AIX および Linux 環境のすべての開発ニーズに対応する単一のツール・セットを提供します。
これらの変更は、開発ツールを調達するために何が必要か苦労して見いだした、顧客からのインプットに基づいています。よりシンプルなパッケージ化が必要なことはわかっていましたし、しばらくはその問題に取り組んでいました。簡略化し、古い名前に戻るというアイデアが勝利をおさめ、受け取ったフィードバックを元に考えると、我々の選択は正しかったようです。RPG and COBOL Tools は、 IBM i 開発者にとって重要な開発環境です。C、C++、CL、DDS、SQL をフルサポートしているにもかかわらず、製品名はこれらのツールの主な目的を総括しています。
フィーチャー
RDi バージョン 9.0 のツールは、IBM i でのあらゆる開発面を豊富にサポートおよび統合しています。以下に新しいフィーチャーのハイライトをいくつかご紹介します。
エディター
この最新のエディターは、コード作成の主要環境で、予想されるすべてのフィーチャー、ショートカット、ヘルプが入っています。日々のアクティビティー (書類作成、電子メール、Web 入力、ブログなど) で使用するエディターを考えてみてください。これらのインターフェースすべてに組み込み「スマート」が入っています。より早い作成、より優れたスペリング、正しいフォーマット、コピー/カット/ペースト、取り消しなどに役立つフィーチャーです。アプリケーション・コードを作成する環境に対する期待度が低くなければならない理由など、ないのではないでしょうか?リッチ・エディターにはこの他に、組み込み構文ヘルプ、オンライン・ヘルプ、アウトライン表示、タイプ・アシスト、その他、アプリケーションをより向上した品質で早く作成できるフィーチャーが入っています。
統合コンパイル
コンパイルするコードを閉じて、終了する必要がなくなりました。右クリックして、コンパイラーを起動するだけです。これによりコードは接続されたIBM i に実行依頼され、IBM i (RPG、COBOL、CL、C、C++) で指定されたコンパイルをローカルに実行し、コンパイル出力を統合インターフェースに戻します。そこで、コンパイルの問題を確認できます。問題をクリックすると、自動的にそのコード行に移動します。
アプリケーション図
これにより、アプリケーションを透視図で確認できます。ここで、各プログラム、メソッド、サービス・プログラムとそれらがどのように相互作用しているのかを確認できます。アプリケーションとそれがどのように関連付けられているかを素早く理解できる優れたツールです。
DDS エディター
WYSI エディターで DDS画面とレポートを素早く作成して、更新します。テキスト・ボックスなどのウィジェットをつかんで、パレットにドラッグできます。パレットに配置するよう動かして、この画面の属性を対応するプログラムのフィールドに関連付けるよう、プロパティーを簡単に更新します。
統合デバッガー
RDi最高のフィーチャーの1つです。アプリケーションのあらゆる面をまとめて 1 ヵ所でデバッグできます。ソースが表示されるので、クリックしてブレークポイントを設定し、行単位で調べ、設定した場所に駆けつけて、変数の値をモニターします。基本的に、実際にプログラムが何をしているのかを確認できます。
JavaとWebツール
RPG and COBOL + Modernization Tools, Java Edition では、すでにお話したツールの多数の機能追加が行われています。RPG プログラムや COBOL プログラムをラップする Web サービスの作成を支援するウィザードが入っています。これらの Web サービス・ラッパーにより、自分の企業の Web サービスをホストして、既存の RPG ビジネス・ロジックを多種多様な最新の言語とインターフェースに、簡単に結び付けることができます。
また、Rational Application Developer for WebSphere ツール一式の重要なサブセットが手に入ります。これには、Java 環境と IBM Data Studio 一式が含まれています。IBM Worklight Studio V6.0 も、ハイブリッド・モバイル・アプリケーションの開発用に組み込まれています。Worklight サーバーには追加ライセンスが必要です。このエディションは、IBM i のバックエンド・システムと統合するマルチチャネル・アプリケーションを開発するソリューションを一式提供しています。
EGLツール
名前からして、EGLエディションの目的をよく言い表しています。RPGおよびCOBOLエディションに含まれているすべての関数、さらにEGLアプリケーション開発と保守のためのStudio一式が入っています。
構造
RDiは高機能統合開発環境(IDE)です。IBM i 言語である CL、RPG、COBOL、C、SQL、DDS の開発の編集/コンパイル/デバッグ・サイクルをサポートしています。「高機能」部分は、そのクライアントとサーバーが分割されていることでもたらされています。
クライアント側はWindowsおよびLinuxワークステーション上で動作し、他のほとんどのRationalデスクトップ・ツールのように、Eclipseワークベンチで構築されています。Eclipseワークベンチは、それに接続するすべてのツールについて共通のルック・アンド・フィールを実現しています。レイアウト、リソース・ナビゲーション、編集、アウトライン、エラー報告、進捗モニターの標準を定義しています。
RDiはEclipseワークベンチを使用して、リモート・アクセスをソース・ファイル、ソース・ファイルのメンバーの言語固有のエディターなどのオブジェクトに統合し、さらにコマンドの調整と実行依頼、ジョブ・トラッキング、エラー・トラッキング、デバッグを Rational Application Developer、Rational Team Concert、IBM Data Studio など、他のツールを収容できる 1 つのフレームワーク内で、すべてコンパイルします。つまり、同じワークベンチから同時に複数のシステム間の接続を扱うことができるということです。
RDi は、そのターゲット・システムで標準の IBM i ホスト・サーバーを使用します。最も重要な3つの点は、コマンド/プログラム・サーバー、DRDA/DDM サーバー、デバッグ・サーバーです。それぞれ個別のジョブで動作しますが、RDi クライアントは必要な場合、その環境 (ライブラリー・リストなど) の同期を保ちます。
RDi のコアはRemote System Explorerです。RSEは、定義している IBM i システムのリソースを階層的に表示します。リソースは「サブシステム」(IBM i サブシステムと混同しないように) にグループ化され、リソースのリストはさまざまな基準でフィルタリングすることができます (図2)。RSE のテーブル・ビューにある表のように、ソース・ファイルなど、コンテナーの内容を表示することもできます (図3)。
RDi の他の主なコンポーネントは i Projects です。これは、ワークステーションでソース・ファイルやメンバーをローカルに処理する場合に使用できます。ソースはターゲット・システムにプッシュ、コンパイル、デバッグすることができます。プロジェクトのソースをワークステーションに備えることで、オフラインで作業でき、ネットワークによる遅延をなくし、ワークステーションのファイル・システムを認識するツールはプロジェクトを操作できます。一部のコード生成ツールのように、Rational Team Concert などの SCM ツールがこのカテゴリーに入ります。
RD Power 8.5 は、2010 年 6 月に発表された Eclipse 3.6 を基に構築されました。RDi 9.0 は、 2012 年 6 月に発表された Eclipse 4.2 を基に構築されています。Eclipse 4.3 は、 2013 年 6 月に発表されました。3.6 から 4.2 へ大きく飛んでいるように見えますが、実際はほんの 2 つのリリースだけであり、Eclipse の基本的なアーキテクチャーは変わりません。Eclipse 4.x は Eclipse 3.x と上位互換性があり、4.2 が 3.8 に対応しているなど、複数のリリースが並行して作成されました。2 つの主な違いは、さらにカスタマイズを可能にする新しいワークベンチ UI を導入していることです。運用上、4.x は 3.x とほぼ同じですが、ルック・アンド・フィールが多少違います。Eclipse プラットフォームはプラグインで拡張されており、プラグイン作成者にとっては興味深い点です。バージョン 3 からバージョン 4 への移行は極めて単純です。
新機能
リリースごとに、RDiチームは機能強化に関するユーザーからの要求を調べ、最も要求があり、製品全体のテーマに沿ったものを選択します。過去 2 つのリリースで、RDiは、拡張アウトライン表示や比較機能の改善など、大きなものや小さなものを含め多くの機能改善を組み込みました。
RPGライブ・アウトライン
RDi バージョン 9.0 で最も要求が高かった機能強化の1つが、編集中に RPG アウトライン表示を更新できることでした。Eclipse 対応製品では、複数のエディターを同時に開くことができます。現在アクティブなエディターは、通常はエディターの右側に配置されているアウトライン表示に関連付けられています。RPGアウトライン表示は、RPGソースから抜き出されたファイル、フィールド、インジケーター、プロシージャー、その他の情報を表示します。リリース 8.5 までは、この情報は、内部でプログラム検査機能を実行することで抽出されました。このユーティリティーは、RPG コンパイラーのフロント・エンドに基づいていました。プログラムに関する情報を一式提供しましたが、速度が極めて遅く、ユーザーが更新された情報を必要としたときに、アウトラインを手動でリフレッシュする必要がありました。
RD Power 8.5 では、この情報を取り込んで、各キーストロークのアウトラインに表示する新しい高速パーサーを追加しました。アウトラインは入力しながら更新されるため、最新のデータを取得するのにリフレッシュする必要がなくなりました。
RDi 9.0 で、アウトライン表示の即応性を向上させ、より多くの情報を提供して、情報の編成を向上させることで、アウトライン表示 (図4) の改善を続けてきました。ライブ・アウトラインの利点の 1 つに、収集される情報を使用して、コンテンツ・アシスト、ハイパーリンキング、(最終的に) リファクタリングなどの機能を動作させることが出来るようになったことがあります。
比較
RDi 9.0 には、2 つのソース比較関数があります。1つは LPEX エディター、もう 1 つは基本 Eclipse compare フレームワークにより提供されています。1 つ目の関数は、エディターのソース メニューからアクセスできる「インターリーブされた」compare (図5) です。比較するファイルの選択は難しい場合があり、1 つ目の関数がすでにエディターで開いている場合のみ、あるファイルを別のファイルと比較できます。ローカル・ヒストリー・ファイルまたはマージ・ファイルとは比較できません。この compare の利点は、コンテンツを比較し、メタデータは無視する点です (ソース・メンバーの SRCSEQ フィールドと SRCDAT フィールドなど)。
Eclipseで提供される 2番目の関数は、横並びのcompareです。残念ながら、8.5.1 以前はこのcompareでは、IBM i ソース・メンバーのシーケンス番号と変更日フィールドの存在は考慮されていませんでした。メンバーを並べ直す場合、そのメンバーを以前のバージョンと比較すると、すべての行が変更されたことがわかります。
横並びの compare は、Eclipse だけでなく、 Eclipse に接続できる他のツールの多くの場所で使用されています。例えば、Rational Team Concert は、横並びの compare を使用して、コード・リポジトリーの 2種類のバージョンのソース・ファイル・メンバーの履歴を比較するか、リポジトリーのメンバーと IBM i プロジェクトのメンバーを比較します。しかし、compare はシーケンス番号と変更日を理解しないため、マージが正常に機能しません。シーケンス番号をソース・ファイルからターゲット・ファイルにコピーするだけです。その結果、不正なファイルが生じることが多々あり、そのシーケンス番号は昇順ではありません。
リリース 8.5.1 より、RDi は、compareをしている場合に、シーケンス番号フィールドと日付変更フィールドをソース・ファイル・メンバーのソース・データとは別に管理しています。そのため、マージは正常に動作し、ソース・テキストへの変更を非常に簡単に特定することができます (図6)。
Eclipse compare フレームワークを使用する場合に優れたフィーチャーとして、3 ウェイ compare がサポートされていることがあります。3 つのメンバーを選択し、1 つを上位メンバーとして指定し、時間の経過とともに 2 つのメンバーに対して行われた追加、削除、競合を確認することができます。
その他の機能改善
機能強化の要求 (RFE) に対応するため、以下のような、他の多くの変更が 9.0 に行われました。
- RFE 29066: 開発者は、 RPGLE ハイパーリンクまで進んでから戻ることができます。この機能改善は RPG のハイパーリンクを追加した後に提案され、我々の RPG ライブ・オンライン・サポートにより可能になりました。
- RFE 29063: ハイパーリンクと移動は、キーワード・パラメーターで参照される定義を表示するはずです。
- RFE 29077: ハイパーリンクへの別の機能改善であり、プロシージャーおよびサブルーチンの RPGLE ハイパーリンクをサポートしています。この機能強化も RPG ライブ・オンライン・サポートにより可能になりました。
- RFE 14305: PDM オプション 14 は、選択結果リストの PDM オプションのリストからは使用できません。検索結果から直接メンバーをコンパイルできる機能を追加しました。
- RFE 30148: 開発者のコーディング・スタイルに合うようにコンテンツ・アシストを改善し、RDi は、コンテンツ・アシストを使用してコードを挿入する際に、外部フィールドとレコードの大文字と小文字の混在をサポートできるようになりました。
- RFE 30642: RD Power のCLで、%CHECKx および %TRIMx BIFS を承認しています。
また、多くの問題を修正しました。それらの修正は我々の修正リストに記載されています。報告されている問題の多くは、8.5 の RPG ライブ・アウトライン・サポートの導入に関連しています。どの新機能にもあるように、欠陥がありました。RDi V9.0 は、アウトライン表示、コンテンツ・アシスト、ハイパーリンクに対する、より堅固なソリューションをお約束しています。
RDi を始めましょう
では、どのような新しいバージョンの RDi を手に入れましょうか?グリーン・スクリーン開発ツールを使用している場合は、購入する必要があります。最初は、RDi を試運転することをお勧めします。この記事のオンライン版に、トライアル版を Web インストールする方法が記載されています。多数のバージョンのうち、いずれかの Rational ツールをすでに使用しており、アクティブなサブスクリプションとサポートを持っているユーザーは、これらの新しいツールにアップグレードする資格があります。図7 は、注文の詳細を示した虎の巻です。
ARCAD-Rational Power Pack
昨年4月の RDi バージョン 9.0 への変更に加えて、ARCADとRational は、IBM i 開発者のツールキットにはなかった重要なツールで、 IBM i 開発者を支援するパートナーシップを発表しました。その結果生じた製品、ARCAD-Rational Power Pack の主なコンポーネントが、ご使用の RDi 環境にぴったりとはまり、拡張された「アプリケーション・インテリジェンス」を提供するプラグイン、ARCAD Observerでした。これがサポートされたことによって、アプリケーションをより深く理解し、アクセスできなくなったコード (不要コード) を判断し、組み合わせてメソッドを形成できるコード (コードの保守容易性を改善) を確認し、一般的に、現在および今後に向けコードの理解を深めることができます。
RDiの次は
もっとRPGを楽しくするもの、COBOLへのいくばくかの愛着、改善され拡張された i Projects サポート、さまざまなデータベース・ツールとのより密接な統合など、今後のサポートに向けていくつか未解決の要求があり、リストにはほとんど終わりがありません。IBM i 開発者が選ぶ言語として主に RPG に重点を置くつもりですが、COBOL を無視することはありません。データ・ツール、優れたデバッグ・ツール、優れた i Projects サポートもすべて注視してゆきます。
「ソフトウェア・エンジニアリング」サポートと呼ばれるものに対する要求がいくつかあります。これは、特に、さまざまな形式のリファクタリングを RPG に適用するような場合のサポートです。例えば、スマート変数リネーム関数などがあります。これによって開発者はアウトラインで変数を選択し、そのオカレンスを編集中の RPG メンバーでリネームさせることができます。これは LIKE オカレンス (固定およびフリー・フォーマットのスペーシング両方) とアライメントを考慮し、変数名の大文字小文字の違いを認識して、他のデータ構造で類似の名前が発生しないようにします。これはいずれも、単純な検索と置換ではできません。RPG ライブ・アウトライン作業はこうした機能改善を可能にしますが、それこそ、私たちの欲しいものリストの上位にあるものです。しかし、どの言語の機能改善 (新しい CL 組み込み関数など) でも、現行性を維持し、RPG 言語の変更に追いついていくことが、最も優先順位が高くなければなりません。
おわかりのように、我々の機能改善の多くがユーザーからのフィードバックにより行われています。そうしたインプットを得るための主なメカニズムが、IBM の developerWorks (http://www.ibm.com/developerworks/) サイトでホストされている Rational RFE プロセスです。是非とも、そのプロセスを使用して、自分のプライベートな欲しいものリストからアイデアを取り出して公開してください。そこで私たちがそれらを開発ストリームに組み込んでいくことが出来ます。
developerWorks へのサインアップは簡単です。必要なものは IBM ID のみで、developerWorks サイトから取得できます。developerWorks は RFE を提出して追跡するよりもはるかに便利で、一見の価値ありです。Rational の RFE サイト
(http://www.ibm.com/developerworks/rfe/?BRAND_ID=1)
に直接移動し、RFE を提出します。適切なタブ (Overview、Search、Submit など) と該当する製品を選択し、入力するか、既存の RFE を注意深く調べます。
投票することで、RFE が実装されるチャンスが高まります。 RDi チームはこうした投票を重視しています。RFE を提出する場合は、自分の関心と一致する RFE がすでに存在するか確認し、新しく RFE を提出しないでそれに投票してください。
RDiはまだ進行中
Rational Developer for i という名前は古いかもしれませんが、決して後退しているわけではありません。RDi 9.0 には豊富な新しいフィーチャーと機能強化が含まれています。RPG、プログラム分析、データ・ツールを新しくサポートすることで、IBM i 開発者の Rational ツールを向上させ続けています。すでにこれは、SEU/PDM がその文字インターフェースと限定スクリーン・リアル・エステートで提供できる範囲を超えており、今後さらに推進される予定です。是非、これらのツールを使ってみて、生産性、パフォーマンス、品質を著しく改善した、無数の開発者の仲間入りを果たしてみてください。