自宅サーバー構築メモ The last update of this page 2007/07/25
JBOSSで非同期処理プログラム
目的
JBOSSで、非同期処理機能JMS(Java Messaging Service)を利用したEJBプログラムを完成させる。

EJB(Enterprise JavaBeans)とは
簡単に説明すると、サーバーサイドのアプリケーションでのプログラムを部品化(Bean)して、 使いまわすことをできるようにするためのアーキテクチャ。
3種類のEJB
・Session Bean
「サービス」のモデル。
・Entity Bean
複数のクライアントから共有するビジネスオブジェクトのモデル。
・Message Driven Bean
非同期サービスのモデル。
今回のプログラムで使用するBeanは「Session Bean」と「Message Driven Bean」。
Entity Beanは、基本的にデータベースの1レコードを表すオブジェクトと考えればOK。
EJBについての詳しいことは省略するので、各自で調べてほしい。

システム要件
1.システムに対する要求
 特定ディレクトリに保管されているMP3ファイルを容易に検索することができ、
  かつMP3ファイルの登録・取得ができるシステム

2.システムの機能要件
  1.利用ユーザー認証機能
  2.MP3ファイル検索機能
  3.MP3ファイル取得(ダウンロード)機能
  4.MP3ファイル登録(アップロード)機能
  5.MP3ファイル名・タグ情報登録機能(データベースに登録)

3.機能要件の詳細
  1.利用ユーザー認証機能
   利用ユーザーにはそれぞれID・パスワードを与え、システムを利用するとき、
   これらを用いて認証を行う。
   また、それぞれのIDによって、利用できる機能の範囲を制限する。

  2.MP3ファイル検索機能
   (キーワード検索)
    データベースに登録されているMP3ファイル名・タグ情報(ID3)を、入力されたキーワードにて検索を行う。
    検索結果を曲名一覧で表示する。
   (ディレクトリ検索)
    データベースに登録されているタグ情報(ID3)を用いて階層での検索を行う。
    階層
     アーティスト名
      アルバム名
       曲名
    それぞれの階層の検索結果を表示する。

  3.MP3ファイル取得(ダウンロード)機能
   検索結果によって以下の単位でダウンロードを行う。
    (キーワード検索)
     曲単位
    (ディレクトリ検索)
     アーティスト単位
     アルバム単位
     曲単位
   また、複数の曲を圧縮してひとつにまとめ、1ファイルにしてダウンロードできるようにする。

  4.MP3ファイル登録(アップロード)機能
   アップロード可能なファイルはMP3ファイルのみとする。

  5.MP3ファイル名・タグ情報登録機能(データベースに登録)
   MP3ファイル保管ディレクトリに存在するMP3ファイルのファイル名・タグ情報(ID3)を取り出し
   データベースに登録する。
   また、ファイル数が多くなった場合、時間がかかることが想定できるため、非同期処理にて実行を行う。
   非同期処理の実行後は、現在の処理状況がわかるようにする。

以上の要件をもとに、これからシステムを構築していく。