石川 和也

動くWWWブラウザー

HotJava 登場「あれ！？ いつも見慣れたWWWブラウザーの中でアニメーションが動いている！
それにマウスを移動させるとホットスポットの上で音が鳴ったりする！」
そう、これがいま話題のホットジャヴァ（HotJava）ブラウザーだ。その概要については先月号で速報したが、今月はホットジャヴァ登場の背景や可能性について、より詳しく解説することにしよう。

104 INTERNET MAGAZINE 1995/9

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

トコードを解釈する。

い。また、表示を行うドキュメントも、解釈【HotJavaブラウザーは、プログラムを実行できる環境】

できる書式は限定されている。そこで特殊

これにより、ブラウザーは単に表示をす

HotJavaブラウザー（以降、HotJavaといなデータのフォーマットには、外部アプリケるだけでなく、Javaプログラム（アプレッう）は、すでにお馴染みのモザイクやネッーションを起動して、それらを解釈させる必トという）を読み込んで「機能」を手に入トスケープナビゲーターと同様のWWWブ要がある。

れることができる（注：アプレットはオブジェクト指向でのクラスに相当する）。

ラウザーの一種である。しかし、HotJavaがこの外部アプリケーションは「ヘルパー他のWWWブラウザーと大きく異なる点は、アプリケーション」といい、あらかじめブラ

アプレットは、HTMLを拡張したタグとしJavaという言語で書かれたプログラムを読ウザーとともにインストールし、ブラウザてドキュメント内にファイル名が指定される。

み込んで、実行できることだ。いままではーにフォーマットとヘルパーアプリケーショ

そのドキュメントを「見る」ユーザーは、ドキ文字や画像などの「データ」を表示することンを対 応 させておくわけだ。 ちょうど

ュメントを読み込むのと同時にアプレットをしかできなかったWWWブラウザーが読みQuickTimeの映像を再生するプレーヤー読み込むので、ヘルパーアプリケーションの込んだプログラムを実行することで、ブラなどがヘルパーアプリケーションの例であようにあらかじめユーザーのマシンにアプリウザーの画面中でアニメーションを動かしる。しかし、このヘルパーアプリケーショケーションをインストールをしておく必要はなたり、他のマシンとリアルタイムで通信したンは、通常のコマンドと同様に、実行すい。たとえば、提供しようとしているデータ

り、データをダイナミックに変更したりする

るためにある特定のマシンに固有なアプリの形式が新しいものであったり、独自のもことができるようになるのだ。

ケーションとなってしまうため、新しいフのであったりしても、そのデータと同時に表

このHotJavaブラウザーは、現在はサンォーマットのデータを取り扱うためには、示するためのプログラムもWWWサーバー

マイクロシステムズ社のソラリス2.3以降かヘルパーアプリケーションもそれぞれの機で提供しておけば、ユーザーがあらかじめウィンドウズNTで動作するαバージョンが種ごとに移植しなければならない。

そのデータを表示するためのヘルパーアプリケーションを用意しておかなくてもいい

提供されているが、マッキントッシュを始めとするその他のプラットフォームにも移植作のだ。

【Java言語登場】
従来のWWWブラウザーの限界を越える

また、アプレットはアプリケーションとそれでは、HotJavaの可能性を知るために、ために、HotJavaではJavaと呼ばれる言語してブラウザー内部で動作するので、何度従来のWWWブラウザーについて役割とそで書かれたアプリケーションをWWWサー

もWWWサーバーとデータのやり取りを行の機能、そしてその限界について再度確認

バーから読み込むことで解決しようとしてう必要はない。アプレットに必要な処理をしてみよう。

いる。JavaはC++に似たオブジェクト指向記述することで、ブラウザーだけで処理を言語で分散環境でのアプリケーション環境完結させることができる。

業が進められている。

【従来のWWWブラウザーの限界点】

を提供する。Javaで書かれたプログラムは、このように、「機能」とその「自己拡張」

従来のWWWブラウザーでは、HTMLとJavaコンパイラによってバイトコードに変換のための環境が提供されたことにより、従いう書式で書かれたテキストとGIF形式のされる。つまり、オペレーティングシステ

来のWWWブラウザーでは不可能であったイメージなどのデータをレイアウトして表示

ムやCPUに依存せず、HotJavaブラウザー「エージェント」のようなユーザーの動作に応する。そして、ハイパーリンクによりドキュで解釈可能なバイトコードが生成されるのじてその処理を変えていくようなシステムもメントを自由に、そして柔軟に連携させるだ。そして、それを読み込んだHotJavaブ構築することができる可能性がある。そして、ことを可能にした。

ラウザーの内部のインタープリターでバイネットワークに分散したポータブルな「機能しかし、きれいな表示をすることはできてデータとプログラムを読み込むも、処理（機能）は提供していない。たとえば、多くのWWWサイトで、アンケートなど<TITLE>
ネズミのすべて<IMG...><P><APP...><APP...>を行うために入力フィールドを持ったページを提供しているが、入力されたデータを受け取って処理を行うのは、WWWサーバ

