202 INTERNET magazine 2000/10

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

特集

携 帯 電 話 も E C サ イト も 続 々 と 採 用！
A l l

a b o u t

最新

J a v a 2

Javaのすべて
今、Javaが熱い。
ASPのようなサーバー上のアプリケーションが社会の基盤となり、携帯電話などのあらゆる機器がインターネットに接続できるようになった現在、Javaがようやくその真価を見せ始めた。
この特集ではその現状をレポートしよう。
インターネット上でビジネスを展開していくうえで、
これから何の技術に注目すればいいのか探している人には、
Java以外に答えはない。

株式会社リンコム 清水 航＋編集部
Cover Photo :Nakanura Tohru
Photo :Nabeshima Akiko

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

INTERNET magazine 2000/10

203

DB

ECサイト

B2B

XML

XML

Buy New

注文

サーバー

世界が

在庫

Java

に大注目！

「一度書いたらどこでも動く」と言われながら、何ができるのかはなかなか見えてこなかったJava。
毎年次々と新しい機能が発表され、実態がわかりづらくなってきたが、最近ようやくその実力にふさわしい方向性が見えてきたのではないだろうか。まずはJavaのこれまでと現状についておさらいをしてみよう。

Java＝アプレットは
もう古い！

ECサイトにJavaは常識不足。安心してビジネスに使える環境は今のところJava しかない。

1999 年のJavaOne でJava は大きな転換

J2EE（Java 2 Enterprise Edition）としいまだに「Java＝アプレット」と考えてい点を迎えた。Javaが大きく3つのカテゴリー、て仕様が徐々に固まってきたことで、サーバ

るなら、それはもう古い。今世界的に注目を

つまりJ2EE、J2SE、J2ME に分けられたこ

ー上のJavaは本格的な普及期を迎えている。

集めているJavaは、パソコンのブラウザー上とだ（P.206 〜207 参照）。これと前後して、

Amazon.com のようなEC サイトをはじめとで動くアニメーションではない。eコマースのJava をサポートしたアプリケーションサーバ

して、世界中で銀行や航空会社などがJava

サービスを提供するサーバーの上で動くJavaーが各社から続々と発表されてきた。さまざをサポートしたアプリケーションサーバーを採と携帯電話などパソコン以外の情報機器の上

まなOSが存在し、また24時間365日サービ用している。

で動くJava だ。もともとJava はアプレット

スを止めることが許されないサーバー分野でのためだけの言語ではない。当初から、本格は、「アプリケーションを開発するならJava」

的なアプリケーションも開発できる汎用的なという認識が広まってきたのだ。

B2BにはXML&Java
今 Java を巡るもっともホットな話題は、言語として作られているのだ。しかも、開発

サーバー上でアプリケーションを動かし、Java とXML の組み合わせだ。しかも、企業

効率の高さ、ネットワーク環境を前提として

WWW を通して問い合わせやその結果をやり間（B2B）の電子商取引との関係で語られいること、高度なセキュリティー、そして実取りすれば、クライアントはどんな機器でもることが多い。それはなぜだろうか。

行環境さえあればどんな機器の上でも動くとかまわない。シンプルなWWW ブラウザーさ

XMLは、あらゆるデータを標準的な方式でいう特徴を備えた先進的な言語だ。もう「ブえあればいい。そんな具合に、現在コンピュ

記述するためのマークアップ言語だ。複数のラウザー戦争」のようにパソコンで動くソフータを使う目的は、eコマースのようなインタ

コンピュータが別々のフォーマットを使ってトの機能の高さばかりが注目される時代ではーネット上のサービスを利用することが中心いる場合に困難だったデータ交換が容易になない。パッケージソフトからアプリケーションになっている。こうした時代に対応するには、る。一対一の企業同士ならデータ形式を揃えサービスへ、パソコンから情報家電へ時代のサーバー上で複雑なアプリケーションを開発ることも簡単だが、電子商取引が不特定の企流れが変わってきた今、ようやくJavaが活躍するのに適した環境が必要だ。Perlを使った業同士や異なる業界の間でデータを交換し合するのにふさわしい環境が整ってきたのだ。

CGI ではパフォーマンスや開発効率の点で力う e マーケットプレイスに発展してくると、

204 INTERNET magazine 2000/10

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

アプリケーションサーバー：CGIプログラムやJavaプログラムなどのおもにブラウザー上で動作するアプリケーションを配信するためのサーバー。
ECサイトなどでWWWサーバーの負荷を軽減するために用いられることが多い。
©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて
情報家電

携帯電話とゲーム

XML への期待がますます高まることになる。

1999年に情報家電や携帯機器向けのJava

そこではコンピュータ環境やデータ形式を統の枠組みJ2ME（Java 2 Micro Edition）が一することはもはや不可能になるからだ。各発表されたことで、この分野でのJavaはいよ3つのカテゴリーに分けられて方向性がはっ

企業が持っているデータをいったんXMLに変いよ実用段階を迎える。その象徴となるのが、きりとした昨年から今年にかけて、Javaはイ

換し、HTTP などの標準的なプロトコルを通この12 月に始まるi モードへのJava の搭載

ンターネット時代のアプリケーション開発のしてやり取りするという方式が取られることだ。日本ではパソコンを超えるユーザー人口

本命として認識されるようになった。特にサになるだろう。

を持つ携帯電話に載ることで、Java は一気ーバー上でのJavaプログラムに対する需要は求む！ Javaプログラマー

このようにXML はインターネット時代の共に普及することになる。ゲームソフトなどの急増している。しかし、残念ながら日本では通語として作られたものだが、XMLで書かれコンテンツをダウンロードして携帯電話で楽いまいち盛り上がりに欠けているようだ。イ

たデータはそれ自体は何の働きもしない。

しめるだけでなく、Java のセキュリティー機

ンターネットでのビジネスを考えているなら、XML を活用するには、同じようにインターネ

能を活かしたショッピングやオンライントレー

今後 Java は無視できない。遅れをとった日

ットに最適なプログラミング言語が必要にな

ドなどのサービスがいつでもどこでも利用でき本で先駆けとなってJava の開発を始めれば、るのだ。そこでJavaが注目される。データはるようになる。

大きなチャンスをつかめるだろう。

すべてXML でやり取りし、XML を利用する
ときはJavaを使う。これが次世代のスタンダ

これまでのJavaの歩みードになる。

黎明期 1995年

iモードにJavaが載る

流行期 1996年

Java はもともと家庭用の電子機器を制御するために開発された。
「携帯電話にJavaが載る」という話を聞いてもピンと来ないかもしれないが、出発点から見ると情報家電にJava が組み込まれていくのは当然の流れだ。

混乱期 1997年

ウィンドウズとマッキントッシュがほとんどを占めるパソコンの世界とは違い、情報家電では、ゲーム機やオーディオ機器から、冷蔵庫などの白物家電、PDA や携帯電話のように

1998年

環境はさまざまで、CPU やメモリーなどの性能も差が大きい。Javaのようなハードウェア

発展期 1999年やOSを問わない言語がなくては、こうした機器をネットワークにつないで活用することは
できない。

2000年

5月
9月
12月
2月
5月
5月
8月
10月
10月
10月
2月
4月
6月
9月
10月
12月
7月
10月
11月
12月
1月
3月
6月
5月
12月

