Open Laszloを使って作るリッチクライアント
(5)
Laszlo Application配置の2つの方法


浅野守
2005/8/16

本連載ではオープンソースのリッチクライアント製品として注目を集める「Open Laszlo」を解説している。Laszloはサーバサイドで生成したコンテンツをFlashとしてクライアントのWebブラウザに配信するもので、Macromedia社のFlexと非常によく似たアーキテクチャを採用。前回「Open Laszloのクラスを定義してコードを活用する」で実装方法を理解できたら、プレイスメントに挑戦してみよう。

Laszlo Application配置の2つの方法

 前回までで、Laszlo Applicationの実装方法がなんとなく分かっていただけたと思います。今回は作成したLaszlo Applicationの配置方法について説明したいと思います。

 Laszlo Applicationを配置するには2つの方法があります。1つはLaszlo Presentation Server(LPS)を使用する方法、もう1つはあらかじめコンパイルしておいた Laszlo Application (.swfファイル)をIISやApacheといったWebサーバーで配布する方法です。後者の方式はSOLO(Standard OpenLaszlo Output)またはサーバーレス(LPSを使用しないので)と呼ばれています。

Laszlo Presentation Server(LPS)で配置する

 Laszlo Applicationのソースコードファイル .lzx ファイルを LPSの配下のフォルダに保存します。Windowsの場合、ユーザーアプリケーションの保存場所はインストール時のデフォルト設定では、

C:\Program Files\OpenLaszlo Server 3.0\Server\lps-3.0\my-apps

になっています。ここに保存したLaszlo Applicationは、以下のURLでアクセスできます(XXXXはソースコードのファイル名)。またmy-appsのフォルダ名を任意の名称に変更しても問題ありません。

http://localhost:8080/lps-3.0/my-apps/XXXX.lzx

 クライアント(Webブラウザ)からアクセスされたLZXソースファイルはSWF形式へ動的にコンパイルされ、最初にコンパイルされたバイトコードはキャッシュされ、クライアントにダウンロードされます。

 では、my-appsに簡単なソースコードを作成して試してみましょう。メモ帳を立ち上げ以下のコードを入力してmy-appsフォルダにhello.lxzというファイル名で保存してください。

<canvas>
      <text>Hello Laszlo!</text>
</canvas>

 http://localhost:8080/lps-3.0/my-apps/hello.lzxにブラウザからアクセスすると、Hello Laszlo!と表示されるはずです。

 LPSで配置した場合、LPSの持つメディア・トランスコーディング、データ・マネージャ、パーシステント・コネクション・マネージャ、キャッシュなどの機能を利用することができます(画面1)。ただしパフォーマンスとトレードオフする場合があるようです。

画面1 Laszlo Presentation Server(LPS)のアーキテクチャ

・ LPS Request Types

 先ほどアクセスしたLaszlo Application、hellow.lzxでは画面2のようなボタンが表示されています。これはLPSがLazlo ApplicationをラッピングするHTMLコンテンツを返しているためです。このHTMLコンテンツの内容は、LPS Request Typeを指定することで制御することができます。前記URLの最後に?lzt=htmlを付けてアクセスすると、先ほどまで表示されていたボタンが表示されなくなります。

画面2 開発ツールボタン

 LPS Request Typeは、lzt=htmlのほかに、lzt=html、lzt=html-object、lzt=window、lzt=embet、lzt=js、lzt=object-tag、lzt=swf、lzt=app_console、lzt=source、lzt=xml、lzt=log、lzt=clearlog、lzt=logconfig、lzt=clearcache、lzt=serverinfo、lzt=errorcount、lzt=errorcount&clear=1、lzt=stat、lzt=gcなどがあります。詳細は「System Administrator's Guide to Deploying Laszlo Applications」の「Chapter 4. LPS Request Types」をご覧ください。

 これらLPS Request TypeによりLPSが返すHTMLのソースコードを、作成したアプリケーションを記述するHTMLソースのテンプレートとして利用することもできます。

SOLO(Standard OpenLaszlo Output)で配置する

 SOLOでLaszlo Applicationを配布するには、あらかじめコンパイルしておく必要があります。

・ Lazlo Applicationのコンパイル
 
 Laszlo Applicationをコンパイルするには以下の3通りの方法があります。

  • コマンドラインからコンパイルする
  • クエリーパラメータlzproxied=falseを指定してLPSでコンパイルする
  • LZXソースのcanvasタグの属性にproxied="false"を指定する

 コンパイルコマンドlzcは、デフォルト設定のインストールでは、C:\Program Files\OpenLaszlo Server 3.0\binに存在しています。「Software Developer's Guide to Laszlo Applications」には、lzc filename.lzxとすることでコンパイルできる記述がありますが、現バージョンでは正常に動作しないようです。

 では、先ほど使用したhello.lzxをコンパイルしてSWF形式にしてみましょう。以下のURLにアクセスしてみてください。LPSがhello.lzxをコンパイルし、my-appsフォルダにhello.lzx.swfという名称で保存します。

http://localhost:8080/lps-3.0/my-apps/hello.lzx?lzproxied=false

・ IISに配置する

 IISの設定の詳細については省きますが、お使いのパソコンにIISがインストールされていて公開しているフォルダがありましたら(デフォルトの状態ではC:\Inetpub\wwwroot)、そこにhello.lzx.swfをコピーしてブラウザからアクセスしてください。やはり同様にHello Laszlo!と表示されるはずです(画面3)。

画面3 IISで配置したLaszlo Application

・ Wrapper HTML

 SOLOで配置した場合、SWFファイルを直接URLで指定しましたがSWFファイルをHTML内に記述して配置することも当然可能です(画面4)。このときのHTMLについては、LPSを使用することで簡単に作成することができます。hello.lxzを例にすると以下の手順で作成できます。

  • LZXソースファイルにlzt=html-objectのLPS Request Typeを指定してアクセスする
  • ブラウザのビューソースでHTMLソースを表示し、エディターへコピー&ペーストする
  • data="hello.lzx?lzt=swf" を data="hello.lzx.swf" に修正する
  • <param name="movie" value="hello.lzx?lzt=swf"> を <param name="movie" value="hellow.lzx.swf"> に変更する
  • ファイルを任意のhtmlファイルとして保存し、hello.lzx.swfを配置したフォルダに配置する

画面4 IISで配置したWrapper HTML

 Wrapper HTMLの作成方法は、SOLOによる配置だけではなくLPSでLaszlo Applicationを配置する場合にも利用することが可能です。

 ここまでで、Laszlo Application配置の2方法についてご理解いただけたでしょうか。次回はLZXのデータ形式とバインディングについて解説します。




HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間