Toru Takahashi's Weblog

The soul...
The feeds...
The links...
金曜日 3 25, 2005

What is "Service"

SOA にしろWebサービスにしろ、「サービス」という単位でコンピューティングを考えていく時代ですが、「サービス」と日本人が使う場合とネイティブが「 Service 」といって頭に浮かぶ概念は、同じなのでしょうか?Serve、Servant、Serverなども同じServから来ています。 Goo の英和辞典では Service は、 奉仕; 職務, 公務, 軍務, 兵役; 軍; (役所などの)局, 部, 課; ((集合的)) 勤務している人々; 礼拝(式); 助力, 世話; (時にpl.) 貢献, 有益; 給仕, サービス; サービス業; 【経済】(普通pl.) 用役; 修理; 食[茶]器の一式 (a tea 〜 紅茶セット); (汽車・船の)便; (郵便・電話・ガス・水道などの)公共事業[施設]; 【法】(令状の)送達; 【テニスなど】サーブ; 【海事】巻き索; 種付け; 軍用の; アフターサービスの. 思った以上に軍務関係に使われることが多いのが意外です。あとはキリスト教関係でしょうか。「 I serve God 」とかの使い方があります。日本でサービスというと、 (1)相手のために気を配って尽くすこと。 (2)品物を売るとき、客の便宜を図ったり値引きや景品をつけたりすること。 となり、どちらかというと、「気配り」が背景にちらつきます。おそらく、「奉仕」のなかには「利害を度外視した」といった意味合いを日本人は感じ取ります。 コンピュータにおける「サービス」では、「気配り」とか「利害を度外視した」という意味合いはありません。「サービス」とは、コンピューティングにおける一連の意味ある処理を指します。意味あるとはユーザにとっての意味で、別の言葉を使うならば、ビジネスロジックとかビジネスプロセスと言い換えても良いかも知れません。 いままでは、コンピューティングの処理単位はプログラムだったり、アプリケーションだったりしました。プログラムやアプリケーションは、ビジネスロジックやビジネスプロセスと同じである場合もあり、一部分の場合もあります。たとえば、旅行の予約をする際、飛行機の予約、ホテルの予約、レンタカーの予約をそれぞれの会社(航空会社、ホテル、レンタカー)のWeb サイトに行ってそれぞれ予約していました。今後これをサービスとして考えると、「旅行の予約」というサービスにログインすると、フライト、ホテル、レンタカーの予約を完了してくれる、という処理になります。 ユーザにとっては「旅行の予約」をしたいのであり、ユーザにとって意味のある処理、「サービス」にアクセスするのが SOA の方向性です。いままではアプリケーションデベロップメントでしたが、SOA ではサービスクリエーションを行います。従って、SOAはツールやプロトコルの話ではなく、開発論の転換なのです。開発論がまずあって、ツールやプロトコルはその目的を達成するためにあるのであり、誤った議論をしてはいけません。 さて、この「旅行の予約」というサービスの例の場合、複雑なのは、飛行機の予約、ホテルの予約、レンタカーの予約もそれぞれサービスになりうることです。「サービスの粒度」という問題が SOA では必ず出てきます。適切な粒度のサービスは固定的な定義をすることが出来ません。個々のサービスの内容によって適切な粒度を決定する必要があり、決定するひとの経験とスキルが必要になります。 つまり、SOA は一日にしてならず、2年から3年の長いスパンで会社全体で積み上げていく、大きなプロジェクトです。これにはトップの決断とコミットメントが不可欠で、それができるかどうかがその組織や企業が今後の IT を確実に利用していけるかどうかを左右することにまります。 サンは本格的にこの SOA を推進していくことになると思いますが、世界の動向を見ながらも、日本独自の部分も付け加えていく必要があるでしょう。もしかしたら、日本独自の部分というのは、「気配り」なのかも知れません。

投稿されたコメント:

コメント
  • HTML文法 不許可