SOAが描く近未来 その1 サービスの定義

聞くところによると、SAPの資格は2002年度以降のものしか現在は有効ではないらしい。*1
ということで、大昔に資格をとった私は、実は「SAP認定」ではすでになかったらしい。
虚偽記載ってやつになるのは悲しいので、「SAP認定」は、題字からはずして、
会社でもらっている肩書きに差し替えてみた。
ただ、この「シニア」ってやつも、ウチの社長殿が、フィーリングでつけているので、
肩書きの微妙さという観点では、そう変わらないのではないかと思う。


さてさて本題。ちょっとこれからSOAがもたらす未来というヤツに対して、
少し考察をしてみようと思う。


ちまたのSOAだのSOAPだのの解説書は、大抵技術屋さん向きである。
そこに書かれていることを荒っぽく要約すると、サブルーチンをWeb経由で
コールすることができる仕組み、というのが、SOAだとかSOAPだとかの仕組み、
という感じである。(ちょっと荒っぽすぎるかな・・・)


しかし、そのむかし、Windowsが出てきたときに、「マルチウインドウ」は、
技術屋から見れば複数の画面を同時に制御する仕組み、というだけであったのに、
使う側にとっては、複数のアプリケーションを同時に連携して動かすことができる、
という、大きなメリットをもたらした。
こっちの資料からこっちの資料に、この部分だけをひょいと動かす、
この今では当たり前のオペレーションは、私がパソコンオタクとして、
BASICの画面に向かっているときには、思いもよらなかった。
そして、マルチウインドウがそれをもたらすとも思わなかったのである。
ついでに言えば、HTTPなんてプロトコルは、それだけを取り出せば、
リクエストがきたら文書を返す、それだけの仕組みである。
その仕組みだけを見ると、インターネットの発達なんて、連想できないのである。
もしかして、SOAてのは、その手の「違う世界」へのキーになる技術なのでは?
という疑惑が、考察をしてみる動機となるのである。


さて、まずは「サービス」を定義してみよう。
サービスを定義しようと思うと、企業活動をモデリングして、
サービスとして切り出す、という作業が必要になりそうである。
幸い、モデリングは、たこふじシリーズでやっているので、
その店舗でのバリューチェーンで作ったモデリングをベースに、
サービスを定義してみるのである。
で、以下では、そのサービスを組み合わせて実現されるモノを「機能」と、
定義してみようと思う。


まず、店舗のバリューチェーンのおさらいである。
仕入→生産→受注→出荷
であった。
ここでは、受注→出荷の部分に関して、もう少し小さな単位にしてみることにする。
・注文を受ける→代金を受け取る→どれを皿に載せるか指示を出す(セット指示)
 →セットする→お客様に渡す
この単位で考えてみる。


この流れにおいては、それぞれのステップが「サービス」として定義できる。
「オーダーNo」を定義して、この一連の流れのステータス管理をすれば、
このサービスをつなげて、一つの「機能」として完結できそうである。


ただ、この一連の流れ、「代金を受け取る」という部分は、いくつかの分岐が考えられる。
現金の場合、プリペイドカードの場合、クレジットカードの場合、である。
それぞれの場合は、単一のサービスとして定義できる。
そして、どのサービスを使うか、は、プロセス制御の仕掛けで行うわけである。
つまり、レジの入金区分の「現金」「クレジット」「プリペイド」というボタンを押すと、
それぞれのプロセス制御の仕組みが立ち上がり、サービスを選択するわけである。


この仕組みをちょっと一般化してみる。
この場合、モノの流れ自体は、
・注文(モノの決定)→セット指示→セットする→お客様に渡す
という流れで固まっている。
逆に、この流れを分断してしまうと、「オーダーのステータス」という観点から、
好ましくないであろうと考えるわけである。
そして、この固まった流れのステップの間に、オプションとして、
何か別のサービスがくっついて、分岐が起こっていく。
それをプロセス制御でくっつけて、「機能」として組み上げる。
上記の例では、注文とセット指示の間に、「現金入金」「クレジット」「プリペイド
というサービスがくっつくわけであるし、セットとお客様に渡す間に、
注文どおりのモノが乗っているか、というチェックのサービスを挟んだりして、
「機能」を組み上げていくわけである。


このように考えると、「サービス」は、普通は全部通るよね〜という
ステップを網羅した「基本サービス」と、その間の分岐を取り持つ
「オプションサービス」とに分類できるわけである。


だいぶ書いたので、この状態での「システム構築」がどうなるか、
という考察は、次回にしようと思う。

*1:「2002」の定義は知ってます。わかりやすさを優先で