 |
≫ |
|
|
 |
「Hibernate」は、Javaで開発されたアプリケーションとリレーショナルデータベースの接続を容易にするO/Rマッピングフレームワークだ。Javaの開発者ならば、もしかすると頻繁に開発で利用しているかもしれない。 Gavin King氏はこの「Hibernate」の開発者であり、現在はレッドハット社で開発者としてWebアプリケーション開発のためのフレームワーク「JBoss Seam」の開発に携わっている。
今回のインタビューでは、「Hibernate」開発の経緯や、次々と新しいオープンソースプロダクトを開発し続けられる動機など、テクノロジーリーダーとしてのマインドに迫った。 |
 |
 |
 |
 |
日本HP
コンサルティング・
インテグレーション統括本部
ソリューション戦略本部
コアテクノロジー部
水野 浩典 |  |
日本HP
コンサルティング・
インテグレーション統括本部
ソリューション戦略本部
コアテクノロジー部
大矢 俊夫 |
 |
 |
 |
 |
 |
 |
日本HP
コンサルティング・
インテグレーション統括本部
ソリューション戦略本部
コアテクノロジー部
佐藤 修一 |  |
|
 |
 |
 |
Q:まず、Hibernateを開発したきっかけを教えてください。 |
 |
 |
 |
 |
 |
当時はオーストラリアのメルボルンで、Javaでのアプリケーション開発の仕事に従事していました。しかしJava EEの仕様にフラストレーションが溜まっていました。たとえば、EJBでのEntity Beansの永続性とか、Strutsを使ってユーザインターフェースがうまく作れなかったりとか、そういった問題です。そのため、非常に沢山のコードを書いていたのですが、それはアプリケーションが最終的に必要としているビジネスモデルを達成するためのコードではありませんでした(筆者註:もっと基本的な、低レベルなところに労力を割かれていた)。また、ビジネスモデルの定義を複数のクラスで行う必要があり、分散させてしまうので、システム構築を難しくしていました。
そこでアプリケーションを階層化すべきだと考えて、まずHibernateの開発を行いました。
|
 |
Q:Hibernateをオープンソースにしたのはなぜですか? |
 |
 |
 |
 |
 |
私自身、仕事で使おうと思って作ったわけですが、他の人にも同様に仕事で使ってもらおうと思って、プロジェクトを開始しました。あと、オープンソースということに興味もありましたしね。みんなに使ってもらうにはオープンソースがいいだろう、ということで公開したわけです。 最初は、それほど成功するとは期待していませんでした。特に最初の1年は苦労しました。仕事を2つ失って、彼女にふられましたよ(笑)
|
 |
Q:Hibernateはオープンソースソフトウェアとして公開されていますが、
コミュニティはどのように形成されていったのですか? |
 |
 |
 |
 |
 |
もちろん、最初は私一人だけでしたよ。ただ、そのうち何人かの人が開発を手伝ってくれるようになりました。別に大きく宣伝したわけではなく、口コミで人が集まってきたような感じでした。彼らはHibernateのためにWebサイトを作ってくれたり、Forumで質問や回答をしたりといった、Hibernateが普及していくためのサポートを行ってくれました。 |
 |
Q:オーストラリアで開発を行っていて、何か障害はありましたか? |
 |
 |
 |
 |
 |
今はアメリカで仕事をしているけど、国によっての差はそれほど無いと思います。ただ、言葉の壁は大きいでしょうね。
あと、アメリカの企業は、いいと思えば小さい会社の技術でも採用していってくれる。オーストラリアはリスクを取らないビジネス習慣なので、その違いは感じます。 |
 |
Q:現在のJavaの技術的な状況をどのように見ていますか? |
 |
 |
 |
 |
 |
 |
 |
アーキテクチャとしては、5年前からあまり進歩していないように思います。Javaの世界では、まだまだ無駄が多いのではないでしょうか。
私が作ったHibernateや、Javaの正式な仕様として採用されたJPA(Java Persistence API)のおかげで、データベースとのやり取りは随分と楽になったと思います。もちろん、まだ完璧ではありませんが。
あと、ユーザインターフェースもかなり進みましたね。ブラウザ対応の面では、JavaScriptやCSS、HTML自体の進歩など。ただ、ユーザインターフェースについてさらに満足がいくようになるには、もう少し時間がかかりそうに思います。 |
 |
|
 |
Q:現在開発しているSeamは、どのようなきっかけで開発を始めたのですか? |
 |
 |
 |
 |
 |
Javaでの開発にまつわる一連の問題を解決したいと思って、Seamの開発を行っています。まずは簡単なところから始めていますが、解決しないといけないことも多いですね。FlexやSwing、GWTとの連携なども進めていきます。
Seamは、とてもいいフレームワークだと思っています。ただ、これを普及させるのには少し障壁が高いですね。ベースになっているのがEJB3だったりと、新しいもので構成されていて、システムインテグレーションの現場に今すぐ持ち込むのが難しいということがいえます。あと、利用するエンジニアがすごい勉強しないといけない。
|
 |
 |
新しい技術はなんでも一緒ですが、一気に普及させるのは難しいでしょう。小さいプロジェクトから始めるのがいいでしょうね。規模的には一人から三人ぐらいで、プロトタイプ作成などから使っていってもらって、徐々に慣れていってもらうのがいいでしょう。
そうやって使っていくことで、社内にSeamのエキスパートやJSFのエキスパート、Faceletのエキスパートなどが育っていくと思いますから、Seamの利用を広げていくときには、それらのエキスパートに色々と聞いてみて欲しい。
あと、コミュニティも活用して欲しいですね。現在、JBoss.orgのWebサイトに様々な情報があります。今後日本語対応もしていきたいですね |
 |
Q:Ruby on Railsが注目されていますが、どうご覧になっていますか? |
 |
 |
 |
 |
 |
Javaの大きな課題を解決する点で興味深いですね。アプリケーションの統合、複雑なアプリケーションの開発を素早く始められます。SeamもRailsからインスピレーションを受けていますよ。あと、Rubyはいい言語だと思いますが、個人的にはstatic(静的)な言語の方が好みですね。(筆者註:Rubyは動的言語) |
 |
 |
色々ありますよ。Flex、ScalaのようなJavaVM上で動作する静的言語、Groovyなど。Wicket(Webアプリケーションフレームワーク)にも興味があります。 |
 |
Q:Seamのようなフレームワークを開発していくモチベーション、あるいは開発していてよかったと感じることとは何ですか? |
 |
 |
 |
 |
 |
そうですね、まずはフレームワークを作るのが好きだということですね。好きだからフレームワークを開発しています。開発していてよかったと思えたのは、やっぱりHibernateのアイデアが、Javaの正式な仕様として採用されたことでしょう。これが何といっても成功を実感する上で一番大きかったですね。 |
 |
 |
次は秘密です(笑) |
|