リッチ インターネット アプリケーション(RIA) は、コンピュータ上のスタンドアロン アプリケーションの特性を共有する Web アプリケーションです。長期的には、RIA は従来のソフトウェアとインターネットタイプのクライアント/サーバー ソフトウェアの統合を促進します。これらの Web アプリケーションでは、インタラクティブな側面と実行速度に特に注意が必要です。
RIA には次のものがあります。
- Web ブラウザ上で実行され、インストールは必要ありません。
- サンドボックスと呼ばれる安全な環境でローカルに実行されます。
リッチ インターネット アプリケーションという用語は、2002 年 3 月にMacromedia の出版物で導入されました。
従来の Web アプリケーションとの比較
従来の Web アプリケーションは、多くの場合、シン クライアントを使用したアーキテクチャに基づいています。処理はサーバー上で実行され、クライアントはプレゼンテーション (例: HTML) を作成するだけです。クライアントはデータをサーバーに送信し、サーバーが応答して、応答ページがクライアントに返されます。したがって、サーバーは、フォームへの入力などのいくつかの特定のケースを除いて、インタラクションごとに要求されます。
RIA は、このループの一部をローカルに戻すために取り組んでいます。特に Java 言語はこれを念頭に置いて設計されました。
インターネット標準は、これらの技術に対応するために時間の経過とともにゆっくりと継続的に進化してきたため、何が RIA を構成し、何が構成されないのかを明確に定義するのは困難であることは注目に値します。通常、RIA を使用して実行できることは、クライアント システムの機能によって制限されます。
RIA はクライアントのCPUリソースを使用するため、標準の HTML タグでは不可能なリアルタイム ユーザー インターフェイス機能を Web アプリケーションに提供します。
コピーと移動、データを変更するためのツールバーの使用、クライアントによって実行される計算 (ローンの金利など) など、より多くの機能をクライアントに転送できます。データは必ずしもサーバーに送信する必要はありません。

理論的根拠
Web ブラウザーで実行されるアプリケーションの開発は、実装が困難なタスクであり、従来のオフィス アプリケーションの開発にさらに複雑さが加わるにもかかわらず、その範囲が制限されますが、次の理由から、これらの努力は多くの場合報われます。
- インストールは必要ありません。アプリケーションの更新と配布は瞬時に行われます。
- ユーザーはインターネット接続のあるどのコンピュータからでもアプリケーションを使用できます。
- Web の使用が増加するにつれて、ブラウザベースの代替ソフトウェアが利用可能になったときに、コンピュータ ユーザーは新しいソフトウェアをインストールすることに消極的になってきました。
この最後の点は、この代替手段が遅い場合や必要なものを取り除いた場合でも、一般的に当てはまります。この現象の良い例は、 Web メールの使用です。
メソッド
JavaScript
JavaScript は最初の重要なクライアント側言語でした。コードを実行でき、ほとんどの Web クライアントにインストールされました。一見するとその使用は比較的限定されていますが、DHTML のいくつかのレイヤーやその他の開発と組み合わせることで、モノリシッククライアント ソリューションを使用せずに DHTML を RIA システムと共存させることが可能になりました。 AJAX は現在、この技術の組み合わせを指す用語として使用されており、最近ではGmailや Google マップなどのGoogleプロジェクトで最も有名になっています。ただし、この開発プラットフォームで大規模なアプリケーションを作成するのは非常に困難です。すべてを機能させるにはさまざまなテクノロジが相互作用する必要があり、ブラウザの互換性作業には多大な労力が必要です。
多くのエディタは、これらのアプリケーションの作成を簡素化するツールやフレームワークを提供しています。 JavaScriptフレームワークの数は 500 を超えています。最もよく知られているものは次のとおりです。
- ヤフー!ユーザーインターフェイスライブラリ (YUI) (最も文書化されている)
- 道場
- プロトタイプ
- リアルト
- 聖書的な
- リコ
- Google は、Java を使用して JavaScript/AJAX RIA を作成できる gwt (Google Web Toolkit) と呼ばれるツールキットを提供しています。
- Morfik は、C/Java/Pascal/Basic 構文で開発し、JavaScript コードを生成できる AppsBuilder を公開しています。

