はじめに

Spring Frameworkを利用する実プロジェクトで活用できる設計・開発標準を提供します。

このコンテンツのねらい

プロジェクトでSpring Frameworkを採用する際、次のような課題がありました。

  • Fintan上にはSpring Framework向けの提供物が少なく、アーキテクトの負担が大きい
  • インターネット上にはSpring Frameworkの情報は多く存在するが、体系立ててまとめられたものは殆ど存在しない

これらの課題に対して、ベースにできる方式設計書や標準ドキュメント、ソースコードのサンプルを提供することでアーキテクトの負担を軽減することが、このコンテンツのねらいです。

このコンテンツの対象者

このコンテンツの主な対象者はSpring Frameworkを利用する新規開発プロジェクトに参画するアーキテクトです。 また、プロジェクトの性質としてアーキテクトや業務アプリ、インフラといったチームによる役割分担が明確な体制を備えたプロジェクトを想定しています。

既に構築済みのシステムに対する保守開発プロジェクトや少数精鋭によるサービス開発プロジェクトなどは先に述べた対象像からは外れますが、それらのプロジェクトでコンテンツを利用することを制限するものではありません。 有用だと感じて頂けるなら是非ともご活用ください。

コンテンツ紹介

【方式設計書サンプル】

実プロジェクトにおいてスタンダードな以下の処理方式について、方式設計書のサンプルを提供します。

  • Web画面処理方式
  • バッチ処理方式
  • API処理方式

実プロジェクトで方式設計を進めるにあたってご参考にして頂いた際、抜け漏れが発生しないよう網羅的に項目を挙げています。そして、それらの項目に対してSpring Frameworkをベースにした方式を記載しています。

また、Spring Frameworkのみでは機能が不足している部分があり、それを補うため一部の方式ではNablarchが持つライブラリやkeel-spring-enhanceというライブラリを採用しています。これらのライブラリの利用は必須ではありませんが、わざわざ作りこむのではなく既に存在する高品質なライブラリを取り込む例として【方式設計書サンプル】では採用しています。

【方式設計書サンプル】は次のGitHubリポジトリで公開しています。

【サンプルプロジェクト】

「Nablarchシステム開発ガイド」から提供されているサンプルプロジェクトのSpring Framework版を提供します。

開発ガイドや単体テスト標準、Thymeleafコーディング規約、MyBatisの利用を前提としたSQLコーディング規約、アプリケーションの設計書とソースコードのサンプルを含みます。

【サンプルプロジェクト】へは前述の【方式設計書サンプル】に記載されている方式をなるべく取り入れていますが、すべてではありません。すべての方式を盛り込むとサンプルが肥大化してしまい、内容の理解を妨げる要因になるためです。

このことから、【サンプルプロジェクト】と【方式設計書サンプル】はそれぞれ独立したコンテンツだとお考え下さい。

【サンプルプロジェクト】は次のGitHubリポジトリで公開しています。

【Spring Framework利用プロジェクト支援ツール】

設計書などから成果物の自動生成を行うツール本体や、サードパーティから提供されているツールのセットアップガイドを提供します。

【Spring Framework利用プロジェクト支援ツール】は次のGitHubリポジトリで公開しています。

コンテンツの使い方

【方式設計書サンプル】は実プロジェクトで方式設計を進める際に参考にして頂く、あるいは方式設計書を作成する際のベースにして頂くことを想定しています。 その際は、少なくとも一度は全量に目を通して内容を理解し、プロジェクトに合わない箇所や足りない箇所がないか確認をしてください。

【サンプルプロジェクト】も実プロジェクトで参考にして頂く、あるいは成果物のベースにして頂くことを想定しています。

  • ソースコードはプロジェクトで参考にして頂くサンプルとしてご利用頂くことはもちろん、そこに含まれるアプリ基盤部品を流用してプロジェクトのコードベースを準備して頂けます。
  • 開発ガイドはマークダウン形式で提供しているため、GitHubやGitLabなどプロジェクトでお使いのGitホスティングサービス/ソフトウェアに取り込んで活用してください
  • 単体テスト標準やThymeleafコーディング規約、MyBatisの利用を前提としたSQLコーディング規約はプロジェクトでそれらを作成する際のベースにしてください

【Spring Framework利用プロジェクト支援ツール】は実プロジェクトでツールを使用して成果物を自動生成する場合にご確認ください。

今後の展開

現在公開を予定しているコンテンツは次の通りです。

【方式設計書サンプル】

  • 常駐バッチ処理方式のサンプル

【サンプルプロジェクト】

  • Tasklet形式のバッチサンプル
  • 常駐バッチサンプル
  • PUTメソッドを用いた更新APIサンプル
  • DELETEメソッドを用いた削除APIサンプル
  • Web画面でのファイルアップロードサンプル
  • Web画面でのファイルダウンロードサンプル

【Spring Framework利用プロジェクト支援ツール】

  • シェルスクリプト自動生成ツール

これらのコンテンツは2022年中に公開予定です。

また、本コンテンツが使用しているJavaやSpring Frameworkのバージョンについては定期的にアップデートする予定です。