サン・マイクロシステムズ、JavaおよびHotJavaを発表。
ネットスケープ、Javaを搭載したネットスケープナビゲーター2.0発表。
マイクロソフト、インターネット戦略発表、Javaをライセンス。
JDK 1.0正式公開。
サン、オラクルなど5社がNCで提携。
JavaOS発表。
マイクロソフト、Javaを搭載したインターネットエクスプローラ3.0公開。
JavaStation発表。
JavaBeans発表。
JavaCard発表。
JDK1.1正式公開。
PersonalJava、EmbeddedJava発表。
ネットスケープ、ネットスケープコミュニケ−ター4.0公開。
マイクロソフト、インターネットエクスプローラ4.0公開。
サン、マイクロソフトをライセンス違反で提訴。
Enterprise JavaBeans発表。
Jiniのデモが行われる。
Java Server Pages発表。
AOL、ネットスケープを買収、サンと提携。
Java 2（JDK1.2）正式公開。
Jini正式発表。
サン、NTTドコモと提携。
J2EE、J2ME発表。
JDK1.3正式公開。
iモードにJava搭載。

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

XML（エックス・エム・エル／eXtensible Markup Language）：文書の構造を記述するタグ言語の1つでSGMLをリニューアルしたもの。文書自身の中にタグを埋め込む形で利用され、ユーザー自身が独自のタグを定義することができるのが特徴。
©1994-2007 Impress R&D

INTERNET magazine 2000/10

205

A l la b o u t

J a v a 2

Java2 を構 成 する
3 つの EJava が発表されてから5 年。この間 Java は常に進化し続け、サーバーから携帯端末へと応用分野を拡大してきた。現在「Java」という言葉はいったい何を指すのだろうか。今のJavaがカバーしている範囲をここで確認しよう。

chap.1□ J a v a による情 報 機 器 の統 一1998 年末に最新のJava は「Java 2」と「Java 2 Standard Edition」（J2SE）は、命名され、続く1999 年のJavaOne では

ワークステーションやパソコン、一部のセッ

重要なのは、このページの図の一番下だ。

Java 2 プラットフォームを3つに分類するこ

トトップボックスを想定しており、Java 2のHotSpot、JVM、KVM、CardVM のよう

Micro Edition」（J2ME）がある。

とが発表された。サーバー環境から携帯端末

コアでもある。
「Java 2 Enterprise Edition」

なVM（仮想マシン）だけがハードウェアにまで、用途も性格も違うハードウェアを同じ（J2EE）が想定しているのはサーバー環境

依 存 する。 この構 造 が J a v a の「 W r i t eJava で動かしても最高のパフォーマンスがで、基幹システムのような大規模な環境にOnce, Run Everyware」（一度書いたらど得られないので、分野や規模に応じてパフォも十分に機能するように綿密に調整されていこでも動く）を基本的に保証しながら、幅ーマンスを追求することになったのだ。これる。そしてセットトップボックスや携帯電話、広い情報機器でJavaが動作する仕組みを提が今もJavaの基本的な枠組みとなっている。

PDA といった小さな機器のために「Java 2供しているのだ。

スマートフォン
サーバー
パソコン

セットトップボックス
携帯電話

PDA

Java2 Enterprise Edition(J2EE)

TV
ProfileJava2 Standard Edition(J2SE)

ScreenPhone
ProfileCar
Profile

ICカード

Foundation Profile

Mobile Information
Device Profile

CDC

CLDC
Java2 Micro Edition(J2ME)

Smart Card Profile

Java言語HotSpot

Java Virtual Machine

KVM

CARD VM

Java 2 プラットフォーム

206 INTERNET magazine 2000/10

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

セットトップボックス：テレビなどに接続して各種のサービスを受けるための機器の総称。ケーブルテレビの番組を受信したり、CS 放送番組を受信したり、またインターネットに接続したりするためのものなど、さまざまな種類がある。STB（Set
Top Box）と書き表されることも多い。
©1994-2007
Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ J a v a 2 プラットフォーム
J2SE

Java 2 Standard Edition

Java 2の基本となるJava環境。Java 2以前に「Java」と呼ばれていたものと同じだ。JVM や基本的なAPI、拡張API、Java Plug-in などからなる。おもにパソコンなどのクライアントコンピュータを対象とし、Javaアプ
レットやJava アプリケーションが動作する環境となる。また、Java 2D やJ a v a 用 語 集
API（Application Programming Interface）
Java プログラムを開発する際に利用できる機能のセットで、JRE（下記参照）により提供される。入出力やネットワークなどの基本的なAPI のほかに、セキュリティーやSwing（下記参照）などの拡張 APIがある。

HotSpot
Java Virtual Machineを高速化させるための技術。プログラムの中で実Advanced Imaging、Java 3D などのAPI を使えば、高度なグラフィック

行速度においてボトルネックになっているところを見つけて最適化する。

ス操作も可能で、 マルチメディア環境を実現したいならJava MediaJ2EEに含まれていたが、J2SE 1.3でもサポートされた。

Framework によって静止画だけでなく動画も扱うことができる。J2SE をサポートしたWWWブラウザーはまだないが、現在開発中のネットスケープ

JavaBeans

6 にはJ2SE が含まれている。

Java 環境に用意されたコンポーネント技術。JavaBeans によって、どんなプラットフォームでも再利用可能なソフトウェアの部品を開発できる。GUIを活用した開発ツールで利用することが想定されている。

J2EE

Java 2 Enterprise Edition

Java Plug-in
WWW ブラウザーに含まれるJava 環境を使わずに、サン・マイクロシス

J2SE が持つクライアントサイドの機能にサーブレット、JSP（JavaServer Pages）、EJB（Enterprise JavaBeans）などのサーバサイドのテムズの最新のJava でアプレットを動作させるための仕組み。ActiveX
コントロールやネットスケーププラグインとして動作する。

機能を付加し、エンタープライズコンピューティングのための環境を提供するもの（212 ページ参照）。サーバーは多くのクライアントからの指示を受

JCP（Java Community Process）

けてその結果を返すため、CPUとメモリーに比較的長い時間負荷がかかる。

オープンな場で業界の支持を得ながら Java の仕様を制定するためにサクライアントでは、処理の大半がGUI 関連、つまり画面表示に使われるのン・ マイクロシステムズが用 意 した手 続 き。業 界 の各 社 が参 加 して、で、一時的な負担は大きいもののサーバーに比べてCPU やメモリーへの負Javaの仕様に意見を反映させることができる。

荷がかかる時間は短くなる。J2EE はこうしたサーバーの特性に合わせて最適化されている。

JDK（Java Development Kit）
Javaプログラム開発のための基本キット。コンパイラーとJREからなる。
以前はJava 環境のことも指していたが、現在 JDK は「Java 2 SDK」、
Java環境全体は「Java 2プラットフォーム」と呼ばれる。

J2ME

Java 2 Micro Edition
JRE（Java Runtime Environment）

セットトップボックスから携帯電話までごく小さい機器をサポートし、ネ

JDKで開発されたJavaソフトウェアを実行するランタイム（実行環境）。

ットワークにつながった情報家電でJava を動作させるための環境。ほかのCore API、拡張 API、JVM、HotSpot、Java Plig-inで構成されており、Java 2 プラットフォームとは違い、限られたリソースを最大限に利用してJavaソフトウェアを実行する環境のみを提供する。

Java を動作させる仕組みを提供する。API はそれぞれの機器に最適化されたものが用意され、GUIやネットワークサービスの部分で多少の非互換があるものの、ほかのJava 2プラットフォームとの互換性は保証されている。携
帯電話やPDA などのためには、KVM（K Virtual Machine、K はキロバイ

