購買管理システムのリアーキテクチャとは?|考え方/特徴/仕組み/目的を解説

購買管理システムのリアーキテクチャは、モノリシックな構造を分解し直し、変更の影響範囲を局所化する技術的な取り組みです。

IT部門やアーキテクトが技術投資の方向性を判断するには、取り組みの中身を次の5点で捉えると分かりやすくなります。

  • 取引先を1社追加するたびに、サプライヤーポータル全体の改修とリグレッションテストが必要になる、という問題を解く
  • 承認ルートを少し変えるだけで発注処理側に予期せぬ不具合が出る、という状況を減らす
  • モノリシックな構造を、「サプライヤーポータルAPI連携基盤」と「購買承認ワークフローエンジン」の2つの境界に沿って組み替える
  • 組み替えた2つの機能を、それぞれ独立したマイクロサービスへ分解する
  • 変更の影響範囲を局所化し、取引先の追加や承認ルート変更への対応を速める

テーマ全体の流れは、次の完全ガイドにまとめています。

▼全体ガイドの記事
・購買管理システムのリアーキテクチャの完全ガイド

購買管理システムのリアーキテクチャの定義

購買管理システムのリアーキテクチャの全体像を確認するエンジニア

購買管理システムのリアーキテクチャは、業務システムの刷新・更改・リニューアルの一種ですが、着目する対象はアーキテクチャそのものです。

つまり、画面や契約更改というきっかけよりも、モノリス構造・密結合という技術的負債そのものを起点に、構造を設計し直すことを指します。

モダナイゼーション5手法のなかでの位置づけ

購買管理システムのモダナイゼーションは、リホスト、リプラットフォーム、リファクタリングを含む5つの手法を並べて扱う総論です。

リアーキテクチャは、このうちリファクタリングとリビルドを掘り下げたものです。モノリスをマイクロサービスへどう分解し、ドメイン駆動設計とAPI-first設計に基づいて構造をどう組み替えるかという「構造の設計」に絞って扱います。

ほかの手法も比べる段階であれば、まずモダナイゼーション全体の整理から着手するのが適切です。

刷新・更改・リニューアルとの起点の違い

購買管理システムの刷新は、発注ミスや支払遅延が経営に与える影響を示し、稟議承認や部門間の合意形成という経営判断を起点に進みます。

更改は、保守契約の満了やハードウェアのリース期限、EOS・EOLといった外部からの強制期限が起点です。リニューアルは、発注申請画面やサプライヤーポータルの操作性など、利用者の体験を見直すことが中心です。

一方で、リアーキテクチャは画面の裏側にある構造、つまりモノリスの密結合そのものを起点にするため、UIデザインには踏み込みません。予算承認の流れや画面の刷新が主な目的であれば、刷新やリニューアルとして検討したほうが進めやすくなります。

モノリスをサプライヤーポータルと承認ワークフローのドメインへ分解する仕組み

サプライヤーポータル連携基盤と承認ワークフローの境界設計を検討するチーム

購買管理システム特有の分解ポイントは、性質の異なる2つの機能を、それぞれ独立したサービスへ切り出すことです。1つは、複数の仕入先とEDI・Web-EDIで接続する「サプライヤーポータルAPI連携基盤」(ケースA)です。もう1つは、金額・部門・緊急度に応じて承認ルートが分岐する「購買承認ワークフローエンジン」(ケースB)です。

この2つは求められる設計の複雑さがまったく違います。そのため、分割は技術レイヤーよりもビジネスドメインの単位で行うことが、購買領域特有の論点になります。

サプライヤーポータル連携基盤と承認ワークフローエンジンのBounded Contextへの切り分け

ドメイン駆動設計では、特定のドメインモデルが適用される明確な境界を、Bounded Contextと呼びます。

購買管理システムでは、サプライヤーマスタ管理、見積・発注、承認ルーティングといった機能単位に分解します。予算枠管理、検収、支払連携についても、それぞれが独立したデータとビジネスロジックを持つように設計します。

「承認」「発注」「サプライヤー管理」の境界をあいまいにしたまま分割を進めると、サービスは分かれていても実質的な密結合が残る「分散モノリス」に陥りやすくなります。そのため、開発者とビジネス側が同じ言葉で同じ対象を指せるよう、ユビキタス言語をコンテキストごとに統一しておくことが欠かせません。

ストラングラーフィグパターンによる段階的な切り出し

モノリスをマイクロサービスへ分解する際、既存システムを一度に置き換えるビッグバン移行はリスクが大きいです。購買業務が止まれば、サプライヤーへの支払いや発注そのものに影響が及びます。

