Struts2のシステム開発の進め方/やり方/流れや方法/手法/工程/手順

Struts2のシステム開発は、既存資産を調べて安全性と事業上の優先度を判断し、要件整理から定着までを段階的に進めることが成功のポイントです。

Struts2は業務システムそのものではなく、JavaでWebアプリケーションを構築するMVCフレームワークです。そのため「Struts2のシステムを作りたい」という相談では、新規開発だけでなく、古い業務システムの保守、脆弱性対応、バージョン更新、Spring Bootなどへの移行が含まれる場合もあります。この記事では、現場で判断に迷いやすいポイントを、要件整理、選定、設計・開発、テスト、稼働、定着の6フェーズに分けて解説します。

▼全体ガイドの記事
・Struts2のシステム開発の完全ガイド

Struts2のシステムとは?全体像と開発方針を整理します

Struts2のシステム開発の全体像

Struts2のシステムは、ブラウザからのリクエストをActionが受け取り、Interceptorで認証や入力検証などの共通処理を行い、業務サービスとデータベースを呼び出して、JSPやJSONで結果を返す構成が基本です。実際の業務では、TomcatやWebLogicなどのアプリケーションサーバ、Spring、MyBatisやHibernate、OracleやSQL Serverなどが組み合わさります。まずフレームワーク名だけで判断せず、周辺部品と業務上の重要度まで把握する必要があります。

Struts2は業務システムではなくJavaのWebフレームワークです

Apache公式は、Struts2を設定より規約を重視し、プラグインで拡張でき、REST、AJAX、JSONにも対応するオープンソースのMVCフレームワークと説明しています。会員管理、申請、予約、販売管理、社内ポータルなどを作るための土台であり、業務ルールや画面、データは個別に設計します。したがって、製品の導入費だけを調べても自社の開発費は分かりません。画面数、Action数、帳票、バッチ、外部API、利用者数、権限の複雑さを積み上げて見積もります。

一方で、Struts2を採用しているだけで認証や安全な運用が自動的に得られるわけではありません。Apache公式のセキュリティガイドも、フレームワークの機能とシステム全体のセキュリティを分けて考える前提です。認証基盤、認可、CSRF対策、入力値検証、監査ログ、バックアップ、脆弱性診断を、業務要件と同じタイミングで決めることが大切です。

延命、バージョン更新、移行、再構築の4方針を比較します

既存のStruts2システムでは、いきなり全面刷新を決めないことが重要です。短期のパッチ適用と保守で時間を確保する方針、Struts 6系などサポートされる系統へ更新する方針、Spring MVCやSpring Bootへ業務単位で移行する方針、業務要件から再構築する方針を並べ、停止リスク、予算、開発者の確保、変更したい機能の量で比較します。

2026年8月時点でApache公式にはStruts 6.10.0と7.2.1のリリースが掲載されています。一方、Struts 2.5系は2023年10月30日にEOLとなり、Apacheからセキュリティパッチや更新を受けられない系統です(出典: Apache Struts公式EOL情報、2026年)。古い系統を使っている場合は、保守を続けるとしても、現行バージョンの確認、依存ライブラリの一覧化、移行計画の作成を先に行います。

Struts2のシステム開発の進め方を6フェーズで解説します

Struts2システム開発の進め方

開発会社に相談する前に、現行システムの事実を集めておくと、提案と見積もりの精度が上がります。ここでは、企画だけでなく移行や保守を含めて、要件整理、選定、設計・開発、テスト、稼働、定着の6フェーズで進めます。各フェーズの完了条件を決め、次の工程に未解決の判断を持ち越さないことがポイントです。

フェーズ1:要件整理で現行資産と業務の優先順位を確定します

最初に、pom.xmlまたはGradle設定、WARファイル、JAR一覧、struts.xml、Action、Interceptor、JSP、OGNL式、Spring設定、DBスキーマ、バッチ、外部API、帳票、認証方式を棚卸しします。Struts 1とStruts 2を取り違えないよう、依存関係と実行環境をサーバ上でも確認します。設計書が古い場合は、ソースコードと実際の画面を突き合わせ、機能一覧を作り直します。

業務側には、利用部門、月間処理件数、締め日、停止可能時間、法令や監査の要件、残したい画面、廃止できる機能を確認します。チェックリストには「公開範囲」「個人情報の有無」「特権操作」「障害時の手作業」「データ保存年数」「連携先と連携方式」「テストデータの用意」「設計書の有無」を入れます。ここで、絶対に止められない業務と、後回しにできる業務を分けると、段階移行の単位が見えてきます。

フェーズ2:選定で保守力と移行力を確認します

候補会社には、Struts2を使った経験だけでなく、現行資産の解析から安全な更新、データ移行、リリース後の保守まで対応できるかを質問します。「Struts2に対応できますか」という質問だけでは不十分です。Strutsのバージョン、Java、Tomcatなどの対応経験、Springや認証基盤の知識、脆弱性対応の手順、コード解析の方法、テスト自動化の範囲、担当者の経験年数を確認します。

選定時は、提案書に現状調査の成果物、移行対象と対象外、仮定条件、テスト方針、切り戻し条件、納品物、保守窓口を明記してもらいます。自社の業務を理解しているかを見るには、実際の画面や障害事例を一つ示し、「どのログを調べ、どの順番で切り分けるか」を説明してもらう方法が有効です。再委託の有無、ソースコードの権利、脆弱性発見時の連絡期限も契約前に確認します。

フェーズ3:設計・開発で変更範囲と境界を管理します

設計では、機能要件だけでなく、認証・認可、入力値検証、エラーメッセージ、監査ログ、性能、バックアップ、監視、障害通知を決めます。Struts2のActionから業務サービス、DB、外部APIへどのように処理が流れるかを図にし、移行する場合は、旧画面と新画面、旧データと新データの対応表を作ります。画面を一つずつ移すのか、業務ドメインごとにAPIを切り出すのかも、この段階で決めます。

開発中は、設定ファイルやInterceptorの変更が複数画面へ波及しやすいため、変更履歴とレビュー基準を整えます。特にOGNL、ファイルアップロード、JSON変換、セッション、権限チェックは、正常系だけでなく不正入力や権限外操作を実装前に定義します。既存システムを残す段階移行では、新旧の処理結果を比較できるログやデータ照合の仕組みを用意すると、切り替え後の原因調査が早くなります。

フェーズ4:テストで業務・連携・セキュリティを検証します

テストは、単体、結合、システム、受入の順に、業務シナリオを軸に組み立てます。Struts2のバージョン更新では、Actionの呼び出し、Interceptorの順序、入力検証、JSP表示、ファイルアップロード、セッション、例外処理、権限、外部API、バッチ、帳票を回帰確認します。単に画面が表示されるだけでなく、締め処理や取消、二重送信、通信タイムアウトなど、実際の利用で起きる状態を再現します。

セキュリティ面では、依存ライブラリを一覧化し、Apache Struts公式とIPAの脆弱性情報を照合します。Apache公式は、CVE-2025-68493について少なくともStruts 6.1.1への更新、CVE-2025-64775についてStruts 6.8.0または7.1.1への更新を案内しています(出典: Apache Struts公式セキュリティ情報、2026年)。ただし、更新後の互換性確認が必要なため、本番へ直接適用せず、検証環境でテストし、失敗時の切り戻し手順まで確認します。

フェーズ5・6:稼働と定着で運用を仕組みにします

稼働前には、データ移行のリハーサル、バックアップからの復元、DNSやロードバランサーの切り替え、権限の最終確認、監視とアラート、問い合わせ窓口、切り戻し判断者を決めます。切り替え当日の作業を時刻単位で並べ、誰が実施し、誰が承認し、何を見て次へ進むかを明確にします。利用者が多い場合は、全部門を一度に切り替えるのではなく、代表部門や限定機能で先行稼働させる方法も検討します。

稼働後は、障害件数、処理時間、問い合わせ内容、利用率、手作業の残量を確認し、改善バックログに変換します。運用担当者へは、ログの見方、再起動の条件、バックアップ確認、脆弱性情報の確認先、緊急連絡先を引き継ぎます。保守契約には、通常問い合わせ、障害一次対応、脆弱性パッチ、OS・Java・アプリケーションサーバ更新、定期レビューを分けて記載すると、定着後の追加費用や責任範囲が分かりやすくなります。

Struts2のシステム開発費用相場とコストの内訳

Struts2システムの費用相場

Struts2だけを対象にした公的な平均価格は確認できないため、費用は人月単価と工数を基に、画面数、Action数、連携本数、移行難易度、テスト資産、納期、保守体制を加味して算出します。相場は目安であり、現状調査をしないまま特定金額を断定できません。見積もりでは、調査費、開発費、テスト費、移行費、教育費、保守費を分けて比較します。

現状調査から再構築までの費用レンジを把握します

リサーチノートと2026年時点の一般的な相場情報を基にすると、現状調査・脆弱性診断・移行計画はおおむね60万〜600万円、パッチ適用や小規模改修は120万〜1,000万円、Struts 2.5系から新しい系統への更新は300万〜4,000万円程度が検討レンジになります。Struts2からSpring MVCやSpring Bootへ移行する場合は600万〜6,000万円、周辺システムまで含む再構築は1,000万〜5,000万円以上になる可能性があります。これらは画面数や作業量を人月に置き換えた推定であり、Struts2案件の公的な平均額ではありません。

一般的な受託開発の比較材料として、SIA株式会社の2026年7月更新情報では、小規模の受託開発を20画面以下で人月100万〜180万円、総額500万〜1,200万円、中規模を60画面以下で人月150万〜220万円、総額2,000万〜6,000万円と整理しています(出典: SIA株式会社、2026年7月)。Struts2の画面移行では、画面数が少なくても複雑な権限や外部連携があれば工数が増えるため、画面数だけで判断しないことが重要です。

初期開発費だけでなく運用・更新費も見積もります

費用の内訳は、要件整理、現行調査、基本設計、詳細設計、実装、単体・結合・受入支援、脆弱性診断、データ移行、インフラ構築、マニュアル、教育、リリース支援に分けます。Struts2のバージョン更新では、JavaやServlet、JSP、プラグイン、アプリケーションサーバの互換性確認が追加されるため、「ライブラリ更新一式」という項目だけでは作業範囲が分かりません。

運用費には、監視、バックアップ、ログ保管、問い合わせ、障害対応、定期パッチ、脆弱性情報の確認、性能改善を含めます。一般的なシステム保守では初期開発費の年15〜25%、月額15万〜80万円程度が一つの目安ですが、24時間監視や緊急対応、第三者診断を含めると上振れします(出典: 業務システム全般の一般相場整理、2026年)。保守費は安さだけでなく、対応時間、含まれる作業、追加作業の単価を比較します。

Struts2のシステムで見積もりを取る際のポイント

Struts2システムの見積もりポイント

同じStruts2システムでも、保守会社によって調査範囲やテストの深さが違うため、総額だけを比べると判断を誤ります。見積依頼書には、現行環境、対象業務、画面数、Action数、DB、外部連携、利用者数、停止可能時間、希望する移行先、設計書の有無、納期を記載します。不明な項目は「要調査」と明記し、調査後に本見積へ切り替える二段階の契約も検討します。

成果物と前提条件を見積書で確認します

比較する見積書には、工程ごとの工数、担当ロール、納品物、対象外、利用する環境、レビュー回数、テストケース数、移行リハーサル回数を記載してもらいます。たとえば「テスト費用」に、テスト計画、ケース作成、実施、不具合修正、再テスト、利用部門の受入支援が含まれるかを確認します。「データ移行一式」なら、項目変換、欠損データの扱い、件数照合、移行後のバックアップ、失敗時の戻し方まで質問します。

