平成11年度 技術勉強会論文
「Javaの味」
−Java開発環境の評価−
Java部会
メンバー紹介
|
氏 名 |
会社名 |
部署名 |
|
|
部会長 |
江村 俊二 | 鶴崎海陸運輸(株) | システム事業部主任 |
|
副部会長 |
(後藤 耕平) (佐藤 哲也) |
九州東芝エンジニアリング(株) |
SS部CM |
| 藤松 幸司 | (株)オーイーシー | オープン営業部 ネットワークシステム課 |
|
| 中島 順美 | 大分交通(株) | 企画開発部 | |
| 竹中 盛一郎 | 大分シーイーシー(株) | 第一システム部 | |
| 山崎 悟 | 大分シーイーシー(株) | 第一システム部 | |
| (田中 正恭) 平野 ナオミ |
新日鉄情報通信システム(株) | システム第一部 | |
| 橋本 裕 | (株)長嶋不動産鑑定事務所 | 鑑定部門 調査主任 | |
| 魚返 知久 | (株)富士通大分ソフトウェアラボラトリ | ソリューション開発部 | |
| 岩切 宏幸 | 三井造船システム技研(株) | 九州事業所 開発部 | |
|
担当技術委員 |
重光 貞彦 | 大分シーイーシ(株) | 第一システム部 |
目 次
1.はじめに *
2.検証環境 *
3.Javaの特徴と検証・評価 *
3.1オブジェクト指向 *
3.2ドキュメント作成機能 *
3.3プラットフォームへの非依存性 *
3.4開発環境 *
3.5クラスライブラリ *
3.6セキュリティ *
4.まとめ *
参考文献 *
参考Webサイト *
付録 *
A. JavaDoc出力例 *
B.標準パッケージ(JDK1.1) *
Javaは、インターネットとともに急速に普及しました。Javaは当初Oakと呼ばれる家電製品向けの言語として開発されました。その後、Webの出現と同時にJavaと名前を改められ、HotJavaと呼ばれるブラウザとともに発表されました。このJava/HotJavaを使用することで従来のWebでは不可能だったインタラクティブなグラフィックや、特別な表示効果を埋め込むことが可能になり、一躍注目を浴びることになりました。
このようにJavaはインターネットとともに普及したため、インターネット上で動作するアプリケーションに必要な機能が多数用意されています。2000年を迎えた現在、インターネットは企業だけでなく一般の家庭にまで普及し、Javaに対する注目度もますます高くなっています。
本部会では、このように注目されているJavaに焦点をあて、実際にJavaプログラムを開発し、Javaの持つ特徴を検証することにしました。
2.検証環境
JavaにはJavaアプリケーション、Javaアプレット、Javaスクリプトなどの種類があります。これらすべてを検証することは不可能であるため、検証の対象としてJavaアプレットを選びました。JavaアプレットはJavaの持つ特別な機能の一つで、Webのページ内に埋め込まれた領域を使用してGUIを実現することのできるプログラムです。Javaアプレットは、Webページを表示する時にWebサーバからWebクライアントにダウンロードされ、クライアント上で実行されます。
Javaアプレットを開発するためには、JDK(Java Development Kit)が必要です。JDKはSUNのサイトからダウンロード可能で、現在の最新バージョンはJDK1.2.2です。今回の検証では、企業システム等のJava開発で最も主流となっているJDKのバージョン、JDK1.1.8で開発を行いました。

図2-1 Javaアプレットのしくみ
検証のために開発したプログラムの開発環境と仕様を以下に示します。
|
・開発アプリケーション名 |
: |
社員情報検索システム |
|
・開発環境 |
: |
JDK1.1.8 |
|
・動作確認ブラウザ |
: |
InternetExplorer V4.0以降 |
|
・機能概要 |
: |
ブラウザを使用して、Webサーバ上の社員情報(名前、所属、メールアドレスなど)の検索、更新、削除、追加を行います。 |
|
・全体構成図 |
: |
Javaのプログラムはクラスというプログラムの単位で構成され、各々のクラスは独立した機能を提供します。社員情報検索システムでは、以下の図で示した各要素がクラスにあたります。本部会ではクラス単位で開発の分担を行いJavaの特徴を検証しました。 |

