概要
業務でJavaの既存システムを読むために、StrutsとEJBの役割を整理する。
この記事は、特定の企業・案件・内部仕様について書くものではなく、公開情報と一般的なJava Webアプリケーションの構成をもとにした学習メモである。
現時点では、まず全体像を把握するための概要にとどめる。
主に確認したい内容は次の通り。
- Web層とは何か
- StrutsがWeb層で担当すること
- EJBが業務ロジック側で担当すること
- StrutsとEJBがどのように連携するのか
- 既存システムを読むとき、どの設定ファイルやクラスから確認すると流れを追いやすいのか
ここでいうWeb層は、ブラウザから送られたHTTPリクエストを受け取り、画面入力の値を扱い、必要な処理を呼び出し、処理結果に応じて次の画面やレスポンスを決める部分を指す。
Strutsは、このWeb層でリクエストの振り分け、Actionの実行、画面遷移などに関わる。
EJBは、Web層から呼び出される業務ロジック側の処理で使われる。特に、DB更新を伴う処理では、トランザクション境界がどこにあるのかを確認することが重要になる。
まずは、次のような一般的な流れを前提にして整理する。
ブラウザ
↓
Struts Action
↓
Service / EJB
↓
DAO
↓
DB
実際の構成はシステムごとに異なるため、この記事では業務固有の処理ではなく、既存コードを読むための抽象的な見取り図として整理する。
今後、必要に応じてStrutsの設定ファイル、Action、EJB、DAO、トランザクション管理などを個別に深掘りする。