そこで多くの現場では、ストラングラーフィグパターンが採用されます。パイロットフェーズ(3〜6ヶ月)では、新旧を並行稼働させながら、機能を少しずつ新しいサービスへ切り出します。

MVPフェーズ(6〜12ヶ月)を経て、本番移行フェーズ(12〜18ヶ月)で旧モノリスからのトラフィック移行を完了させます。その後、スケールフェーズ(18ヶ月以上)で独立サービスとしての優位性を確立していきます。また、APIゲートウェイによるトラフィックの段階ルーティングとフィーチャートグルを組み合わせると、無停止での移行が可能になります。

ポイント

分割の境界で迷ったら、取引先との接続と承認ルートのどちらで変更が多いかを先に見ます。両者を同じサービスに置くと変更の影響が互いに広がるため、性質の異なる機能ごとに切り分けるのが目安です。

API-first設計によるサプライヤーポータルの接続再構築

複数サプライヤーとのAPI接続をAPI-first設計で再構築する様子

サプライヤーポータルAPI連携基盤(ケースA)は、複雑なビジネスロジックを持ちません。その代わり、取引先ごとに異なるEDI・Web-EDIの仕様との疎通が、開発の重心になります。

リアーキテクチャの過程では、こうした個別の接続をAPIゲートウェイへ統合します。また、実装より前に取引先との合意事項として仕様を固める、API-first設計を採用することが特徴です。

実装前のAPIコントラクトの定義と合意

API-first設計では、コードを書き始める前に、APIのインターフェース(コントラクト)を定義します。同期通信はOpenAPI、非同期通信はAsyncAPIといった形式で書き、関係者間で合意してから開発に着手します。

コントラクトを先に固めておくため、サプライヤー側システムとの連携モジュールを、バックエンドの完成を待たずに並行して開発できるようになります。

API主導で統合を進めた組織では、システム間連携が3.9倍、変更対応が5.6倍高速化したという調査データも紹介されています。取引先数が多い購買システムほど、この設計思想の恩恵を受けやすいといえます。

モックサーバーとコンシューマ駆動契約テストによる早期の疎通検証

コントラクトを固めたあとは、Prism・Mockoonなどのモックサーバーで、バックエンドの完成前にAPIを模擬します。さらに、Pact・Spring Cloud Contractなどのコンシューマ駆動契約テストを、CI/CDへ組み込みます。

これにより、パイロットフェーズ中に複数のサプライヤーとの疎通検証を、数週間という短期間で回せます。複雑なビジネスロジックを持たないケースAは、比較的早期(MVPフェーズの6〜9ヶ月目安)に本番移行を始めやすいのが特徴です。

取引先の仕様が変わったときも、コントラクトテストが影響範囲を機械的に検知します。手作業の疎通確認に頼る状態との大きな違いは、ここにあります。

ポイント

取引先ごとの接続が開発の重心になるなら、実装より前にAPIの仕様を取引先と合意しておく価値があります。モックでの疎通検証を早く回せるかどうかが、本番移行の時期を見通す目安になります。

イベント駆動アーキテクチャとSagaパターンによる承認後処理の整合性維持

承認後の予算引当と発注処理の分散トランザクションを整理する担当者

購買承認ワークフローエンジン(ケースB)を、独立したサービスと独立したデータベースに分けると、1件の申請が複数のサービスにまたがります。そのため、データの整合性を保つ仕組みが新たに必要になります。そこで採用されるのが、イベント駆動アーキテクチャとSagaパターンです。

ケースAと比べると、実装と運用の複雑度は「Very High」とされています。したがって、パイロットフェーズをフルに使って耐障害性テストを行う必要があります。

承認完了後の予算枠引当と発注処理のイベント連携

承認が完了したあと、予算枠の引き当てと発注処理へと処理が続く場合、各サービスは自分のデータベースだけを更新します。そのうえで、処理の結果をイベントとして発行します。

他のサービスは、そのイベントを購読して自分の処理を進めます。そのため、サービス同士が直接呼び出し合う必要がなくなります。

承認完了後の予算枠引当や発注連携では、ACIDトランザクションをそのまま使えません。Kafkaなどのメッセージブローカーを介して、イベントの順序保証とべき等性(Idempotency)を確保することが、この構成を安定させる前提条件になります。

却下・取消時の補償トランザクションと冪等性による整合性の確保

複数サービスにまたがる処理の途中で承認が差し戻されたり、発注が取り消されたりすると、従来の単一データベースのようにロールバック一つでは戻せません。

