Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Apache Beehiveの開発を体験する(NetUI編)

Apache BeehiveのNetUIを利用した効率的な開発

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2006/06/10 00:00

Apache Beehiveのサブプロジェクトの中で、MVC(Model-View-Controller)のViewとControllerを担うのがNetUIです。NetUIは、Strutsの優れた部分を引き継ぎながら、高いレベルの機能拡張と、より効率的で簡単なプログラミングモデルを提供します。本稿では、このNetUIを取り上げ、基本的な開発方法を解説します。

目次

はじめに

 Apache Beehiveのサブプロジェクトの中で、MVC(Model-View-Controller)のViewとControllerを担うのがNetUIです。NetUIは、Strutsの優れた部分を引き継ぎながら、高いレベルの機能拡張と、より効率的で簡単なプログラミングモデルを提供します。本稿では、このNetUIを取り上げ、基本的な開発方法を解説します。

対象読者

 J2EEアプリケーションの開発者。またはJ2EEの開発に興味がある読者。Strutsの経験があると望ましい。

環境

 本稿では、Apache Beehiveで実装されたサンプルアプリケーションが正しく動作する環境が必要になります。必要なものを表にまとめました。Beehiveに関しては、サンプルアプリケーションに含めているためダウンロードしなくても動作はします。なお、J2SE、Tomcatの基本的な環境設定について知りたい方は、サーバサイド技術の学び舎 - WINGSにある『サーバサイド環境構築設定』を参照してください。注意点として、Apache Beehiveでは、アノテーション(注釈)などの機能を多用しているため、J2SE 5.0以上でなければ正常に動作しません。また、環境変数としてTomcatのCATALINA_HOMEを設定してください。

表1 必要なライブラリ
ライブラリバージョンダウンロード元
J2SE5.0http://java.sun.com/j2se/1.5.0/download.jsp
Ant1.6.5http://ant.apache.org/bindownload.cgi
Tomcat5.5.12http://tomcat.apache.org/download-55.cgi
Beehive1.0.1http://beehive.apache.org/releases/release-1.0.1.cgi

NetUIの概要とアーキテクチャ

概要

 NetUIは、StrutsをベースとしたWebアプリケーションのフレームワークです。J2SE 5.0で新たな仕様として追加されたアノテーションの機能を主に利用し、より効率的に開発を行えるフレームワークとなっています。また、優れたさまざまな機能を実装しています。次に主な特徴を挙げます。

  1. これまでStrutsでのActionクラス+「struts-config.xml」として別々に管理していたリソースをコントローラークラスに統合することにより、よりメンテナンスしやすい効率的な開発環境を提供します。
  2. 強力なJSPタグにより、フォーム、コントローラー、ビジネスロジックで作成されたデータを簡単にJSPにバインドすることができます。
  3. 複数のコントローラーをそれぞれ独立したモジュールとして開発することにより、大規模なアプリケーションを効率的に実行することができます(Nested Page Flows:ネストされたページフローと呼ばれています。本稿では取り上げません)。

アーキテクチャ

 NetUIは、ページフローとNetUI-JSPタグの大きく2つに分けられます。ページフローは、定められたアノテーションとメソッドで定義され、Webアプリケーションの動作を制御し、ビジネスロジックを呼び出すJavaのクラスです。このクラスは、コントローラークラスと呼ばれ、javaファイルもしくは、jpfという拡張子で作成されます。NetUI-JSPタグはStrutsのタグをより強力にしたもので、NetUI-JSPタグを利用することで、フォームのデータやビジネスロジックで生成されたデータをJSPにバインドすることができます。下にMVCでのNetUIのイメージをまとめました。

MVCでのNetUIの構成イメージ
MVCでのNetUIの構成イメージ

 また、コンポーネントの表を次に示します。

表2 NetUIで作成されるWebアプリケーションのコンポーネント
名称MVC概要
コントローラークラスC全体の動作を制御するクラス
フォームBeanMフォームクラス
JSPV画面ページ
ビジネスロジックMビジネスロジックを記述したクラス(Beehiveのコントローラーなどが使用される)

サンプルアプリケーションの概要

 ここからはNetUIで実装したサンプルWebアプリケーションを利用して、NetUIでの実装方法を解説していきます。サンプルアプリケーションとして、ログイン機能をもち、簡単なメモ情報をファイルとして出力する機能をもったアプリケーションを使用します。画面遷移イメージは次のようになります。

画面遷移イメージ
画面遷移イメージ

 次のような機能を実装しています。

  1. ログイン画面でアカウント名とパスワードを入力。正しいアカウントであれば、メモ入力画面へ遷移、誤ったアカウントであればログイン画面へ戻す。
  2. メモ入力画面でタイトルと本文を入力。入力内容が適切であれば、確認画面へ遷移。誤った入力内容であればメモ入力画面へ戻す。
  3. 確認画面から[確定]ボタンを押下すると、完了画面へ遷移。登録完了した旨のメッセージを表示。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 佐藤 真介(サトウ シンスケ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Apache Beehiveの開発を体験する
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5