Webアプリケーションって結局RDBに対する入出力だよな、と昔から思っています。
経験上トラブルプロジェクトだな、と思ったのは
- DB設計が腐っててレスポンスが出ない
- UIが面倒だからその制御処理にはまる
- 新しい技術に飛びついてはまる(EJB2.0)
- 開発側の思い込みでシステムを作ってしまい、ユーザーからなんだこりゃと言われて全とっかえ
- マルチスレッド?おいしいの?
うーん、難しいビジネスロジックだったとかいう話は無かった気がする。
画面から入力できる検索条件が異様に多くてSQLが面倒だったとかあるけど
それがビジネスロジックかというとそうでもない。
プロジェクトマネージメントが悪かったことが多かった。
結局見た目だったり、DBアクセス自体に時間をとられることが多い気がする。
テーブルの数が半端無く多くて、更新する順番とかデータの整合性とか排他とか
設計時にはいい加減に考えてて、実装してからあわてて真剣に考える、みたいなね。
まぁ、ユーザーからしてみれば、見た目が使いやすくて(かっこよくて)
自分の作業が無駄にならなければ(DBに入れば)それでいいもんね。
・・・あ、そうか。
ビジネスロジックは実装が難しいんじゃなくて、設計が難しいんだ。
設計が腐ってればどんなに実装が良くてもへぼシステム。
UIとかDB部分は設計よりも実装の方が(比較的)難しい。
なーんだ、設計するときに実装も意識しなきゃ駄目ってことじゃんね。
当たり前のことじゃないですか。