ビジネスロジックって何だ?

Webアプリケーションって結局RDBに対する入出力だよな、と昔から思っています。
経験上トラブルプロジェクトだな、と思ったのは

  • DB設計が腐っててレスポンスが出ない
  • UIが面倒だからその制御処理にはまる
  • 新しい技術に飛びついてはまる(EJB2.0)
  • 開発側の思い込みでシステムを作ってしまい、ユーザーからなんだこりゃと言われて全とっかえ
  • マルチスレッド?おいしいの?

うーん、難しいビジネスロジックだったとかいう話は無かった気がする。
画面から入力できる検索条件が異様に多くてSQLが面倒だったとかあるけど
それがビジネスロジックかというとそうでもない。
プロジェクトマネージメントが悪かったことが多かった。


結局見た目だったり、DBアクセス自体に時間をとられることが多い気がする。
テーブルの数が半端無く多くて、更新する順番とかデータの整合性とか排他とか
設計時にはいい加減に考えてて、実装してからあわてて真剣に考える、みたいなね。


まぁ、ユーザーからしてみれば、見た目が使いやすくて(かっこよくて)
自分の作業が無駄にならなければ(DBに入れば)それでいいもんね。


・・・あ、そうか。
ビジネスロジックは実装が難しいんじゃなくて、設計が難しいんだ。
設計が腐ってればどんなに実装が良くてもへぼシステム。
UIとかDB部分は設計よりも実装の方が(比較的)難しい。


なーんだ、設計するときに実装も意識しなきゃ駄目ってことじゃんね。
当たり前のことじゃないですか。