Open Laszloを使って作るリッチクライアント(1)
オープンソースのリッチクライアントを使おう
浅野守
2005/4/22
本連載はオープンソースのリッチクライアント製品として最近急速に注目を集めつつある「Laszlo」を紹介する。Laszloはサーバサイドで生成したコンテンツをFlashとしてクライアントのWebブラウザに配信するもので、Macromedia社のFlexと非常によく似たアーキテクチャを採用している。その実力を検証してみよう。
■ Laszloとは?
Laszlo Systems社のプレスリリースによると、2003年3月にLaszloプレゼンテーションサーバを開発者向けにリリースし、、同年6月に企業向け製品をリリースしています。さらに、2004年10月にはCommon Public License(CPL)によるオープンソースとして公開しています 。
Laszloのリッチ・インターネット・アプリケーションとは、HTML、DHTML、CSS、JavaScriptなどによる従来のWebクライアントの表現の限界を超えたGUI(図1)によるユーザー・エクスペリエンスをWebクライアントとして提供するものです。
画面1 LaszloのGUI |
■ Laszloアプリケーション
Laszloでは、Webクライアントに配布するアプリケーションを、Laszloアプリケーションといい、Laszloアプリケーションをコンパイルし配布するシステムがLaszloプレゼンテーションサーバといいます(画面2)。
LaszloアプリケーションのソースコードはXMLベースのオブジェクト指向言語LZX、JavaScriptおよびLaszloコンポーネントなどを使用して記述されます。記述されたLaszloアプリケーションのソースコードは、初回のアクセス時にLaszloプレゼンテーションサーバによりFlashアプリケーションへとコンパイルされクライアントに配布されます。次回以降はキャッシュされたLaszloアプリケーションが配布されるので高速にアクセスすることができます。
画面2 LaszloのソースコードはLaszloプレゼンテーションサーバにキャッシュされる |
■ Laszloのアーキテクチャ
Laszloプレゼンテーションサーバは、Javaで記述されたJ2EE アプリケーションサーバ またはJavaサーブレットコンテナ上で動作するオープンソースのサーバアプリケーションです。
LZX、JavaScriptで記述されたLaszloアプリケーションのソースコードはLaszloプレゼンテーションサーバによりFlashアプリケーションにコンパイルされInternet Explorer等のWebクライアントに配布されます。またコンパイルされたFlashアプリケーションはキャッシュされ、次回以降はキャッシュが配布されます。
LaszloアプリケーションとWebサーバとの通信はSOAP、WebサービスなどのXMLベースで行われます(図1)。
図1 Laszloのアーキテクチャ概念図(Laszlo Systems社提供) |
■ Laszloを使うメリット
リッチクライアント(RIA)開発でLaszloを使うメリットは何でしょうか。まずは、オープンソースプロジェクトなので自由に使用できる点があげられますが、ソースコードを保守することも可能です。以下に、他のリッチクライアント開発環境と比較して考えられる、Laszloを使うメリットを挙げてみます。
- ページを切り替えることなく一連の操作が行えるようなユーザーインターフェイスをWebクライアント上に実現できる
- Java、オブジェクト指向、XML、JavaScriptといったWebエンジニアには標準となった技術を使用しているので、開発の導入コストを低く抑えることができる
- LaszloプレゼンテーションサーバはJ2EE アプリケーションサーバ、Javaサーブレットコンテナ上で動作し、LaszloアプリケーションとはXMLベースで通信するので、既存のJ2EE環境上への導入が可能
- Flash Player(Flash5, 6, or 7 Player)がインストールされている必要があるが、Flash 5以上に対応しているので大抵のクライアント環境で動作可能
- 将来的には、クライアントのプラットフォームとして、Flash Playerのみならず、ほかのプラットフォーム、例えば、JVM、.NET CLRなどへの対応も予定している(シングルソースコードマルチデバイス対応)。
■ Laszloアプリケーションの操作感
Laszlo Systems社のデモサイトからLaszloアプリケーションを操作することができます。デモ紹介のページにリストされているLaszloアプリケーション のいくつかは実際に起動することができるので、試しに アマゾンストアをクリックして起動してください。商品をショッピングカードにドラッグ&ドロップで追加できるなど、Laszloアプリケーション が提供するリッチ・ユーザーインターフェイスを体感できるはずです(画面3)。
画面3 商品をショッピングカードにドラッグ&ドロップで追加 |
■ Laszloの動作環境
・6.1 対応プラットフォーム
バイナリ形式は「Mac OS X 10.2 or above」「Linux/Unix」と「Windows 2000 or XP」の3つのプラットフォームに対応したバージョンがリリースされています。
・6.2 実行環境
Laszloプレゼンテーションサーバが動作するには、JavaSDKがインストールされている必要があります。インストールされていない場合は、http://Java.sun.com/j2se/1.4/
からダウンロードしてインストールする必要があります※。
※Mac OS X の場合は、JavaSDKがデフォルトでインストールされている。 |
1/2 |
INDEX |
||
Open Laszloを使って作るリッチクライアント 第1回 | ||
Page1 Laszloとは? Laszloアプリケーション/アーキテクチャ/メリット/操作感/動作環境/実行環境 |
||
Page2 インストール ダウンロード/インストール/インストールされるもの/動作確認/起動と終了/サンプルソースコードの編集/Hello World |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|