専門出版社が運営する既存Webサービスを、従来の開発会社から引き継ぎ、システム全体の改修と運用体制の再構築を実施しました。
既存サービスの認証・契約管理機能を共通プラットフォーム側へ移管し、API連携構成へ変更しています。
Vue.js 2からVue.js 3へのバージョンアップ、OpenAPIを利用したAPI設計と型生成、AWS EC2からECSへの移行、自動デプロイ環境の構築を行いました。
※契約上の都合により、お客様名およびサービス画面は非公開としています。
プロジェクト概要
- 業種:特定分野の専門出版社
- 開発種別:既存Webサービスの改修・システム移行
- 対応範囲:既存システム調査、仕様整理、設計、改修、テスト、インフラ移行、運用保守
- 当社担当範囲の開発規模:約5,000万円
- フロントエンド:Vue.js 3
- バックエンド:Laravel
- API設計:OpenAPI
- インフラ:AWS ECS
- 開発手法:AIを活用した仕様駆動開発
- 現在の体制:継続運用・機能改善
他社が開発したWebサービスの引き継ぎ
別の開発会社が構築・運用していたWebサービスを当社が引き継ぎました。既存プログラムや資料を調査し、システム構成、データの流れ、各機能の依存関係を整理。動作している機能を維持しながら、不要なコードや重複した処理、既存の不具合を段階的に改修しました。
他社開発システムの引き継ぎでは、現在の動作が正式な仕様と一致しているとは限りません。そのためコードだけでなく、実際の業務フローや利用状況と照合しながら本来必要な仕様を再定義しました。
認証・契約管理を共通プラットフォームへ移管
このWebサービスには従来、独自の認証機能や契約管理機能が実装されていました。複数サービスのアカウントと契約を一元管理する共通プラットフォーム構築に伴い、Webサービス側からこれらの機能を分離。認証状態や契約情報をAPI経由で取得し、利用権限を判定する構成へ変更しました。
これにより、Webサービスごとに認証・契約機能を重複して保有する必要がなくなり、共通プラットフォーム側で一貫したアカウント管理と契約管理が行える構成となりました。
OpenAPIを用いたAPI設計と型の自動生成
共通プラットフォームとの接続にあたり、OpenAPIを用いたAPI設計を新たに導入しました。APIのリクエスト、レスポンス、データ形式などを仕様として定義し、その定義からフロントエンドで使用する型を自動生成する仕組みを構築しています。
これにより、Laravelで構築されたバックエンドとVue.jsで構築されたフロントエンドの間で、データ形式の認識がずれるリスクを軽減しました。API仕様を変更する際も仕様書とプログラムの差異を発見しやすく、AIを活用した開発においても正確な仕様を基準として実装やレビューを進められる環境を整えています。
Vue.js 2からVue.js 3への移行
システムの引き継ぎに合わせて、フロントエンドをVue.js 2からVue.js 3へ移行しました。単純なバージョン更新ではなく、既存プログラム全体の構成や依存ライブラリを見直し、Vue.js 3に対応する形へ段階的に修正しています。
また移行の過程で画面表示や操作性を確認し、デザインやレイアウトの調整も実施。既存の機能と利用者への影響を抑えながら、今後も継続的に保守・改修できるフロントエンド環境へ刷新しています。
AWS EC2からECSへの移行とデプロイの自動化
改修前のシステムはAWS EC2上で稼働し、リリースのたびに担当者が手動でプログラムをアップロードする運用となっていました。この方法では作業手順が担当者に依存しやすく、操作ミスやリリース内容の差異が発生するリスクがあります。
そこで実行環境をEC2からECSへ移行し、コンテナを利用した構成へ変更。プログラムの変更内容をもとに自動でデプロイできる仕組みを構築し、リリース作業を標準化して更新時の人的負担と作業ミスのリスクを軽減しています。
AIを活用した既存システムの改修
本プロジェクトでも、仕様書やOpenAPIの定義を基準として、AIを活用した開発を行っています。ただし既存システムの改修では、AIが生成したコードをそのまま採用するのではなく、既存機能への影響やデータの整合性を開発者が確認することが欠かせません。仕様の整理、AIを活用した実装、開発者によるコードレビュー、テストを組み合わせることで、開発速度と品質の両立を図っています。
開発後も継続して運用・改善
本プロジェクトにおける当社の担当範囲は約5,000万円規模となりました。システム移行と大規模改修の完了後も、当社が継続して運用・保守を担当しています。共通プラットフォーム側の変更やサービス運営上の要望に合わせ、仕様の更新、機能追加、不具合修正、インフラ改善を行っています。