Java™ Rich Internet Application
の開発および配備

目次

はじめに

Java テクノロジベースのソリューションは、適切な設計方針で開発されると高い柔軟性を発揮します。これらのソリューションの主な種類には、その配備メカニズムや実行コンテキストに応じて次の 3 つがあります。

  1. アプレット – これらのソリューションは Web ブラウザのコンテキストで実行されます。セッション cookie、DOM アクセスなどのブラウザの機能を利用します。アプレットを配備するには、Java Network Launch Protocol (JNLP) を使用するか、APPLET タグの属性を使用します。

  2. Java Web Start アプリケーション - Java Web Start アプリケーションは、最初はブラウザを介して配備されます。アプリケーションがダウンロードされ、ユーザーがセキュリティー証明書を受け入れると、このアプリケーションはほぼスタンドアロンアプリケーションと同様に動作します。Java Web Start を使用してユーザーのデスクトップからスタンドアロンで実行されている場合は、アプリケーションへの更新が自動的にダウンロードされます。
  3. スタンドアロンのソリューション – スタンドアロンのソリューションの実行には、ブラウザセッションは必要ありません。

アプレットと Java Web Start アプリケーションは、Rich Internet Application (RIA) - インターネットを利用する Java プログラム、と呼ばれるようになりました。

設計

以前は、RIA をブラウザの内部にアプレットとして配備するか、またはブラウザの外部に Java Web Start アプリケーションとして配備するかの決定が、ソリューションの設計に大きく影響していました。Java SE 6 update 10 リリースで導入された新しいテクノロジにより、正しく構造化されたプログラムをブラウザの内部または外部のどちらにも容易に配備できるように、この 2 つの配備オプションが大幅に統合されました。

アプリケーションの設計中に従うべき重要な手法が、コンポーネントベースのアーキテクチャーの使用です。従来のアプリケーションは、トップレベルの Frame を含むユーザーインタフェースを main メソッド内で構築する傾向がありました。このプログラミング方法では、アプリケーションが独自のフレームを作成することが前提になるため、ブラウザ内でのアプリケーションの容易な再配備が妨げられます。ブラウザ内でアプレットとして実行される場合は、そのアプレットが暗黙的にアプリケーションのユーザーインタフェースを保持すべきコンテナになるため、トップレベルの Frame は必要ないか、または望ましくありません。

代わりに、アプリケーションの開発中は、まとめて作成できる 1 つ以上のコンポーネントにその機能を構成することを試みてください。この場合の「コンポーネント」という用語は AWT Component クラス、Swing JComponent クラス、または別のサブクラスからサブクラス化された GUI 要素を指します。ユーザーインタフェースを構築したり、返したり、表示したりするさまざまなメソッドの観点からアプリケーションを表現するのではなく、それぞれがユーザーインタフェースの各部分を自身に追加するさまざまな Component サブクラスの観点からアプリケーションを表現してください。それにより、その時点では単なるコンポーネント (たとえば、メニューバー) であるアプリケーションを、任意の種類のコンテナに容易に追加できます。このコンテナは、トップレベルの Frame または Applet である可能性があります。この手法およびアーキテクチャーを使用すると、アプリケーションをブラウザの内部または外部のどちらも容易に再配備できるようになり、さらにアプリケーションの開発サイクルに大きな影響を与えることなく、この配備の決定を基本的にいつでも変更できるようになります。

SwingSet2 のデモは、コンポーネントを 1 つのまとまった単位でレイアウトする方法を示す例です。このデモは、ダウンロード可能な JDK 7 のデモおよびサンプルのバンドルに含まれています。ButtonDemo クラスのコンストラクタは、必要なすべてのユーザーインタフェースコンポーネントをインスタンス化し、1 つのマスターパネルにレイアウトします。DemoModule クラスは、このマスターパネルをアプレットとして表示する役割のみを果たします。この設計によって、ButtonDemo クラスを別のアプレットまたはアプリケーションに容易に再利用したり、移植したりできるようになります。

アプレットを開発することを決定した場合は、おそらく、信頼性およびブラウザ間の互換性のために大幅に改造された次世代プラグインを使用できます。この選択を容易にするには、「Rich Internet Application 決定ガイド」を参照してください。

開発

構築しようとするクライアントアプリケーションの種類を決定したら、次の段階はその構築です。アプレットの場合は、「アプレット開発者ガイド」を使用してアプレットを設定し、ブラウザとアプレットに相互に通信させ、ほかのアプレットと通信させます。Java Web Start アプリケーションの場合は、「Java Web Start 開発者ガイド」を使用します。

デバッグは、開発の自然な一部です。Java IDE または Java デバッガの使用に加えて、Java Console のデバッグ機能や、JVM のトレースおよびログ機能を使用できます。 

Java チュートリアルに含まれる配備のコースは、RIA の開発や配備についてより詳しく学ぶための包括的なリソースです。

配備

アプリケーションの JAR ファイルを有効な公開鍵証明書で署名し、実行時アクセス権を JAR ファイルマニフェストに指定することはきわめて重要です。これらの要素を含めずに配備されるアプリケーションは、一部の環境で実行が許可されない可能性があります。

配備は、複数の段階から成るプロセスです。これらの手順の多くは省略可能ですが、そのすべてがエンドユーザーの操作性を向上させることを目的にし、エンドツーエンドの何らかの手直しを経ています。配備に関する手順の概要を次に示します。詳細は、Rich Internet Application 配備アドバイスのトピックを参照してください。

共通の実行環境を提供し、ユーザーがアクセスするアプリケーションを管理する企業では、デプロイメントルールセット機能によって、一部のアプリケーションはセキュリティープロンプトなしで実行されることを許可し、その他のアプリケーションは自動的にブロックされるというルールを作成できます。この機能は、組織で内部的に使用されることを目的としています。詳細は、「デプロイメントルールセット」を参照してください。

RIA の配備がどのように行われるかを理解するには、「Rich Internet Application 配備プロセス」を参照してください。

リソース




Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.