サンはJavaの何をオープンソース化したのか(1/3)

David Berlind(ZDNet.com) 2005年07月04日 22時48分

  • このエントリーをはてなブックマークに追加

 そもそも、Javaにはいろいろなコンポーネントがあって分かりにくい。Java関連のコンポーネントの一部をオープンソース化するとSunが発表したことで、Javaはさらに分かりづらいものになってしまった。IBMなどは、Javaをオープンソース化するようにずっと前からSunに圧力をかけてきた。そうすることにどんな意義があるのか、業界でも喧々囂々(けんけんごうごう)の議論がたくさんなされてきた。

 そのため、2005年のJavaOneカンファレンスで、Sunがエンタープライズ版Javaの参照実装をオープンソース化することを発表したのを聞いて、長い間Sunに圧力をかけてきた人々の望みがようやく叶えられたと受け取る人が多かったのも、もっともなことだ。だが、IBMの標準技術&オープンソース担当バイスプレジデントであるBob Sutorが自身のブログで触れているように、今回のSunの動きはIBMが望んでいたことそのものではなかった。Sutorは自分のブログの前半で今回の動きに対する不満を述べたあと、次のように述べている:「以上のように批判したけれども、ここではっきり言っておきたい。私は、Sunがこういうものをどんどんオープンソース化していくこと自体は好ましいことだと思う」

 では、Sunは実際何をオープンソース化したのだろうか。それに答える前に、まず、Javaについて整理しておこう。Javaがどういうふうに分けられているかあまりよく知らない人のために説明するが、Javaはいくつかのエディションに大別される。その中でもよく耳にするものが3つある。3つのうちで一番小さいのは「Baby Java」の名でも呼ばれる「J2ME(Java 2 Micro Edition)」だ。このJavaエディションは、BlackBerryや携帯電話などの携帯デバイス上で稼働する。次にくるのが「Little Java」で、正式には「J2SE(Java 2 Standard Edition)」と呼ばれる。このJavaエディションは、ノートPCやデスクトップPCで使われることが多い。最後は「Big Java」。こちらの正式名称は「J2EE(Java 2 Enterprise Edition)」だ。これは、Javaをサーバ上で実行するための機能をもつエディションである。

 実はこれ以外にも、あまり話題には上らないが、4つ目のエディションがある。その名はJavaCard。これも他のエディションと同じくらい重要なもので、多くのスマートカードに使われている。

 「Baby、Little、Big」という名称からも推測されるように、3つのエディションのJavaは異なった能力を備えていて、J2EEはJ2SEよりも多くのことができる、というように、エディションが大きくなれば大きくなるほど多くのことを実行できるようになる。これらの違いは、「フットプリント」、つまりどれくらいのリソースを消費できるかにある。スマートカードはサーバほどリソースを持たないので、JavaCardはJ2EEほどの能力は備えていない。Microsoftの.NETも同じような構成になっている(たとえば、PDA用には「.NET Compact」がある。これは、.NETのJ2ME版みたいなものである)。

 一方、それぞれのJavaの「プラットフォーム」に対して、Java Specification Request(JSR)と呼ばれる正式仕様が定められている。これらの仕様には、J2ME、J2SE、あるいはJ2EE準拠であることを認定してもらうために、どのプラットフォームの実装においてもベンダーが実現しなければならない事項が詳細に指定されている。これらの仕様を監督するのはJava Community Process(JCP)だ。J2EE準拠をうたうIBMのWebSphereとBEAのWebLogicは、JCPのJ2EE JSR-151に準拠していることが認定された製品だ。

 これらのプラットフォームの奥深くには、Java仮想マシン(Java Virtual Machine:JVM)と、JVMに付随する一連の「クラス」が埋め込まれている。この機能の集まりを、Javaランタイム環境(Java Runtime Environment:JRE)と呼ぶ。J2EEの方がほかのエディションよりも能力が高いと言っても、実は、J2EEとJ2SEに含まれているJREの部品には共通のものが多い。2つのエディションの違いは、付属しているクラスにある。たとえば、J2EEには、J2SEにはない、サーバ環境向けのクラスの集合が付随している。

 なぜこんなに詳しくJavaの内部を説明しようとしているのかというと、これらのことはすべて、先週SunがJavaOneでオープンソース化したことに深く関係があるからだ。

  • このエントリーをはてなブックマークに追加
関連キーワード
経営

関連ホワイトペーパー

SpecialPR

連載

CIO
藤本恭史「もっと気楽にFinTech」
Fintechの正体
内山悟志「IT部門はどこに向かうのか」
情報通信技術の新しい使い方
米ZDNet編集長Larryの独り言
谷川耕一「エンプラITならこれは知っとけ」
田中克己「2020年のIT企業」
大木豊成「Apple法人ユースの取説」
デジタル未来からの手紙
モノのインターネットの衝撃
松岡功「一言もの申す」
三国大洋のスクラップブック
大河原克行のエンプラ徒然
今週の明言
アナリストの視点
コミュニケーション
情報系システム最適化
モバイル
通信のゆくえを追う
スマートデバイス戦略
セキュリティ
ネットワークセキュリティ
セキュリティの論点
スペシャル
de:code
Sapphire Now
VMworld
HPE Discover
Oracle OpenWorld
Dell World
AWS re:Invent
PTC LiveWorx
デプロイ王子のテクノロジ解説!
古賀政純「Dockerがもたらすビジネス変革」
誰もが開発者になる時代 ~業務システム開発の現場を行く~
さとうなおきの「週刊Azureなう」
より賢く活用するためのOSS最新動向
「Windows 10」法人導入の手引き
北川裕康「データアナリティクスの勘所」
Windows Server 2003サポート終了へ秒読み
米株式動向
Windows Server 2003サポート終了
実践ビッグデータ
中国ビジネス四方山話
日本株展望
ベトナムでビジネス
アジアのIT
10の事情
エンタープライズトレンド
クラウドと仮想化