2004出社したら昨日(追記:20日の出来事なのでここでの昨日というのは19日のこと)の夕方に届いていたお誘いメールを発見。席が余ったのかなぁ、とか考えながらも、ありがたくプリントアウトして、午後、ドームホテルへ。Hotelだとちょっとおどろおどろしいが、そんな気が利いたホテルではなかった。ちなみに、zooはツォーだったりゾオだったりするわけだからDoomでドオムってのもありだろう。いいことを考えながら地下へ降りてNさんに挨拶。復調したのなら良いのだが。訊くと、そりゃないだろうとか。司会のマイクを取ろうして、演壇はあっちと教えられると、照れてるんだかなんだか、妙な足取りで右へ進む。いう時には、さりげなくムーンウォークとかすると良いだろう。(追記:以降、ほとんど同時通訳を利用。思ったが、そつなく始まる。2時間(3時間かな?)分のパワポだが90分だから途中を素っ飛ばすと言明。MSとしては、ページコントローラを素っ飛ばされるのは嬉しくないんじゃないかな。それはそれとして、あまりにそつが無いので退屈する。PoEAAのプロモーションに来たのかなぁ。途中、うまく通訳で伝わるかなとか言いながらギャグを飛ばしたようだが印象には残っていない。そこで「やっぱり通訳付きじゃ通じないか」とかブツブツ言ったのには受けたが。ロウデータゲイトウェイのところで、スタティックメソッドによるファインダメソッドが必要となり、それによって、モック(ファウラーの用語ではスタブ)の使用ができなくなるから、ファクトリを別途使用することを提案(なのかな)。いうか、そのまんまCMPエンティティビーンとホームインターフェイスですがな。データマッパーは実装がすごく大変だから、おれたちソートワークスみたいに優れたデータマッパーの実装を持ってなければやめときな、というようなことを言い出す。リレーションがあると確かに単純には実装できそうにもないかな、とちょっと実装戦略を考えているうちに分散パターンへ突入。コモンシナリオを見せる。これはカスです、と言明。いくらアメリカ人でも、顧客にはそうは言えないけどねと注。コーバーピープルって何かと思ったが、CORBAピープルのことか。痛い目にあったのかなぁ。分散オブジェクトっておもしろいんだけど、インプロセスとは違うからな。透過、透過って、おまいら速度を意識したことは無いんでつか、と怒ってみせる。速度よりも、障害だよ、真の問題は。(と、速度をクリアしていたもので実践投入――DCOMだけど――したことのある僕は呟くのであった)リモートファサード。粗粒度インターフェイスの利用。インプロセスなら、こんなもんいらんもんね。それこそ透過APIで済むのではないか?アドレスデータをレコードセットと考える。コントローラ(アドレスファサード)のインナークラスとして(コントローラへのバックポインタを持つと)考える。DTOではあるが、insertのようなメソッドについては、内部でコントローラへthis(これはDTOだ)をデリゲートすることで済ませることが可能だ。ロウデータゲイトウェイには、ファインダクラスを設けることにするのがベストプラクティスなのだから、それをファサードとして利用可能では無いか、と考える。ドメインモデルのインスタンス生成コスト問題。そんなものよりDBを気にしろ。いうか、その通りなのだが、まあ、考えどころではある。現実問題としては、正しい。無意味な文字列生成のように短期間に爆発的に生成されるわけではないので(特に更新処理)ほとんどのインスタンスはトランザクション境界と同程度の寿命を持つ。レコードをグルグル読みまくるようなものにドメインモデルを利用してはいけないというのは当然で、ファストレーンがそのためにあるわけだし。なんか、最初の解釈ってのは、箱モノが外部にサービス提供するのは良いアイディアだと言い出す。それはOfficeアプリケーションが外部にサービスを提供するのは良いアイディアだのOLE1、2、フィニッシュみたいだ。同じことだが、サービスの粒度が異なるってことかいな。