Sagaパターンでは、それまでに実行した各サービスの処理を打ち消す補償トランザクションを、あらかじめ設計しておきます。たとえば、引き当てた予算枠を戻す処理や、仮確定していた発注を取り消す処理が含まれます。これにより、失敗時にも整合性を保てるようになります。

Transactional Outboxパターンなどでイベントの消失やべき等性を検証しておかないと、実運用で承認と予算の状態が食い違うリスクが残ります。

ポイント

承認から予算引当・発注までを複数サービスに分けるなら、イベント駆動とSagaの設計に十分な期間を取ります。差し戻しや取消しの補償処理を、パイロットフェーズで検証できるかが判断の目安になります。

リアーキテクチャで解決したい目的

購買管理システムのリアーキテクチャで目指す状態を議論する会議

購買管理システムのリアーキテクチャの目的は、取引先の追加や承認ルールの変更への対応を速め、モノリス構造に起因する技術的負債を解消することです。新しい技術を採り入れること自体は、手段にすぎません。

取引先追加と承認ルール変更のリードタイム短縮

モノリスのままでは、取引先を1社追加するだけでも全体テストが必要になります。組織変更に伴う承認ルートの見直しも、全社的な検証を伴います。

サプライヤーポータル連携基盤と承認ワークフローエンジンをそれぞれ独立させておけば、新しい取引先の追加は連携モジュールの開発だけで完結します。承認ルールの変更も、ワークフローエンジン側の設定変更にとどめられます。

承認ルールは組織変更などで頻繁に見直される領域です。そのため、独立してデプロイできる恩恵は特に大きいといえます。

密結合による技術的負債とブラックボックス化の解消

承認ロジックを修正したつもりが、発注処理にも予期せぬ不具合を出すことがあります。密結合特有のこうした問題は、コードの見通しを悪くし、担当者の属人化を招きます。

ドメインの境界を明確にし、各サービスが単一責任を持つ構造へ組み替えることで、機能追加や改修を担当チーム単位で完結させやすくなります。ただし、境界の切り方を誤ると分散モノリスに陥りやすいため、設計は技術刷新そのものより、変更容易性の向上という成果に照らして評価することが大切です。

ターゲットスケーリングによって、インフラコストを25〜30%削減できる可能性があります。一方で、監視や分散トレーシングが複雑になり、モノリス時代比40〜50%の運用コスト増も起こり得ます。そのため、削減効果とコスト増の両面を見積もったうえで投資判断を行います。

ポイント

リアーキテクチャの効果は、取引先の追加や承認ルート変更にかかる期間の短さで測ると分かりやすくなります。新しい技術を入れた数より、変更のしやすさが上がったかで評価するのが目安です。

関連する技術・取り組みとの違い

クラウドネイティブ技術と他の取り組みの関係を整理する担当者

購買管理システムのリアーキテクチャは、サービスメッシュやKubernetesといったクラウドネイティブ技術や、パッケージ購買管理システムへの置き換えと一緒に語られることが多く、混同されがちです。それぞれの役割を切り分けて理解しておくと、投資判断がしやすくなります。

サービスメッシュ・Kubernetesは実行基盤という位置づけ

Kubernetesは、マイクロサービスをコンテナとして実行しスケールさせる基盤です。Istioなどのサービスメッシュは、サービス間通信の暗号化や可観測性を担います。

これらは、リアーキテクチャで設計したドメイン境界やAPI、イベント駆動の仕組みを本番環境で動かすための基盤です。境界の設計そのものを、代わりに行ってくれるわけではありません。

サービスメッシュを導入すると、プロキシごとにメモリ50〜100MB・CPU100〜200m、コントロールプレーンにもメモリ1〜2GB程度のリソースが必要になります。そのため、基盤を選ぶより先に、サプライヤーポータルと承認ワークフローの境界設計とAPIコントラクトを固めておくことが大切です。

パッケージ購買管理システムへの置き換えとの前提の違い

自社特有のサプライヤーポータルのカスタムロジックや独自の承認フローなど、競争優位に直結するコア業務ドメインは、自社でリアーキテクチャして作り込む価値があります。

一方で、一般的な承認ワークフローや決済処理、認証といった汎用サブドメインは、自社で構造を設計し直す必要はありません。通知配信も、汎用サブドメインに含まれます。

むしろ、こうした領域はパッケージやクラウドの購買管理システムを組み込んで再利用(Buy/Integrate)するほうが合理的です。自社にとってどこまでが独自性を持つべきコア領域かを見極めることが、リアーキテクチャと既製品への置き換えを使い分ける出発点になります。

