SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Apache Beehiveの開発を体験する

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 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. 確認画面から[確定]ボタンを押下すると、完了画面へ遷移。登録完了した旨のメッセージを表示。

次のページ
サンプルアプリケーションの実装詳細 - 1

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Apache Beehiveの開発を体験する連載記事一覧
この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/411 2006/10/11 19:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング