ObjectSquare [2004 年 7 月号]

[突撃インタビュー]


Gregor Hohpe さんインタビュー(前編)

4 月にMartin Fowler さんと共に来日された、Gregor Hohpe さんにインタビューを実施しました。 その様子を、前編・後編に分けてお届けします。

Gregor Hohpe さんは、ThoughtWorks, Inc. においてエンタープライズインテグレーションの 実践を主導されています。また、エンタープライズインテグレーションや Web サービス、サービス指向アーキテクチャについて数々の論文と記事を発表しています。
 主な著作として、『 Enterprise Integration Patterns 』(右下写真)、 『 Enterprise Solution Patterns Using Microsoft .NET 』があります。

インタビューアは、著作『 Enterprise Integration Patterns 』が出る前から、 彼が管理している web サイトを見て興味を持っていました。 Gregorさんが来日するという話を聞いて、急遽インタビューをお願いしたところ、快く引き受けてくださいました。

インタビュー前半では、ThoughtWorks, Inc.でのお仕事について、オープンソースソフトウェアに関するお話をお届けします。



 インタビュー風景

日本について

-- 今回が 2 回目の来日ですか ?

そうだね。前回は 2002 年の秋にバケーションのために日本に来たんだよ。

-- 単にバケーションのためだけですか ?

うん。2 週間のバケーションを過ごしたんだ。
 そうそう、今回の旅行も、元々はバケーションとして計画していたんだよ。

-- そうなんですか?

うん。もともとは 2 週間滞在して、先週の日曜日に帰るつもりだったんだけど、 Martin Fowler が同時期に日本に来るというのと、プレゼンテーション*1のために 少し滞在を延長したんだ。バケーションは楽しかったよ。

*1 パターンワーキンググループ主催、ソフトウェア再利用とパターンに関する特別セミナーのこと。 このインタビューは、セミナーの翌日に行われました。

-- 日本についてはどう思われますか ?

日本は大好きだよ。前回来日した時にとても気に入ったんだ。それに、前回は秋だったから、 桜や、色々なものを見るために、春にもう一度日本に来たいと思っていたのさ。

建築物が好き

それから、私は建築物、庭園に興味があるんだ。伝統的な建築物も近代的な 建築物も両方好きだね。

-- 伝統的な建築物とは、神社、寺、城ですか ?

そうだね。近代的な建築だと、安藤忠雄丹下 健三の建築物が大好きだよ。

-- 日本の建築物が好きなのですね ?

そうだね、大好きだね。大阪では高松信の設計したキリンプラザに行ったよ。 たぶん、彼は日本の都市建築家だと思うよ。

-- Gregor さんの web サイト上にたくさんの建築物の写真がありましたね。 おそらく、ドイツやベルギーの写真だと思うのですが。

そう、写真はたくさんあるよ。私は旅行に行くと、建築物の写真を撮るんだ。 ドイツの写真は家族を訪問した時に撮るんだ。ベルギーはカンファレンスのために行った時に撮ったんだ。 ロスアンジェルス中をドライブして、有名な建物の写真を全部撮ったこともあるよ。

私はとても建築物が好きだから、インテリアデザインのアーキテクチャのクラスを受講していたこともあるよ。

-- 大学でですか ?

そうだ。でも、夜間のクラスだよ。私の専攻はコンピュータサイエンスなんだ。 でも、ドローイングやインテリアデザインが大好きだったから、夜間のクラスで受講したんだ。


現在のお仕事

-- Gregor さんのこれまでのお仕事と、ThoughtWorks におけるお仕事について簡単に説明してもらえませんか。

ThoughtWorks で働く前は、石油会社の Chevron*2 や、 ローマにある Telecom Italia などの巨大プロジェクトで働いていたよ。 プロジェクトのために、ローマには 3 ヶ月間滞在したこともあるんだ。

*2 現在の ChevronTexaco

今は、ThoughtWorks でエンタープライズインテグレーションを担当しているよ。 だから、ミドルウェア、SOA 、TIBCO などに関わる仕事をやっているんだ。プロジェクトの規模は以前よりは小さいね。
 エンタープライズインテグレーションの仕事のために、お客さんを訪問した際にプレゼンテーションをしたり、 カンファレンスで話をしたり、原稿を書いたりしているかな。
 昨年はほとんどマイクロソフトの本を書く仕事をしていたよ。これは、今までと全く種類の異なるプロジェクトだったね。 その時に書いたのは 『 Enterprise Solution Patterns Using Microsoft .NET 』 という本だよ。

-- 昨晩*1のセミナーで参加者へプレゼントされた青い本ですか ?

そう、あれ、あれ。昨年は、本を書くのにほとんどの時間を費やしてしまった。 だから、今年は開発プロジェクトに戻りたいね。 本を書くのも好きなんだけど、ソフトウェアを開発するのも好きなんだよ。次のプロジェクトは開発プロジェクトであればいいんだけどね。

あと、私はナレッジリーダなんだ。リーダというと上下関係があるように聞こえるかもしれないけど、私はみんなの上司というわけではないし、 みんなが報告に来るわけでもない。私は、エンタープライズインテグレーションのナレッジリーダになろうとしてるんだ。 その他にも、ThoughtWorks 内でエンタープライズインテグレーションに関わる知識を蓄積する手助けをしたり、色々話したりしているよ。

C# がお気に入り

-- どんな言語を使うのですか。

最近、使う言語を変えようかなと思っているんだ。昨年はマイクロソフトの仕事をたくさんしたので、 これからは C# をたくさん使うようになると思うよ。
自分でプログラムをするときは、最近はほとんど C# を使うね。本のために簡単なサンプルコードや小さなアプリケーションを 作ることが多いんだ。 まあ、でも、色々だね。前のお客さんのプロジェクトでは Java だったし、マイクロソフトのお客さんでは C# を使っていたよ。 でも、自分のプロジェクトでは、たぶん C# になるだろうね。 Thoughworks には、巨大な .NET のプロジェクトに関わっている開発者がいて、彼らはとても幸せそうだよ。

-- C# のどのような点が良いのでしょうか?

C# が気に入ってる理由は 2 つある。ひとつは、unchecked exception 、foreach 、construct 、それから delegate などのおかげで 簡単なサンプルが書きやすいし、プログラムがコンパクトになるからだ。 特に、私のサンプルはメッセージングに関するものなので、イベントアーキテクチャと delegate は非常に便利なんだよね。

もうひとつは、.NET のライブラリはメッセージキューのためのライブラリとしては とてもシンプルだからだ。それほどフレキシブルではないけど、キューにメッセージ を送信するために、たった 2 行のコードを書けばいいだけなんだよ。
Java は C# よりフレキシブルだけどたくさんコードを書かないといけないからね。例えば、JNDI プロバイダーのルックアップとか。
だから、もし、パターンの中核部分だけに焦点を絞りたいのであれば、シンプルに書ける C# がいいな。

Java

Java を使う理由を挙げるなら、ほとんどのクールなライブラリは Java だからだね。

-- どういう意味ですか ?

クールなソフトウェアの API は Java しかないんだ。だから、時々は Java を使わざるを得ないんだ。 もし、TIBCO 用のサンプルコードを書こうと思ったら、Java を使わなければいけないんだよ。

-- Java にはエンタープライズアプリケーションのための良いライブラリがあると思うのですが。

そうだね。よりパワフルなアプリケーション向きだね。この点については私も注意するようにしてるよ。 私の使い方は、典型的なエンタープライズアプリケーションにおける使い方とは違うんだ。 私は小さなサンプルが好きだからね。だから、これは私なりの判断基準だね。


 インタビュー風景

ThoughtWorks .Inc について

-- ThoughtWorks についてお話してもらえませんか。Martin Fowler を通じて、 読者は ThoughtWorks の名前を知っていると思うんですが、会社自体についてはあまり知られていないと思いますので。

そうだね。Martin は、ThoughtWorks にとってとても重要な人物だ。しかし、彼が有名すぎるので、 人々は彼にだけに注目して、Toughtworks にはそれほど関心がないみたいだね。

これにはおもしろい話があるんだ。2 週間前に、社長の Roy Singham が日本にきたんだ。
 それで、Roy は Martin の仕事の関係者に、自分が ThoughtWorks の社長だと言ったんだ。 でも、彼らは Martin が会社のオーナーだと思っていたから、最初 Roy の言葉を信じなかったんだ。 彼らは、Roy は自分を印象づけようとそのようなことを言っていると思ったそうだよ。  だから、彼らは最初、社長に向かって「あなたは社長ではありませんよね。Martin Fowler の会社でしょう?」って、 こんなおかしな混乱があったんだ。

ThoughtWorks は 10 年前に Roy が小さな会社として始めたんだ。
 私達の会社はもの凄い勢いで成長していて、昨年までの従業員は 350 人未満だったんだけど、今は約 500 人だ。

-- それは、アメリカ合衆国だけですか、それとも世界中ですか ?

世界中だね。私達のオフィスはシカゴにあるんだ。これがヘッドクオータで、会社が創設された場所だ。 3 年前に、Roy は ThoughtWorks がインターナショナルな企業になれるだろうと考えたんだ。 最初のオフィスはカナダだね。次にロンドンにオフィスを開設したんだけど、これは大成功だったよ。 それからインド、オーストラリアにオフィスを開設して、我々はインターナショナルな企業になったんだ。 将来的には、日本にもオフィスを作りたいとは思っているんだけどね。

ThoughtWorks の主な仕事は、カスタムアプリケーションの開発だ。 J2EE 、インターネット、エンタープライズインテグレーションなどで、ほとんどの仕事はテクニカルなものだよ。

-- 主にコンサルティングをやっているのですか、それとも開発ですか ?

両方かな。純粋なコンサルティングはほんの少しだけだね。 ほとんどの仕事はお客さんのための開発だよ。 問題を抱えているお客さんの中に入って、お客さんのための開発プロジェクトを進めているんだ。
 我々はサービス企業なんだよ。私たちのやっているのはお客さんのための開発だけで、製品を売っているわけではないから。

