ありがとうございます。マイクロソフトの安藤でございます。
先ほど平木先生から非常にアグレッシブな話がありまして、皆様方が10年後、だれかが金持ちになるような、そういうソフトをつくるための学科なんだというお話をいただいて、我々はソフトウェアベンダーとして、皆様方がお金持ちになっていただけるようなプラットフォームの基盤、そういうものを提供しているベンダーというふうにご理解いただければと思います。決して、世界最大の独占企業というイメージではございませんので、よろしくお願いします(笑)。
私自身、先ほどご紹介いただいたとおり、学部を卒業して、あとは大手の機械メーカーで製鉄会社向けの搬送システムの設計みたいなものをやっていまして、その後、マイクロソフトに合流して、もともとの私のオリジンというのはデックのバックシステム、ユニックス上でのアセンブラとかCを使っての搬送システムの設計とかをやっていたので、どちらかというとビジュアルベーシック向きではなかったのですが、今ではすっかりそういう道にはまってしまっているというところです。
それでは、私の方から、マイクロソフトの .NET を中心とし分散コンピューティングというものをどのように考えているかというところをお話ししたいと思います。
◎Microsoft .NET
先ほどの平木先生のお話と実は非常に密接にかかわってきます。マイクロソフト自身はこの.NETというテクノロジーを使って、これまでのウインドウズベースのアプリケーションからインターネットというものをプラットフォームに置いたアプリケーションをつくっていただくというようなことを、ソフトウェア開発者の皆さん方に実はアピールしてきています。
したがって、マイクロソフト=ウインドウズというのでは、実は.NET からはなくなります。したがって、インターネットを基盤として、先ほどの話にもありました大域移動分散システムのような、そういったものを主眼に置いたシステムのためのインフラだというふうにお考えください。
◎ソフトウェアにまつわるさまざまな障壁を崩す
この.NET というもの、そういう壮大なインターネットをベースとしたアプリケーションに至った背景的なところなんですけれども、既にコンピュータのシステムというのはいろいろなところに入っているのはご承知ですね。つまり、ある企業の中では、コンピュータシステムがある、ただしほかの企業にもコンピュータシステムがある。でき上がったコンピュータシステム同士を接続して、それらを連携させていくシステムというのは非常に手間とお金と人のリソースがかかるという問題があります。そういったものを打破していこうというのが根底にあります。
幾つかのブレークスルー、打破しなければいけないものとして、ここに簡単に挙げてみたのが、システム組織間の障壁、つまり先ほど申しましたとおり、製造業と卸業と小売業、そういったところのシステムの連携をとるというものは、ある日、突然できるものではないです。こういったものをうまくどうつないでいくか。
そして、人と人とのコミュニケーション。今では、例えば携帯電話、PDA、ノートパソコン、デスクトップのパソコン、こういったいろいろな情報ツールを使って、皆さん方、コミュニケーションを図っていると思います。こういったものが、実はそれぞれがうまく連携がされていないわけです。携帯電話の届くメールと自分のアウトルックに届くメールとは、実は違うメールシステムが使われています。こういったものが連携ができない。
そして、ソフトウェアの利用にまつわる障壁。これは、ツー・エブリディ・ユースとありますけれども、ソフトウェアと一言に言っても、パソコンのソフトウェアばかりではなくて、トロンの上で動いているソフトウェア、家電製品などもちろんあるわけですね。例えば、ビデオの留守録を自分のパソコンの画面上からとか、あるいは携帯電話の画面上から今はできないわけですね。こういったものが、「もう少しこうなったら便利になるのにな」というところが基本的にありまして、ここの部分をMicrosoft
.NETというものはカバーできるものだと考えていただければと思います。
Microsoft .NET、ソフトウェアにまつわるさまざまな障壁を崩すことなんですけれども、今説明したような内容をどういった技術で実現していくかという話が、ここに書いてあるところです。
ソフトウェアの間のコラボレーションの推進。つまり、先ほど申しましたとおり、ソフトウェア同士でのデータのコミュニケーションがうまくいかない。そういったものを連携させていこうと。そして、そのベースになる技術というものは、XMLということは皆さん方ご承知のことかと思います。そのXMLというものをデータの介在にして、XML Web
service サービスと呼ばれているインターネット上で使えるソフトウェアのコンポーネントになりますが、こういったものを連携させて、自律分散型のソフトウェアをつくろうということです。
もっと平たくいいますと、インターネットを通じてネットワークで既にコンピュータは幾つかつながっている。そのつながっているコンピュータを使って、データはXMLを介在させよう。そして、アプリケーションは地球上に点在しているサーバーの上で、アプリケーションをそのまま動かす。コンポーネントをダウンロードしてきて、ローカルに動かすという概念ではなくて、アズ・イズですね。そこにあるアプリケーションを使って、それらのアプリケーションをネットワークを通じて組み合わせて、ソリューションとしてエンドユーザーの目の前にあるあらゆるデバイスに対してソリューションを提供できるようにしようというものがこのMicrosoft
.NETだということになります。
したがって、状況に応じたデバイスの選択、これは携帯電話もPDAも、パソコン、ノートパソコンの画面ももちろん入ります、ひょっとしたらカーナビかもしれませんし、情報家電、ビデオとかテレビとか、ウオークマンのようなものかもしれません。そういったいろいろなデバイスが状況に応じて使えること。
そして、ユーザーインターフェイスの選択の自由度の拡大。つまり、パソコンならパソコンのユーザーインターフェイスを修得しなければいけない。ビデオの留守録なら、ビデオの留守録の画面を修得しなければいけない。そういったあらゆるデバイスに応じて、いろいろなことの修得をもうなくしていこうということですね。
そういうことによって等価的なサービスを利用できるようにしようという考え方がMicrosoft .NETの最も根本的なところなんですね。
◎現状の分散システム
ひるがえって、現状の分散システムを見てみると、Web のブラウザを通じて提供されるシステムは非常に便利というふうに言われている反面、実は完全な分散システムではないというふうに考えられています。
つまり、単一環境でのソフトウェア連携、ユーザーインターフェイスのみを通したソフトウェアの利用、本当のコラボレーションにはほぼ遠い。ここに書いたとおり、実際には昔のメインフレームのタイプに非常に似ているわけですね。すべてがサーバーサイドで行われて、結果をXMLを通して表示をする。テキストベースのものを表示させるに過ぎないわけです。すなわちダムタンに非常に近い考え方です。
こういうことがある反面、ユーザーはそれぞれサーバーにアクセスをして、サーバーのバックエンドの中でつながっている部分だけでしか、そのデータを得ることはできないということですね。つまり、A社というサービスを提供する企業がバックエンド側でB社、C社、D社と連携させてトータルのサービスを提供するということには実は現状できていない。これが今のWeb
を中心としたインターネットの大きな問題点の一つでもあるということです。
◎XML Web service によるコラボレーション
.NET から少し離れまして、もう少しハイレベルにXMLとWeb サービスに基づいたコラボレーションという考え方はどういうものかというと、こういう絵になります。
利用者と書いてありますが、左側を銀といえばいいのか、右側は金といえばいいのかなんですが、ユーザーがあるWeb のサーバーにアクセスをする。そうすると、Web
サーバーのバックエンド側では、例えば翻訳をする辞書のサービス、日本語で問い合わせをしたら英語とかフランス語とか、すべてのサイトに対してアクセスをしてくれるような辞書代行サービスというものがWeb
サービスとして考えられるかもしれない。こういったものと連携させて、ドキュメントを引っ張ってきてくれる。つまり、検索をかけて、ドキュメントに100%ヒットしなくても、それに可能性の近いものをアプリケーションとして引っ張ってくれるような仕組みが考えられるわけですね。
そして、さらには文献のデータベースを幾つか探し回ってきて、利用者には最適なソリューションとして、単一のドキュメントではなくて、完全にアプリケーションに統合された形としてこういったものを見せてくれる。これがWeb
サービスを中心としたコラボレーションのソリューションということが考えられているわけです。
こうなりますと、環境、組織をまたいでサービス(ソフトウェアの機能)を相互に利用できるわけですね。既存の資産がそのまま使えて、そしてお互いが独立されて運用され、必要に応じて呼び出されるということですね。したがって、今の資産が活用できる、さらには非常に大規模なシステムというものを安価に構築できるというのが根底にあるわけです。
◎XML Web service によるサービスの公開
これを実際に今、世の中でどのようにできるように仕組みを持っているかというのを絵にしたものがここです。
.NET 、あとはXMLのWeb service ですね。これらに関して必須の技術というものは、今ここに書いてあるとおりの実は非常にシンプルなものになっているわけです。
つまり、ユーザーが「私はこういうことがしたいな」と思う。「私はこんなサービスを提供できる」と思っているサービスのプロバイダ、提供業者がいるわけですけれども、サービスの受ける側は実際には例えばブラウザを通じて今の通常に使っているヤフーの検索エンジンのような、そんな形で検索をかけていくようなことになるわけですけれども、Web
service は先ほど申しましたように、バックエンド側でサーバー同士が連携して、ソリューションを提供するという仕組みを持っています。ただ、サーバーサイドでソリューションを提供するといいますが、その場合はAというサービス業者がBというサービス業者に対してアクセスをしようと思った場合、Bのサービス業者が提供しているサービスは、例えばウインドウズで動いているのか、Linux
で動いているのか、はたまたSolaris で動いているのかわからないわけですね。
こういった場合、相手型のアプリケーションを起動するために使われている今までのオブジェクト技術というものは、マイクロソフトの場合ですとCOM(Component
Object Model)という技術をベースに使っていました。それはクローズドで使える環境ですね。
あるいは、違うプラットフォーム間であれば、CORBA、IIOPを使うとかいうものかありました。もう少しエンタープライズレベルにいくと、EDIを使って、相手方と同じようにプロトコルを合わせて、エンジニアがひざを突き合わせて、約束事を決めてデータのやりとりをするというやり方をしていたんですけれども、そういうことをやっていると非常に時間もコストもかかる。それを解決しようとして生まれてきたのがWeb
service で、そのために使われているプロトコルがここに書いてあるとおり、ご承知の方も多いと思いますが、SOAP(Simple
Object Access Protocol )というものです。これは、XML Web service ベースのプロトコルでして、相手方のシステムは何かを別に問わないと。メッセージのヘッダーの部分にリクエストを書いておいて、そのリクエストを相手方のサーバーに投げるとそれを受け取った相手方は必要に応じてデータベースでクエリをかけて、要求されたデータのみをエンベロブ、封筒にして、それを相手方のサーバーに渡してくるという、非常にシンプルな仕組みです。そうすると、データだけが相手方に飛び交うということになるわけですね。
それによって、「私はこういうものがしたい」と言った場合、相手方のサービスを起動させて、そして自分たちの方に戻してきて、結果をWeb
ユーベースに見られるような形でXMLのデータをマッピングし直して、ユーザーインターフェイスにきちんとマッピングして見せるようにするという仕組みですね。そのときに使われるのが、サービスを発見するための仕組みとしてUDDI(Universal
Description Discovery and Integration )という、これもプロトコルといえばプロトコルの一種なんですけれども、こういったものを立てておいて、そこに問い合わせをかける。そして、問い合わせをかけて、WSDL(Web
service Description language)というもので記述されて、それでサービスの発見ができるような、そういう仕組みを提供している。非常にシンプルです。これだけの仕組みで、実はXML
Web serviceという仕組みが提供できるようになるわけです。これによってソフトウェアをあるサーバーの上に置いたまま、よそからも使われるし、自分もよそのサービスを使う、そういうものがこのWeb
service ベースのソリューションだというふうにお考えいただければと思います。
◎次世代のXML Web サービスに向けて
そうはいっても、それはすごいシステムだな。TCPIPでネットワークが区切られていて、トランザクションは非常に苦労してやっているところが簡単なあんな仕組みだけでインターネットワイドのソリューションというものができるんだろうかというふうに考えていただいて、半分、実は合っているんですね。ただし、半分、まだ合っていないといいますか、到達できていない部分があります。
今、私が説明したのは、下の部分、緑色で書かれている部分なんですね。基礎技術としてXMLとEncoding Transports
。SOAP、プロトコルですね、WSDLとUDDI、これでもって実装レベルを行って、アプリケーションがインターネット上で使えるような仕組みとはいうのは用意はしているんですが、ただこれだけではできないものがあります。それは、ビジネスの世界でのアプリケーションというものには、トランザクションというものが実は必須になるわけです。
トランザクション、もう研究されている方は当然知っていると思いますが、銀行の例でいうと、A銀行、B銀行の間で振込の手続をすると。AとBの間で振り込む場合には、A銀行からお金をまず引き落として、引き落とされたお金をB銀行に振り込んで、B銀行が振り込まれたお金を預金者の口座に入れるという、これだけのプロセスが発生するんですが、それぞれどのプロセスでもシステムがダウンしたら、ロールバック、オール・オア・ナッシングでゼロに戻さなければいけないというプロセスがあります。ビジネスの世界ではこれがなければシステムは成り立たないわけです。
Web service の世界でそれを行うと思った場合、実はまだ実現ができていません。つまり、A銀行、B銀行の間でWeb service
ベースでそういうシステムをつくった場合には、トランザクションのモデルをこのSOAPとWSDLとUDDIの仕組みだけでは、実は構築ができないんですね。
つまり、どういうことかいいますと、異なるサービスを提供している人に対して、一度コミットしたものをそれでもってロールバックする場合は、キャンセレーション、システムのログをキャンセルさせるということが必要になってくるわけです。
そういうものが実はまだWeb service の仕様にまだのっかっていないんですね。したがって、Web service がビジネスレベルで普及してくるためには、そういった部分が必要になってくるということがあります。ただし、そういった技術的な仕様の部分に関しては進んでいます。それが実は半分から上の部分になります。
Federation、Privacy 、Reliable Messaging、Transaction 、Routing 、Securityと書いてありますけれども、特にRouting
などはわかりやすいと思いますが、電子メールと同じ要領ですね。どこからパケットを受けて、それを転送させていって、最終的に人のところに送るという仕組み、こういうものもWeb
service がどこかのサーバーが受けて、それを転々とさせていって、最終的に必要なところに渡していくような、そういう仕組みが技術仕様のレベルで実は進んでおります。
この中で一番早く進んでいるのが、右下にあるSecurityというところですね。こういったところのWeb service の仕様というものは、WS−某ということで、実は記述がされていまして、実際にマイクロソフトとIBMとの共同で仕様書かもう構築されて、WS−Security に関しては、Web
で公開されています。したがって、ソフトウェアに実装することが可能になっています。
つまり、Securityというのはどういうものかというと、Web サービスのレベルでもまだSecurityはまだないわけですね。Securityといいましても、日常生活のレベルと実は同じでして、わかりやすい例でいくと、例えばチケット、入場券があると思います。先ごろもワールドカップというサッカーの非常に大きな大会がありましたけれども、最初は名前を振りっとして、それで自分の運転免許証とか身分を照会できるものを持参して、それを照らしあわせないとスタジアムに入れませんという約束事になっていたのを、皆さん方、よく覚えていると思います。
結果的に、チケットがあれば何でもオッケーになったんですけれども、実はWeb service の仕組みもそれと同じことが言えるわけです。インターネットワイドですので、世界中だれからもWeb
service 、コンポーネントに対してアクセスができるわけですね。しかし、アクセスをしにくる人に対して、あらかじめ「あなたはだれですか」という認証、問いかけをして、「私はこういう者です」という身分の照会をソフトウェア的に行う。その場合のセキュリティのレベルのかけ方なんですね。名前の確認、身分証の確認、いろいろな仕組みがありますけれども、そういったものをソフトウェア的に折り込む仕様をWS−Securityであげているということです。
これによって何ができるかというと、ソフトウェアを構築して、サーバーにホスティングをする、そして運営されるようなソフトウェアの形態になってくるわけですが、そうすると非常に心配なのは課金なんですね。皆さん方、10年後にお金持ちになるにはどうするかという話があったと思いますが、お金がとれないとソフトウェア、成り立ちませんから、そのお金のとり方だというふうに考えてもらえばいいと思います。契約をした人に対して、そのWeb
service のアクセスのレベルを設定できるような仕組み、それがWS−Security。
そういったもので、ここに書いてあるようないろいろなソフトウェアの仕様というものが今順次決まっていきます。これによって、我々、マイクロソフトあるいはWeb
service を中心に展開しているベンダーは、どのように見えているかといいますと、3年程度でこれらの仕様はすべてフィックスするというふうに考えています。したがって、3年ないし5年で世の中のアプリケーションはすべてWeb
service にシフトしていくだろうというふうに見ています。
実際に、マイクロソフトという会社もすべてのマイクロソフトが提供するアプリケーションをWeb service をベースにしたものに今切り換えています。5年以内に恐らくマイクロソフトが提供するソフトウェアというものは、すべてWeb
service をベースにしたものに変わっていきます。これは恐らくほかのソフトウェアベンダーも同じようになると思いますので、ぜひ皆さん方もこれは覚えておいていただきたいと思います。
データはXMLの形式をとっていきます。今は、例えばマイクロソフトの提供しているEXcell、拡張子、.XLSというデータの形式を持っています。ワードのファイルは.DOC、ドックという形式を持っていますが、こういう拡張子を持ったデータの保存ということも実際にはなくなってきます。すなわち、すべて世の中のデータの形式はXMLに統合されてきて、そのXMLデータをもとに、自分のハードデスクにあるデータと、インターネットの向こう側にあるデータとの統合というものが行われるようになります。したがって、世の中はすべてXMLベースのデータが飛び交うことになる。
そのXMLデータを使ってアプリケーションはそれらを動かすという、そういう仕組みになるのがWeb service の時代だというふうにお考えください。
先ほどの平木先生が、時代、時代に応じてアプリケーションとか、いろいろな技術の形態が変わってくるといいましたけれども、今、実はまさにその変わり目の時代になるわけですね。ウインドウズ95というのが出てきて、世の中、大分変わったんですけれども、その次くらいの大きな、それよりもひょっとしたら大きな変わり目かしれません。XMLというものが世の中を実はそういうふうに変えていっているというところを、この辺はヒントとしてぜひキャッチアップしておいていただければと思います。
◎コミュニケーション、ソフトウェア利用の問題をこえる
今、お話をしたXMLベースですが、XMLを使ってマイクロソフトはどういうことを考えているかなんですけれども、ここに書いているような感じですね。人の生活の1日を非常にラフに書いてみました。
コミュニケーション、ソフトウェアの問題をこえるということで、朝起きる、携帯電話みたいなものを取り出す、会社に着く、パソコンを見る、外出して携帯電話を取り出して、出先でミーティングがあってメモをとる、そしてまた会社に戻ってきてレポートをまとめて、家に帰ってWeb
を見たり何かするというふうにしていますけれども、こういうふうに人々が使うデバイスというのは、状況に応じて変わってくるわけですね。ただし、冒頭に私申しましたが、それぞれ使っているデバイスを飛び交っているデーター、電子メールもそうですし、音声のボイスメッセージなんかもそうなんですけれども、こういったものが同期が全部とれていないんですね。これらを統合していって、はじめて人々の生活がソフトウェアを通じて非常に便利になってくるというふうに見ているわけです。
◎利用者にとって必要なこと
利用者にとって必要なことは、ソフトウェアというのはあくまで道具に過ぎないです。たとえマイクロソフトといえども、人が使うものにしか過ぎないわけですね。人が使うものにしかすぎないもの、こういったものを使って最終的にその人たちが何を幸せと感じるか、どうすればそういうものができるだろうかということですね。こういうものを提供していく、そしてこの状況に最適なインターフェイスを使ってもらって、ソリューションを提供していく、そういうものが重要ではないかというふうに我々は考えているわけなんです。
◎例えば……
例えばどういうふうに考えられるかといいますと、ウインドウズのパソコンがあって、手書き認識のようなメモパッド的なものがあって、音声認識の機能を持っている電話があって、日常、家で見るようなWeb
があって、Chtml ベースあるいはMMLベースのこういう携帯電話の端末があって、これらを全部Web service でデータがやりとりできるようになりますと、どういうことが可能になるかというと、スケジュールとかメールとかドキュメントとか電話帳とか、全部統一ができるということになるわけですね。
したがって、どこからどのようなデバイスを利用しても、必要な情報にアクセスができて、今自分が必要なことというものが行える、そういうものがMicrosoft
.NETですね。
サーバー側の方では、Web service というアプリケーションが起動していて、これらに対して適切な情報をすべてのデバイスに対して共通に送ることができる。そういうものをめざそうというのが、このMicrosoft
.NETというものになるわけです。
あまり私が一人でしゃべっていてもおもしろくもないでしょうから、ここでちょっと簡単なデモをごらんいただこうと思います。
〔デモンストレーション開始〕
実は、きょうおもしろいものを持ってきました。私がプレゼンテーションしているこのノートPCのようなものなんですけれども、実は仕掛けがあります。どういう仕掛けかというと、これをクルッと回すと、今キーボードがついていたんですが、キーボート部分がなくなって、ちょうどこんな感じになりました。
何が起きるかというと、ここにペンが内蔵されておりまして、実はこれはタブレットPCというタイプの違うデバイスになっているわけです。見た目はパソコンでそのままなんです。動いているOSもウインドウズXPなんですけれども、タッチペンでこうやりますと、普通のデスクトップがあらわれますね。こんな感じです。
ワードを起動してみました。これは普通のワードなんですけれども、ワードを起動して、こういうものを出してきました。勘のいい方は何が起きるかわかったかもしれませんけれども、ヘッドセットを持ってきまして、ここにあるディクテーションという項目をとりまして、マル。途中からでしたので、今からやり直してみたいと思います。
ホンジツハマル(笑)
ホンジツハ
だめですね(笑)。
キヲトリナオシマシテ(画面上では、ヒヨトリナオシマシテ)(笑)
ちょっとオフラインで。これ、マイクロソフトの技術が信頼性を失うので気を取り直して(笑)。
ホンジツハトウキョウダイガクデコウエンヲオコナッテイマス。(画面上では、本日は東京大学で講演を行っています。)(拍手)
〔デモンストレーション終了〕
ありがとうございます。これ以上やるとボロが出るかもしれません(笑)。
もう少し簡単にいける方、手書きをやってみたいと思います。
こんな感じで、これはあくまでもマイクロソフトの技術で、ウインドウズのAPIを使っている、スピーチのAPIと手書き入力のAPIを使っている技術なんですけれども、先ほどちょっと格好悪い部分を見せましたけれども、実はこういった技術も、これはまだウインドウズAPIベースの技術なんですが、これも先ほど申し上げましたとおり、.NET
といいますか、Web service の技術に移行することになります。
すなわち、ここで動いているスピーチエンジンとか手書きのエンジン部分というものが、インターネット上のWeb サーバー上にホスティングされて、その機能を使ったアプリケーションがつくれるようになるわけですね。
すなわち、私が例えばここでしゃべって、その文字がボイスのXMLデータとしてサーバー側に転送されて、そして転送された形としてテキストベースの文字として返ってくるような、そういう仕組みというものが実はWeb
service を通じて提供できることになるわけです。
今度は、音声ベースの入力をしたデータを使って、例えばメールを提供するWeb service を使う、あるいはスケジューラーを使う、あるいはそれを見積書とかビジネスで使うような定型文書とか、そういったものに持っていく、そういうものが非常に使いやすくなってくるわけです。
つまり、インターネット上にアプリケーションとしてそういうものが分散されていて、それらを組み合わせることによって完全なソリューションというのを提供していく、それがWeb
service ベースのソリューションで、それらを構築するために必要な技術というものは、先ほど申しましたとおり、XML、単位でいうとXMLというものでデータを構成し、Web
service というコンポーネントベースでアプリケーションを構築する。
では、マイクロソフトはそういうことで何をするのか、OSは関係ないねという話をいいましたけれども、マイクロソフトはあくまでもプラットフォームのベンダーです。したがって、Web
service が動く仕組みとしてはウインドウズというものがもちろんあります。ただ、ウインドウズの上だけでこういうものが動いていては成り立ちませんので、当然、Linux
、Solaris 、そういったアプリケーションの上で動くものと連携ができなければいけない。なので、今はいろいろなソフトウェアベンダーとマイクロソフトはその連携がとれる仕組みというものを確約しているというところですね。
ですので、皆さん方がどのアプリケーション、どのプラットフォーム上でアプリケーションをつくる、Web service をつくったとしても、それは相互にアプリケーション間の連携ができるということは間違いないです。
では、マイクロソフトの強みというのは何なのかというと、それはやはり今まで培ってきましたウインドウズを中心としたソフトウェア、つまりプラットフォームの扱いやすさ。何より、私自身が担当している製品でもありますけれども、Visual
Studio という統合開発環境でもって非常に簡単にWeb service というものがつくれる、そこが実は我々マイクロソフトの強みで、世の中全部をマイクロソフトの製品に占めよう、インターネットの世界をマイクロソフトで席巻しよう、なんていうのは全然実はないです。無理ですね、正直言って。
では、どれくらいでいいかというと、51対49で勝っていればいいのかなというような感じなので(笑)、それでも勝ちたいのかとは思うかもしれませんが、実際、そういう会社ですので、それは仕方がないというふうに思っていただければと思います(笑)。
◎Microsoft .NET
話、戻りまして、実際にマイクロソフトという会社がインターネット上でどういったものをマイクロソフトトータルのプラットフォームで提供しようかというものを絵にしたものがこのスライドになります。
一番下にサーバーというものがあります。これはバックエンド側だと思ってください。サーバーでいろいろなタイプがありますけれども、実際にはウインドウズを中心としていろいろなサーバーが展開されています。
マイクロソフトは、ここのサーバーとしてその上にXMLベースのアプリケーションを提供していただくのに加えて、その上にサービスというものがあります。そのサービスには.NET
Alerts 、Map Point.net 、.Net Passportというものが書いてありますけれども、これは何かといいますと、インターネットを通じてアプリケーションによるサービスを提供しようと思った場合、そのユーザーがどこからログオンしているかというのが実は非常に重要になってくるわけですね。
例えば、ここに持っているタブレットPCで私がインターネットにもしログオンしているとすると、私、安藤という人間がこの端末からインターネットにログオンしているということがわかることが実は非常に重要です。なぜかというと、大変パーソナルなもので、この人に対して今必要な情報を投げようと思うと、どこからログオンしているかわかることが実は重要ですね。あるいはここを終えて、外に出ていって、インターネットカフェに行ってインターネットにログオンする、そうするとそのインターネットカフェのPCにログオンしていることが認識できることが実は重要になるわけです。そうすることによって、その人にピンポイントにサービスを投げてくることができるわけですね。それがいわゆるインターネット上の認証システムと呼ばれているものです。
マイクロソフトは、MSNというマイクロソフトが持っているポータルサイトを通じて、パスポートという認証のサービスを提供しています。このパスポートはホットメールというMSNが提供している無料のメールサービスがありますが、これ以外のアカウントでもとれます。ソネットのアカウントであろうが、AOLのカウントであろうが、パスポートは取得することは可能です。そのパスポートを取得してもらう目的は、先ほど申しましたとおり、ここからログオンしているということを認識してもらうための仕組みであって、データを集めようとかいうものでは決してないわけですね。これが個人のためのパスポート認証というものになるわけです。
これとは離れて、普通、会社に入ると人事部人事課某さんという人が会社にログオンした場合、その人しかアクセスできないファイルというものがあるわけですね。これはディレクトリーというもので管理されているんですけれども、そのディレクトリーで管理されるようなその認証と、このパスポートとの認証を相互に乗り入れできるようにしようというプランをマイクロソフトは実は持っています。これはマイクロソフトのディレクトリーサービスだけではなくて、ほかのものですね。ケルベルスというものの認証プロトコルを使っているものであれば可能にする予定なんですが、こういったものを通じて相互に認証ができるようにしようと考えています。
もっとわかりやすくいうと、銀行のATMだと思ってください。私が東京三菱銀行のアカウントを持っている。それを三井住友銀行のATMマシンに入れても、お金が引き出せる。なぜそれが可能かというと、バックエンド側で銀行のシステム間が連携させているからですね。そういった同じような認証システムが相互にできるものをパスポートも含めてほかの認証サービスも提供できるようにしようと考えています。これを我々はフェデレーションと呼んでいるんですが、そういったものが提供できる。
そして、Alerts、左の方に飛びますけれども、私がここにログオンしていることがわかると、ここにログオンしている私に向かって、ピンポイントで情報を投げてくることができる。例えば、私が株の売買を個人ベースでやっている。マイクロソフトという会社の株を指し値で何ドルになったら買いたいということをブローカーに言ってある。そうすると、ブローカーの方は今どこからログオンしているかがわかりますから、その人に対して投げてくるわけですね。「今、この株価になりました、売り買いしますか」。
それがメールではなくて、どうしてAlertsというシステムが必要かというと、メールは投げっ放し、そしてアドレスがたとえ相手にわかっていようがわかっていなくても、スパムが飛んでくるわけですね。ただAlertsという仕組みは、ここからしか私はAlertsを受け取りませんということを宣言してちゃんと設定しておくと、そこからしかAlertsが来ない。Alertsを送る側は、どこの某さんという人に対してAlertsを送るのではなくて、この人にAlertsをこの条件で送ってくださいという人に対してアプリケーション上の設定で送るだけですので、特にメールとかではない。
さらに言うと、今度はECサイトで買い物をして、そのECサイトで配送業者が例えば別の運用業者が提供している場合、運送業者がその個人に対してAlertsを発信することができる、そういうことが可能になるわけです。つまり、その人の購買データとその人がスケジュールを変えることによって、「私は9月26日に配送をお願いしていたんだけれども、ちょうどこの日は外出しておりません。28日に変更してください」というのを買ったECサイトに連絡すると、そのECサイトはXMLデータでもって運送業者にそのデータを渡すわけですね。そうすると、運送業者はその渡されたデータをもとに、自分たちの配送計画を変えて、その配送計画が変わりましたということをエンドユーザーに向けて発信させる、そういうものが可能になるわけです。それがインターネット上のアプリケーションだというふうに思ってください。
それを先ほど見ていただいていろいろな端末で受け取れるようにする。これがマイクロソフトが考えている仕組みということになるわけです。
◎実現環境
これらを実行するために、我々マイクロソフトが持っているテクノロジーの一覧がこんなところになります。上は端末です。Visual
Studio という開発ツールを使って、.NET を実現させるようなLANタイムをこのように持っているということですね。
◎Microsoft .NET
最後のスライドになりますけれども、Microsoft .NETが実現させる分散コンピューティングというものの概要ではありますが、このようになっていて、結局、その目的が何かといいますと、システム間の障壁をなくしたり、人々とのコミュニケーションの間の障壁をなくしたり、ソフトウェアの利用にまつわるいろいろな障壁をなくすことによって、もっと人々の生活を便利にさせていこう、そうしたものをMicrosoft
.NETという技術を使って実現させることになります。
その上でアプリケーションをつくっていただいて、もっと便利にしていただくというものはやはりソフトウェアの技術者になりますので、ここにいらっしゃる皆さんが中心になるかと思います。ぜひマイクロソフトの技術というものに触れていただいて、こういった世の中がくるということを見越して、おもしろいアプリケーションをつくっていただくことを期待したいと思います。以上で私のプレゼンテーションを終了させていただきます。どうもありがとうございました。(拍手)
|