Insight Technology, Inc

インサイトテクノロジー

Japanese | English

オープンソースSQeeLイメージ

SQeeL Webアプリケーションに最適

このように、出力したい HTML をそのままソースコードに埋め込むことができます。
"html" というキーワードのあとに続けて、
html <B>SQeel</B>
と記述します。
SQeeL はキーワード "html" 以降の文字列をそのままブラウザに送信します。 SQeeL ではこれを html 文と呼びます。
html 文には SQeeL で定義された変数を埋め込むことができます。 例えば "name" という変数の文字列 "KEN" という文字列が代入されているとすると、
html <B>My name is ${name}.</B>
<B>My name is KEN.</B>
という文字列がブラウザに送信されます。
SQeeL では文字列リテラルの中に "${" と "}" で括られた文字列があるとその文字列を式とみなし、その式を評価した結果を "${" と "}" で括られた部分と置き換えます。
よって、
html <B>5 * 3 = ${ 5 * 3 } </B>
という html 文が実行されると、
<B>5 * 3 = 15</B>
という文字列がブラウザに送信されます。
式の中にはユーザが定義したユーザ関数も含むことができますので、関数で得た値を HTML に追加することも可能です。
さらに、リンクの部分に
html <A HREF="!{func1(arg1, arg2)}">次の処理</A>
と記述すると、 "!{" と "}" で括られた部分が、同じファイルの関数 func1 の呼び出しに変換されます。
ユーザがブラウザでこの部分をクリックすると、この関数 func1 に引数 arg1 と arg2 が渡されて呼び出されます。
他のソースファイルの関数を呼び出したい場合は、
html <A HREF="!{ 'sample02.eel' .func1(arg1, arg2) }">次の処理</A>
とします。
SQeeL は "!{" と "}" で括られた部分の関数呼び出しを、正しくサーバ上で SQeeL を起動できる文字列に変換してブラウザに送信します。
この SQeeL 呼び出しの記述はフォームにも利用できます。
フォームの場合は、ブラウザで入力された値を関数の引数として関数に渡すことができます。
例えば、"abc" という名前のついたテキスト入力フィールド、
html <INPUT TYPE="TEXT" NAME="abc">
に入力された値を関数に渡したい場合は、関数呼び出しの部分に abc という変数を引数として渡すように記述するだけです。
html <FORM ACTION="!{func1(arg1, abc)}">
html <INPUT TYPE="TEXT" NAME="abc">
html </FORM>
さらに便利な機能として、HTML 形式のソースコードのサポートがあります。
通常の SQeeL のソースコード(拡張子 ".eel" )のほかに HTML で書かれたソースコード(拡張子 ".eht" )を実行できます。
HTML ドキュメントファイルの拡張子を ".eht" に変更して SQeeL に実行させると SQeeL はその HTML をそのままブラウザに送信します。
<HTML>
<HEAD>
<TITLE>SQeeL</TITLE>
<META NAME="Description" CONTENT="SQeeL HOME PAGE">
</HEAD>
<HTML>
<BODY>
SQeeL のホームページ
</BODY>
</HTML>
この HTML 形式のソースコードには SQeeL の html 文の中に記述できる "${...}" や "!{...}" も記述できます。
<B>My name is ${name}.</B>
<A HREF="!{func1(arg1, arg2)}">次の処理</A>
また、SQeeL 独自のタグ、
<EEL>
も利用でき、SQeeL の文を記述することも可能です。
<EEL "a = a + 10">
SQeeL はあるソースファイルから他のソースファイルに定義された関数を呼び出せますので、HTML の出力の部分は HTML 形式のソースファイルで作成し、複雑な処理は通常の形式のソースファイルで作成し、アプリケーションを構成することにより、アプリケーションの開発効率やメンテナンス性の向上を図ることができます。

SQeeL をさらに高速化する機能 CReel

SQeeL をさらに高速化する機能 CReel

アプリケーションサーバ CReeL を利用することにより SQeeL はさらに高速に動作します。 CReeL は SQeeL で書かれたプログラムをサービスとして常駐プロセス化します。 これにより、プロセス起動の時間、オラクルへの接続時間、プログラムの初期化の時間を省き、ユーザに高速なサービスを提供します。また、これらの処理の軽減により、システムにかかる負荷も軽減できます。

CGI として動作していたソースコードは、まったく変更なしに、CReeL 上で実行することができます。 開発時には CGI としてテストし、運用時には CReeL 上で実行するということが可能です。


大規模な開発にも利用可能

1つのアプリケーションを複数のソースファイルで構成することも可能で、あるソースファイルからから他のソースファイルに定義してある関数を呼び出すことができます。 もちろん SQeeL は実行するときに必要なものだけ、ソースファイルをバイトコードへ変換して実行します。


拡張性が高い

SQeeL にない機能や、より高速に動かしたい処理を C 言語でプログラミングし、システム関数として SQeeL に取り込むためのインタフェイスが用意されています。 これにより、SQeeL をユーザ自身が使いやすい言語へとカスタマイズできます。


デバッグが簡単

SQeeL は Debeel と名づけられたソースレベルデバッガを持ちます。
Debeel は SQeeL で作成されたプログラムが期待どおりに動作することをチェックするためのデバッギングツールです。
Debeel を使用することにより、デバッグ作業効率を飛躍的にアップすることができます。
Debeel-c は、コマンドラインで操作する、基本的な SQeeL のデバッガです。
Debeel-java は java の GUI を使った操作が簡単なデバッガです。
Debeel-c と Debeel-java はともにリモートデバッガであり、デバッグをするプログラムとデバッガが TCP/IP 通信を行う形式であるため、別々のマシンであっても、デバッグすることができます。
このため、コマンドラインから起動するプログラムだけでなく、CGI プログラムのデバッグも簡単に行うことができます。