WebSphere Application Developer はゴールデンタイムに対応できるのか? - TechRepublic

WebSphere Application Developer はゴールデンタイムに対応できるのか? - TechRepublic

WebSphere Studio Application Developer (WSAD) は、VisualAge 開発環境の後継製品です。VisualAge を嫌っていた方は、WSAD がより従来型の IDE に近づいていることに気付くでしょう。VisualAge を愛用するようになった方は、WSAD が他の IDE クローン製品と見た目は似ているものの、VA の利便性を高めていた機能のほとんどが WSAD の奥深くに潜んでいることに驚くでしょう。さらに嬉しいことに、VA で我慢してきた機能のほとんどがなくなりました。この記事では、WSAD の概要を説明し、製品の優れた機能と、いくつかの欠点を指摘します。

WSADパースペクティブは、
開発環境の世界に多くの興味深いパラダイムをもたらします。最も重要なのは、パースペクティブの概念です。WSAD環境では、開発のあらゆるフェーズがこの概念を中心に展開されます。WSAD用語集では、パースペクティブを「ワークベンチ内のリソースの様々な側面を表示するビューの集合体。ワークベンチのユーザーは、実行中のタスクに応じてパースペクティブを切り替え、パースペクティブ内のビューとエディターのレイアウトをカスタマイズできます」と定義しています。図Aは、ワークベンチのJavaパースペクティブを示しています。

図A
ワークベンチJavaパースペクティブ

異兄弟である
WSADは、IBMがスポンサーとなっているオープンソースIDEであるEclipseをベースにしています。一部のメニュー項目の位置を除けば、EclipseとWSADは見た目は全く同じですが、同じ製品ではありません。Eclipseの方がやや成熟した印象で、WSADは企業開発者を惹きつける機能が豊富です。

EclipseにはWSADにはない、優れた仕上げ機能がいくつかあります。例えば、Eclipseのコード補完サポートはWSADよりもスマートで、より柔軟に設定できます。

一方、WSADはJ2EE、プロファイリング、XML、Webアプリケーション開発のサポートを組み込んでおり、企業プログラマーをターゲットとしています。これらの追加機能は、追加パースペクティブの形で利用可能です。

コードエディタ
内蔵エディタは最高レベルでカスタマイズ可能です。コードフォーマッタ、自動タイプインポート、タブカスタマイズ、そしてコードアシストと呼ばれる自動コード補完機能を備えています。VisualAgeで最も嫌われ、また愛されていた機能の一つが、単一メソッド編集パラダイムでした。WSADでは、一度に1つのメソッド/プロパティを編集するか、クラスファイル全体を編集するかを選択できます。VisualAgeとは異なり、どちらのビューも同じように機能します。

エディターに完全に欠けているのはキーボードマッピングです。これは多くのユーザーを間違いなく苛立たせるでしょう。そもそも存在しません。Eclipseにも同じ問題があります。違いは、Eclipseではキーボードサポートの欠如がドキュメント化され説明されていることです。WSADではサポートされておらず、欠けている機能についても言及されていません。

ローカルソースコード管理
(WSAD)は、ローカルソースコードの変更を追跡し、バージョン間の差分を表示したり、特定のバージョンにロールバックしたりする方法を提供します。ソースファイルの現在のバージョンは、ハードドライブ上の通常のファイルです。VisualAgeとは異なり、リポジトリとの間でファイルをインポートしたりエクスポートしたりする必要はありません。

WSADのクラス
パス設定は開発環境にとって大きな前進であり、同じクラスライブラリの異なるバージョンを使用して複数のアプリケーションを管理するすべてのユーザーにとって理想的です。各プロジェクトのクラスパスは互いに独立しています。WSADプロジェクトで利用できるようにしたいクラスがある場合は、jarファイルまたはディレクトリを指すクラスパス変数を設定できます。その後、その変数をアプリケーションにマッピングします。