購買管理システムのリアーキテクチャ導入前に確認しておきたいポイント

購買管理システムのリアーキテクチャに関する疑問を確認する担当者

購買管理システムのリアーキテクチャに着手するかどうかは、取引先数や承認階層の多さだけで決まるわけではありません。そこで、自社の体制や現在の課題に照らして、どこまでの範囲に投資するかを事前に整理しておくと、着手後の手戻りを防げます。

ケースA・ケースBのどちらが自社の課題に近いかの見極め

課題がサプライヤーとの疎通や仕様変更対応に集中しているのか、承認ルートの複雑さや分散トランザクションの整合性に集中しているのかで、必要な投資規模と期間は大きく変わります。

ケースAはAPI-First設計が中心で、比較的早期に成果が出やすいです。一方で、ケースBはDDDとSagaパターンの検証に、パイロットフェーズをフルに使う必要があります。

両方に課題がある場合も、どちらを先行させるかで初期投資の重心が変わります。そのため、着手前にどちらの複雑度がより高いかを整理しておくことが、検討の出発点になります。

小規模な体制におけるモジュラーモノリスという選択肢

マイクロサービス化のメリットが確実に得られるのは、1日あたりの購買リクエスト量が100万件を超える場合、あるいは開発者数が50名を超える場合とされています。

その規模に満たない企業では、モノリスの内部をサプライヤーポータルと承認ワークフローのモジュール単位に整理し直す、モジュラーモノリスのほうが合うこともあります。運用コストを抑えながら、変更容易性を高められるためです。

実際、過度に分割したマイクロサービスをモジュラーモノリスへ統合し直す大企業は42%に上るというデータもあります。また、Amazon Prime Videoは、監視サービスのマイクロサービス化で通信コストが膨らみ、モノリス統合でインフラコストを90%削減しました。この事例は、分割そのものが目的になることの危うさを示す反面教師として参考になります。

全面リアーキテクチャか部分的な切り出しかの判断

技術的負債がサプライヤー接続から承認・予算・発注のあらゆる工程に及んでいるのか、特定の連携部分だけが密結合になっているのかで、必要な投資規模は大きく変わります。

課題が局所的であれば、その部分だけを先にAPI化・サービス化する、部分的な切り出しで足りる場合もあります。

まずは全体のドメイン境界を書き出し、今回の対象にする範囲を線引きすることから検討を進めます。

ポイント

着手の判断は、取引先数や承認階層の多さだけでは決まりません。自社の体制と現在の課題に照らして、ケースAとBのどちらに近いか、全面か部分かを先に見極めるのが目安です。

まとめ

購買管理システムのリアーキテクチャの要点をまとめるエンジニア

購買管理システムのリアーキテクチャは、モノリシックな構造を、2つの境界に沿って組み替える技術的な取り組みです。その境界は、サプライヤーポータルAPI連携基盤(ケースA)と購買承認ワークフローエンジン(ケースB)です。API-first設計とイベント駆動アーキテクチャで再構築します。

モダナイゼーションの総論のうち、リファクタリングとリビルドを掘り下げたものです。刷新・更改・リニューアルとは異なり、「構造の設計」に焦点を当てる点が特徴です。

境界設計と段階移行という成否の分かれ目

サプライヤーポータルと承認ワークフローの境界をどこで引くか、ビッグバン移行を避けてどう段階的に切り出すかは、リアーキテクチャの成否を左右します。さらに、イベント駆動アーキテクチャやSagaパターンをどこまで採用するかも、設計判断の一つです。

基盤技術の選定は、これらの設計判断が固まったあとの工程です。順序を誤ると、分散モノリスに陥るリスクが高まります。

自社のドメイン境界の書き出し

まずは、現在の購買業務のうち、サプライヤーとの接続に関わる処理と承認・予算に関わる処理がどこで交差し、どちらの複雑さが投資対効果をより左右するかを書き出してください。優先すべき境界とAPI化の範囲が明確になれば、段階移行の計画も立てやすくなります。

既製の購買管理SaaSでは吸収しきれない独自の承認フローやサプライヤー連携を抱える企業には、riplaがフルスクラッチ開発の立場から関わっています。ドメイン境界の設計から既存システムとの連携、段階的な移行計画の策定まで支援しています。評価軸や比較の進め方は、購買管理システムのリアーキテクチャの選定ポイント・選び方・種類で解説しています。

▼全体ガイドの記事
・購買管理システムのリアーキテクチャの完全ガイド

会社紹介

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

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

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

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

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

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