画像ー側で動作しているCGIなどを使ったアプリケーションで、ブラウザーは入力された文字をサーバーに渡しているにすぎない。

画像をアニメーションするプログラム

Java

HTML

読み込む

Javaプログラム（アプレット）

ネズミのすべて

また、WWWブラウザーはhttp以外にも、FTP、Gopherなどのプロトコルに対応しているが、新たなプロトコルが開発されたとしアニメーションアプレットが実行される

新しいプロトコル

Java

Javaプログラム（アプレット）Java インタープリターても、そのプロトコルに対応する手だてはな

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

INTERNET MAGAZINE 1995/9105

拡張」が実現したことにより、インターネッ

クステーションと遜色のない（ひょっとす

このシステムは実際に発売されることはトの新たな世界が開かれることと思う。

るともっと高性能の）コンピュータであるなかった。しかしこのシステムの思想や技といえる。

術自体は、ケーブルテレビ向けのSTBにのハードウェア的にこのような性能を要求み有効な技術ではなかった。CORBAを始HotJavaやJavaはどのようにして生まれされるので、それを制御するソフトウェアめとする他の分散オブジェクト技術と同様てきたのだろうか？ HotJavaとJavaは米国としても最新の技術が要求されることになに、どのようにも応用がきく。そして、インサンマイクロシステムズ社の子会社である

る。VODが実現し、これが世界中の家庭ターネットに適応させるために、しばらくサンラボラトリーズ（SMI）で開発された。のテレビにつながるシステムになるのであれの沈黙のあとに、WWWブラウザーにOAK

SMIでは次期ソラリスといわれている分散ば、それは莫大な市場規模であり、さらにを組み込んだ「WebRunner」として公開型オペレーティングシステムである「Spring」

はオフィスだけでなく家庭への進出の足がされた。インターネットでのこれらのシステや「DOE」といった研究をしている。

かりとするために、どのハードウェアメーカ

ムの公開方法と同様に、ソースコードを含一昨年から昨年前半までのコンピューターやソフトウェアメーカーも主導権を確保んだ形で提供された。そして、OAKはその業界でのキーワードは「マルチメディア」するための開発にしのぎを削っていた。ワ

仕様をインターネットでの反響を背景に、と言われていた（その後から現在に至るまークステーションの雄であるサンマイクロシ

インターネット向き（？）に進めたJavaへとでは「インターネット」になっていると思

ステムズ社も例外ではなかった。

発展し、「Web Runner」は「HotJava」と【登場の背景】改名された。

うが）。そして「ビデオ・オン・デマンド

SMIのメンバーが中心となってこのSTB（VOD）」という単語もマルチメディアと同のシステムを開発するためにファーストパ義的に使われることもあった。映画やニューソン社を設立した。この会社ではSTBにースを見たいときにいつでも見られるとい必要な動画や音声をリアルタイムに圧縮・Javaのアプレットを作成することは、そう究極のレンタルビデオ屋（？）を目指し伸張する機能を持ったハードウェアを開発れほど難しい作業ではない。Java言語自体て、コンピュータメーカーだけでなく、映像した。また、グラフィカルなユーザインターはC++に似た言語仕様なので、それらの経などのコンテンツの権利を持っている映画フェースを持ち、ユーザーがインタラクティ

験があれば容易に理解できるだろう。

会社やケーブルテレビ業界などを巻き込んブに番組を選択できるツールも開発した。

作成されたアプレットは通常のHTMLなでさまざまな実験が各地で行われた。VODテレビや冷蔵庫のような家電製品と同様どと同 様 に W W W サーバーを通 じてを実現するために、ハードウェアメーカーやに、「家庭に普及させる」というSTBの目的

HotJavaに送られるので、まずは、WWW

ソフトウェアハウスは、セットトップボックを考えた場合、ハードウェアの価格はできるサーバー（httpd）が動作している必要がス（STB）と呼ばれる小型コンピュータや、だけ低価格にする必要があった。また、それある。WWWサーバーとしては特別な機能

映画やニュースのデータを保管して送信すを制御するアプリケーションは誰でも利用が必要とされるわけではないので、NCSAるためのデータベース、サーバー、ディスクでき、インタラクティブ性があり、さらに、やCERN、NetscapeなどのWWWサーバーシステムの開発にしのぎを削っていた。

機能は自由に拡張できることが求められた。

でも問題はないと思う。

【簡単なアプレットの例】

日本ではケーブルテレビがあまり普及しこれらの要求を満たすために、ファースト

また、Javaをバイトコードにコンパイルていないので、セットトップボックスというパーソン社ではオブジェクト指向技術と分するためのJava コンパイラが必要となる。

言葉は聞きなれないかもしれないが、簡単散アプリケーション技術を利用してシステ

