検索
特集

特集:いま、知っておくべきJavaテクノロジー 2004dev Java(5/6 ページ)

デベロッパー「dev Java」では、これまでにOSS、商用と大別して50以上の特集を掲載してきた。この特集は、読者がJavaに対し向き合う時、dev Java特集のどこから読み進めればよいのか、ガイドするものだ。自らの理解がどの位置にあり、どのようにステップアップしていけばよいかもつかめるだろう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

JavaBeansの理解が拡張性、メンテへの意識を高める

 ここまで進んでくれば、この段階で「JavaBeans」の作成方法と使い方を覚えると更なるステップアップにつながる。

 「Swing」などのGUIプログラミングで用いるコンポーネントもJavaBeansと呼ばれるが、WebアプリケーションにおけるJavaBeansとは、次の2つを示す

 ひとつ目は、まとめて扱いたい幾つかのデータをカプセル化し、一括して保持、管理するためのコンポーネントだ。JavaBeansには、作成のための幾つかルールがある。

 JSPにはJavaBeansをスマートに利用するためのJSPアクションと呼ばれるタグがあり、これらルールに沿って作られたJavaBeansを扱うことができる。

 もうひとつは、ビジネスロジック(※4)などを実装するためのコンポーネントである。ビジネスロジックは、ServletやJSPに実装しても一応動作するものを作成できる。しかし、ServletやJSPから独立したJavaBeansに実装しておけば、アプリケーション中のいろいろな個所で使い回せるメリットがある。

 データを保持するJavaBeansや、ビジネスロジックを呼び出すと、データベースなどから取得した結果がServletである「スコープ」に保存され、JSPから参照される。この、ServletとJSPで同じデータを参照するための「スコープ」には、幾つか種類があるため、この使い分け方も身につけておきたいポイントだ(図4)。


図4■JavaBeansのやり取り

※4 ビジネスロジック

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 「業務要件を満たすための処理」のこと。データベースの検索や、データの計算、データの加工処理などがビジネスロジックに分類される処理。HTTPリクエストの受付、画面遷移制御、セッション管理などはビジネスロジックには分類されない。

Webアプリで扱うDataSourceによるDBアクセス

 ここまで進むと、データベースアクセスの基本的なプログラミングは身についてくる。

 Webアプリケーションでは「DataSource」を使ってデータベースへアクセスを行うのが一般的だ。DataSourceとは、アプリケーションとデータベースとの接続を一元管理するための仕組みだ。

 さらに、このDataSourceを使うと接続プーリングを行うことができる。接続プーリングとは、DataSourceとデータベースとの間の接続を保持(プール)しておき、使い回す技術のことだ。

 データベースへアクセスが必要な時に毎回認証、接続、解放を行わないため、リソースを有効利用でき、パフォーマンスが劇的に向上する。接続プーリングは実運用するシステムにおいては、事実上必須だといえる。

 さらにDataSourceは、アプリケーションで独自に管理するものと、コンテナが管理するものに大別される。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 コンテナ管理のDataSourceを使うとデータベースのホスト名、ユーザ名、パスワード、最大接続数、最小接続数、タイムアウト時間などの環境に依存した情報をコンテナで管理でき、アプリケーションからそのような環境依存の情報を完全に排除できる。そのため、コンテナ管理によるDataSourceを使うのが一般的だ。

オブジェクト検索、取得を可能とするJNDIサービス

 コンテナ管理によるDataSourceを使う場合は、JNDIサービスを組み合わせる。

 JNDIサービスの基本的な仕組みもここで理解したい。JNDIサービスとは、Java Naming Directory Interfaceの頭文字を取ったものであり、さまざまなオブジェクトに「JNDI名」という名前を付けて登録し、外部から名前を指定してオブジェクトを検索、取得できる仕組みだ図5)。


図5■JNDIサービスのやり取り

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 DataSourceのほかにも、EJBで用いるホームオブジェクトや、UserTransactionオブジェクト、JavaMailで用いるMailSessionオブジェクトなどの管理にも広く使われている。単純な文字列(java.lang.String)オブジェクトも扱えるので、環境変数のような使い道も可能だ。

MVCモデルに基づく開発が標準

 MVCとは、Model、View、Controllerそれぞれの頭文字をとったものであり、Webアプリケーション設計の基本的な考え方を指す。MVCモデルなどと表現することもある。

 JavaBeans、JSP、Servletでアプリケーションを組む場合はJavaBeans、JSP、Servletがそれぞれ、Model、View、Controllerに対応する(表4)。MVCという考え方はWebアプリケーションの設計において非常に重要な考え方である。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 MVCを意識して設計することにより、コンポーネント間の役割分担がはっきりして独立性が高まる。そのため、あるコンポーネントへの変更が他のコンポーネントへ影響することを最小限に抑えられるのだ、違った側面から言うと開発体制の分業化がしやすいというメリットも得られる。MVCモデルに基づいたWebアプリケーションの設計は事実上標準となっている。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る