そごうソフトウェア研究所

SOA、開発プロセス、ITアーキテクチャなどについて書いています。Twitterやってます@rsogo

今週中に読むリスト

  • Microsoft

.Netアーキテクチャセンター
ページの下のほうの新着記事に面白そうな記事多し。

SOAベスト・プラクティス: BPEL Cookbook
J2EEアプリケーション開発マスターへの道



ちょっと読みました。
http://otndnld.oracle.co.jp/tech/java/mastering/j2ee_wk5.html
J2EEアプリケーション開発マスターへの道」
ステップ5/12: より使いやすいソフトウェアの構築


ユーザビリティの専門家から良く指摘がある項目として、次の2つが例にあげられています。


ユーザに長い時間またせるような処理
解決策:タスクにかかる時間をユーザーに継続して通知する
実装案:「取消」ボタン/進行状況表示バー


大変な思いをして入力したら、エラーになってもう一回やりなおし
解決策:ユーザーのエラー処理をサポートする
実装案:元に戻す/やり直す/履歴ログ


これらの機能は一般的にいちから作成することはコストがかかります。それに対するオラクルの提案がADFを使った高機能なUIとTopLinkを使ったトランザクション管理、ということのよう。

この提案のメリット・デメリットを検討すると、

  • メリット
    • 開発工数を抑えられる

→製品・フレームワークになれるための開発コスト増も見逃せない

    • ベンダーのサポートを受けられる
  • デメリット
    • ライセンス購入による開発コスト増

→いちから開発するさいのコストと比較が必要

    • ベンダーロックインされる

フレームワークを採用すると、そのフレームワークにある程度ロックインされるため、どっちもどっちか。ただし、Strutsのようなデファクトになっているフレームワークであれば、ロックインされたとしても熟知している開発者は集めやすいそういう意味ではADFは△(JSFなら○)。TopLinkJPA)は○でしょうか。

    • 提供されている機能以外を提供する場合はメリットを享受できない

→ユーザにフレームワークによってコストを抑えており、それから逸脱することはコストに跳ね返ることを納得してもらう。そもそも要件とまったく合わないのであれば、フレームワークの選択ミス。


製品導入による開発費減とライセンス費増がとんとんであれば、より短時間ですむ方を選択することが多いと思います。あとは結局、要件にあうかどうか次第でしょうか。