このコンパイラもソースコードごと提供さにいうと、テレビでのチャンネルの役割をムを設計した。ここではOAK（オーク）と呼れているので、入手しておく。入手するに果たす小型の箱でケーブルテレビの同軸ケばれるC++のような言語でSTBに必要な機は、「http://java.sun.com/」からそれぞれーブルを引き込み、選択されたチャンネル能をオブジェクトとして記述し、そのオブのプラットフォームに応じたコンパイラをダの番組をビデオ信号として受像機に送る装ジェクトをケーブルを通じてダウンロードしウンロードする。それでは実際にアプレッ置だ。VODのSTBではユーザーが自分の見て実行するというアプローチを採用した。

トを作成してみよう。

たい番組を膨大なライブラリーの中から選ユーザーが選択するメニューや1つの番組自択するために、これまでのテレビのような体、番組表、そしてそれらを制御するツー

単純なチャンネルの数字を選択するだけでルをオブジェクトとして捉え、必要に応じて

ここでは、Cのプログラミングで誰しもがなく、メニュー形式などでの対話性が求め読み込むという手法をとることにより、通る「Hello World!」のJava版を作成してられる。また、デジタル化された映像や音STBの機能拡張が容易にできるだけでなく、みる。アプレットプログラムは、「.java」と声をリアルタイムに処理するために、高速ハードウェアに必要とされるメモリ量や処いう拡張子を持ったファイル名で保存する。

な演算性能と膨大な量のメモリを必要とす理能力を抑えることができると考えたわけ

ここでは、以下の内容を「HelloWorldる。STBは単なる箱ではなく、現在のワーである。

.java」というファイル名で作成する。

106 INTERNET MAGAZINE 1995/9●プログラミング

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

動くWWWブラウザー

HotJava登場
import browser.Applet;
import awt.Grahics;
class HelloWorld extends Applet {public void init() {resize (150, 25);}
public void paint(Grahics g) {g.drawString("Hello world!", 50, 25);}}

プログラムの「Class」で定義した名前だ。
。

トワークの回線速度の問題もあり、巨大なここでは、「HelloWorld」とする。

プログラムを送ることは現実的ではないが、これが普及すれば、 いずれアプリケーショ<HTML><HEAD><TITLE> A Simple Program </TITLE></HEAD><BODY>
Here is the output of program:<APP CLASS="HelloWorld"></BODY></HTML>

ンの実行環境はウィンドウシステムからWWWブラウザーにかわり、その上でワープロ、表計算、データベースなどのアプリケーションソフトが動くようになるだろう。そして、アプリケーションをパッケージで買うのではなく、インターネットから必要なときに必要な機能を自動的にダウンロードし、3行目の「class」行でこのクラス名を定義している。ここでは、「HelloWorld」と使った時間分だけ料金を払うといったこと【Javaを取り巻く世界】いうクラス名だ。クラス名はHTMLページ

WWWブラウザーでは市場を制した感のなどもできるようになるかもしれない。さらでアプレットを参照する場合に使用される。

あるネットスケープ社が、サンマイクロシにはファイルシステムのようなOSが提供すステムズ社と提携してJavaのライセンスをる機能をも取り込むことが可能になり、分受けることを発表したということも大いに散OSのようなプラットフォームへと発展しHotJavaにダウンロードさせるためのバイ注目すべきだろう。ネットスケープ社の製ていくことも予想される。

トコードにコンパイルすると、ファイル名の品がいつ、どのような形でリリースされる拡張子が「.class」のファイルができる。

かは未定であるが、HotJava だけでなくネ●コンパイル●HTMLファイルの作成【おわりに】ットスケープナビゲーターでもJavaプログラ

さ て 、最 後 に な っ た が 、 これ ら のムを実行したり、表示したりできるとした

HotJava&Javaのホームページを紹介する。

あとは、アプレットを参照するHTMLペーら、あっという間にあちこちのWWWサーバ

URLは「http://java.sun.com/」だ。ソース

ジを作成する。アプレットを参照するため

ーでアプレットのついたホームページが提供

コードやプログラムをダウンロードすることのタグがH o t J a v a では拡張されている。

されるようになることだろう。

もできる。Sun（Solaris）もしくはウィンド「APP」タグで読み込ませるアプレットを指【Javaはどのように利用できるのだろうか？】ウズNTのユ−ザ−は、ぜひともダウンロー定する。「APP」タグは「APP CLASS="クHotJavaで提供されるのは「プログラム・ドしてアプレットを作成してみてほしい。

ラス名"」で指定する。クラス名は、Javaオン・デマンド」の環境である。現在はネッHotJavaのアプレットの例

1 株価。リアルタイムに変化するデータ（株価）にアクセスし、その値を画面に反映させる

1

2 クロスワードパズル。ユーザーがインタラクテ
ィブに操作（文字入力）し、その結果を表示させる

2

3

インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

3 分子構造モデル。3Dグラフィックで分子構造を表示し、ユーザー操作によりリアルタイムに変化させる

4 スプレッドシート。行と列でシートを表示し、各セルにデータの入力を可能とする

4

INTERNET MAGAZINE 1995/9107

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.