Profile
特定の機器のための特化されたAPI セット。情報機器にはさまざまな種類のものがあるが、テレビや携帯電話などで共通する機能を定義することで、種類が同じ機器なら同じAPIが使えるようになる。

トの意味）と呼ばれるVM が用意され、極めて限られたリソースの中にもVM を納められる（209 ページ参照）。

Swing
Java プログラムから利用できる高機能なグラフィカルユーザーインター
フェイス用のAPI。異なるプラットフォームで共通のインターフェイスを持ったアプリケーションが作成できる。

VM（Virtual Machine）
Javaの実行環境のうち、「仮想マシン」と呼ばれる部分。Javaコードを解釈しながら各 OS用のコードに変換して実行する。どんなプラットフォームでも、VMがあればJavaプログラムが実行できる。

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

GUI（ジー・ユー・アイ／Graphical User Interface）：ユーザーに対する情報の表示にグラフィックを多用して、多くの基本的な操作をマウスなどのポインティングデバイスによって行えるインターフェイスのこと。GUIと略して呼ばれることが多い。
©1994-2007 Impress R&D

INTERNET magazine 2000/10

207

A l la b o u t

J a v a 2

Java がケータイを
動 かす
いよいよ12月からJavaが搭載されたiモード端末が登場する。携帯電話に代表される、インターネットにつながった情報機器は、今後もっともJava の活躍が期待できる分野だ。いよいよ実用段階に入った「ケータchap.2イJava」に注目しよう。

□ J a v a が情 報 機 器 を変 える

韓国LG TeleComのJavaを搭載した携帯電話 I-Folder

Javaが小型機器の制御用言語から出発しンターネットと相性がよく、どんな機器でもたこともあり、モバイル機器に対するJava

動作するJava があれば、インターネット上のサポートはかなり力の入ったものになってのサービスを利用したソフトウェアの開発がいる。また、サン・マイクロシステムズ社を簡単になり、だれもがそれをインターネット

はじめJCP（Java Community Process）

を通じて入手できるようになる。Java のセに参加している各社は、この分野の重要性

キュリティー機能によって、携帯電話によるを認識している。

e コマースへの参加も増えるだろう。

なぜこれほどまでに携帯端末が注目される

携帯電話に限らず、ゲーム機や家電に関のだろうか。それは、パソコンに限られていしても同じだ。特定のプログラムしか動かせたインターネット利用がiモードのような携帯なかった機器がインターネットとJava によ

電話によって爆発的に増えているからだ。イって無限の可能性を持つようになるのだ。

8月12日
11:00
取材

Welcome● -------------● --------------

8月

モトローラのiDEN i3000 plus
スケジューラA
これまでの携帯電話は、組み込まれたアプリケーションとブラウザーのみ。

スケジューラB
WAP

iモード

ゲーム

BLACKBERRYのRIMシリーズ

Javaが搭載された携帯電話なら、ネットワークからゲームなどのソフトを自由に選び、ダウンロードして実行できる。また、
スケジューラなどが複数あれば、自分の好みに合ったソフトに取り替えられるようになる。

携帯電話＋ Javaの可能性

208 INTERNET magazine 2000/10

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

e コマース（イーコマース）：電子商取引のこと。ネットワーク上で電子的に決済情報を交換して行う商業上の売買行為のこと。小売市場に限らず、企業対企業の取引や個人対個人の取引も含む。
©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ J2ME と CLDC
Java 2プラットフォームでは、セットトッ

アJava ライブラリー、入出力、ネットワー

プボックスやPDA、携帯電話といったリソ

ク、セキュリティー、国際化のみをサポート

ースの限られた小型の機器向けにJ 2 M E

し、ユーザーインターフェイスなどについて（Java 2 Micro Edition）が用意されている。

は定義しない。ネットワークにつながった機J2ME がどんな構成を取っているのかを見て器が対象だが、携帯電話は直接インターネ

みよう。

ットに接続するわけではないので、TCP/IP

携帯電話とセットトップボックスでは、同プロトコルに基づいていなくてもいい。

じようにJava を動作させることはできない。

また、C L D C はV M （仮想マシン）にそこで、JCP（Java Community Process）

KVM という小型機器向けのものが用意されによってCDC（The Connected, Deviceていることが特徴だ。KVM の「K」は「キConfiguration）とCLDC（Theロバイト」の意味で、これは、数10KBの単Connected, Limited Device Configu

位で計られるような大きさに収まるものであration）という、J2ME を特定の機器に特ることを意味している。

化させた仕様が定義されている（206ページ

CDC やCLDC の上には、セットトップボの図を参照）。CDCはセットトップボックス、ックスや携帯端末といった機器のタイプごと

スマートフォン、カーナビのような固定してにプロファイル（Profile）というAPIセット

使われる情報機器を、CLDC はPDA や携帯が提供される。J2ME とCLDC が対象にし電話、双方向ページャーのような小さなモバている携帯端末向けのプロファイルとして、

イル端末を対象としている。

MIDP（

CLDC で想定される機器のリソースは、

シャープの液晶マルチメディアホン

Mobile Information Device

Profile）がある。

128KB から512KB のメモリーと周波数がこのようにJ2MEは何重もの構成を取るこ

16MHz から32MHz のCPU となっており、とで、変化の激しく範囲の広い機器を柔軟

極小モバイル機器をターゲットとしているこにサポートしながら、基本的な部分ではとがわかる。CLDC はJava 言語とVM、コJava の互換性が保たれるようになっている。

Javaを搭載したフォードのコンセプトカー

Javaアプリケーション（アドレス帳、時刻表、ゲーム、……）

MobileInformation
DeviceProfileJ2MEコアAPI
CLDC

ドリームキャストとPlanetweb製のJavaブラウザー
KVM

ハードウェア・OS

J2MEの構成

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

TCP/IP（ティー・シー・ピー・アイ・ピー／ Transmission Control Protocol/Internet Protocol）：インターネットでデータをやり取りするために標準的に用いられるプロト
コル（通信規約）。HTTPやFTPなどの基盤となるプロトコルである。
©1994-2007 Impress R&D

INTERNET magazine 2000/10

209chap.2□ あらゆる機 器 を協 調 させる J i n i
J2ME によって家電がJava を搭載する環Jiniの仕組み

境が整ったが、冷蔵庫のような家電を買っ1サービス提供者はLookUpサービスを探す。

てきて、IP アドレスなどのインターネットの

LookUpサービス（セットトップボックス）設定を行うことは非現実的だ。情報機器が身近になればなるほど、わずらわしい作業を減らして、「つなぐだけでいい」という使い勝手にすることが重要になる。

Discovery

この問題に関してもJava は確実な解答を持っている。それがJini だ。Jini は、ネット

クライアント（デジカメ）

サービス提供者（プリンター）

ワークにつながるあらゆる機 器 を「federation」（連合体）とするための仕組

2サービス提供者はLookUpサービスに自分の情報を登録する。

みを提供する。Jini では、ネットワークにつLookUpサービス（セットトップボックス）

ながれたあらゆる機器（Jini デバイス）がサーバーとなり、場所を問わずにJava のサービスを受けたり提供したりできる。
Jiniの基礎は、ネットワーク上で自由に移Join

動できるオブジェクトを交換し、そのオブジ
ェクトを使ってサービスを提供する「分散オクライアント（デジカメ）

