[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ビジネスロジック (business logic)

pointこの用語のポイント

pointシステム固有の処理だよ

pointシステムにおける実際のお仕事部分だよ

point具体的に何を指すかは結構あいまいだよ

スポンサーリンク

簡単に書くよ

ビジネスロジック (business logic)とは

そのシステムにおける、システム固有の処理を行う部分……的なニュアンスだけど具体的に何を指すかは結構あいまいで、みんな何となくのフィーリングで使っている用語。
もう少しざっくりと書くと

システムにおける実際のお仕事部分のこと
です。

image piyo

詳しく書くよ

システムにおいて、そのシステムとしての実際のお仕事をする部分が「ビジネスロジック」です。
ちなみに「ロジック」は「プログラムにおける処理の内容、手順、方法」ね。

例えば、ピヨ太君が「ぴよぴよ業務システム」を作ったとしましょう。

ビジネスロジック

ぴよぴよ業務システムは、ぺちぺちと情報を入力すると、あれやこれやの処理が行われて、その結果がデータベースに登録されるシステムです。

ビジネスロジック2

ぴよぴよ業務システムを見たピヨ子さんは、ピヨ太君に

ぴよぴよ業務システムって何をするシステムなの?

と尋ねました。

それに対して、ピヨ太君は

あれやこれやの処理をして、その結果をデータベースに登録するシステムだよ

と答えました。

「それって何をするシステム?」に対してピヨ太君が答えた「あれやこれやの処理をして、その結果をデータベースに登録する」の部分がビジネスロジックです。
ぴよぴよ業務システムをぴよぴよ業務システムたらしめている処理ですね。

ビジネスロジック3

ただし「データベースに登録する」の部分は、もう少し細かく見る必要があるでしょう。

簡単に書きましたが、実際にはいろいろとやることがあります。
一般的な流れで言えば

1.データベースに入れるデータを準備する
2.データベースに接続する
3.「1.」のデータを実際にデータベースに入れる
4.データベースとの接続を切る


でしょうか。

「1.」はぴよぴよ業務システムの本質にかかわる部分です。
どんなデータをどんな形でどれだけ入れるか、ぴよぴよ業務システムならではのものになるでしょう。

それに対して「2.」「3.」「4.」の処理はどうでしょうか。
ぴよぴよ業務システムの本質には、あまり関係がないですよね?
誰が作っても、あるいは、他のシステムでも同じような処理になりそうです。

ですから、私個人としては「1.」はビジネスロジックに含まれると解釈します。
「2.」「3.」「4.」はビジネスロジックには含まれません。
「2.」「3.」「4.」は「システム固有の処理」とは言い難いからです。

人によっては、違う解釈をするかもしれませんけどね。
みんな、結構フィーリング任せに使っている用語です。
明確な定義を求めても、答えは出ないでしょう。

ところで、このページをご覧になっている人の中には「ビジネスロジックは分けてね」とか言われて「ビジネスロジックって何?」と疑問を持たれた方もいるのではないでしょうか。

「ビジネスロジックを分ける」の本質は

1.使い回しできるところとできないところを分離する
2.システムに変更が必要なときに見る必要があるところとないところを分離する


です。

「ビジネスロジック」を「システム固有の処理」と読み替えると理解しやすいと思います。

例えば、別のシステムを作ることになりました。

システム固有の処理と他のシステムでも使い回しできる処理を分けて作っておけば、別のシステムに流用するのが楽です。
システム固有の処理をごっそり消せば、データベースを操作する処理のように、システムに依存しない部分だけが残ります。
それを元にして、別のシステムで必要な固有の処理を追加していけば良いでしょう。

あるいは、お客さまの業務のやり方が少し変わりました。
それに伴い、システムの変更が必要になったとしましょう。
どれくらいの影響が出るか、調査が必要です。

システム固有の処理と他のシステムでも使い回しできる処理を分けて作っておけば、システム全体を見る必要はありません。
他のシステムでも使い回しできる処理は、システムの本質には関係がありませんからね。
システム固有の処理の部分だけを見れば事足ります。

このように、ビジネスロジックを分けるのは「後から楽をする」ためなのです。
本質を見失わないように気を付けてくださいね。

どこからどこまでをビジネスロジックとみなすかは曖昧です。
共通の定義を求めることに、あまり意味はありません。
「その現場における」ビジネスロジックの定義を理解して、他の人と足並みを揃えるのが一番大事だと思います。

image piyo2

一言でまとめるよ

まぁ「ビジネスロジック」って単語が出てきたら「システムにおける実際のお仕事部分なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク