そして最後の晩

いったん宿に戻り、荷物を置き、日本人向けカンファレンス+懇親会に赴へ。会場はおれが泊まっている宿からタクシーで15分くらい。PDC05の全セッションのサマリーを見せてくれたわけだが、驚いたのは日本人の数。マイクロソフト以外の参加者はおれを含めて62名。その場にいなかった日本人も若干名いたはずだから、全部で100名近い参加者がいたはずなのだけれど、カンファレンス会場ではほとんど日本人の姿を目にすることはなかったんだよなあ。存在感を消すのがお得意な人たちばかりというか、なんというか。

懇親会では同姓さんから長々と卓見を伺う。ある意味、洗脳されたとも言うが、ようやくここに来てアドレナリンが噴き出した。たとえばなぜLINQが、というよりもデータ操作の機能を、フレームワークではなく言語に追加したのか。なぜTeam SystemやWorkflowが開発環境に取り込まれなければならないのか。ITはなんのためにあるのか。

PDC05で開陳されたのは大きな河の流れの、ごく一部をクローズアップしているがゆえに、流れそのものを見失いがちだけれど、もう一段上から俯瞰すると、とんでもない眺めが見えてくる。同姓さんの肩に乗ることで、なんかとんでもない眺めが垣間見ることができたような気がする。大感謝。唐突ではありますが、ここで感謝の意を表して3分間の土下座。

懇親会はつつがなく終了し、噴き出したアドレナリンを抱えて、徒歩で帰る。ロサンゼルスのダウンタウンは夜9:00くらいになると人気がなくなるので、とっても怖かったです。

最終日

最終日は基調講演がない代わりにシンポジウムが2つ並んでいて、ちょっと悩ましい。

ひとつは「Architecture Symposium」で、もうひとつは「Security Symposium」。悩んだ末に「Using the .NET Language Integrated Query Framework with Relational Data」にする。いろんな意味で期待されていた方、ごめんなさい。

昼休みにはショートセッションがあって、これが結構いい塩梅だったらしい。おれは「Tips, Tricks & Hacks to MSN Search and Desktop Search Platforms」を受講したものの、あまりにもユルイ内容で原稿整理が進む。「VB 2005 IDE」のTips & Tricksにしておけばよかった。

最終セットを受講後、あわててマイクロソフトショップに駆け込み、目星をつけておいたお土産を購入。カンファレンスバッグだのお土産袋だのを抱えてシャトルバス乗り場に行くと長蛇の列。一台やり過ごしてから列に加わると、先頭のほうにChris Andersonがいた。ずいぶん腹が出ちゃったよなあ、などと談笑する彼を眺めていたら聞き覚えのある声がすぐ後ろから聞こえた。振り返るとDon Box。この人はなんでこんなに元気なんだろう。人として器がでかいと申しましょうか。

巨人たちとバスに乗り込んだら隣に座った外人が話しかけてくる。前々日、シャトルバスの列を整理していたおっさんの台詞を聞き取れず、ラッキーパインさんに助けてもらったくらいなのだから、ビタイチわかりません。しょうがないので涼しげな顔をして頷いたり笑ったりする。

「ところでどのセッションが面白かった?」

――ADO.NETとLINQに興味があるところの私は、彼らのセッションが中心課題として参加することを欲した

「あー、データベースガイだな。仕事はデータベース関連?」

――いえ。わたしはわたしの仕事として編集を雑誌に対して行なうことを選んだ。それは開発者の日本人だ。向けた。あなたは何をするか?

「ぼくはソリューション関係のコンサルタント。どういうケースでどのテクノロジーを使用すると一番効果的かを考えて、それを提案したり実際に構築するための算段をしてるんだ。たとえば(以下略)」

――アーキテクト?

「そういう側面もあるかもね。ただまあ(以下略)。東京に住んでるの?」

――はいそうです。わたしは東京に住むことを長年続けています。

「ふぅん。ぼくも何年か住んでたことあるけど、あの街は相変わらず騒がしいんだろうねえ」

――そのとおりだ。わたしが思うに夜中に起きる彼らは眠らない。

「あははは。いやもう、都内を車で走るだけで疲れるよねえ」

――わたしは所有してない車は免許を持つ。手段は電車が移動だであるます。

「ぼくはラッシュの電車には乗ったことがないし乗れないな。あはは」

――リアリー?

会話になってないのだが、カンファレンスが終わってしゃべりたかったのか、ペラペラペラペラよくしゃべる。三船敏郎の名言「オトコは黙ってサッポロビール」という格言を送りたかったが、札幌の説明をするのが面倒くさかったのでニコニコしながら「オゥ」だの「ア~ハァ」などと相槌をうつ。

彼らが泊まっているホテルに到着し、外人たちが大挙してバスから降りたときは嫌な汗にまみれていた。まいった。

せめてPPTで会話の内容のAgendaを示してくれれば、もう少し日米友好の役に立てたのではないかと思われるのだが。残念である。

こぼれお土産

「VSTS2005のCTPかRCをくれてもいいじゃん」とかぼやいていたら、まさにRC版をもらう。ついでに13日にもらった詰め合わせ“THE GOODS”にはなかったLonghorn ServerのCTP版も。

残念ながらOffice12はβ版を作っていないため、もらえない。そのかわりBETA版登録サイトに登録するためのGuestIDが書かれた紙をもらう。とりあえず飛んでいってレジスト。

これでボーランド風タブつきツールバーを拝むことはできるだろうか。リザルト指向UIだそうですけどね。ははは。

ブレイクアウトセッションで、「Visual Basic Under the Hood on Extending the 'My' Namespace」を見に行くが、すげー狭い部屋で、なおかつ大して聴講生もいなくて、愕然とする。

どのセッションでもDEMOで使用している言語はC#で、あれだけ隆盛を極めていたVBによるDEMOはほとんどみあたらない。C#でDEMOを行なった後、「VBでも同様の機能が搭載されています」とか言及される程度というのが、なんともにんとも。

LINQプロジェクトにしても、(当たり前の話なんだろうけど)全面的にC#を使用していて、もうマジでAC/DCちうんですか? 両刀使いになってないと大変なことになりそうな予感に打ち震える。んなこたーない。

ブルース・ウィリスというかバンダレイ・シウバに似た外人たちの間をすり抜けながら広い会場をうろつきまわる。

そういや、Oracleの広報記事担当のLet'sGo女史が相変わらずの着物姿を披露していたなあ。まあ、カンファレンスバッグのなかに、Oracleの宣伝素材が平気で入っているくらいなんだから、そういうのもありか。歴史は変わりつつあるんだなあ、などと感慨にふける。

揺りかごから墓場まで

Longhorn ServerよりもIIS7.0を触りたい。まあ、結局、リリースされたらリリースされたで大喜びで触るんだろうけど。あとVisual Studio tools for Applicationって、ちょっと葡萄街にとっては脅威なんじゃないかと思ったり。

でも、Web ServerにExcelのシートを表示できるシステムを組んだら、たしかにものすごい勢いで喜ばれるだろうなあ。とくに某弱小出版社のイントラにおいては大活躍しそうな気もする。それがシステムとして正しいかどうかは別として。ある意味で、企業内お手軽開発者は、企業内にいるからこそそれほど業務内容についてヒアリングもすることなく、もちろん吟味することもなく、まさにお手軽開発を行なって非常に使いにくいシステムを作ってしまいがちだし。

しかも総務がシステム開発を握っていたりすると、まずエンドユーザーにとって使いやすいシステムにはならない(もちろん例外もあるだろうけど)。この場合のエンドユーザーは総務であって、実際に使用する本質的な“エンドユーザー”向けのシステムにはならないからだ。そうすると、やっぱりExcelシートは重要なんだよなあ。まあ、どうでもいいけど。

