日立製作所 ソフトウェア事業部 第2ネットワーク設計部 主任技師 水島和憲 氏 |
講演者は、株式会社日立製作所 ソフトウェア事業部の水島和憲氏。 Eclipse関連書籍を多数執筆している他、Eclipseの情報をWiki形式で提供するWebサイト「エクリプス」を立ち上げ運営している。
Java開発現場の統合開発環境としてデファクトスタンダードとなったEclipse。しかし、より快適に効率良く開発するためのプラグイン探しに、手間や時間を費やしてしまったりと、まだまだ開発者の悩みはつきない。
今回、日立製作所(以下、日立)では、アプリケーションプラットフォーム「Cosminexus(コズミネクサス)」新版の開発環境として、米Genuitec(ジェニュイテック)社の「MyEclipse」がOEM提供されることになった。日本語版のMyEclipseを搭載し、12月末に発売開始される。
講演では、MyEclipseを使うことによってJava開発がどう変わるか、についてデモも交えて語られた。
講演者の水島氏によると、今回MyEcilpseをCosminexusのJava開発環境として採用した経緯は、次のようなものだという。
Cosminexusの実行環境は、これまで日立の高い技術力で24h×7日の稼働率を実現している。たとえダウンしたとしても、すぐに原因究明・回復できる機能も数多く組み込まれている。今後もさらに稼働率向上を極めていく。一方、開発環境については、出来るだけ新しい技術を取り入れて、開発効率を向上させる方針にした、とのこと。
「MyEclipse」は、Eclipseでアプリケーション開発を行う上で便利なプラグインをまとめたオールインワンパッケージの一つ。ドイツのEclipse Magazinという雑誌で、2006年度のNo.1 Eclipseベースの商用ソフトを受賞するなど、北米や欧州を中心に、非常に高い評価を得ている。
講演では、まず米Genuitec社のプレジデント Maher Masri氏のビデオレターにより、MyEclipseの特長が紹介された。
MyEclipseのユーザーは全世界で約35万人おり、毎年倍増しつづけているという。また、世界150カ国、1万社以上の企業に採用されているなど、幅広く浸透。適用分野も、金融、政府、流通、製造、航空会社など多岐にわたっている。
機能に関しては、1,500以上の機能がオールインワンで備わっており、便利なプラグインとして「J2EE開発ツール」「UML設計ツール」「DB開発ツール」などが初めから含まれている。
Webアプリケーション開発に必要な機能が、ほぼすべて揃っているのが特長的だ。
MyEclipseを利用すると、Webアプリケーション開発が「楽」になるだけではなく「悦」になるという。つまり、単に開発効率が上がるだけでなく、人を喜ばすことができるというのだ。
では、誰が喜ぶのか。水島氏によるとそれは、「開発者」と「マネージャ」だという。
マネージャにとっての「悦」とは、1,500以上の機能がオールインワンであること。
通常、Webアプリケーション開発には、「設計」「コーディング」「デバッグ」「データベースの操作」「バージョン管理」「バグ管理」「ビルド」といった工程が必要になるが、Eclipseをインストールしただけでは、これらがJavaプログラミングにしか対応しない。そのため、チーム開発では、これらの開発工程に必要なツールを吟味して整理する必要があり、これは非常に時間と労力を必要とする。
そこでMyEclipseをインストールすると、これらの機能が全て揃い、チーム全体が統一された開発環境をすばやく構築できる。マネージャおよび開発者が開発環境を整えるのに必要な時間と労力を節約できるため、工数や品質の面での効果が期待される。
一方、開発者にとっての「悦」は、便利なプラグインがシームレスに利用できることだという。
MyEclipseには、初めから数多くのプラグインが含まれており、Eclipse上から、これらの機能を同じような操作性で使うことができる。例えば、代表的な機能に次のようなものがある。
また、Eclipseではコードアシスト機能が便利だが、Webアプリケーション開発では、標準で備わっているJava以外に、HTML、JSP、XML、CSSなど、多岐にわたるフォーマットの編集が必要になる。MyEclipseであれば、これらのファイル編集についてもコードアシスト機能が使えるようになる。
たとえば、Javaの場合、コードアシストやシンタックスのハイライトという機能があるがJavaScriptでも使えるようになる。なおかつ、コードアシスト機能では、ブラウザの種類(Internet ExplorerとMozilla)によって使えるメソッドの違いもポップアップされるので、どちらのメソッド・変数が使えるのかを確認できる。また、Javaと同じようにブレークポイントを設定して、JavaScriptのデバッグを行い、止めたそのときの状態を見ることも可能。
つまり、開発者を快適にする機能の数々が、MyEclipseによって提供されることになる。
実際にMyEclipseを使った開発例として、住所録のデモが行われた。AJAXを利用したWebアプリケーションで、「郵便番号を入力すると住所の候補が自動的に表示される」というもの。
この中で、まずページ遷移やページデザインが、GUIで視覚的に作業できることが示された。
続いて、クライアント/サーバプログラムのデバッグを、一つのEclipseの中から行えることなどが紹介された。
AJAXアプリケーションのデバッグで厄介なのは、バグの潜む場所として、クライアント(JavaScript)とサーバ(Java)の両方が考えられることだ。両方のデバッグが必要である。MyEclipseでは、クライアントのJavaScriptとサーバのJavaプログラムのデバッグが、同じEclipseのデバッグ画面から同時に行える。いちいちウィンドウを切り替える煩わしさはない。また、JavaScriptのデバッグもJavaのデバッグもまったく同じ操作性で行える。ブレークポイントの設定、変数の参照、ステップ実行も、Javaのデバッグと全く同じだ。このため、EclipseによるJavaのデバッグ方法を知っていれば、すぐにJavaScriptのデバッグができるようになる。さらに、MyEclipseにはAJAXリクエストモニタがある。これは、クライアントとサーバ間のデータのやり取りをモニタできるツールだ。これを利用すれば、非同期に送受信される内容をすべて参照することができる。バグを簡単に絞り込めるようになる。AJAXを利用したWebアプリケーション開発においても、MyEclipseは非常に有効だ。
今回は、ローカルに存在するJavaScriptのデバッグが対象だったが、その他にも「GoogleMap」といった、外部のAJAXを使っているサイトにアクセスして、ブレークポイントを設定したり、リクエストをモニタしたりといったデバッグも簡単にできるという。これについては、今後、水島氏がCodeZine記事として執筆を予定している。
これまで紹介したきたように、開発者の負担となるAJAX開発においてMyEclipseがもたらすインパクトは非常に大きい。水島氏は、「MyEclipse」を使って、ぜひ今後のWebアプリケーション開発を楽しんで欲しいと講演を締めくくった。