【DO!BOOK・ページリンク】
migaro_tech2012   82 / 100

BOOKをみる

10秒後にBOOKのページに移動します


80 の部分は、前述の「4. DataSnap クライ アントプログラム作成手順」の項で設定 した手順と同様でよい。【図14】 ● TSQLServerMethod コンポーネント  次に、TSQLServerMethod コン ポーネントを貼り付けよう。これは、 DataSnap サーバに定義したメソッ ドを呼び出すことができるクライア ントコンポーネントである。具体的 には、SQLConnection プロパティに SQLConnection1 を指定した後、 ServerMethodName プロパティを選ぶ とメソッドの一覧が表示される。ここで、 先ほど作成したGetDataDTMSCP を選 択すればよい。【図15】  これで、クライアントプログラムから サーバメソッドが使用可能になるわけ だ。プログラムの記述例は、ソース5 の ようになる。  メソッドの引数( 今回の場合、 AMCTRKN)および処理結果の戻り値 (Result)は、TSQLQuery におけるパ ラメータクエリー同様、ParamByName メソッドでアクセスできることが分か る。また、戻り値(Result)は、パラメー タ名のReturnParameter にて取得可能 である。なお、サーバメソッドの実行は ExecuteMethod メソッドを使用する。 【ソース5】  今回作成したクライアントプログラム を実行すると、図16 のようになる。ク ライアントPC で指定した条件により、 DataSnap サーバが検索処理を行い、結 果のデータセットを返却していることが 分かる。【図16】 7.最後に  今回はDataSnap を使用した、3 層ア プリケーションの構築技法を紹介した。 この技法を用いれば、例えばGUI アプ リケーションとWeb アプリケーション とで同じビジネスロジックを使用するよ うな場合にも有益そうである。  図17 は、DataSnap サーバプログラ ムにアクセスするクライアントプログラ ムを、Web アプリケーション用フレー ムワークであるVCL for the Web を使 用して作成したものである。【図17】  Web サーバは通常、社内LAN 環境 とは別にDMZ(非武装地帯)に配置す ることが多い。しかし、DataSnap を使 用すれば、Web サーバとアプリケーショ ンサーバとの間にデータベース接続用の 特別なポートを開放することなくアプリ ケーションを公開できるため、安全性を 向上させることが可能である。【図18】  このように、DataSnap を使用した3 層アプリケーションとしてシステムを構 築しておくと、たとえ当初はクライアン トプログラムをGUI アプリケーション 用に作成したとしても、将来Web アプ リケーション化等を検討する際に容易に 応用がきくし、安全性の向上というメ リット獲得にもつながる。そういったこ とも勘案し、ぜひ一度DataSnap を使用 した3 層アプリケーションにチャレンジ してみてほしい。 M