Java アプリケーション / Java Web Start
Java Web Start は、Javaテクノロジーに基づいたソフトウェアを展開するためのITツールです。これはコンピュータとインターネット間のリンクとして機能し、ユーザーが Web からアプリケーションを起動および管理できるようにします。 Java Web Start を使用すると、マウスを1 回クリックするだけでアプリケーションをアクティブ化できます。さらに、ソフトウェアは常に最新バージョンのアプリケーションをロードするため、複雑なインストールまたはアップグレード手順を回避できます。このアプローチにより、HTML の制限やさまざまなブラウザーの特定の制約を受けることなく、リッチなアプリケーションを構築することが可能になります。また、この手法により、Web 開発に比べて低コストで開発を行うことができます。
Java アプレット
Java アプレットは、バイトコードでコンパイルされ、サーバーからダウンロードされ、Java仮想マシン(Java ランタイム エンジン) を備えたプラットフォーム上のクライアント側で実行されるアプリケーションです。アプレットはアプリケーションの略で、オペレーティング システムの周辺機器 (プリンタ、GPS) にアクセスすることなくブラウザ内で実行され、実行権限が制限されています。これらの制限は、ブラウザの外部の Java 仮想マシン上で実行されるアプリケーションを Web からインストールできる Java Web Start テクノロジを使用することによって解消されます。 Java に関連したスローガンは一度書けばどこでも実行できるというもので、移植性の問題が仮想マシンに移され、プロトコルの相互運用性の問題が生じました。歴史的に、これらのアプレットは、電話用 BlackBerry で使用される MIDP プラットフォームを使用して、さまざまな Java OS および J2ME モバイル デバイス上で実行される実際のフレームワーク開発の起源となります。アプレットは、実行エンジンが軽く (50 MB と比較して 2 MB)、読み込み時間が速く、イベントよりも時間的なプログラミングのおかげでグラフィックスをより簡単にアニメーション化できる Flash テクノロジに取って代わられました。
アドビフラッシュ
Adobe Systems (2005 年末に Macromedia を買収) は、Flash、Central、Breeze、およびFlexに基づいて通信サーバーを統合する Adobe Flash テクノロジーを備えたこの分野のサプライヤーの 1 つです。
Laszlo は、リッチ インターネット アプリケーション用のオープンソース プラットフォームで、もともとLaszlo Systemsによって開発されました。Laszlo Systems は、Adobe Flash Player で実行時に実行される SWF ファイルも生成します。
これらの各テクノロジーは、インターネット ブラウザの 98% にインストールされている Adobe Flash Player を通じて、サイト訪問者のブラウザで実行されます。

新しい技術
- リッチ クライアントをめぐる競争では、Googlemail などの JavaScript/ajax を使用した完全なクライアント、ブラウザで実行されるアプリケーション (Adobe の Flash/Flex、 Sunの JavaFX、または Microsoft のSilverlight )、およびブラウザ (Sun の Java Webstart、 Microsoftの ActiveX、Adobe AIR) を終了し、同じ仮想マシン (Sun の場合は JRE、Microsoft の場合は CLR、Adobe の場合は Flash プラットフォーム) 上で実行します。テクノロジーの導入は生産性、ひいては開発環境と強く結びついています。
- 同じサーバーのブラウザーで実行されるテクノロジー。帯域幅は、SVG、wpf、フラッシュ、マルチキャストストリームなどのベクトルレンダリングを使用して、サーバー (データ処理センター) を増やし、最適化されたコーデックを最適化することによって最適化する必要があります。
- Javascript で操作できる XUL を使用すると、geckoレンダリング エンジンを使用してブラウザ内で動作する、または XULRunner 仮想マシンを使用して外部で動作する RIA インターフェイスを設計できます。 XULRunner は、xpcom を通じて外部ライブラリを使用して、Web サービス、XML-RPC、LDAP、SQL、IMAP、および POP3 プロトコルにアクセスできます。 xul 用のエディターの作成に関する多くのプロジェクトは生産的ではなく、その多くは消滅しました(リンク) 。
- XML とMozillaおよびInternet Explorerブラウザでは、この種のことが可能です。複雑ではありますが、JavaScript エディター(リンク)があります。
- C# で操作できる XAML (Extensible Application Markup Language、「ZAML」と発音) を使用すると、Silverlight ブラウザーの内部または外部で .net/mono fnac仮想マシンを介して実行される WPF/E インターフェイスを設計できます。 Silverlight は、 Visual Studio Orcas 開発環境のみを使用する、サーバー側テクノロジから独立したクライアント テクノロジです。
前述のテクノロジーを再利用するオープンソース環境:
- OpenLaszlo は Java サーバー上で実行され、クライアント上でフラッシュを生成します。 Adobe が Apollo テクノロジーを普及するために Flex テクノロジーをオープンソースにして無料にしたため、これはオープンソースで無料の FLEX とみなされていました。 OpenLAslo は、 IBMの Lazlo IDE 名前エディターを使用します。
- Wazaabi は、RCP テクノロジーと XUL ファイルに基づいてリッチな J2EE クライアント アプリケーションを「簡単に」作成できるRCP Eclipse ファシリテーターです。
Macromedia (IBM と共同開発) の FLEX は、サーバーでもあり、フラッシュまたは Apollo XUL インターフェイスを介してアクセスできるフレームワークでもあります。より成熟した FLEX は、この概念の最初の基盤を築くテクノロジーです。 FLEX は、ソフトウェア開発の工業化のための能力を提供します。
ウルトラ ライト クライアントのアプローチ
ウルトラ ライト クライアントのアプローチでは、完全に Java に基づいてリッチ インターネット アプリケーションを開発できる Java ライブラリが開発者に提供されます。
提案されたアーキテクチャは完全にオープンで、ハーフ オブジェクトプロトコル (HOP) に基づいています。これにより、一連のプログラミング インターフェイス (API) を通じて、データをWebサーバー レベルに移動でき、クライアント ワークステーションには視覚的に利用可能なデータのみを転送できません。ユーザーに。
プレゼンテーション エンジンのみがクライアント側で実行されるため、サーバーからダウンロードする必要があるモジュールのサイズが削減されます。これにより、ユーザーはデスクトップ コンピュータ、ラップトップ、PDA、スマートフォンなどのさまざまな端末から会社のデータにアクセスできるようになります。
したがって、Java クライアント プラットフォームの利点と Java サーバー プラットフォームの利点の両方を活用できます。

いくつかのリッチ インターネット アプリケーション
- Zimbra オープンソース モバイル オフィス ソリューション;
- Ludicorp のFlickr 、写真管理。
- Google の Gmail、電子メール。
- Google によるGoogle マップ、インタラクティブな地図。
- Deezer 、無料音楽視聴サイト