それ以上に、Sharepoint Serviceがやたらと重要になりそうな予感に悪寒。というか、たぶん多くの中小においてはSharepointを導入するところまで行かないだろうから、やっぱり単体ツールとしてOfficeを使用するだろうし、そうなるとバージョンやテンプレートを統一化するために、Web ServiceだったりClickOnceだったり(OfficeをUIとした)Smart Clientへと流れていくのではないか。

いやもう、なんというか“揺りかごから墓場まで”一貫したマイクロソフトワールドって感じですな。まあ、マイクロソフトワールドのお祭りなんだからしょうがないんだけど。揺りかごを選び間違えるといろんな意味で大変なことになりそう。

新製品登場

とりあえずメモ。

  • Windows Workflow Foundation(WWF)
  • Expression
    • Acrylic:Graphic Designer
    • Sparkle:Interactive Designer
    • Quartz:Web Designer

Windows Workflow FoundationはVSの中からWorkflowをビジュアルに作成できるようにしてくれるフレームワーク。なんか昔むかしにAccessでワークフローってのがあったような気がするんだけど、夢よふたたびってことなのかしらん。

Expressionに関しては、前々から出る出ると噂されていた製品。Illustrator/Photoshop市場へ、Macromedia MX/Flush市場への各殴りこみ製品。“Expression Familiy”ということから、どうもVSファミリーとかOfficeファミリーと肩を並べる製品群となるっぽい。これを本気度ととるかOfficeに傷をつけない方策ととるか。いずれにせよ、Vistaに搭載されるWindows Presentation Foundation(Avalon)を使用することでVS2005と親和性が高いグラフィック系ツールがようやく出てくる、というわけですね。XAMLでXML書くのはさすがにしんどいもんなあ。

ただ、そうするとVisioとかの立ち位置が微妙っちゃー微妙になるんだよなあ。この際、VisioもExpressionファミリーに移行しちゃうとか。なんかもう家なき子っぽい扱いでかわいそうなんだけどねえ。

追記

昼休み時にるいびるお父さんからWWFについて話を聞く。これまで大規模なフレームワーク生成製品はあったものの、生成されたフロー間の相互互換性やそもそも大規模すぎて部門内の細かいフローを纏め上げるには向かないなどのデメリットがあって、たとえば全社的な基幹フローにはいいけれど、3人とか5人のチームフローを作るには投資対効果が得られない。そりゃそうだ。それが使い慣れたVSからビジュアルに操作できて.NET言語からも操作できるとなれば、Microsoft大好き開発者にしてみれば大喜びだろうなあ。

ただなあ、WFFはともかく、デザインツールはデザイナが選択しないと浸透しないしなあ。DTP屋さんを眺めてもQuark Expressがいまだにワンオブベストという状況を考えると、Illustrator/Photoshopの市場やとくにFlushの市場に食い込むのは厳しいだろうなあ。デザイナってのは開発者以上に保守的だからなあ。

もらったはいいけど

というわけで、基調講演後にうなだれながら目玉のDVDをもらったわけだが。

Due to a DVD imaging error, it is not possible to install Visual Studio 2005 Team System Beta 2 directly from DVD 2 in this Package. Although the installation will appear to start, it will not complete. You can either copy the contents of the "VS2005" folder to your hard drive and install from there, or you can request a functional DVD from a limited supply available at the Materials Distribution Center. Please accept our apologies for this Inconvenience.

どっかの弱小出版社の開発系雑誌に添付されたβ版みたいな按配になっておるなあ。

まあ、好意的に考えると、VSTSはFixしているのだけれど、Vistaへのインストールは対応しきれていないためのerrorなんだろうな。

てゆうか、CTP出てるんじゃなかったっけ。VSTS。そっち{を|も}いただけたほうがよほど嬉しかったりするんだけど、それは図々しいにもほどがありますかそうですか。

とりあえず、DirectX9対応のチップセットの載ったマシンを調達してこなれければならない。また部屋が狭くなるなあ。

まあしかし

BillGにJobsのような決定的フレーズを期待するほうが間違いなのかもしれない。

冷静になって考えてみると、登壇時間が過去に例がないくらい異常に短かったような気もする。

BillGもJimAもDonBもいた

VistaだのOffice12だののリリースを控えて、ビルGが何を言うか、どこを指し示すか、どんなフレーズで興奮させてくれるかが、最大の興味の対象だったんだけど。うーん。どうしたものか。

たしかに20年という歳月を経過することでエンドユーザーの環境は向上したし、今後も向上し続けるに違いない。つか、向上し続けなければ別のナニカに取って代わられてしまうかもしれない。

たとえばOfficeと言えば“good enough”なプロダクトの代名詞だったりするわけだけれど、でもそれは機能がgood enoughなだけで、エンドユーザーにとって本質的なところ(たとえば表示だったり機能へのアクセシビリティだったり)は、やっぱり十分ではない。細かいことを言ってしまえば、なんで相変わらずGDI+よ、とか。あるいは下手すると画面の端まで埋め尽くすまでたどらなければならないメニュー構造だったりとか。

そういった現行のシステムのダメな点をクリアするためのプラットホームがWindows Vistaであり、一発目のプロダクトがOffice12やIE7です。そこにはWindows XP以上のExperienceがあり、それをエンドユーザーに体験させられるのは開発者である皆さんです。って、ゆぅじゃな~い。

……。それはそうかもしれないんだけどさ。

GDI+を使用してコードをゴリゴリ書いても実現できなくはないけど、VS2005の上でDirectX(Presentation Fx)を使ったほうが生産性も向上も見込めます。って、ゆぅじゃな~い。

……。それはそうかもしれないんだけどさ。

あなたがた開発者がVista(と、それが提供するフレームワーク)をベースとした開発を行なうことで、エンドユーザーはより快適なPC環境に親しむことができるのです。どんどん新しいフレームワークでアプリケーションを作ってください。って、ゆぅじゃな~い。

……。それはそうかもしれないんだけどさ。でもそれってPDC2003で耳にしたメッセージと、どう違うんだ?

たしかにドンとクリスの掛け合いプログラミングもあったさ。Ajaxを使用してものすごくカンタンにリッチな表示もして見せたさ。でも、なんでこんなにアドレナリンが出てこないんだろう。「HTTP」を「H-IT-P」と表示していたせいだろうか。Office12に採用された「タブ」がボーランドのC++ Builderのインターフェイスを彷彿とさせたせいだろうか。結局Vistaがどろろみたいな状態でリリースされそうなせいだろうか。ジムもクリスもいまいちノリが悪かったせいだろうか。

もしかすると、おれはなにか大きなものを見落としているのかもしれない。

停電

昼食時に停電。とんだハプニング。

14:10くらいに復旧したものの、警備員やポリスが要所要所に立ち現われ、一瞬殺気立つ。テロを想起したのだろうなあ。

カンファレンス参加者は始終和やか。プレカンファレンスだから良かったものの、本番だったら大騒ぎだねえ、などと間の抜けた会話をしたり。あっちこっちで携帯電話で「パワーが落ちちゃってさあ、なんもできねーよ」などと伝えている。

とりあえず、マイクもプロジェクターもマシンも動かないので狭い会場ではスピーカーが会場中央まで出てきて声を張り上げている。偉いなあ。広い会場では演壇にスピーカーだのスタッフだのが集まって鳩首協議。協議してもしょうがないんだけどね。

10番シャトルでリトルトーキョーに行き、ラーメンでも食べようかと思いながら、会場でダラダラしてたら、復旧してしまった。

さて、明日はどうなりますやら。

時差ぼけを正すのだ

PDC05初日。というか、プレカンファレンスなので、あんまり人はいない。むしろカンファレンス会場となりの施設(Staples Center)をメイン会場としたトライアスロン(?)のほうが賑わっていたり。本体は火曜日(13日)からの4日間だから当然といえば当然か。

レジストもつつがなく終了し、ちょっとほっとする。今にして思えばマイクロではじまってソフトで終わる某外資系企業の広報に、面倒くさがらずにネゴしてちゃんとPINコードを発行してもらい、プレス扱いにしてもらえばよかったなあ。もっともPINコードを待ってるとホテルの予約ができなくなるので、諦めたわけだが。

