CSPによる簡単なデータベースアプリケーション例(CSP Samples Menuの紹介)
CSPは非常に豊富な機能を持っているため、そのすべてをここで紹介することはできません。詳細は、「ドキュメント」にある「Caché Server Pages (CSP) の使用法」を参照してください。最後に、データベース内のデータを利用した簡単なデータベースアプリケーションの例として、冒頭で紹介したCSP Samples Menuのいくつかを紹介しましょう。
form.csp
メニューの上から7番目にある「form.csp」は、オブジェクトタグからフォームを生成する例です。ソースコードは長くなりますので割愛しますが、メニューから[Source]を選ぶと見ることができますので、興味がありましたら確認してみてください。
実行結果は次のとおりです。
ここで[Search]をクリックすると、「Caché検索」画面となり、インスタンスの検索が可能となります(この画面では、名前がMから始まる人を検索し、ソートした結果を表示しています)。
mytable.csp
メニュー中程にある「mytable.csp」は、Webページにデータベースの永続オブジェクトを表示させるもので、そのためにスクリプト内でオブジェクトのインスタンスを開き、プロパティの一部をHTMLテーブルに表示させています。これが最も簡単な方法です。以下に、CachéのSAMPLESデータベース内のSample.Person
クラスのインスタンスを表示させるソースコードを掲載します。
<html>
<body>
<script language="CACHE" runat="SERVER">
//Sample.Person
クラスのインスタンスを開く
Set id = 1
Set person = ##class(Sample.Person).%OpenId(1)
</script>
<table border="1">
<tr><td>Name:</td><td>#(person.Name)#</td></tr>
<tr><td>SSN:</td><td>#(person.SSN)#</td></tr>
<tr><td>City:</td><td>#(person.Home.City)#</td></tr>
<tr><td>State:</td><td>#(person.Home.State)#</td></tr>
<tr><td>Zip:</td><td>#(person.Home.Zip)#</td></tr>
</table>
<script language="CACHE" runat="SERVER">
// オブジェクトを閉じる
Set person = ""
</script>
</body>
</html>
CSP Samples Menuから実行しても結果が表示されますが、このソースコードを「mytable.csp」という名前で、Cachéをインストールしたディレクトリの「/csp/samples」ディレクトリに保存し、ブラウザで開いても同じ結果となります。結果は、下図のように、単純なHTMLテーブルにデータが表示されるものです(この例では、http://localhost/csp/samples/mytable.csp)。
まとめ
CSPについて、本稿ではさわりだけを紹介しました。冒頭で紹介したCSP Samples Menuには、さまざまなWebアプリケーション例があり、そのソースコードを見ることができます。また、インターシステムズのサイトにある、「Cachéテクノロジガイド」および「Cachéチュートリアル」でもCSPの紹介をしています。ぜひ参考にしてください。
次回は、Cachéが提供するWebアプリケーションフレームワークである「Zen」について解説します。本格的なWebアプリケーション構築のために、実例を交えながら説明しましょう。