![]() |
![]() |
@IT|@IT自分戦略研究所|QA@IT|イベントカレンダー+ログ |
Loading
|
@IT > EoDを徹底追求した“Oracle JDeveloper 10g” |
![]() |
企画:アットマーク・アイティ
営業企画局 制作:アットマーク・アイティ 編集局 掲載内容有効期限:2004年8月31日 |
|
いま、Javaの世界では「EoD」(Ease of Development)というキーワードに注目が集まっている。BtoBやBtoCを問わず、企業のビジネスを支えるプラットフォームとして成長したJavaは、次なる方向性として“誰もが簡単に開発できる”ことを指向しはじめている。先日(2004年6月)サンフランシスコで開催されたJavaOneでも、次なるJavaの仕様として発表されたJ2SE 5.0、その上に乗るJ2EE 5.0には、EoDのための新しい仕様が盛り込まれた。 例えば、J2EE 5.0に含まれるEJB 3.0からはPOJO(Plain Old Java Object)を基本とした開発が可能になる。これは、EJB開発を難しくしていたホーム・インターフェイスやリモート・インターフェイス、XMLベースのDD(Deployment Descriptor)の作成を不要にし、“誰もが開発できるEJB”を実現しようとしている。 また、J2EEにおけるプレゼンテーション層の開発を容易にする仕様として策定されてJSF(JavaServer Faces)も、EoDの流れの中で登場したものだ。 Javaの仕様自体がEoDを指向する一方で、開発ツールにおいてもEoDへのアプローチがはじまっている。“Visual Basic”のように“マウスで簡単にアプリケーションをデザインできる”ことをツールで実現しようとしているのだ。昨年(2003年)当たりから、サン・マイクロシステムズやIBMからEoDを目指したツールの開発がアナウンスまたは出荷されてきたが、この分野にオラクルも本格参入してきた。今回出荷が開始された「Oracle JDeveloper 10g」(以下、JDeveloper 10g)は、EoDを最も意識して開発されたJava開発ツールとして、大きな注目を集めている。 このツールにかけるオラクルの本気度はかなりのものだ。ソースネクストと提携し、ソースネクストの「Quality1980」シリーズとして1980円(税込)で販売を開始している。ライセンスに1年の期限が設けられていること、オラクルの技術サポートが付属しないことのほかは、1ユーザーで13万620円(税込)の正規版と同じ内容だ。この提携販売のニュースが報じられて以来、日本オラクルには「“1980円で購入できるなら使ってみたい”というEclipseユーザーや、“Javaの教育に使いたい”という大学や専門学校、研修や派遣をビジネスとする企業からの問い合わせがあり、反響は大きい」(日本オラクル株式会社 マーケティング本部 西脇資哲氏)という。
そもそも、“Javaの生産性が低い”とはどういうことだろうか。それは、“Webアプリケーションをビジュアルに開発”するための満足なツールがないことが要因として大きい。.NETの生産性が高いと評価されるのは、その言語体系に依る点も否定できないが、なによりもVisual Studio .NETという、初代バージョンから十分に時間をかけ、ノウハウが蓄積されてきたビジュアル開発ツールが提供されている点を無視できない。.NETであれば、ASP.NETを使ってWebアプリケーションが“マウスで貼り絵”をするように開発できるのに、Javaではそれが十分にできるツールがないというのがこれまでだった。 前出の西脇氏の言葉を借りるなら、JDeveloper 10gはビジュアルな開発ができなかったJava開発の世界に、Visual Basicならぬ“Visual Java”を実現すべく開発されたツールということだ。 同ツールの注目ポイントは以下の3点に集約できる。
そしてもちろん、JDeveloper 10gは100%Javaの開発のためのツールであり、J2EEやXML、SQLなどの標準に完全に準拠している。 それでは、上記の3点について内容を見ていこう。
ビジュアルにJSPを編集できるのはもちろん、Visual BasicのようにコンポーネントパレットからボタンやリストといったGUI部品を、ドラッグ&ドロップで貼り付けるスタイルで開発できる。これによって、Webアプリケーションを、実際の完成画面を目で確認しながら開発することが可能だ。 また、データバインディングの作業も、画面レイアウト上で、データ要素をドラッグ&ドロップで関連付けるだけの作業で完了するため、コードを書く必要がない。 また、Webアプリケーションでの面倒な作業の1つに画面遷移の実装がある。これも、MVCにおけるViewとControllerの関係をGUI画面上で定義して行うことができる。
また、UMLモデリングによる設計にも対応する。クラス・モデリング(Javaクラス、データアクセスコンポーネント、EJB、Webサービス、DBスキーマ)はもちろん、ユースケースによるモデリング、ページフローのモデリングに対応し、設計から実装へのシームレスな展開が可能になる。 大規模な開発ではオフショアが当然のように行われるようになってきた昨今、ツールを共有することによって、設計から実装に至るまで、認識にずれの少ないコミュニケーションを実現できる点でも評価できる。また、UMLとコードをリアルタイムに同期できる点では、開発者間での実装レベルでの知識共有、既存資産の迅速な解析を容易にし、上流工程のみならず、プログラミング工程のメリットも生みだすだろう。
オラクルのデータベースのユーザーである読者なら、Webアプリケーションベースの管理ツールが優れたGUIをもっていることはご存じだろう。実は、これらのGUIには共通のコンポーネントが用いられている。それがADF UIX(User Interface XML)だ。 ADF UIXは、多くのオラクル製品のWeb画面で共通に使われている“枯れた”フレームワークであり、機能と実装のしやすさの点で非常に“できがよい”と評価されている。JDeveloper 10gには、このADF UIXコンポーネントが標準で用意されており、GUIによる開発をより簡単にしている。これだけでも大きなメリットだが、実はADF AIXは、将来オラクルのJSF(JavaServer Faces)実装および拡張になる予定だ。すなわち、ADF UIXを使って作成したアプリケーションは、JSFベースのアプリケーションにそのまま移行できるということだ。簡単にリッチなUIをもつWebアプリケーションを設計できるだけでなく、それは同時にJSF対応のアプリケーションであるという点にも注目したい。 ところで説明が後回しになったが、ADF UIXのADF(Application Development Framework)とは、MVCモデルをベースとしたフレームワークアーキテクチャのことだ。ADFは、Swing、JSP、ADF UIX、JSFといったさまざまなViewとController、EJBやWebサービスなどのModelをカバーし、実装を簡単にするフレームワークである。実はJDeveloper 10gの開発を簡単にするさまざまな機能は、このADFによるところが大きい。具体的には、以下のような機能の実現を提供している。
このようなビジュアル開発のための機能の提供とともに、テスト/デバック/チューニング、コード管理、デプロイといった開発ライフサイクルもサポートする。すなわち、ADFはJ2EE開発をEnd-to-Endにサポートするフレームワークでもある。
さらに、注目すべき(筆者としてはここが一番のメリットだと感じているが)メリットは、ViewやController、Modelに何を使おうと、一貫した開発が可能になる点だ。例えばModel(ビジネスロジック)の実装にEJBを使う場合とWebサービスを使う場合、コードの実装は大きく異なってくる。また、デプロイメント・ディスクリプタやWSDLといった定義ファイルをいちいち記述する必要もある。しかし、JDeveloper 10gにおいては、接続の違いを意識する必要はなく、面倒な定義ファイルを記述する必要もない。また、ControllerとしてJakarta Strutsを使うことも可能であるし、Strutsを特別意識した開発を行う必要もない。また、ViewがADF UIXであろうがJSPであろうが、これらを意識して開発する必要がない。 以上を要約すれば、J2EEを構成するさまざまな要素の詳細を意識することなく、画面の設計と、ビジネスロジックの実装にだけ集中できるための環境をJDeveloper 10gに提供しているのがADFである。ADFはフレームワークではあるが、J2EEやその周辺のさまざまなスキルとテクノロジーを自由に取り入れられる点では、独自のフレームワークを使いアプリケーションを構築するのとは、少々性格が異なるものだと考えたほうがよいだろう。
仕事で使うシステムにデータベースがからまない案件はほぼ皆無といってよい。Javaを使ったシステム開発においても、データベースがからむ開発は、非常に工数がかかり、また、アプリケーションのパフォーマンスを左右する点では、DB開発は重要なポジションだといえる。 JDeveloper 10gは(当然のことと思われるだろうが)Oracleデータベースを扱うための機能が充実している。特筆したいのは、Javaからデータベースを使う人だけでなく、Oracleデータベースの開発者にとっても充実した機能を提供している点だ。 テーブルやスキーマの定義はJDeveloper 10gのIDE上からビジュアルに行える。IDE上からテーブルの中にテスト用データを書き込んだり、編集ができる。また、SQLのデバックも可能だ。また、JDBCをプログラミングする必要はなく、O/Rマッピングの機能も提供している。さらに、データベースからJavaのコンポーネントを簡単に作成することもできる。 また、オラクルならではの機能として、JDeveloper 10gはデータベースのチューニングの機能も提供している。 データベースにアクセスするプログラミングにはお作法がある。遅いコードの書き方の典型というものがあるが、JDeveloper 10gはコーディング作業中に、データベースアクセスにとって遅いコードを指摘してくれる。データベース開発の経験の少ないJavaプログラマでも、最低限のルールを守ったコーディングが可能になる。 このようにプログラミングの礼儀作法を指摘する静的なチューニング機能のほかに、動的なチューニング機能が提供されている。これは、デバックモードにおいて実際にアプリケーションを実行し、メソッドの実行やデータベースへの問い合わせなどに要した時間をプロファイリングする機能だ。プロファイルの結果はビジュアルに表示されるので、どこがボトルネックであり、修正すべき点はどこかが一目で確認できる。また、プロファイリングの結果を表示するだけでなく、どこをどう変更すべきかの具体的な指示を出してくれる。例えば、変数をクラスの内外のどちらで定義すべきか、バッファサイズはどうとればよいか、など、修正個所の指摘が詳細に行われる。実際にアプリケーションを稼働させた上での指示なので、かなり適切なアドバイスを受けられるのが特徴だ。
いまJava開発ツールの世界ではEclipseが人気だ。無償なので誰もが入手しやすいという点、使いたい機能をプラグインして使え、そのプラグインが豊富であることがユーザーに評価されている。しかしその一方では、使いこなすにはユーザーが自ら情報を探し入手する必要があり、誰もが使いこなせるとはいえない状況である。また、J2EEを熟知していないと、適切なプラグインを採用して、開発を効率化することはできない。 JDeveloper 10gは、ソースネクストからわずか1980円で入手できる点で、入手のしやすさはEclipseに並ぶといえる。大きく違うのは、開発に関する情報がOTN(Oracle Technology Networks)1個所から入手できるということと、J2EE開発に必要な知識が、すでにツール上にEnd-to-Endで実装されているということだ。 Java開発におけるEoDとは、「誰もがツールを入手でき、情報も豊富にあることだ」と西脇氏は語る。 OTNはすでに会員25万人を超える技術者のポータルサイトだ。ここにはJDeveloper 10gの製品情報、開発のための情報が随時更新されている。また、会員の掲示板も用意されており、質疑応答が活発に行われている。OTNにアクセスすれば、ツールとJava開発に必要な情報はほぼすべて入手できるといってよい。
“EoD”をとことん追求して誕生したJDeveloper 10gは、誰もが簡単に入手し、誰もが簡単にその情報を入手できるツールだ。JDeveloper
10gの“EoD度”を、あなた自身で検証してみてはいかがだろうか?
|
|