図2.2 「社員情報検索システム」の構成
|
・メイン部 |
: |
ブラウザとのインタフェースや、各画面の管理等を行います。 |
|
・ログオン画面 |
: |
ユーザID、パスワードを入力しログオンします。 |
|
・メニュー画面 |
: |
社員検索、社員追加などユーザが利用する機能を選択します。 |
|
・検索画面 |
: |
社員情報の検索を行います。 |
|
・メンテナンス画面 |
: |
社員情報の変更、削除および追加を行います。 |
|
・パスワード変更画面 |
: |
パスワード情報の変更を行います。 |
|
・セッション管理部 |
: |
DB操作部の機能を使用して、画面部が必要な情報を取得、設定します。 |
|
・部署情報DB操作部 |
: |
部署情報DBの情報を取得、設定します。 |
|
・ユーザ情報DB操作部 |
: |
ユーザ情報DBの情報を取得、設定します。 |
|
・ユーティリティ部 |
: |
汎用的な機能を提供します。 |
(1)特徴
Javaを使って開発する上でのメリットとして、Javaはオブジェクト指向であることがあげられます。一般にオブジェクトとはプログラムが取り扱うデータと、データを操作する動作をまとめたものです。Javaではデータ、動作(メソッド)を持つオブジェクトとなります。これら2つをクラスに書き込むことにより、クラスの性質と振る舞いが決まり、1つのオブジェクト(クラス)として利用することが可能になります。このクラスが必要な時に別のクラスを呼び出し(インスタンス化)プログラムを組みたてていきます。
オブジェクト指向プログラムの特徴として、「継承」、「カプセル化」があります。簡単な説明を以下に示します。
・継承
継承とは、ある機能をもつオブジェクトを再利用する場合に、そのオブジェクトの機能を引き継いだ、他のオブジェクトを作成することができる仕組みです。前者の基本オブジェクトを親クラス、継承して生成されたクラスを子クラスといいます(図3.1.1参照)。

図3.1.1 継承
・カプセル化
各オブジェクトにはさまざまなデータが含まれています。オブジェクトを安全に動作させる必要からこれらデータをオブジェクト外部から勝手に変えられないようにしています。これを隠蔽と言います。しかし、すべてのデータを隠蔽するとなにもできなくなります。このため、オブジェクト間のデータのやり取りをメソッドでのみ行います。つまり、データを操作するメソッドで覆ってしまうのです。これを「カプセル化」といいます(図3.1.2参照)。
プログラムをカプセル化することにより、データaの保守性を高めています。

図3.1.2 カプセル化
Javaが開発される以前にも、オブジェクト指向プログラミング言語は存在していました。代表的な言語にC++があります。ではなぜオブジェクト指向プログラミング言語としてJavaが開発され、広まっていったのでしょうか。
Javaは当時オブジェクト指向プログラミング言語として主流だったC++に良く似た設計となっています。よってCやC++を知っているユーザに容易に受け入れられました。そして、決定的な理由としては、それら言語から多くの余分な機能を取り除きプログラムの複雑さを解消している点にあります。以下に幾つかの例を挙げます。
【付加された機能】
・メモリの自動解放機能
CやC++では必ずメモリの解放処理をしなければいけないのに対し、Javaではメモリの自動解放機能があることから、メモリリークの問題がなくなりました。
【除かれた機能】
・グローバル変数
Javaではグローバル変数をなくすことにより、グローバル変数の型宣言を省き、クラス内でカプセル化することによりデータの保守性を高めています。
・ポインタ
ポインタはCやC++では最も強力な機能でしたが、最も危険な機能でもありました。Javaではポインタを省くことによりメモリ破壊などのバグを押さえると共に、プログラムの容易さを高めています。
・多重継承
多重継承とはあるクラスが複数のスーパークラスを持つことができる概念です。
これによってクラス階層の異なるクラスからさまざまなデータ、メソッドを継承することができます。Javaでは多重継承を省くことにより性能を上げ、プログラム作成、あるいは保守の容易さを高めています。
他にも幾つかの機能を除くことによりプログラム作成の容易さ、保守性の高さからオブジェクト指向プログラミング言語として広がっていきました。
(2)検証結果
今回の開発では、画面部において、画面遷移の機能をもつ親クラスと各画面の機能に特化した子クラスの構成で開発を行いました。

