LEXUES BLOG

レキサスブログ

アプリケーションレイヤー

こんばんは、技術統括部の豊田です。

4月からの技術研修も残すところ6日となりました。
研修の仕上げとして、明日からフレームワークを使用した
Webアプリケーション構築の演習を行います。

本日も研修の振返りしたいと思います。

アプリケーションレイヤーについて整理してみます。

よく用いられるのは下記の3層構造。
プレゼンテーション層 -> ビジネス層 -> データアクセス層

まずプレゼンテーション層の役割は2つあります。
ひとつはクライアントからのリクエストを受取り、
ビジネス層へ渡すことです。
そして、ビジネス層から戻ってきた結果を受取り、
適切なビューを呼びだすことです。

ここはStrutsが担っており、
ActionServlet -> RequestProcessor -> Action と Actionform

という流れになり、Actionがビジネス層を呼び出します。
実装するのはActionとActionformになります。

RequestProcessorはActionの戻り値(Actionforward)で
クライアントに返すビューを決定します。
RequestProcessorはstruts-config.xmlの記述により、
呼びだすAction、Actionformやビューを決定します。

Actionはビジネス層を担うPOJOを呼び出します。
POJOがビジネスロジックを実現する処理を行い、
DBのアクセスが必要であればDAOを呼び出します。

DAOからDBへのアクセスはHibernateが担当します。

レイヤー構造のポイントは、
各層のつながりを弱くすることです。
(これを疎結合というそうです。)
言い換えると、各層の登場人物(オブジェクト)は
自分の層を超えてはいけないということです。

この疎結合を実現するのがSpringのDI機能だそうです・・が、
SpringのDIやAOP機能はまだ理解が十分では
ないので、今日はパスします。。

明日からの演習で上記をどこまで実装できるか心配ですが、
目標はレイヤーを意識したキレイ(行儀のよい?)なシステム構造を
目指したいと思います!

この記事のライター

みなさまからのご連絡をお待ちしております。

CONTACT US