最近、HA・サイモンの影響か、階層化ということをすぐにしてしまう癖がついた。階層化ということは、マクロとミクロに分けることでもある。ぼくは経済学には疎いので何もいえないが、経済学にもマクロ経済学とミクロ経済学というものがあるらしい。その伝で、マクロとミクロで分解していくと面白い。
で今から、SOAを眺めていくことにする。ちょっと前にSOAは終ったとか書いている手前、こんな記事を書きたくないのだが、まだまだSOAといている人がいるのであえて書く。SOAもマクロのSOAとミクロのSOAがあるということである。
ぼくがやっているなかで、BPM on SOAと標榜しているので、SOAについて言っておく必要があると思うので、あえて、そのSOAをミクロとマクロに分解してみる。
そうすると、どうも世の中で多くの人が言っているサービスの単位が、マクロであるような気がするのである。IBMというような大手ベンダーがそういっている、ぼくのようにBPMをやっているものにとっては大きすぎる粒度なのだ。その粒度でシステム間連携をできるの大きなグローバル企業でしか必要としないな気がするのである。
だから、もっとミクロ的な場面で有効に使うべきであり、それはBPMの先っちょの仕組みをサービスとして規定することが必要であると思う。
この低レベル階層でのサービス化が重要なのであって、マクロで必要な企業なんてほんの一握りであり、それを追いかけるより、泥臭く、しかし実効のあがることが基本なのです。どうも本に書いてあるような格好いいことは必要なくて、ほんとうに現場で泥まみれになることが必要だと思う。
ここで、ちょっと前にSAPの人が、サービスの定義をしていたので、それをみてみる。クラウドコンピューティング時代に対してアプリケーションのサービス化を進め、2008年度中に2800個のサービスがそろう予定だそうだ。
サービスとは例えば「製品IDで在庫を検索する」「従業員番号で上司を検索する」「お客さんIDで請求伝票を検索する」といった粒度のものだ。
そうなのだが、ええーと思いません。こんなこととっくの昔にやっていることだと思うのですが、何かもっと深い意味があるのでしょうか。
もっと、業務処理、機能といった色合いの強いものがサービスだと思うのですが、まあ、定義はいろいろ合ってもしょうがないので、あまり目くじらたてずに自分流の定義でやっていくことにする。