図3.1.3 画面クラス構成
図3.1.3の場合、ログオン画面からメニュー画面に遷移する場合は、親クラスである画面遷移クラスのメソッドを呼ぶだけで実行することができます。つまり、このような構成をとることで、生産性の向上を行うことができました。
(1)JDK提供機能
Javaの開発環境であるJDKには、JavaDocというドキュメント作成機能が標準で備わっています。
このJavaDocとは、ソースファイルから、その中で定義されているクラスとメソッドのリファレンスマニュアルをHTMLファイルで生成してくれるコマンドです。生成されるドキュメントがHTMLファイルということで、他で作成されたドキュメントへのリンクや、イメージの貼り付けなども容易に行えます。また、メソッド単位での詳細なドキュメントを作成するため、見やすく、分かりやすく、効率的であるため、Javaの開発にあたってはなくてはならないものであると思われます。
JavaDoc生成例
Javaソースファイル(図3.2.1)より、MS-DOSコマンド上でJavaDocコマンドを実行して、HTMLドキュメントファイル(図 3.2.2)を生成する例を下記に示します。
図3.2.1 Javaソースファイル
MS-DOSプロンプト上で下記コマンドを実行
|
C:\java\study\parts>javadoc JSTextField.java Generating package.htmlGenerating documentation for class java.study.parts.JSTextField Generating index Sorting 6 items...done Generating tree |
![]() |
![]() |
図3.2.2 HTMLドキュメントファイル
なお、パッケージ、クラス階層など、その他の出力例は、付録Aを参照してください。
(2)JavaDocの評価
このJava勉強会を通して「社員情報検索システム」というシステムを作成しましたが、各個人が別々の会社組織でのなかでの開発であって、他の人が作成したプログラムのインタフェースなどをプログラム自身から容易にドキュメント化でき、使いやすく、分かりやすいものであることが検証できました。
今回作成したJavaDocは、代表的なタグである@parm(メソッドの引数)や@return(メソッドの戻り値)といった一部の機能を主に使用しましたが、容易に作成することができました。また、生成されるドキュメントがHtml形式であるため、他ドキュメントへのリンクといったわかりやすさがあり、電子データとして使用するには十分だと思われます。しかしその反面、紙面印刷用としては不十分であると思われました。
Javaの最大の特徴であり、最大の利点と期待されているのは「クロス・プラットフォーム」です。Javaで開発したプログラムは、プラットフォーム(ハードウエアとOS)がなんであるかにかかわらず動作が保証されています。従来のようにOSの違いを意識してプログラムを書き直したり、コンパイルし直す必要はありません。Javaのクロス・プラットフォームは「バイト・コード」と呼ぶ中間コードを「JavaVM」と呼ぶインタインタープリタで実行するJava独特の実行方式が基礎になっています。通常のコンパイラ言語では、ソース・コードを対象となるプラットフォームにあった(別のプラットフォームでは実行できない)バイナリ・コードに変換していますが、これに対してJava言語のコンパイラは、ソース・コードを、プラットフォームに依存しない形式の中間コードに変換します。JavaVMでプラットフォームごとの違いを吸収する仕組みになっています。
ソフトウエアの移植性向上は、開発費の削減に直結していると言えます。これはおもにソフトウエア・ベンダーのメリットですが、ユーザにも製品の価格低下という間接的な恩恵が期待できます。ただし現時点では、個々のプラットフォームで問題なく動作するかどうかをテストしなければならないケースもあり、課題も多く残っています。
(2)非依存性の検証結果
ここではJavaの非依存性について検証します。
今回はJavaのアプレットを用いて開発を行いましたが、テスト段階においてアプレットがInternetExplorer(IE)では動くがNetscapeでは動かない(画面のレイアウトが崩れる)等の現象が起きました (図3.3.1参照)。
|
|
|
|
IneternetExplorer4.0で見た画面 |
NetscapeCommunicatorで見た画面 |
図3.3.1 アプレットの表示
この原因としては、JDK1.1.8で開発されたアプレットに対する、ブラウザに実装されているJavaVMの非互換が考えられます。
このことを踏まえて実行環境がJavaアプレットにどのように影響を及ぼすかについて検証を行いました。その結果、Windows95・Windows98・WindowsNT上において、アプリケーションを実行した場合は、アプレットが正常に動作することが確認されました。またIEにおいてはバージョン4.0までは正常に動作しましたがIE5.0では環境によっては、画面レイアウトのみが表示され、アプレットが動作しないことが分かりました。さらにNetscapeにおいては画面が表示されず、Javaアプレットの内部にエラーが発生していることが確認できました。
このような実行環境によるJavaアプレットの起動に関する問題は、実行環境のVM(VartialMachine)に問題があるのではないかと推測されました。通常JavaではVMがそれぞれの実行環境に合うようにJava言語の変換を行うため、どの実行環境でも同様の結果が得られるといわれています。しかし、ここで発生した問題はJavaをコンパイルした時に作られたクラスをVMが理解できない(変換が十分にできない)ために起こるものと思われます。
現状では、コンパイル環境がJDK2.0以上であるとVMが、生成されたJavaクラスのソースの解読を100%行えず、変換が十分にできないために、IEやNetscapeといった実行環境では画面レイアウトが壊れる現象が起こっています。特にNetscapeにおいてエラーが発生したのは内部的なセキュリティチェックに引っかかっているためと思われます。Netscapeと比べてIEの方がこのセキュリティレベルが低いため画面レイアウトが表示される結果に至ったと考えられます。また、IEのバージョンの違いによる問題は、バージョンが上がるにつれこのセキュリティレベルが高くなっているのではないかと考えられました。
アプレットを用いたJavaの開発における問題点はこのような実行環境に影響される点に挙げられると思います。
Java言語は特定のハードウェアやオペレーティングシステムに依存しない言語であると言われています。Java言語のコンパイラであるjavacは、Java言語のソースコードをプラットフォーム上で、直接実行するオブジェクトコードを生成するのではなく、計算機のアーキテクチャに依存しないJava バイトコード(java bite code)という中間コードを生成しています。この中間コードは、Java バーチャルマシン(java virtual machine)という仮想計算機で実行する機械語コードであり、実際の計算機上では、Java ランタイムシステム(Java Runtime System)というJavaバイトコードを解釈実行するためのインタプリンタとライブラリが用意されています。しかし、一方でアプレットが実行環境により正常に動作しない問題は現状において依然解決されていません。
今後、これらのことを踏まえた上でさらに詳しくJavaアプレットの性質を追求し、開発者自身がより良い開発環境を整えプログラミングを行っていく必要があると思います。
今回の勉強会を通して、上記のVMの問題を解決する方法としてJava Plug-inを使用することが考えられました。Java Plug-inはIEやNetscpaeで同様の動作ができるようにするためのPlug-inです。Java Plug-inを用いることによって、前述のような問題は発生しなくなると思われます。
このことが今回の解決策につながるかについてはまだ未検証ですが、現段階ではこの方法を用いて今後検証を進めていきたいと考えています。
(1)JDKの入手
Javaでプログラムを開発する為には、標準開発ツールであるJDKが必要になります。
JDKとは Java Development Kitの略で、インタープリタ、クラスライブラリ、コンパイラ、デバッガ、アプレットビューア等の開発ツール一式が含まれています。
JDKとその他の開発言語との大きな違いは、サンマイクロシステムのホームページ(http://java.sun.co.jp/)から無料ダウンロードできる事にあります。但し、JDKの機能が拡張するに伴い、容量も増加してきており現バージョンの1.2では約20MBとなっています。無料ダウンロードで取得可能とはいえ大変な時間がかかってしまう事になるので、雑誌の付録についているCD-ROMからの取得を検討した方が合理的であると思われます。
(2)JDKの評価
今回作成した「社員情報検索システム」においては、すべてJDKで作成しました。Visual BasicやC++等のビジュアル開発ツールと違い、JDKでの開発では、ソースコードはテキストエディタで作成し、コンパイルもDOSのコマンドライン上で実行しなければいけないため、コンポーネントの数が多い画面や処理が複雑なシステムの開発を行う場合は、操作性が悪いと感じました。この問題に関しては、サンマイクロシステムからJavaのライセンスを取得した各メーカより販売されているビジュアル開発ツール(表3.4.1参照)を使用することにより、Visual Basicと同じ様な操作方法で各種コンポーネント(ボタン、テキストエリア等)を貼り付け画面を作成することができます(図3.4.1参照)。
表3.4.1ビジュアル開発ツール一覧
|
製 品 名 |
販 売 |
|
Java WorkShop |
日本サン・ソフト |
|
JBuilder |
ボーランド |
|
PowerJ |
パワーソフト |
|
VisualAge for Java |
日本アイ・ビー・エム |
|
Visual Cafe |
シマンテック |
|
Visual J++ |
マイクロソフト |
しかし、こうしたツールを使う場合でもJava言語は覚えなくてはならず、ツールで自動生成できるソースコードは主に画面とデータベースに関する部分である為、実処理のロジックはJava言語で記述する必要があります。それを踏まえれば、Javaの開発はJDKを必ず理解しておく事が必須条件であると考えます。
※ シマンテック社 Visual Cafe Ver3.0 トライアル版
図3.4.1ビジュアル開発ツールの画面イメージ
(1)Javaライブラリの特徴
Javaでは、通常の開発言語のように言語仕様だけを標準化するのではなく、API(アプリケーション・プログラム・インタフェース)までを標準化しています。そして、これらのAPIにしたがう機能をオブジェクト指向的概念からクラス・ライブラリとして提供しています[9]。
Javaの開発環境の一つであるJDKで標準に提供されるクラス・ライブラリには、 GUIの構築、ファイルの入出力、ネットワーク機能など、アプリケーション開発に利用されることの多いほとんどの機能が含まれています(付録B参照)。したがって、Javaでアプリケーションを開発する場合には、ウインドウ・システムやネットワーク通信のためのライブラリを独自に準備する必要がありません。
さらに、WindowsOS上の開発のためのクラスライブラリであるWindowsAPIやMFC(MicrosoftFoundationClass softrary)と比較した場合、JDKのライブラリは、機能により体系化されていること、また、プラットフォームに依存しないという特徴があります。これらのクラス・ライブラリの提供により、TCP/IPのプロトコルの詳細を知らなくても容易にネットワーク通信のプログラムを作成することが可能です。ウィンドウ・システム上のアプリケーション開発においても同様のことが言えます。JavaのAWT(Abstract Windows Toolkit:抽象化ウィンドウツールキット)パッケージでは、プラットフォームに依存しない形での、グラフィック処理を行うためのクラスを提供しています。以上の特徴から、JDKが提供しているクラス・ライブラリは、機能が豊富で整理されており初心者でも使いやすく、開発効率の向上につながると言われています[4][6]。
さらに、Javaでは自分でクラスパッケージを作成することも可能です。プログラマは不要にモジュールの内部を知る必要がなく、過去のプログラムを容易に再利用することができます。これにより、ソフトウェアの部品化と再利用を容易に行うことができることも利点の一つです。また、これは、現在提供されている標準のクラス・ライブラリに不十分な点があったとしても、今後充実した部品の提供となる見込みがあることを示唆しています[6]。
今回の社員情報検索システムの開発では、Javaのクラス・ライブラリが本当に開発効率の向上につながるのか、また、標準の機能が十分であるのかを検証します。
(2)JDKライブラリの評価
JDKでは、GUIを備えたアプリケーションの開発を行うために、java.awt(Abstract Window Toolkit)パッケージが提供されています。GUIに関連するパッケージは、JDKが提供するクラス・ライブラリの半分以上を占めています。こうした理由から、ここでは、GUIに関するパッケージを中心に検証を行います。
今回作成した「社員情報検索システム」のGUIは、主に、ボタン、テキスト入力欄、リストボックス、プルダウンメニュー、テキストラベルから構成されます(図3.5.1参照)。
図3.5.1 Java画面構成例
これらの機能は、JavaのAWTライブラリのComponentクラスとして用意されています。今回使用したクラスの中で問題となったクラスについて、標準で提供されている機能、長所・短所、および短所を補うために行った処理について、表3.5.1にまとめます。
表3.5.1
|
クラス |
標準機能 |
長 所 |
短 所 |
対 策 |
|
List |
複数の項目を表示する機能。選択やスクロールも可能。 |
選択メニューの表示や選択処理が容易。 |
複数列の項目がある場合に、列ごとに先頭を揃える機能がない。 |
文字列の幅や文字数を計算し、必要な空白を補う。JDK1.2から提供されているjavax.swingパッケージにより表を扱うことができる。 |
|
TextField |
一行分の情報をクライアントから入力させる。 |
表示カラム数を指定するだけで、入力域を作成可能。また、初期状態のテキストの指定も可能。 |
入力制限ができない。 |
このクラスを継承した新しいクラスを作成し、入力制限機能等を追加。 |
|
Gridlayoutなどの レイアウトマネージャ |
コンポーネントを適当な位置にレイアウトする。 |
ウインドウの大きさを動的に変更しても、レイアウトが保たれる。 |
細かな設定が難しい。たとえば、コンポーネントの大きさなどがコンポーネントを構成する項目によって自動的に設定されるため、表示の度に変わってしまう。 |
大きさを一定にするために、常に適当な値を表示させるなどを行う。 |
実際に開発してみると、提供されているパッケージのみでは十分とは言えません。しかし、Javaがオブジェクト指向言語であることから、提供されているパッケージの必要なクラスを継承し容易に機能を追加することが可能でした。
また、JDKの機能を拡張したパッケージが有償または無償で公開されています。これらを使用することも考えられます。ただし、こうしたパッケージでは、独自のクラス・ライブラリを使用している場合があり、 これらを使用することで可搬性が保証されなくなるという問題点があります。たとえば、マイクロソフトのビジュアル開発ツールVisual J++は、Windows環境に特化した独自機能が豊富に用意されていますが、クロス・プラットフォームを追求するユーザにとっては意味のないものであるばかりではなく、使ってはいけないものとなります。こうしたことから、標準のクラス・ライブラリだけでは不足する場合、汎用的なクラスを自作するという企業が多いと言われています[7]。また、今回作成したシステムでは特に問題とはなりませんでしたが、Javaの今後の課題として、標準で提供されているAPIは必ずしも効率的な実装とは言えず、改良が必要であるという指摘もあり[8]、今後の改良が望まれます。
(1)アプレットのセキュリティ
JavaアプレットはWebサーバからユーザのマシンにダウンロードされて実行されます。インターネットからプログラムをダウンロードして自分のコンピュータで実行する危険性は十分に認識しておく必要があります。ウィルスやクラッカーなどの侵入の可能性は常に考えておかなければいけません。Javaは新しい言語であるため、言語構造を設計する段階で安全性を高める仕様を取り込むことができました。
Javaには、メモリの割り当てや管理を行う機能があらかじめ含まれていないため、開発者が意図的にメモリレイアウトを操作することができない仕組みになっています。この機能により特定番地へのアクセスなどセキュリティホールの要因となる操作が排除できるため、クラッカーが容易にはウィルスなどを作成することはできなくなっています。
また、Javaをコンパイルする時と、実行時にそれぞれセキュリティチェックを行う仕組みを備えていて、Javaで規定しているセキュリティポリシーに反したプログラムはコンパイル、及び、実行ができないようになっています。
さらにJavaアプレットには、サンドボックスセキュリティモデルといわれるセキュリティがあります。サンドボックスとは“砂場の中”という意味で、信頼されないコードは、一定の境界の外では動作できないようになっています。例えばJavaアプレットは、ローカルディスクやローカルドライブに対して読み書きができないようになっており、誤って、または故意にユーザの環境を破壊できないようになっています。ただし信頼できる署名の付いたアプレットはサンドボックスの制限を緩和して動作することもできます。
他にもJava以外の言語、例えばCやC++などで書かれたネイティブコードを実行することができません。またアプレットからはローカルコンピュータの他のアプリケーションを実行することもできません。
以上のように、Javaは、開発者が意識せずにセキュリティが確保され、使用者が安心して使用することができるように設計されています。
Javaの最新バージョンであるJDK1.2からはサンドボックスセキュリティモデルを拡張したプロテクテッドドメインセキュリティモデル(Protected Domains Security Model)を採用しています。アプレットを使用するドメイン(組織やワークグループなど管理者が定義する)を区切り、アプレットの開発者と管理者が、ドメイン単位でアプレットのファイルやデバイスへのアクセス権限を細かく設定できる機能です。これにより、セキュリティを保持したまま、より柔軟なアプリケーション構築が可能となります。
(2)検証
今回の私たちの活動では、サーバにあるマスターデータベースを操作するアプリケーションを作成しただけで、クライアントのリソースにアクセスできるかどうかなどのセキュリティに関する検証を行うまでには至っていません。しかし検証中にInternet Explorerでは動作するものが、Netscapeではセキュリティ違反で動作しないという現象が発生しました。この現象は、前述しています「実行時にセキュリティチェックを行う」事に起因しており、ブラウザによりセキュリティレベルが違うことが確認されました。
セキュリティの問題は、今後実際にJavaを利用するには、絶対に検証しておかなければならない問題と認識しています。また、JDK1.2で何ができるようになったのか、どのように開発、設定して、どのように運用していけば良いのか検討が必要です。
今回、我々は、インターネットの普及とともに注目が高まっているJava言語について、実際に「社員情報検索システム」を構築することにより、言語としての評価を行いました。
その結果、本稿で述べた通り、オブジェクト指向、ドキュメント作成、プラットフォームの非依存、無償開発環境、標準提供ライブラリ、セキュリティの観点から以下の利点があることを確認しました。
しかし、一方では、次のような問題も提起されました。
今回の検証は、非常に短期間で行った結果であり、Javaの機能を十分に使いこなすことができたとはいえません。しかし、Javaの大概の特徴をつかめたと考えています。今後は、上記の利点・問題点をふまえて、開発に取り組む必要があると考えます。
B.標準パッケージ(JDK1.1)