Visual Studioで開発したネイティブアプリケーションを、Webアプリケーションと同様にインターネット上で実行できる機能を提供するチェプロの「Visual WAO」。HTTPに対応したクライアント/サーバーアプリケーションを開発でき、しかもクライアントアプリケーションの自動アップデートにも対応するため、変更のたびにクライアントアプリケーションをいちいち配布する面倒な手間が掛かりません。
Visual WAOは、.NETの高い開発生産性と、これまでクライアント/サーバーアプリケーションを開発してきたノウハウをそのまま、WindowsネイティブなWebアプリケーションの構築に生かすことができるのが最大の特徴です。
しかもサーバーとクライアントの間でデータを効率良くバイナリ化して送受信しているため、インターネットを経由していても高速なレスポンスを実現。IISのようなWebサーバーは使わず、コネクション管理やロードバランスといった複雑なコーディングや運用管理を全てVisual WAOが行ってくれるため開発も運用も容易です。
Visual WAOは無料で開発キットを提供しています。Visual WAOのWebページから開発キットをダウンロードすれば、全ての機能が無期限で利用可能。さらに3クライアントまでのライセンスも無料で提供されているため、実際に小規模なアプリケーションを実務で試すこともできます。
開発環境として無料版のVisual Studio Expressや、発表されたばかりのVisual Studio Community 2013にも対応しているため、誰でもコストを掛けずVisual WAOを試せるのです。
ここでは、この開発キットを使ってアプリケーションを作る際の、ポイントとなるコードの例を見ていきましょう。
まずVisual WAOのビジュアルなツールでデータベースへの接続と、データベースのレコード定義を行います。この「レコード定義」によって、アプリケーションのクライアントとサーバーの間で受け渡されるデータも自動的に定義されます。
例えば社員管理データベースならば下記の画面のように、社員テーブルにユーザID、氏名、性別、生年月日などなどをレコードとして定義します。
Visual WAOのバックエンドデータベースには、SQL ServerやOracle、DB2、あるいはODBC対応のデータベースが利用できます。
Visual WAOでは、クライアント側のプログラム、サーバー側のプログラムをそれぞれ開発します。
クライアントアプリケーションのコードを見ていきましょう。最初に行うのは、クライアントからサーバーへ接続する処理ですが、そのコードの例が下記です。先頭が「waoc」となっているのが、Visual WAO専用の関数。三つ目の引数にサーバー側のプログラム名を指定します。ここでは「EmplyoeeManagement_Central」となっています。
waoc.WaoRemoteOpen("wao", "EmplyoeeManagement", "EmplyoeeManagement_Central")
この関数を実行して返値がTrueならば、クライアントは無事にサーバーと接続できたことになります。
以後は接続を終了するまで、この接続が有効になっている前提でコードを書いていきます。セッション管理などを気にする必要はありませんので、ごく普通にクライアント/サーバーのアプリケーションだと思って開発していけばいいのです。
データの追加や更新、検索といったデータベースの処理を呼び出すときにクライアント側のコードの例が下記になります。
waoc.WaoUpdate_invokeCentral("update_call", arrParam)
「update_call」はサーバー側で呼び出す処理の名前、そしてサーバーに渡す変数がarrParamです。このarrParamには、最初にレコード定義をして作られた変数にデータを入れて呼び出します。
サーバー側では、上記のコードが実行されるとデータが渡され、呼び出された処理が走ります。下記は上記のコードで呼び出されたサーバー側のコードです。
Public Function EmplyoeeManagement_Central_SW(ByVal mParameters As ArrayList) As Object : 略 : Select Case CType(mParameters(0), String) Case "select_call" '◆ 検索処理 : 略 : Case "update_call" '◆ 更新処理 : 略 :
サーバー側では、クライアントから受け取ったデータを基にInsert文やUpdate文を組み立ててデータベースに投げることで、データベースに対する処理が行えるわけです。
クライアントから検索したい場合には、次のようなコードになります。
waoc.WaoRead_invokeCentral("select_call", arrParam,0)
サーバー側で検索を実行すると、検索結果がVisual WAOのレコード定義で設定した変数に格納されて処理がクライアント側に戻ってきます。クライアント側で変数から値を取り出して、好みの方法で表示できます。
Visual WAOは、Visual Studioの開発環境の高い開発効率をもちろんそのまま活用できます。例えば、アプリケーションの任意の位置にブレークポイントを設定すれば、実行中のアプリケーションを一時停止させ、変数の値を確認するといったことが可能です。
もちろんWindowsフォームのコンポーネントやサードパーティのコンポーネントなどもVisual WAOと組み合わせて自由に利用できます。
このようにVisual WAOのプログラミングは、クライアントからサーバーに必要なデータを渡して処理を呼び出すというクライアント/サーバー型のアプリケーションを、Visual WAOが用意したライブラリによってシンプルかつ簡単に記述でき、しかもVisual Studioの機能をそのまま使えるため、高い開発生産を実現していることがお分かりいただけたでしょう。
より詳しいVisual WAOの開発ツールの使い方、サンプルプログラムなどについてはVisual WAOの「技術情報」のページで解説されています。併せてご覧ください。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:株式会社チェプロ
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2014年12月25日