ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

オブジェクト指向で開発の最初から最後までの手順例-その21:フレームワーク。


オブジェクト指向でやる場合の最初から最後までの流れを、実際の例を挙げて書いていくシリーズ「オブジェクト指向で開発の最初から最後までの手順例」、いままでで、要求仕様がまとまり、前回で、要求定義書で出てきた、やることとエンティティをもとに、モデル部分のクラスをつくりました。

 ここの予定で行くと、次は、「やることをメソッドとして適切なエンティティにいれ、モデル部分のクラスをつくる」です。




■フレームワークの決定

 プログラムは、入出力と、処理部分に分かれるわけですが、入出力部分に関しては、たいてい共通化できます。

 とくに、画面部分に関しては、画面部分をビュー、そして、処理部分をモデルとして、ビューとモデルをつなぐ部分のコントローラーというのを考えて、モデル、ビュー、コントロール、頭を採ってMVCモデルが中心的な考え方になっています。

 ただ、MVCにも、いくつかの実装方法があります。

 また、入出力は画面だけでなく、データベースなどもあります。

 そこで、この段階で、それらの実現方法(フレームワーク)を決めてしまいましょうというわけです。




■で、今回は・・・

 最近のはやりとしては、WebAPIでして、となると、REST型(WebのPOSTないしはGet型でデータを投げて、XMLで結果を受け取り、それを元に処理する)ってことで、まあ、いいかなと。。

そーすると、

画面(View):ブラウザ、AJAXで処理
    |
コントローラー:サーブレット
  →サーブレットコンテナにはTOMCATを使用
    |
モデル:Javaプログラム


ということになります。




■データベースの呼び出し

 データベースに関しては最近O/Rマッピングなどがはやってますが、まあ、それほど大げさにやらず、自動生成にします。
 トランザクションは、各データベースで発生するのでなく、それより上位のクラスで発生させます(EJBにおいて、各テーブルを操作するエンティティBeanではなく、その上位のセッションBeanでトランザクションを操作するように)

 ということで、

モデル(トランザクション操作)
   |
DBアクセス(自動生成で、各テーブルごと)

ということになります。




■XMLで返す返り値

 サーブレットのXMLで返す返り値は、大きく2つです。

・処理系の場合
  なにかを処理させる場合、エラーコードと、エラー内容

・検索・問い合わせ系
  問い合わせに対する答え
     レコード-各項目
  の形でまとめられる



■まとめると・・

こんなかんじ

画面(View):ブラウザ、AJAXで処理
    |
コントローラー:サーブレット
  →サーブレットコンテナにはTOMCATを使用
  →「処理系」ないし「検索・問い合わせ系」のXMLを返す
    |
モデル:Javaプログラム
  →トランザクション操作もここで行う
   |
DBアクセス(自動生成で、各テーブルごと)




次回から、もっとくわしく、それぞれの中身をみていきます。