準委任か請負か、成果物の検収条件、仕様変更の扱い、遅延時の連絡、第三者ライブラリのライセンス、ソースコードの引き渡し、再委託の承認も見積と同時に確認します。特に現行仕様が不明なプロジェクトで、最初から固定価格・短納期だけを約束すると、後から追加費用や品質低下につながります。最初の調査を準委任で行い、仕様とリスクが見えた段階で移行部分を請負に分ける方法もあります。

会社を比較するときは「保守型」と「移行型」を分けます

Struts2を扱える会社でも、得意分野は同じではありません。障害対応やパッチ適用を重視する保守型、Struts 6系などへの更新を得意とするバージョン更新型、Springへのマイグレーションを中心とする移行型、業務再設計やクラウド化まで行う再構築型に分けて比較します。自社が欲しいのが「止めずに維持する力」なのか「将来の技術負債を減らす力」なのかを決めてから、候補を絞ります。

面談では、現場担当者がいつから参加するか、ソースコードを読んだ調査報告書を出せるか、脆弱性発生時に何時間以内に一次回答できるか、テスト環境を誰が用意するかを聞きます。提案会社の実績にStruts2と書かれていても、担当予定者の経験や現在の技術対応状況は別に確認します。2社から価格を取るだけでなく、調査報告書とリスク一覧のサンプルを見て、判断材料の質を比べることが大切です。

Struts2のシステム開発でよくある質問(FAQ)

Struts2システム開発のよくある質問

Struts2のシステムでは、バージョンの古さ、安全性、移行の必要性、費用の決め方について質問が多く寄せられます。ここでは、判断を急がずに確認すべきポイントを、直接回答する形でまとめます。

Struts2のシステムは今すぐ別の技術へ移行すべきですか?

すべてのシステムを直ちに全面移行する必要はありませんが、Struts 2.5系などEOLの系統を使っている場合は、放置せずに現状調査と移行計画を始めるべきです。公開範囲、個人情報、脆弱性の影響、停止可能時間、開発者の確保を確認し、短期のパッチ対応と中長期の更新・移行を分けて判断します。

Struts2のシステム開発は何円から依頼できますか?

現状調査だけなら60万〜600万円程度、パッチや小規模改修なら120万〜1,000万円程度が検討レンジになりますが、実際は画面数、連携、テスト、納期で変わります。Springへの移行や再構築は数百万円から数千万円以上になる可能性があるため、最初から総額を断定せず、調査フェーズと本開発を分けて見積もる方法が安全です。

Struts2に詳しい開発会社へ何を伝えると見積もりが早くなりますか?

Strutsのバージョン、Javaとアプリケーションサーバの種類、画面数、Action数、JSPや帳票の数、DB、外部連携、利用者数、公開範囲、設計書の有無、希望する対応方針を伝えると、初期判断が早くなります。pom.xmlや依存JAR、構成図、機能一覧、障害履歴を共有できれば、調査工数も見積もりやすくなります。ただし、機密情報は契約とアクセス権を整えたうえで、必要最小限を共有します。

まとめ:Struts2のシステムは調査と段階移行で安全に進めます

Struts2システム開発のまとめ

Struts2のシステム開発では、最初にフレームワーク名だけで判断せず、Action、Interceptor、JSP、依存ライブラリ、Java、アプリケーションサーバ、DB、外部連携、運用体制を棚卸しします。そのうえで、要件整理、会社選定、設計・開発、テスト、稼働、定着の6フェーズを分け、各段階の成果物と完了条件を決めます。

費用は、現状調査、パッチ、小規模改修、バージョン更新、Spring移行、再構築でレンジが大きく異なります。根拠のない一式見積もりを受け入れず、工数、テスト範囲、移行リハーサル、保守、脆弱性対応、切り戻しを分解して比較してください。現在の技術を残すか移行するかは、セキュリティだけでなく、業務停止リスク、予算、開発者確保、将来の変更量を合わせて決めることが、無理のないシステム開発につながります。

▼全体ガイドの記事
・Struts2のシステム開発の完全ガイド

会社紹介

株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。

・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>

執筆者プロフィール
張田谷凌央
張田谷凌央

株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。