オープンソース・ソフトウェア

それから、オープンソース・ソフトウェアの開発もおこなってるよ。

-- そうですね。ええとソフトウェアの名前が思い出せないんですけど。

CruiseControlCruiseControl.NETNUnit、それからPicoContainer。 PicoContainer は軽量コンテナだ。

-- それは Spring のコンテナと同じようなものですか ?

そうだね。Spring のコンテナに似てるね。Spring は、Rod Johnson*3の作ったフレームワークだね。 PicoContainer はPaul Hammant と Joe Walnes*4が 開発に関わっているんだ。 それから、Jon Tirsen かな。

*3 『実践 J2EE システムデザイン』の著者。

*4 『 Java Open Source Programming 』の著者。

他にも、Aslak HellesoyXDoclet の開発の中心人物の一人だ。 XDoclet は、J2EE 用のメタデータを Java コードに追加して、それから配備記述子などを自動生成できるソフトウェアなんだ。

このように、ThoughtWorks では様々な領域でオープンソースに関わっている有名な人々が働いているんだ。 スマートな人々が多いので、働くには最高の環境だね。

-- そういえば、PicoContainer と Springのコンテナに関する記事*5を読んだことがあります。

*5 日本語訳:Inversion of Control コンテナと Dependency Injection パターン

ああ、Martin Fowler が書いた記事だね。

PicoContainer の背後にある基本的なアイデアは、Aslak と Paul が "Inversion of Control(制御の反転)" と呼ぶものなんだ。 Martin の記事では、"Dependency Injection(依存性注入)" と呼んでいるんだけど。 でも、これは設計上のアイデアだから、PicoContainer にだけ関係あるわけじゃないよ。 どうやって、dependency を inject するかというアイデアだからね。
 だから、私は Martin が使う "Dependency Injection(依存性注入)" という言葉の方が好きだね。 設計時には dependency を避けたいけど、dependency なしでは何もできないから inject をせざるを得ないよね。 "Dependency Injection(依存性注入)" という言葉通り、いつ、どうやって dependency を inject するかという問題なんだよ。 だから、Martin の記事はすごくいいと思うよ。

そういえば、別の記事、いや、本もあるよ。Rod Jonson が書いた本さ。彼は ThoughtWorks の社員ではないけど、仲はいいんだ。

-- 『実践 J2EE デザイン』ですか?

いや、彼は Spring フレームワークに関する新しい本を書いたんだよ。 まだ出版はされていないけど、きっともう書き上げているはずさ。最後に彼と話したとき、書くのに忙しそうだったからね。 彼はものすごくスマートな奴なんだ。

ThoughtWorks には仲のよい個人コンサルタントの友人や社外のコミュニティがたくさんあるんだ。 多くのコミュニティはオープンソースソフトウェアを通して形作られるんだ。 オープンソースソフトウェアは偉大なコミュニティビルダーだってことだよね。
 それから、非常に大事なことなんだけど、オープンソースは、いい宣伝になるんだ。 人々がオープンソースにかかわる人々を見たときに、全員が ThoughtWorks で働いているとするだろ。 すると、これはすごく特別なことで、特別な会社だ!って思うよね。
特に UK ではそういう傾向が強いみたいだね。私がオープンソースセレブと呼ぶ Paul は UK で働いているんだ。 彼はオープンソースコミュニティの中にファンがいるんだよ。

アメリカの個人コンサルタント事情

-- アメリカには Rod Jonson のような個人コンサルタント、あるいは開発者が多いのですか ?

ほんの少しだね。個人でやっている人は多いけど、あまり優秀とは言えないな。 もちろん、ものすごくハイエンドな個人コンサルタントも居るよ。 彼らのほとんどは ThoughtWorks と仲がいいんだ。 なぜなら、色々なカンファレンスでしょっちゅう会うし、同じ出版社で本を出してたりするから。彼らは、素晴らしいコミュニティを持っているんだ。

ドットコムブームの時には、個人コンサルタントになるということはものすごくポピュラーだったんだよ。 たくさんのお金を稼げるからね。でも、今はみんな安定を求めているんじゃないかな。安定しているってことが最も大事だと感じてるから、 以前より雇われている人が多いと思うよ。



以上が、前半の内容です。
 後半では、エンタープライズインテグレーションやパターンについてのお話を中心にお届けします。ご期待ください。


今回のインタビューは、Gregor Hohpe さん、Sidney G. Pinney さん (ThoughtWorks, Inc.) 、 鷲崎 弘宜 さん ( 国立情報学研究所 ) 、パターンワーキンググループ のご協力のもと行われました。 本当にありがとうございました。




記事の内容を 5 点満点で評価してください。
1 点 2 点 3 点 4 点 5 点
記事に関するコメントがあれば併せてご記入ください。
  



©2004 OGIS-RI Co., Ltd.
Index Next
Index Next