SQeeL Webアプリケーションに最適
"html" というキーワードのあとに続けて、
SQeeL はキーワード "html" 以降の文字列をそのままブラウザに送信します。 SQeeL ではこれを html 文と呼びます。
html 文には SQeeL で定義された変数を埋め込むことができます。 例えば "name" という変数の文字列 "KEN" という文字列が代入されているとすると、
SQeeL では文字列リテラルの中に "${" と "}" で括られた文字列があるとその文字列を式とみなし、その式を評価した結果を "${" と "}" で括られた部分と置き換えます。
よって、
式の中にはユーザが定義したユーザ関数も含むことができますので、関数で得た値を HTML に追加することも可能です。
さらに、リンクの部分に
ユーザがブラウザでこの部分をクリックすると、この関数 func1 に引数 arg1 と arg2 が渡されて呼び出されます。
他のソースファイルの関数を呼び出したい場合は、
SQeeL は "!{" と "}" で括られた部分の関数呼び出しを、正しくサーバ上で SQeeL を起動できる文字列に変換してブラウザに送信します。
この SQeeL 呼び出しの記述はフォームにも利用できます。
例えば、"abc" という名前のついたテキスト入力フィールド、
html <INPUT TYPE="TEXT" NAME="abc">
html </FORM>
通常の SQeeL のソースコード(拡張子 ".eel" )のほかに HTML で書かれたソースコード(拡張子 ".eht" )を実行できます。
HTML ドキュメントファイルの拡張子を ".eht" に変更して SQeeL に実行させると SQeeL はその HTML をそのままブラウザに送信します。
<HEAD>
<TITLE>SQeeL</TITLE>
<META NAME="Description" CONTENT="SQeeL HOME PAGE">
</HEAD>
<HTML>
<BODY>
SQeeL のホームページ
</BODY>
</HTML>
<A HREF="!{func1(arg1, arg2)}">次の処理</A>
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 プログラムのデバッグも簡単に行うことができます。
