ビジネスロジック【business logic】
ビジネスロジックとは?
業務システムにおいて、商品や顧客、在庫といった業務上の実体を表現し、それらの関係や処理条件、業務の流れをデータモデルやプログラムコードとして実装した部分。「在庫が不足なら出荷できない」「購入金額が一定以上なら送料を無料にする」といった判定や計算の仕組みがこれにあたる。

いわゆる「3階層システム」では、画面表示や操作受付を担う「プレゼンテーション層」と、データの保存・取得を担う「データアクセス層」の中間に位置し、「ビジネスロジック層」あるいは「アプリケーション層」と呼ばれる。利用者の操作を受け取り、定められたルールに従って処理を行い、必要に応じてデータベースへの読み書きを指示する。
ビジネスロジックを他の層と分離して管理することで、業務ルールの変更が生じた際の修正範囲を限定できる。法改正による税率の変更や割引条件の追加があっても、画面の表示部分やデータベース処理には手を加えずに済む。システムの規模が大きいほど、この分離設計の効果は大きい。
業務ルールはシステムを使う組織や業種によって異なり、システムごとの固有性が高い。承認フローの条件、ポイントの付与基準、残業の算定方式など、同種のシステムであっても企業ごとに仕様が異なることは珍しくない。そのため、ビジネスロジックは事前の入念な業務調査と設計を必要とし、要件定義の難易度が高い部分とされる。
業務ルールの変更が頻繁に起こる場合は、ロジックをコードに直接埋め込まず、設定ファイルやデータベース、あるいは専用のルールエンジンとして外部に切り出す設計も用いられる。Webアプリケーションでは、ビジネスロジックをサーバ側で実行する専用のアプリケーションサーバが使われることがある。近年ではクラウドサービスやAPI連携の普及により、ビジネスロジックを独立したサービスとして構築し、複数のシステムから共有する構成も広まっている。