1.2. このドキュメントが示すこと

本ガイドラインではSpring、Spring MVCやMyBatisを中心としたフルスタックフレームワークを利用して、 保守性の高いWebアプリケーション開発をするためのベストプラクティスを提供する。

本ガイドラインを読むことで、ソフトウェア開発(主にコーディング)が円滑に進むことを期待する。

1.3. このドキュメントの対象読者

本ガイドラインはソフトウェア開発経験のあるアーキテクトやプログラマ向けに書かれており、 以下の知識があることを前提としている。

  • Spring FrameworkのDIやAOPに関する基礎的な知識がある
  • Servlet/JSPを使用してWebアプリケーションを開発したことがある
  • SQLに関する知識がある
  • Mavenを使用してWebアプリケーションをビルドしたことがある

これからJavaを勉強し始めるという人向けではない。

Spring Frameworkに関して、本ドキュメントを読むための基礎知識があるかどうかを測るために Spring Framework理解度チェックテストを参照されたい。 この理解度テストが4割回答できない場合は、別途以下のような入門書籍で学習することを推奨する。

1.4. このドキュメントの構成

  • アーキテクチャ概要
    Spring MVCの概要や、Macchinetta Server Framework (1.x)の基本的な考え方を説明する。
  • アプリケーション開発
    Macchinetta Server Framework (1.x)を利用してアプリケーション開発する上で必ず押さえておかなくてはならない知識や作法について説明する。
  • Webアプリ開発機能
    Webアプリケーション開発で必要となる機能をどう実装するか、何に気を付けるべきかを説明する。
  • Web Service
    Webサービス開発で必要となる機能をどう実装するか、何に気を付けるべきかを説明する。
  • データアクセス
    データアクセス機能をどう実装するか、何に気を付けるべきかを説明する。
  • アプリケーション形態に依存しない汎用機能
    アプリケーション形態に依存しない汎用機能をどう実装するか、何に気を付けるべきかを説明する。
  • メッセージ連携
    メッセージ連携機能をどう実装するか、何に気を付けるべきかを説明する。
  • セキュリティ対策
    Spring Securityを中心としたセキュリティ対策について説明する。
  • 単体テスト
    Spring Testを利用した単体テストについて説明する。
  • チュートリアル
    簡単なアプリケーション開発を通して、Macchinetta Server Framework (1.x)によるアプリケーション開発を体験する。
  • Appendix(Know How)
    Macchinetta Server Framework (1.x)を利用する場合の付加情報を説明する。

1.5. このドキュメントの読み方

まずは”アーキテクチャ概要” から読み進めていただきたい。特にSpring MVCの経験がない場合は”はじめてのSpring MVCアプリケーション”を実施すること。 “アプリケーションのレイヤ化”は本ガイドラインで共通する用語と概念の説明を行っているため、必ず一読されたい。

次に”チュートリアル”に進む。 このチュートリアルでは”習うより慣れろ”を目的として、 詳細な説明の前にまず手を動かして、Macchinetta Server Framework (1.x)によるアプリケーション開発を体感していただきたい。

チュートリアルを実践したのちに、”アプリケーション開発”でアプリケーション開発の詳細を学ぶ。 特に”アプリケーション層の実装”でSpring MVCによる開発のノウハウを凝集して説明しているため、 何度も読み返すことを推奨する。 本章を読み終えた後にもう一度”チュートリアル”を振り返るとより理解が深まる。

ここまではMacchinetta Server Framework (1.x)を使用するすべての開発者が読むことを強く推奨する。

Webアプリ開発機能”、”Web Service”、”データアクセス”、”アプリケーション形態に依存しない汎用機能”、”メッセージ連携”、”セキュリティ対策”については 目的に応じて必要なタイミングで参照すればよい。ただし、”入力チェック”はアプリケーション開発で通常は必要となるため、基本的には読んでおくこと。

テクニカルリーダーはこれらをすべて読み内容を把握した上で プロジェクトにおいて、どのような方針を定めるか検討していただきたい。

1.6. このドキュメントの動作検証環境

本ガイドラインで説明している内容の動作検証環境については、 「テスト済み環境」を参照されたい。

なお、本ガイドライン中に記載のあるJava SE 8とJava SE 11の主要な変更点については、”Java SE 8からJava SE 11までの主要な変更点”に概要をまとめてあるので、合わせて参照されたい。