2003年のPDCは事前にIDカードが送られてきたのだが、今回はそーゆうのは一切なし。ドキドキしてたらパスポート(マイクロソフトのPassportではなく、リアルな方ね)の提示を求められるというドンデン返しに「ぎゃふん」(古い)。

Longhornのベータで遊ぶ

このβ版には、Longhorn用のPCエミュレーションソフト「Virtual PC」が付属している。つまり、これを使うことで従来のWindows XPまでのOSと完全に互換性を取ることが可能になる。ConnecixからのVirtual PC買収の目的は、単にMacintosh環境でWindowsプロダクツで使うためだけではなく、Longhornの互換性維持にもあったわけだ。
Longhornの詳細が明らかに(Microsoft Professional Developers Conference 2003 レポート)

これはちょっといかがなものかと(苦笑)。まあ、たしかにそういう見方もできなくはないけどねえ。

Win32アプリケーションは完全に互換性を持っていて、きちんと動作するんですわ。笑っちゃうくらい。ただ、GUIがGDI+からDirectXにアーキテクチャを変更したため、オーバーヘッドが(若干)かかるので、あまりよろしくないという面はあるっぽい。

あと、画面右下にビルドナンバーが表示されるのだけれど、それが時計つきタスクバー(?)の表示領域を広げたり狭めたりするのにあわせて、右に左に移動するんですわ。

この動きを見ると、どうも画像表示のレイヤーが膨大になってるんじゃないかと。……えーと、説明が下手で申し訳ないんだけど、ウィンドウごとのレイヤーという考え方ではなくて、もうモロにバッテン箱(XBox)の画面表示方法を取り入れているような動きをします。これ慣れるまで結構キモイかも。

今回のβ版は意外と安定しており、頻繁にクラッシュするというものではない。ときどき致命的なエラーが起こるものの、Windows 98の初期バージョン程度といったところ。もっともこのβ版、WinFSのデータベースファイルシステムが動いておらず(インストールはNTFSで行なわれた)、なんだかWindows XPとそっくりな部分もある。このため、今後出るβ版でも内容がクルクルと変わっていく可能性が高い(Windows 2000のときもそうだった)。
Longhornの詳細が明らかに(Microsoft Professional Developers Conference 2003 レポート)

てゆうか、Whidbey入れると、ガンガン落ちまつ。つかα版だし(笑)。

いつだって悪だくみ

最終日の最後に日本人向け概要説明セッションがMSKKから行なわれたのだけれど、これには参加せず、別のMSKKの人間(カーネル/ネットワークアーキテクチャ担当)とP2Pおよび新ビジネスについての相談。というか悪だくみ。

AvalonとWinFSを使ってちょっとまじめにP2Pでお仕事しようかなんて。

胃が小さくなってしまった件について

今回のPDCの、個人的なメインプロダクトはYukonとLonghornだったのだけど(Whidbeyじゃないんかい)、Longhornだけでお腹いっぱいになってしまいました。Yukonまで、とてもじゃないけどたどり着けない。

Fundamentalsの上に乗っかるAvalonとWinFS、そしてウワサのIndigoだけで、もう十分、という感じ。

これらを租借するだけでカンタンに1年くらい経ってしまいそう。もっとも、1年後(2年後?)にLonghornがリリースされた時に、今回のPDCでアナウンスされた機能がどれほど盛り込まれているかはかなーり疑問ではあるけれど。

“イケイケどんどん”な人

最終日は山火事で遅れてきた人向けのリピートセッションとパネルディスカッションが中心だったのだけれど、セキュリティ周りのパネルはあまり人が入ってなかったのが印象的。意識が低いという以前に、今回アナウンスされたテクノロジーをどう現場にフィードバックしつつ、アプリケーションを構築するかで頭がいっぱい、ということらしい。

「そら、セキュリティは重要だけど、オレたちゃデベロッパーだし、あのフレームワークの中でタイプセーフなプログラミングをしてりゃ、問題ねーぜベイベ」