このシステムの利点は、同じライブラリの複数のバージョンを別々のプロジェクトで利用できることです。また、このシステムは柔軟性も備えています。ワークベンチのクラスパス変数を使用せずに、jarファイルやディレクトリをプロジェクトのクラスパスに直接追加できます。図Bは、私のセットアップのクラスパスを示しています。

図B
クラスパスの設定

デバッグ
デバッグは独立したパースペクティブです。つまり、デバッグ用の画面設定は実行間で保存できます。マルチスレッドデバッグはシンプルで分かりやすいです。WSADデバッグの唯一の大きな問題は、コードの変更を有効にするためにアプリケーションを再起動する必要があることです。

リファクタリングは
今注目のトピックですが、WSADを使えば簡単に実行できます。リファクタリングでは、オブジェクトをハイライト表示し、オブジェクトのコンテキストメニューからリファクタリングタスクを選択します。すると、一連のダイアログボックスがタスク完了までの手順を案内します。リファクタリングツールは、他のクラスにおけるオブジェクトへの参照を特定し、変更します。組み込みのリファクタリングウィザードにより、クラスの移動、メソッドの抽出、変数名の変更が簡単に行えます。


リファクタリングの詳細

リファクタリングに関する追加情報については、「手続き型ライブラリをオブジェクト指向フレームワークに移行する」を参照してください。


その他
WSAD には組み込みの ToDo リストがあります。これは一般的なアクション アイテム リストとは異なります。ToDo 機能は開発環境に組み込まれているため、実際に役立ちます。例えば、特定のメソッドの特定の行に ToDo 項目を設定できます。ToDo リスト内の項目をダブルクリックすると、ソース ファイルが開き、その項目が関連付けられている行までスクロールします。エディターでは、その行に ToDo 項目が関連付けられていることを示すアイコンが表示されます。アイコンの上にマウス カーソルを置くと、ToDo 項目のテキストが表示されます。ソース コード ファイルでは特別なコメントは使用されていません。

WSAD は、独自のタスクを作成できるだけでなく、自動的にタスクを作成します。すべてのコンパイラエラーと警告には、タスクリストに関連付けられたタスクがあります。問題を修正すると、タスクはリストから削除されます。

欠点:
WSADには、少々イライラさせられるバグや機能不足がいくつかあります。前述の通り、キーボードマッピングはありません。他にも以下のような弱点があります。

  • コードマクロ
  • 自動インデント
  • インポート

コードマクロとは、キーワードを使って自動的に挿入したい、頻繁に使用する小さなコードですが、Javaソースの編集では利用できません。興味深いのは、XML、HTML、またはJSPファイルの編集時にコードマクロが利用できることです。

自動インデント機能が正しく動作しません。あるケースでは、インデントを3スペースに設定していたにもかかわらず、自動インデントによって4箇所もインデントされ、スペースの代わりにタブが挿入されました。コードフォーマッタでは常に問題は修正されていましたが、コードのメンテナンス時に不整合が発生するのは困りものです。また、ファイル全体を再フォーマットして修正するのは、必ずしも良い解決策とは限りません。

コードアシストを使用すると自動インポートが全く機能しないか、機能自体が存在しません。コードアシストのドロップダウンリストからクラス名を選択したときに、現在のカーソル位置にクラス名が挿入された状態でインポートされるようにしたいのですが、WSADによってパッケージ名を含むクラス名が挿入されてしまいます。この動作を変更する設定が見つかりませんでした。

結論
WSADは基本的に堅実です。最新のIDEに期待される機能のほとんどを備えており、他に類を見ない機能もいくつか含まれています。ローカルソース履歴、リファクタリング、デバッグ機能、統合タスクマネージャは大きな利点です。キーボードマッピング、コードマクロ、そして小さなバグが不足しているのは、この製品がまだ初期段階にあることの明らかな兆候です。WSADが提供する追加のJ2EE機能が必要な場合は、WSADをご利用ください。そうでない場合は、もう少し成熟した兄弟製品であるEclipseをお勧めします。

Tagged: