データ辞書

akonさんの記事(http://d.hatena.ne.jp/akon/20060728)でおっしゃっているデータ辞書と異なっている解釈をしているかもしれませんが
RawデータにあたるものがOOモデルとして表すことができるなら、InformationデータもそのRawデータのインスタンス図でかけないだろうか
と思っています。
例えば、デリバティブなんかがその代表的な感じだと勝手に思っていますが(専門ではないので・・・コメントください)
固定金利ローンを作るためには、変額金利ローンと同額の金利スワップ商品を組み合わせてできるとかといった感じで考えています。
Elementとして、スワップとローンがあればその2つの組合せで「固定金利ローン」といった新しいElementが作成されるというイメージです。

これがうまくデータ辞書ができて、組合せを記述するエディタ、ランタイムエンジンとしてのDIコンテナがあればうまく描けるような
気がしているのですが体系されていません orz

SOA関係の記事から抜粋とコメント

最初の記事は、SOAはクライアント/サーバ技術の現代版?という表題の記事
http://techtarget.itmedia.co.jp/tt/news/0607/27/news02.html

そういえばそうかもと思い、Clipingサービスのメールから飛んでみた。
タイトルに対する主張はあまりよくわからなかったがいくつかの記述が琴線に触れたのでメモ。

SOAでコスト削減する方法の1つが再利用であるため、同氏はベライゾンコミュニケーションズの例に倣って「サービス追跡チーム」を創設することを提案する。同氏によると、通信企業のベライゾンでは、ITプロフェッショナルのチームが自社の巨大なSOAインフラを隅々まで検索し、再利用に適したWebサービスを特定し、その情報を開発チームに提供することにより、経費節減を実現したという。

おっしゃるとおり。
昔、EC-ONEさんがcStyleという方法論を提唱された時、コンポーネントのハーベストフェーズがあり、コンポーネント再利用チームがプロジェクトから再利用するコンポーネントを刈り取るとおっしゃっていたことを思い出した。

サービス追跡チームが再利用を促す一方で、サービスの“無秩序な繁殖”を避けるための規律とガバナンスプロセスを確立する必要もある

御意。
再利用は組織論とリンクさせないと意味がないと再確認できた。

絶版になってしまったが、
トッパンの「ソフトウェア再利用ガイドブック」にもこの記述がある。

「実際、標準のWebサービスなるものは存在しない」とシュルテ氏は話す。SOAPWSDL、UDDIをベースとした“オーソドックスな”Webサービスの従来の定義は、AjaxやPOX(Plain Old XML)などの技術を利用した、そのほかの「Webベースのサービス」によって修正を迫られているという。

WebAPIにかわるのだろうか?
このあたりが一番悩ましいところだ。

[SOA]SOAとROI

Part1

http://members.techtarget.itmedia.co.jp/tt/members/0603/13/news01.html

銀行/保険/通信/小売業界および政府部門は、WebサービスSOAの導入によって大きなROIを得られる可能性が高いという。その理由として、これらの業界はいずれも複雑な分散環境を利用しており、水平的な統合機能を必要としているが、WebサービスSOAはこれら両方のニーズに対応することを目的とした技術であることを挙げている。

確かに。複雑な分散環境下で統合することは難易度が高い話だから・・・

  1. 連携コストの削減
  2. アプリケーションの再利用という形で得られるもの
  3. ビジネスの俊敏性に関する分野
  4. コンプライアンス法令遵守)に関する分野

上の1〜4は記事の抜粋。Returnがあるであろう分野のまとめである。

Part2

http://members.techtarget.itmedia.co.jp/tt/members/0603/14/news01.html

ある通信会社では、請求書発行システムが一元化されていないため、利用状況を追跡したり、使用量と請求金額を照合するのが難しいという問題を抱えていた。この会社は、多様なシステムを単一の統合システムにリンクするためのSOAプロジェクトを立ち上げた。その結果、最初の1年間で5億ドルのコスト削減を達成したという。

BPiの例としては非常に典型的。
この話は深く聞いてみたい。

「品質を担保しろ」ということ

「品質を担保しろ」が「品質を確保しろ」との意味でとらえました。その意味でそこはかとなく
書いてみたいと思います。(自分の整理をかねて)

品質は

  • 品質定義(分類)
  • 品質記録(品質保証)
  • 品質管理

の3つの視点で考えることができます。
品質定義≒要件、それを分類するのが第一歩でしょう。
(ISO9126-1などが参考になると思います。)
品質保証の観点からは、テストおよびレビューをおこなうことになりますが、どのタイミングでどれくらいの精度(誰がどのくらいの時間をかけて)でおこなうのか、その結果をどう分類するのか。プロセスによるものか、ケアレスミスかなどを考える必要があります。
品質管理は、2段階に分かれると思っていて

  • 品質分析、対応
  • 計量的計画・実績対応

ではないかと思います。
後者は、記録が蓄積されることと規模を一意に計測する必要があります。


といったところなのですが、難しいのはアジャイルなどの工夫をしている場合にこの考え方をどう応用するかだと
思います。またいいアイディアがでたら書くことにします。

WebシステムにおけるOO

昨日、会社のMさんと話して確認できたことを書いておきます。

WebシステムにOOは必要かどうかという話なのですが、

  1. フレームワークを構築する場合
  2. 複雑なシステムステートが存在する場合
  3. 新しい情報(データ)を既存データの組合せで表現され、かつそれをインスタンスとして表現したい場合

あたりは必要なのかと。
その意味ではWebフレームワーク+DIコンテナ+DAOフレームワーク(ORマッピング)の組合せ
に+αしなければ局面は少ないのかもしれません。

3.に関しては、(そのデータを表す)新しい言語を作りたいと思ったらはまると思っています。

皆さんのところではいかがですか?

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

デザインパターンとともに学ぶオブジェクト指向のこころ (Software patterns series)

2.に関しては上記の本がうまく説明していると思います。

日経Systems 2006/08号

連載記事

日経Systemsに「Webアーキテクチャ再入門」という連載をしていますが、今回はその5回目ということでパフォーマンス要件に関するソリューション 実践編について書きました。
テーマとしてはキャパシティプラニングと負荷テストです。5pなので概要だけですが、キャパプラの独自データを持っていない場合の近似的な見積を説明したのでご参考までに。

特集記事

エンジニアが参考にしているWebサイト101の中で私が参考にしているサイトをいくつか紹介しています。
私はともかく、スターの方もいらっしゃるのでそのかたがたの参考にするのもいいと思います。