と言われて、分業社会はいいなあ、と思ったり。つか、日本も早くそうならないと、いつまでたっても一人の人にかかる荷重が増えこそすれ減ることはないので、関係各位はナントカしてほしいと思います。

パッチのリリースやそれによるアプリケーションへの影響についても聞きたかったのだけれど、つたない英語力では突っ込んだ話が聞けず残念至極。

「パッチ? あてるだろ、フツー。動作の不具合? 作り直せばいいんじゃん。だってお前、.NET Frameworkだぜ。まずいところはドンドン直せるし、そのほうがいいって、絶対」

そらまー、そうなんだけどね。

「つかさー、Javaの連中みたいにわざわざフレームワークを作る必要ないんだしさ。そのぶんセキュアだし構築もラクだろ。PDCに来て、そんな野暮なこと聞くなよ」

失礼いたしました。

外人にはかなわない件

どーでもいいが、やっぱガイジンはガタイがすごいので、持ってるPCもすさまじい。もう見た目がノートPCではなく、三世代くらい前のラップトップといった感じの巨大なマシンを平気で持ってる。

こっちはThinkPad 570Eでヒーヒー。

山火事アクシデントが響いてます

最終日であることに加えて、2コマ分のセッションをリピートセッションで1コマでやったりするから、かなり薄味。

Yukonのマネージドプログラミングのセッションは、かなーり悲しいことになっております。

早くも最終日であること

最終日。いやはや。

VSTOとデータオブジェクト

ADO.NETはますますプログラムレスでいけそう。

新しいオブジェクトを用意してくれたみたいで、それを使うと、これまでみたいにデータセットを用意してデータコネクトをあーしてこーして……、などということは不要になるっぽい。

単純に、データセット/データコネクト/データアダプタの三種の神器はあるオブジェクトがもっているメソッドの引数になるっぽい。

これはラクチンだよねえ。

もっともそのため非接続型のプログラム手法は変わらないから、接続型のデータベース更新プログラミングに慣れているAccessユーザーにとっては面倒かも。

このあたりをVS.NET Tools for Office Systemがフォローしてくれるといいのに、テンプレートはExcelとWordだけなんだよねえ。

散在した件について

読者プレゼント用に散財。つってもたいしたものじゃないのが悲しい。某著者にもガジェットを頼まれているのだけれど、この際知らん振りしようと思うけだるい午後。

山火事の影響が出てます

ロス近郊の大規模な山火事の影響で、本日は急遽リピートセッションが大量に投入された。もしかすると明日のパネルディスカッションも相当変更されるのではないか。

しかしなあ、今日になってまたレジストカウンターが長蛇の列になってたからなあ。山火事って、マジですごいことになっていたのね。

プレスルームでの出来事

肩こりから来る頭痛で息も絶えだえ。

目の前でスパニッシュのプレスが電話で延々もめている。

身振りと顔つきから判断するに、あれは痴話げんかだ。PDCの会場で痴話げんかをしてるんだから、たいしたものだ。

隣の同僚も止めたらいいと思うのだが。

ネットワークがぶち切られる件について

会場内にはWANが設置されているのだけれど(もちろん悪いことはしてない)、これがまあ、しばしば切れる。

ipconfig /all
ipconfig /renew

を繰り返しつつ「はてな」に書き込んでいるわけなんだけど、そんなにまでして書き込まなければならないような話かなあ、といささか疑問。

ココロの中で“いささかせんせい”が浮かんできたら-10ポイント。

山火事が襲ってきます

山火事がすごいらしいのだけれど、その類の話題はまるで耳にしない。おそらく私の耳が英語に不慣れなせいだと思うのだけれど。

ロスに昨日到着した日経BYTEの記者とライターの山本さんと会場で会うと、開口一番、

「山火事のせいで空のダイヤが大幅に乱れ、キーノートに間に合わなかった」

といわれた。もちろん意訳しているのだが(って、相手も日本語なんだけどさ)。

なんでもロスの街を囲むように火が燃えていて、空が真っ黒になるほど煙が上がっているため、着陸許可がおりなかったらしい。

カンファレンス会場のある街中とビバリーヒルズのふもとにあるホテルでは、そんな感じは微塵もないんだよなあ。CNNのニュースでは四六時中取り上げていたけど、そんなに切迫感はない。アメリカってでかいなあ、とヘンに感動(若干ウソ)。

結局

そのまま2日目に突入。

面白すぎる基調講演について

Bill Gatesの基調講演の後、Jim Allchinが登場。ここからは完全にデベロッパー向けの講演。PDCなんだからアタリマエか。

Jimに紹介されて出てきたのはDon BoxとChris Anderson。ふたりの掛け合い漫才でWinFXプログラミングがスタートする(そういや、.NETなんて言葉、ほとんど聞かれなかったな。聞き取れなかっただけか?)。

最初にChrisがDonにC#でWindows Formのソースを書かせ(アセンブリとしてXMLファイルも)、次にDonがChrisにそれを拡張させるという進行だった。

Donはemacsを使用し、ChrisはなんかC#専用IDE(フリーツール?)を使用。

C#のソースコードでは、

using System.MessageBus;
using System.MessageBus.Service;

なんていう名前空間を使用していた。

で、コンパイル時には「csc.exe」ではなく、「msbuild.exe」を使用し、

presentationcore.dll,windowsbass.dll,presentationfx.dll

などという引数が与えられている。

これはDonがC#とともにXMLで記述したファイル(アセンブリ?)の両方が一組でプロジェクトとして機能しているためだろう。要はMacのリソースフォーク部分をXMLで、データフォーク部分をC#で記述し、その2つで実行ファイルが生成される(Macだと先頭128バイトがリソースフォーク(だったかな?))からだ(ろう)。

「Windowsコードビハインド」とかいっていたけど、まあ、そのとおりで、ビルドされたWindowsアプリケーションに対して、DonがさらにXMLファイル(*.xaml)に変更を加えリビルドを行なうと、アプリケーションのインターフェイスがどんどん変わってゆく。

このあたりがLonghornの、ユーザーインターフェイス(AVALON)の面白いところか。

で、このWindowsアプリケーションをWebサービスに変更してゆくDEMOに繋がるのだけれど、その旨を紹介して舞台裏に引っ込もうとするJimをDonが「ぜひ、ソースの妙技をお見せください」なんてことを言って呼び止め、キーボードの前に座らせる。

立ち上げたエディタはGVIMで、思わず「Jim萌え」(もちろんサービスフレーズだ)。

で、いきなりWebサービスではなく、まずはローカルに保存された(すでに生成されているクラス)を呼び出すのだが、これはロジック部分をいじればいいだけだから、非常にカンタン。ボタンやラベルの配置、色やフォントの選択などは*.XAMLに記述する。

だからコードビハインドなんだけど。

数日前にVB.NETでボタンとテキストボックスをパネルに貼り込み、データグリッドをFillしただけの、ロジックが一切ないWindowsアプリケーションのスケルトンを記述したけど、あのインターフェイスにあたる部分がすべてXAMLに移行していると考えていい。つまりWindowsアプリケーションでさえ、ロジックとデザインを分離してしまったわけだ。

これ、おそらく非常に重要。

JimがGVIM上でパタパタやって、ファイルを読み込もうとしたら空白になって

「ねえ、もしかして(新規ファイルを)上書きしちゃった?」

「あー……、むー」

とか言いつつ、必要なファイルが表示されるとDonとChrisが大げさに「ふー」とか汗をぬぐうしぐさで笑いを取りつつ、JimのDEMOは終了。

で、ChrisがさらにWebアプリケーション向け(Webサービス)のロジック(名前空間とuidを指定。データの送受信向けに必要なソースを数行)を実装し、非常に簡便にWebアプリケーションへと変貌させて大拍手。

このやり取りはこちらから読むことができます。

Longhornの基本アーキテクチャ

話が前後しちゃうけど、

+-------------------------------+
|  AVALON  |  WinFS  |  INDIGO  | 
+-------------------------------+
|          Fundamentals         |
+-------------------------------+

これがLonghornの基本アーキテクチャ。それぞれ、

  • AVALON: プレゼンテーション層
  • WinFS: データベース層
  • INDIGO: コミュニケーション層
  • Fundamentals: “いわゆる”OS。基本OSサービスと総称されていた部分

この上に「WinFX」としてインターフェイスが載っかってくるわけで、それが.NET。WinFX(要はWindows Framework)から各層にアクセスし、データのやり取りを行なって、Fundamentalsを操作することになる。

WinFX(.NET)でオブジェクトが整理されたため、その下位層も整理しなおした、というのが実情か。

賞味期限は短い件について

まあ、おそらく2年後には大幅に変わっているかもしれない、Longhornに関する無駄知識。

font

AVALONはDirectX上で画像関連を処理しているため、GDIが使えない。そのため、fontをメモリの中で変換処理する必要がある(DirectX→Bitmap/GDI→TTFont)。

注)Service一覧のcache serviceを参照する。このあたりはVS.NETが吸収してくれる?

MS Search

WinFSもWin32 Serviceで動いている。WinFS Serviceを再起動すると、MS Search Serviceも再起動がかかる。WinFXのSystem.Searchは、おそらくこのMS SearchのProxyクラス(?)。

MS SearchはGathererとIndexerの2つから生成されているので、もしかしたらSite ServerとかMSN Searchからのアルゴリズムを継承しているのかもしれない(by 某MS社員)。

おそらく、GathererとIndexerを別のマシンで動かし、P2PでGathererの結果を集めて、自分に都合の良いIndexerを作れる仕掛けか。となるとこれもIndigoで公開されるかも。

Tcp Transport Listener Service

HTTP.SYSと並ぶKernelモードのProtocolハンドラのひとつ(?)。

W3WP.EXEはWindows 2000 SP3ではHTTP.SYSとしか繋がっていないけど、IndigoになってからはW3WP.EXEはさまざまなリスナと繋がるようになる。わかりやすい例がSMTPか。ここでWeb Serviceの受け付けとか。

WinFSSync

Windows File System Serviceのほかに動いている。このSyncは、

  • 「Schema Sync」
  • 「Hierarchy Sync」
  • 「Content Sync」

の三段階を想定できる。このSyncこそがIndigoのMessage型Web Serviceで動く(のかな???)。

ExplorerのMy Computerの下に「defaultstore」というFile共有が勝手に作られる。これがWinFSの入り口じゃないかというもっぱらのウワサ。

ローカルに存在しているファイルではあるけれど、一度ファイル共有を通すことで各種フィルターの実装を可能とするという考え方をすれば、WinFSもSMB Redirectorを使ってフィルタを混ぜ込むようにしている(のかもしれないなあ)。

まあ、これだと誰が何を操作したか全部わかるからSyncの一意性も簡単に出せる。あと、内部のChain構造も自由に設定することができる。

defaultstoreの中を見ると、

  • 「Schemas」
  • 「StoreInformation」
  • 「SystemData」
  • 「Volumes」

となっているから、ここはTemplateと考えても差し支えないかも。つまり、これをコピーすることで新しいWinFSのStackを作るという、GPOみたいな管理かね。

アドレナリンが噴き出している件について

えー、初日が終了します。

かなり興奮してます。やっぱりマイクロソフトにいる技術者って、すごい。

企業としてどうかというようなご意見もありますが、やはり前人未踏な地点に邁進してゆく彼らの姿勢には頭が下がります。

.NETはおそらく消えるでしょう。次はWinFxだ。

プレカンファレンスに出てみる

プレカンファレンスは、なんというか、これまでの復習という感じで、ちょっと食い足りないなあ。

まあ、プレカンファレンスなんだから、当たり前といえば当たり前なんだけどね。とりあえず、面白そうな部屋を探してあっちこっちウロウロしてみたり。

PDC BlogDigger Aggregation Feeds

However, every site was on my round strike.

PDC

Yes. I'll go.