WindowsネイティブなWebアプリケーションを開発するVisual WAO。無料の開発キットを提供[PR]

2014年11月26日

Visual Studioで開発したネイティブアプリケーションを、Webアプリケーションと同様にインターネット上で実行できる機能を提供するチェプロの「Visual WAO」。HTTPに対応したクライアント/サーバアプリケーションを開発でき、しかもクライアントアプリケーションの自動アップデートにも対応するため、変更のたびにクライアントアプリケーションをいちいち配布する面倒な手間が掛かりません。

fig Visual WAOとは

Visual WAOは、.NETの高い開発生産性と、これまでクライアント/サーバアプリケーションを開発してきたノウハウをそのまま、WindowsネイティブなWebアプリケーションの構築に活かすことができるのが最大の特徴です。

しかもサーバとクライアントのあいだでデータを効率よくバイナリ化して送受信しているため、インターネットを経由していても高速なレスポンスを実現。IISのようなWebサーバは使わず、コネクション管理やロードバランスといった複雑なコーディングや運用管理をすべてVisual WAOが行なってくれるため開発も運用も容易です。

無料で開発環境が揃うVisual WAO

Visual WAOは無料で開発キットを提供しています。Visual WAOのWebページから開発キットをダウンロードすれば、すべての機能が無期限で利用可能。さらに3クライアントまでのライセンスも無料で提供されているため、実際に小規模なアプリケーションを実務で試すこともできます。

開発環境として無料版のVisual Studio Expressや、発表されたばかりのVisual Studio Community 2013にも対応しているため、誰でもコストを掛けずVisual WAOを試せるのです。

ここでは、この開発キットを使ってアプリケーションを作る際の、ポイントとなるコードの例を見ていきましょう。

コード1行で接続。セッション管理不要

まずVisual WAOのビジュアルなツールでデータベースへの接続と、データベースのレコード定義を行います。この「レコード定義」によって、アプリケーションのクライアントとサーバのあいだで受け渡されるデータも自動的に定義されます。

例えば社員管理データベースならば下記の画面のように、社員テーブルにユーザID、氏名、性別、生年月日などなどをレコードとして定義します。

Visual WAOのバックエンドデータベースには、SQL ServerやOracle、DB2、あるいはODBC対応のデータベースが利用できます。

fig

Visual WAOでは、クライアント側のプログラム、サーバ側のプログラムをそれぞれ開発します。

クライアントアプリケーションのコードを見ていきましょう。最初に行うのは、クライアントからサーバへ接続する処理ですが、そのコードの例が下記です。先頭が「waoc」となっているのが、Visual WAO専用の関数。3つ目の引数にサーバ側のプログラム名を指定します。ここでは「EmplyoeeManagement_Central」となっています。

waoc.WaoRemoteOpen("wao", "EmplyoeeManagement", 
        "EmplyoeeManagement_Central")

この関数を実行して返値がTrueならば、クライアントは無事にサーバと接続できたことになります。

以後は接続を終了するまで、この接続が有効になっている前提でコードを書いていきます。セッション管理などを気にする必要はありませんので、ごく普通にクライアント/サーバのアプリケーションだと思って開発していけばいいのです。

サーバ側にデータを渡し、SQL文を組み立てて実行

データの追加や更新、検索といったデータベースの処理を呼び出すときにクライアント側のコードの例が下記になります。

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 Studioの機能をそのまま活用

Visual WAOは、Visual Studioの開発環境の高い開発効率をもちろんそのまま活用できます。例えば、アプリケーションの任意の位置にブレークポイントを設定すれば、実行中のアプリケーションを一時停止させ、変数の値を確認するといったことが可能です。

fig

もちろんWindowsフォームのコンポーネントやサードパーティのコンポーネントなどもVisual WAOと組み合わせて自由に利用できます。

このようにVisual WAOのプログラミングは、クライアントからサーバに必要なデータを渡して処理を呼び出すというクライアント/サーバ型のアプリケーションを、Visual WAOが用意したライブラリによってシンプルかつ簡単に記述でき、しかもVisual Studioの機能をそのまま使えるため、高い開発生産を実現していることがお分かりいただけたでしょう。

より詳しいVisual WAOの開発ツールの使い方、サンプルプログラムなどについてはVisual WAOの「技術情報」のページで解説されています。あわせてご覧ください。

≫Visual WAOの技術情報とダウンロード

(本記事は株式会社チェプロ提供のタイアップ記事です)

あわせて読みたい

Windows プログラミング言語 開発ツール PR




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本