オブジェクト指向でやる場合の最初から最後までの流れを、実際の例を挙げて書いていくシリーズ「オブジェクト指向で開発の最初から最後までの手順例」、いままでで、要求仕様がまとまり、前回で、要求定義書で出てきた、やることとエンティティをもとに、モデル部分のクラスをつくりました。
ここの予定で行くと、次は、「やることをメソッドとして適切なエンティティにいれ、モデル部分のクラスをつくる」です。
■フレームワークの決定
プログラムは、入出力と、処理部分に分かれるわけですが、入出力部分に関しては、たいてい共通化できます。
とくに、画面部分に関しては、画面部分をビュー、そして、処理部分をモデルとして、ビューとモデルをつなぐ部分のコントローラーというのを考えて、モデル、ビュー、コントロール、頭を採って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アクセス(自動生成で、各テーブルごと)
次回から、もっとくわしく、それぞれの中身をみていきます。