サービス提供者（プリンター）

3LookUpサービスから送られた情報によって、クライアントとサービス提供者が直接対話する。

ブジェクト」だ。サービスとオブジェクトの出会いと言える制御を行うものはLookUp
サービスと呼ばれる（左図参照）。

LookUpサービス（セットトップボックス）

Jiniを利用すれば、機器がどこにあるのかを気にせずにさまざまなサービスを受けることができる。たとえばストレージサービスで
LookUpは、Jini に対応したハードディスクをネット
ワークに接続するだけで一切の設定なしにフクライアント（デジカメ）

印刷

サービス提供者（プリンター）ァイルサービスが提供できる。また、Jini に対応したビデオがあれば世界中のどこからでまず、「Discovery」によってネットワークにJiniデバイスが存在するのか（つまりこのネットワークはJiniネッ
トワークか）を探り、LookUpサービスを見つけ出す（図上）。次に「Join」によってLookUpサービスに登録し、その連合体の一部になる（図中）。最後にLookUp サービスが、必要なサービスを探し出し提供するという一連の流れで動作する（図下）。

Jiniによってバーコード読み取り機と連係し、食品を管理する
Whirlpool製の冷蔵庫

210 INTERNET magazine 2000/10

も録画の予約が可能になる。

Jiniで連携するデジタルカメラとPDA、プリンター

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

IP アドレス：インターネットに接続されたコンピュータを識別するために付けられる、基本的に世界で1つしかない番号。IPアドレスにわかりやすい名前を付けたのがホスト名。

©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて
ジョン・ゲイジi モードを語 る
7月19日、サン・マイクロシステムズのチーフリサーチャー、ジョン・ゲイジ氏による記者団との会見が行われた。九州沖縄サミットに合わせての来日で、シスコ・システムズのジョン・チェンバースCEO やソニーの出井伸之会長らとともに首相官邸での「IT 革命」についての意見交換を行ったゲイジ氏は、i モードを手にして登場した。

Photo:Watari Tokuhiro

昨日このi モードを渡されました。サミットにやってきた総理ーの MD ビデ

大臣、大統領、報道関係者はこの素晴らしい携帯電話を手にオカメラを持します。このi モードの最初のページには、8 か国の国旗が表示っていますが、されます。これを見て、日本が世界をリードしていることを実

カメラの中 で感するでしょう。

Java が動 け

この12 月にはi モードにJava が搭載されると聞いています。

ば、 カメラを

昨晩ホテルでヤフーに登録してある自分のカレンダーをi モード

W W W サーバ

で見ることができました。また、ヤフーのほとんどのページを見ーにするプロることもできました。i モード用に1 万 7 千ものウェブページがグラムを書 く作られているのは、コンパクトHTML という標準を採用していことができます。ビデオを撮影し、インターネットに流してブるからです。そのおかげで、だれでも新しいコンテンツを作ってラウザーで閲覧できるようになります。i モードを使ってサンフ届けることができるのです。Java が搭載されれば、JavaOne

ランシスコにあるビデオのIP アドレスを指定すれば、ここにいにやってきた100 か国の300 の企業が自分たちのプログラム

ながらi モードの画面でビデオを鑑賞できるようになります。こをiモードで動かすことができるようになります。

のようにして、我々は突然、ばらばらだったテレビ、電話、コ

Javaはセットトップボックスや携帯電話に次々と採用されています。また、ソニーのプレーステイションにも搭載されるでしンピューターなどの開発者が一緒になってお互いの産業に何か
新しいものを付け加える様子を見ることになります。

ょう。Java の力があれば、こうした異なる機器の上で動くコ

Jiniについてお話ししましょう。Jiniは、何かの機能を持ったンテンツを開発できるのJavaプログラムがネットワーク越しにサービスを提供し、無数です。今の携帯電話にはの独立した機器がコミュニケーションを行うというものです。

限られた機能しかありま

Jini デバイスは、ピアツーピア（一対一）で会話をします。すせんが、i モードではさまべての機器が平等になるわけです。Jini を実現するチップは値

ざまな新しいプログラム

段の高いものではありませんから、あらゆる場所の機器を賢くを取り替えられるようにすることができます。

なります。現在、ホテル

現在は、電気製品を買ってくるとつなげる場所を探して回らでは名前とクレジットカ

なければなりません。IEEE1394 を使えば、機器をどこかにつードの番号を伝えますが、なぐだけで何百メガの速度でネットワークに接続できます。さこれからは名前と携帯電らに最新のワイアレス技術を使えば、家に機器を持ってくるだ

話の番号を伝えるようにけで、その機 器 はほかの機 器 と友 達 になることができます。

なるでしょう。携帯電話

Jini では自分ができることをその機器自身が知っています。たで支払いを行うようにな

とえば、Jini対応の携帯電話を持って車に載ると、携帯電話がるからです。

車に「私は電話です」と語りかけます。すると車は「具合が悪JavaOneでも話した私

い。オイルが必要だ。電話をかけてくれ」と話します。携帯電の大好きなアイデアをお話は「もちろん」と答えるという具合です。冷蔵庫や電子レン

話しましょう。私はソニジなどあらゆる情報機器でも同じようなことができます。

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

IEEE1394（アイ・トリプル・イーイチサンキューヨン／ Institute of Electrical and Electronics Engineers 1394）：シリアルインターフェイス規格の1つ。最大で63台の機器を接続でき、転送速度は現在最大で400Mbps。機器の動作中でも抜き差しできる。 ©1994-2007 Impress R&D

INTERNET magazine 2000/10

211

A l la b o u t

J a v a 2

Java がe コマースを支 える
WWW ブラウザーのユーザーがアプレットに飽きてしまったころ、Java はサーバーサイドに活躍の場を見出した。今ではサーバー上のアプリケーションを開発するのにJava を使うのは常識だ。e コマースに欠かせないJavaの技術を確かめよう。

chap.3□ サーバーサイド J a v a の力
力を秘めている。

Java 2プラットフォームにおいて、サーバのプラットフォームが整備された点にある。

ー側のJava 技術を統合したものがJ2EE

J2EEは、ただ企業内の情報システムにJava

旧来のメインフレームとダム端末のような（Java 2 Enterprise Edition）だ。J2EE がを浸透させようとしているわけではなく、グ関係とは違い、Java によるコンピューティ

存在する意義は、真の分散型ネットワーク

ローバルな情報システムを強力に発展させる

ングでは、単純にサーバーの実行結果を端末に表示するだけではない。クライアント側にJava があれば、ユーザーの認証やプログラ

J2ME

ムの安全性確認などのセキュリティー処理、
マルチメディアの再生などさまざまな処理がJ2EE
ユーザー認証セキュリティー
メディア再生J2MEできる。J2EEによって、単純なB2Cにとど
顧客管理
決済
メディア送信まらず、ブロードバンドを利用したビデオオ
ンデマンドなどのマルチメディアを含めた、トータルエンタープライズコンピューティン
グとも言うべきスタイルが今まさに始まろう

J2SEとしている。

サーバーサイドJavaによるコンピューティング□ J 2 E E の構 成
J2EEは、J2SEのクライアントサイドの機能にサーバーサイドの技術を付加して、エン通信インフラへの接続としては、TCP/IP、タープライズコンピューティングに必要な機HTTP、HTML、SSL（ウェブ通信の暗号能を提供している。J2EEには、サーブレット

化）、IIOP（CORBA アプリケーションの通（Servlet）、JSP（Java信プロトコル）が備わり、エンタープライズ

Server Pages）、EJB

コンピューティングに不可欠なさまざまなシ（

ステムとの連携を支える。

APIおよびツール
トランザクション

メッセージングメール

コンテナ
ServletEJB

JSP

Java2 Second Edition

J2EEの構成212 INTERNET magazine 2000/10を取る。

Enterprise Java

Beans）を動作させ

このようなJ2EEの機能を組み合わせれば、る「コンテナ」という複雑なプログラミングを行わなくてもサーバ

サーバーサイドのJavaー上のアプリケーションが容易に開発できる実行環境が搭載され、ようになる。
「Write Once, Run Anywhere」

トランザクションやメという言葉に示されるJava の互換性も保証

ッセージング、メール

されるので、J2EE をサポートしたサーバーなどのAPI を用途に応同士なら開発したアプリケーションを再利用

じて利用するという形できるようになる。

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

メインフレーム：おもに企業や大学などで用いられてきた汎用大型コンピュータのこと。

©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ J 2 E E のキーテクノロジー
J2EE として統合されたサーバーサイド

けでウェブページを生成すると、HTMLのタが、ビジネスロジックとは、データベースとJava のキーとなる技術が、サーブレット

グをプログラムの中に延々と埋め込むことに結び付いた、在庫管理、顧客管理、販売注（Servlet）、JSP（Java Server Pages）、

なってしまい、ウェブ作成の効率が悪くな

文、請求書作成などのプログラムを指す。ビEJB（Enterprise Java Beans）だ。この3る。HTML のデザインに変更が生じた場合

ジネスロジックとビジネスロジックを効果的

つは、サーバーサイドコンピューティングをにサーブレット自体を修正してコンパイルしに動作させるためのプログラムは独立させる

進めるうえで重要な役割を果たす。

なおすことになるからだ。また、デザインを必要がある。ビジネスロジックの変更のため

サーブレットは、これまでのCGIに置き換

担うJSPの中に長いプログラムを書き込むのにシステムの基本設計が修正されることが避

わるJava のプログラムで、言わばサーバーも効率が悪い。HTML をなるべくJSP に置けられるからだ。JSPによって見た目を独立上で動作するアプレットだ。HTTPを通していて、サーブレットから見た目を切り離せば、させ、EJB によってビジネスロジックを独立

リクエストを受けると起動し、結果を動的にプログラムを変更せずにデザインだけを更新させることにより、サーブレットはこれらの作成してウェブページとしてクライアントにしていくことができる。JSPの機能は地味でコントロールを行う役目に専念できる。ビジ返す。JSPは、テキストで書かれたファイルはあるが、ロジックに手を入れるリスクを減

ネスロジックが変わっても、見た目が変わっ

で、HTML の中にJava の命令をスクリプト

少させるため、システムの規模が大きければても、システムは変わらないという環境が実として埋め込んでおくと、サーバー上でその大きいほど切り離しの効果が出る。

現でき、サーバーサイドの実行環境が極めて

サーブレットからHTML の記述を取り除命令を実行してHTML とともに結果をクラシンプルになる。

き、JSP に機能分担させることと同じこと

これは、単純に効率だけの問題ではなく、

サーブレットとJSPを役割分担をさせなががサーブレットとEJBの間で成り立つ。それ

今日のあまりにも速いビジネスのスピードにら組み合わせて使うのが、サーバーサイド

は、EJBを使ってビジネスロジックを独立さ

情報システムを追従させるための最良の方法

Java の主流になっている。サーブレットだせるという方法だ。EJB の詳細は後述するなのだ。

イアントに返す。

JSP、サーブレット、EJBの組み合わせ
ウェブサーバーアプリケーションサーバー

JSP

Servlet

EJB

インター
フェイス

コントローラビジネス
ロジック

データベースインターフェイス：デザイナーはプログラムを意識せずにデザインに専念する。
コントローラ：プログラマーはビジネスロジックを組み合わせてプログラミングを行う。
ビジネスロジック：プログラマーはビジネスロジックを部品化して再利用できるようにする。

おもなアプリケーションサーバー
製品名
BEA WebLogic Server
Inprise Application Server 4
JRun Server 3.0

発売元
日本 BEAシステムズ（株）
インプライズ（株）（株）シリウス

iPlanet Netscape Application Server 4.0
Oracle Application Server R4.0.8
SilverStream Application Server 3.0
Tomcat ※WebSphere Application Server V3.5

iPlanet E-Commerce Solutions
日本オラクル（株）
ニチメンデータシステム（株）
The Jakarta Project
日本アイ・ビー・エム（株）

価格
1,980,000円〜
1,500,000円〜
Professional版 198,000円〜、Enterprise版 1,200,000円〜
5,103,000円〜
800,000円、Enterprise版 2,500,000円
Enterprise版 2,300,000円〜
フリーソフトウェア
スタンダード版 127,200円〜、アドバンスド版 1,200,000円〜

www.beasys.co.jp
www.inprise.co.jp
www.sirius.co.jp
ja.iplanet.com
www.oracle.co.jp
www.nichimen-nds.co.jp
jakarta.apache.org
www.jp.ibm.com

ApacheのServlet/JSP用アドオン。The Jakarta ProjectはオープンソースのサーバーサイドJavaの開発グループ。

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

CGI（シー・ジー・アイ／ Common Gateway Interface）：WWWサーバーで、外部プログラムを起動して、その結果をWWWクライアント（ブラウザー）に返す仕組み。
ユーザーのリクエストによってウェブページの表示内容を変えたり、ユーザーの入力したフォームのデータをサーバー側へ読み込んだりできる。
©1994-2007 Impress R&D

INTERNET magazine 2000/10

213

chap.3□ サーブレットの利 点
サーバーサイドJava の代表的な技術がJSP とサーブレットだ。サーブレットは、サーバー上のアプレットと言える。アプレット

WWWサーバーがクライアントにダウンロードされて実行さプロセスれるのに対し、サーブレットはサーバー上で実行され結果をクライアントに戻している。
従来のウェブでは、CGIがサーバー上のア

プロセス

プリケーションを実行していたが、CGI は大規模かつミッションクリティカルな要求にパプロセス

フォーマンスと信頼性の両面で答えられるものではなかった。この問題は、CGIの構造に

CGIエンジン

原因がある。CGI は、1 つのリクエストを1

従来のCG

つのプロセスで処理することと、セッションの維持が難しいことが最大の弱点になっている。プロセスの数が増えるとともに、システ

アプリケーションサーバー

ム全体のパフォーマンスが低下する。
スレッド

サーブレットは、Javaのネットワーク言語
としての適性とプログラム再利用という手法によって、パフォーマンスと信頼性の問題をスレッド

解決している。サーブレットはCGI と異なり、1つのリクエストを1つのスレッドで処理

スレッド
Servletエンジンしている。プロセスよりも小さな処理単位であるスレッドで処理することで、マルチタス
キングの効率を上げ、システム全体のパフォ

サーブレットによるパフォーマンスの向上

ーマンスを維持する結果につながる。

□ H T M L の記 述 を受 け持 つ J S P
JSPはテキスト形式のファイルで、ふつう<%@ page language=="java" info="Example JSP #1" %><HTML><BODY><%! String agent; %><%agent = request.getHeader("User-Agent");
if ( agent.startsWith("Mozilla/4.0") {%><%-- Return content for 4.0 browsers --%><%@ include file="ver4.html" %><%} else {%><%-- Return content for other/unknown browsers --%><%@ include file="other.html" %><%}%></BODY></HTML>JSPの例

214 INTERNET magazine 2000/10のHTML の中にJSP 固有の言わば拡張タグを埋め込むことができる。この拡張タグによってEJB やJavaBeans などのコンポーネン
トを呼び出したり、サーブレットからの要求を受け付けたりする。サーブレットと役割分担をすることで、不必要なコンパイルを減らし、パフォーマンスの向上とウェブページの表現力や生産性の向上を実現している。左がJSP の簡単な例で、WWW ブラウザーの種類を調べて表示を変更している。
「<%」
から「%>」で囲われた部分がJSP のタグ
で、ちょっとしたJava プログラムを直接記述したり、条件に応じて別のファイルをページの中に取り込んだりできる。

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

プロセス：プログラムの実行単位。1 つのプログラムを起動するたびに、1 つのプロセスがメモリ上に作成される。UNIX やウィンドウズなどのOS では、複数のプロセスが独立しながら平行して動作する。
©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ サーブレットで C G I を置 き換 える
それではここで、サーブレットのサンプル

おらず、Tomcat

を見てみよう。HTMLのフォームから送られやJRun などのサたデータを取り出して、そのまま表示するとーブレットエンジ

いう簡単なものだ。

ン か 、 B E A

まず、Java ソースの先頭でこのアプリケ

WebLogic やーションのパッケージ名を宣言し1、サーブ

OracleAppli

レットを使うために必要なパッケージをイン

cation Server な

ポートする2。アプレットではApplet クラどのアプリケーシスのサブクラスを作るように、サーブレットョンサーバー

では H t t p S e r v l e t クラスのサブクラス（213 ページの表「Servlet1」を作成する3。初期設定用の参照）を使う必メソッド「init」4 と、フォームからデータ要がある。

package sample.servlet;

1

import java.io.*;import javax.servlet.*;import javax.servlet.http.*;2// サーブレットクラス（HttpServlet.class）のサブクラスとして宣言
public class Servlet1 extends HttpServlet { 3// 初期設定
public void init(ServletConfig config) throws ServletException { 4super.init(config);}// Submit ボタンが押された（Post された）ときに呼び出されるメソッド
public void doPost(HttpServletRequest request,
5
HttpServletResponse response)throws ServletException, IOException {// 変数の初期設定
String var0 = "";String var1 = "";// HTML ページから送られたパラメータを変数に格納
try {6
var0 = request.getParameter("name");var1 = request.getParameter("mail");}// 例外処理
catch(Exception e) {e.printStackTrace();}// 出力するページのタイプを設定
response.setContentType("text/html");
PrintWriter out = new PrintWriter (response.getOutputStream());// HTML の出力
7out.println("<HTML>");
out.println("<HEAD><TITLE>Servlet1</TITLE></HEAD>");out.println("<BODY>");out.println("実行結果は…… <BR>");が送 られたときに呼 び出 されるメソッド「doPost」5 を記述する。
「doPost」では、フォームのデータを取り出して変数に入れ6、そのままHTMLのタグとともに出力している
7。だいたいの雰囲気はつかめただろうか。

なお、JSPやサーブレットを動作させるにはサーブレットエンジンが必要となるが、Java 2の各プラットフォームには装備されてフォームを使ってウェブページからサーブレットを呼び出す。

// 入力された文字列を結合して表示
out.println(var0 + " " + var1 + "<BR>");out.println("……です。<BR>");out.println("</BODY></HTML>");out.close();}}

サーブレットの例<HTML><HEAD><TITLE>Servlet1</TITLE></HEAD><BODY><FORM ACTION=http://www.****.co.jp/sample.servlet.Servlet1 METHOD="POST">
お名前： <INPUT TYPE="text" NAME="name">
メールアドレス： <INPUT TYPE="text" NAME="mail"><INPUT TYPE="submit" VALUE="送信"></FORM>
サーブレットによって返された実行結果。

</BODY></HTML>

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

サーブレットを呼び出すHTML

クラス：オブジェクト指向のプログラミング言語において、オブジェクトの機能やデータを定義したもの。クラスの内容を隠蔽して保守性を高めたり、新しいクラスを派生させたりできる。

©1994-2007 Impress R&D

INTERNET magazine 2000/10

215

chap.3□ コンポーネント技 術 E J B
EJB（ Enterprise JavaBeans） は 、
JavaBeans のコンポーネント技術をサーバ
メニューBean

サイドJava に応用したもので、エンタープ

file edit

ライズコンピューティングに不可欠な機能だ。

Hello

文字Beanコンポーネント技術とは、プログラムをある程度のサイズや機能に集約したソフトウェ
アの部品として利用するものだ。コンポーネ

表示Beanント技術を利用することで、Java のメリッ

12.34

計算Beanトの1 つであるプログラムの再利用が可能になり、効率が向上する。

Javaのすべて ¥980

たとえば、ふつうのプログラムでは、ファイルにアクセスしたい場合には入出力関数のデータベースBean

呼び出しなどを記述する必要がある。しかし
ファイル機能をコンポーネント化すると、そのファイルアクセス用のBean を使えば自分でプログラムを書かなくて済む。ブロックの

Javaのコンポーネント技術

ように組み合わせていくだけでプログラムが完成するのだ。

□ J a v a B e a n s と E J B の違 い
EJBとこれまでのJavaBeansとの違いは、JavaBeans

大ざっぱに言えばアプレットとサーブレット

file editのように、クライアントサイドかサーバーサ
Bean

イドかということだ。ただし、コンポーネン
トという概念を除いてEJBはJavaBeansとまったく違うものになっている。EJBは複数のアプリケーション間で共有が可能であり、カスタマイズの手法も違う。
JavaBeans はBeaninfo クラスやプロパ

EJB

ティーエディターを使用するが、E J B は「Deployment Descriptor」という環境設

Hello
JSP/
Servlet定ファイルでカスタマイズを行う。これによBeanってBean 自体のデータに変更を加えることなくBean の属性を変えることができる。このDeployment Descriptor には、Bean の

Hello
JSP/
Servletアプリケーションサーバー

クラス名、トランザクション、セキュリティ
ー、ホームとリモート両方のインターフェイスに関 する情 報 を記 述 する。 この
Deployment Descriptor によって EJB のJavaBeansとEJB

216 INTERNET magazine 2000/10

Bean の性格が決まる。

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

トランザクション：「処理」の意味。コンピューターでは、クライアントからサーバーへの要求によって発生するデータベース処理を指すことが多い。

©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ E J B によるアプリケーション開 発
ここでEJB に関してもう少し詳しく見てみよ

イルを作 成 したら、 J 2 E E に含 まれる

う。EJB にはSession Bean とEntity Bean の「Deployment Tool」を使用してEJB アプリケ

2種類のBeanがある。Session Beanはセッシ

ーションを作成し、deploy（EJB コンテナのョン管理（たとえば、買い物や預金引き出しの中に配備）を開始する。これで作成したEJB手続き）を行い、Entity Bean はデータ（たとコンポーネントが利用できるようになる。

えば、商品の在庫や預金）を永続的に保持す
るBean だ。Session Bean にはStateless とStatefull の２種類が、Entity Bean にはBMPとCMP の２種類がある（下記表参照）
。

コ
ン
パ
イ
ル

フB
ェe
イa
スn
をや
プ必
ロ要
グな
ライ
ムン
タ
ー

BeanはアプリケーションサーバーのEJBコン
テナの中で管理される。このため、データベースと接続する方法やセキュリティーなどめんどうな部分をEJB コンテナの設定にまかせてしまえるので、開発者はビジネスロジックの構築に集中できる。また、作成されたBean は、EJBコンテナがJ2EE の仕様に従っているなら、どんなプラットフォームの上でも再利用できるも

アD
プe
リp
ケ l
ーo
シy
ョ
ンT
作o
成o
l
で

Eク
Jラ
Bイ
をア
利ン
用ト
か
ら

のになる。
実際にEJB コンポーネント（Bean）を作成

EJB開発の手順

する手順を見てみよう。作成の際にはBean そのものだけでなく、EJB Home、EJB Object

Deployment
Descriptorというインターフェイスを作成しなければならな
い。EJB を利用するサーブレットなどのプログ

設定

ラムは、この2つのインターフェイスを通じて間接的にBean を利用することになる。これによEJB Homeって、Bean がEJB コンテナの中でどのようにクライアントEJBコンテナ

作成、削除、検索管理されているかを知る必要がなくなり、ビジEnterprise
Bean

JSP/
Servletネスロジックを分離して利用するEJBの利点が高まることになる。
2 つのインターフェイスのうち、EJB Object

呼び出しはBeanのメソッドを呼び出すためのインターフ

EJB
Objectェイスを提供し、EJB Home はEJB Object を作成するときなどに必要なインターフェイスを提供する。
Bean 本体とEJB Home、EJB Object それ
ぞれのソースをコンパイルして3 つのclass ファ

EJBの仕組み

データベース

EJBの種類
Session Beans

Entity Beans

サービスを提供するだ
けで、データを永続化しない。預金の引き出し処理など。
システムがシャットダ
ウンしても、データは継続する。銀行口座の残金など。

Stateless

内部状態を保持する。

Stateful

内部状態を保持しない。

BMP (Bean-Managed
Persistence)
CMP（Container-Managed
Persistence）

Bean の状態は、Bean 自身でデータベースに保存。
Bean の状態は、
EJB コンテナがデータベースに保存。

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

コンパイル：プログラムのソースファイルを実行形式のファイルに変換すること。

©1994-2007 Impress R&D

INTERNET magazine 2000/10

217

A l la b o u t

J a v a 2

XML ＋ Java が B2B を
加 速 させる
B2Bなどの電子商取引では、「データの交換」が日常的な作業になる。そこで注目を集めているのが、あらゆるデータを表現できるXMLと、どこでも動くJavaの組み合わせだ。JavaとXMLの関係は今どうなっているのかを見てみよう。

chap.4□ データ交 換 に最 適 な X M L
XMLは構造化された文書だ。構造化された文書にはさまざまな使い方がある。たとえWML

ば、EJBはその性質といえるプロパティーをXML で持っている。さまざまな設定ファイルとしてもXML は有効だ。現在では多くのJava

データベースがXML をサポートしている。
WWWサーバーXML

XML の最大の特徴は互換性だ。コンピュータで処理できるように標準化されており、HTMLまた左下の例のように人間にも読めるテキス
ト形式になっている。XML なら、プラットXML

フォームが変わってもデータの変更が必要ないシステムが作れる。すべてのデータベース
SMTPになじむ構造になっているのだ。さまざまなJava

プラットフォームが入り乱れている環境下で（電子メール）は、XML でしかデータ互換を実現できない。

メールサーバー

XMLは現在のウェブコンピューティングには配送

XMLの応用事例

欠かせないものと言える。
XML の応用例を考えてみよう。左の図を見てほしい。サーバー上にXML でデータを<?xml version="1.0" encoding="Shift_JIS" ?><magazine><item><name> インターネットマガジン </name><year>2000</year><month>10</month><price>980</price><description>
特集：月々 5 万円から使える「データセンター完全導入ガイド」</description></item><item><name>DOS/V POWER REPORT</name><year>2000</year><month>10</month><description>
第 1 特集：最新マザーボード 100 選 2000 年上半期</description><price>980</price></item></magazine>

218 INTERNET magazine 2000/10

蓄えておけば、必要に応じてHTML に変換
してWWWブラウザーから閲覧できるようになる。パソコンだけでなく、たとえばWAPをサポートした携帯電話からアクセスがあったら、WML に変換すればいい。また、パソ
コン上でXML を使って商品データを管理しておき、在庫が不足したら電子メールなどを使って発注する。業者は受け取ったXML をから必要なデータを抽出して、商品を配送する。こうした例では、XML を変換したりデータを取り出したりするのにJava が活躍する。互換性が高くインターネットに適したXMLの例

XML とJava を使えば、B2B における自動処理システムを簡単に作成できるだろう。

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

B2B（ビー・ツー・ビー／ Business to Business）：企業間で行われる電子商取引のこと。

©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

Javaのすべて□ X M L パーサーに使 われる J a v a
アプリケーションで X M L を扱 うには、XMLパーサーというプログラムを使う必要がある。現在公開されているXML パーサーの多くはJava で書かれており、このことからもJava とXML は相性がいいことがわかる。
XML パーサーの多くはDOM とSAX という有 力 な A P I をサポートする。 D O M（Document Object Model）はW3C で標準化されているAPIで、文書をツリー構造にDOM変換する。SAX（Simple API for XML）はツリー構造作成

magazine

文書を解析しながらタグを通知するAPI で、

item

メモリーに制限がある場合に適している。

XML

name

XML パーサーは、Apache.org やオラク

item
price

name

price

ルから入手できる。オラクルは、XML パー
サ ー を 含 む XDK（ Oracle XML Deve<name> 開始

SAX<name> 終了

loper's Kit）というツールキットを提供している。XDK には、XML からJava のテキストは「インターネットマガジン」

ク ラ ス を 作 成 す る Oracle XML ClassXML

Generator for Java も含まれている。

イベント

DOMとSAXwww.oracle.co.jp/download/□ X S L T によるブラウザーへの表 示
XML 文書はそのままではWWW ブラウザ
ーで閲覧できない。XML を「見える」ようにするには、何らかのスタイルシート言語が必 要 だ 。 XSL（ Extensible Stylesheet

Hello

XSLT
プロセッサー

Language）は、スタイルシート言語の1 つで、XSL 自体もXML で作られている。XSLはW3C で策定中だが、XSL の一部である

XML
WWWブラウザーXSLT（XSL Transformations）は、すでに正式仕様が決まっている。XSLTは、XML文書をほかのXML文書やHTMLに変換する
XSL

ための言語だ。

XSLTによるXML→ HTML変換

テンプレートとなるXSLファイルを用意して、XSLT プロセッサーを通してXML から
HTML を自動生成すれば、XML をサポートしていない古いブラウザーでもデータが閲覧できるようになる。XSLT プロセッサーもJava で書かれたものがいくつか公開されている。たとえばApache.orgのXalan
はその1つだ。

xml.apache.org<?xml version="1.0" ?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"><xsl:templatematch="*|@*|comment()|processing-instruction()|text()"><xsl:copy><xsl:apply-templates
select="*|@*|comment()|processing-instruction()|text()" /></xsl:copy></xsl:template></xsl:stylesheet>

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

W3C（ダブル・スリー・シー／ World Wide Web Consortium）： WWW の発展との相互運用性の確保のために、企業や研究所、大学をメンバーとして設立された世界的な組織。
HTMLやCSS、XMLの仕様書を勧告として公開している。
©1994-2007 Impress R&D

XSLの例

INTERNET magazine 2000/10

219

A l la b o u t

J a v a 2

Java 製 品 を使 ってみよう開発者の間にはJava は定着したものの、普通のパソコンユーザーが実際にJava を目にする機会はなかなかないのではないだろうか。最後にJava で作られた製品を紹介しよう。ソフトがJava で書かれることは、

chap.5当たり前になってきたことがわかるだろう。

□ サーブレット版 グループウェア「 ラ・ クール／ ルージュ」 一
Java を利用した製品は数多く登場してい信環境の充実していない場所かるが、アプレットやアプリケーションなど、らでも快適に利用できる。また、クライアントサイドのJava を利用したもの

ポストPC 時代を見据えてi モーが多かった。サーバーサイドのJava ならイ

ドやWorkPadからの利用も可能

ンターネットやイントラネットで最大の力をにしている。

発揮できる。重要なのは、アプレットやアプ

機能は、個人やグループのスケ

リケーションとサーブレットやEJB をうまくジュール管理が中心で、小規模組み合わせることだ。

なオフィスには最適な内容だ。シ

グループウェアであるラ・クール／ルージ

ンプルな構造で使い勝手よく仕上ュ for Internet Ver.2 は、まだJava が認知がっている。テンアートニのサイされていないときから精力的にJava 製品をトにデモがあるので試してみよう。

発表しているテンアートニの製品だ。従来のラ・クール／ルージュはアプレットだったが、バージョンアップしてサーブレットを採用しラ・クルール／ルージュ for Internet ver.2
www.10art-ni.co.jp/rouge2/

た（イントラネット向けにはアプレット版も使える）。サーブレットの採用によって、通□ J a v a ＆ X M L 対 応 プレゼンソフト「 M u f f i n 」
一太郎とAtok でお馴染みのジャストシス

化文書という特徴を活かしたプ

テムは、近年Java への取り組みに力を入れ

レゼンテーションを作成できる。

ている。昨年末にはJava 2 に完全対応した

実際にプレゼンテーションを行う

ワープロ一太郎Ark を発売し、今年はJava

ときは、WWWブラウザーで表示版のプレゼンソフトMuffin と表計算ソフトすればいい。また、一太郎Arkで

Choco の開発を発表した。オフィス製品をはJavaとXMLの長所である国際

Java で書かれたソフトで揃えていくようだ。

化機能を活用し、日本語と中国

Muffinは現在ジャストシステムのサイトから語などを混在させた文書を作成

ベータ版（Technology Preview 版）をダできる。インターネットの標準デウンロードして体験できる。

ータ形式となったXML と「どここれらのオフィス製品に共通しているのは、でも動く」Java の長所を活用しXML を積極的に取り入れていること。一太

たオフィス製品の未来を感じさせ郎 Ark とMuffin は標準ファイル形式としててくれる。

XHTMLを採用している。Muffinではアウト

Muffin Technology Preview版
www.justsystem.co.jp/ark/

ラインの編集に力点が置かれ、XML の構造

220 INTERNET magazine 2000/10

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

グループウェア：企業内ネットワークを活用して情報共有やコミュニケーションの効率化を図り、グループによる協調作業を支援するためのソフトウェアの総称。

©1994-2007 Impress R&D

A l la b o u t

J a v a 2

最新

JavaのすべてJavaでつかむ

新 しいビジネスチャンス
Javaはインターネット上で展開されるビジネスをどう変えていこうとしているのか。
サーバー上のJavaと携帯端末のJavaで注目を集めている企業を訪れた。

J a v a の拡 張 性 を評 価

〜松井証券

松井証券株式会社は、今年 7月に証券取引サイトのシステム
を一 新 し、アプリケーションサーバーに J2EE 対 応 の BEA

www.matsui.co.jp

う設計思想が異なるものを結び付けるミドルウェアには、実績のあるものを選ぶのが重要だからです。

WebLogic Server を採用した「ネットストック2000」を開

ビジネスクリティカルと言えますが、商品のラインアップ

始した。巨大なサービスのために Java を選んだ理由は何か、を揃えていくとき、同じやり方でシステムを作っていくのは難ネットストック運用部部長の日沼徹さんに事情を聞いてみた。

しい。高い拡張性を実現できるJava は魅力的です。今後は携「今回のシステム構築の柱は4本あります。サンのStarfireと帯電話などのシンクライアントを前提としたシステムを作ってオラクルのOracle 8によるデータベースサーバーの増強、BEA

いく必 要 があります。C での WebLogic Server の採用、インターネットマルチフィード

はソフトウェアの作 りこみのハウジングの利用、Javaによるソフトウェアの刷新です。

が必要ですが。Java なら拡

私たちは予想していなかったトランザクションの等比級数的張していけばいいわけです。

な増大に悩んでいました。小手先でシステムを増強するのでは

今 年 の JavaOne では夜

なく、スケーラビリティーを考えていっぺんにシステムを変える

11時でも多くの人が集まっことにしました。このビジネスはインフラ商売ですから、勝つて、質問が飛んでいました。

ためには先手先手を打っていかないと。

Javaは今それだけ注目され

WebLogic を選んだ理由は、データベース処理とHTTP といているということです。
」

i モード用 J a v a で先 陣 を切 る

松井証券株式会社
ネットストック運用部部長 日沼 徹氏〜 ケイ・ラボラトリー

www.klab.org

i モードへのJava 搭載が注目されるなかで、携帯電話向けコの数は本当に少ない。私たちがJava コンテンツのお手伝いをンテンツ開発の株式会社サイバードは、Java コンテンツ開発

すれば、クリエイターがアイデアや想像力を活かせるようにな事業のために、株式会社ケイ・ラボラトリーを設立した。すでります。オーサリングツールの提供も行う予定です。
最初に出てくるコンテンツは、ゲームでしょう。ニッチタイムにケイ・ラボラトリーは、今年の JavaOne に出展された LG
TeleCom のJava 搭載端末（208 ページ写真）のためにサンのためのプルプログラムを作成している。代表取締役社長である畠田善画すれば、高速な地図アプリケーションもできます。

育てゲームなどが有望です。データを端末側で描コンテンツがリッチになる丈さんに今後の狙いについて聞いた。
「私たちの社員は 10 名で、全員が開発者です。今のところだけではありません。分 散

iモードについては、NTTドコモが仕様を公開していないので困コンピューティングが実 現っているところですが（注： 8 月 8 日現在）
、LG TeleCom のする可能性があります。デ

端末やMIDPを使って開発しています。

ータをばらまいておいて、充Javaが携帯電話に搭載されると、コンテンツを作る側にとっ電 している間 にヒトゲノムては、HTML と違って技術的障壁が出てきます。CPU やメモの解読をするとか。新しい

リー、帯域幅に制限のある環境では、Java の知識だけでは足社会インフラが登場するこりません。組み込み系のJava のノウハウを持っている技術者とになると考えています。
」

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

スケーラビリティー：ソフトウェアやコンピュータシステムにおいて、負荷が増大しても速度や安定性に影響が出ないこと。

©1994-2007 Impress R&D

株式会社ケイ・ラボラトリー
代表取締役社長 畠田善丈氏

INTERNET magazine 2000/10

221

［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この 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.