Informatik-Wiki
CTIシステム HTA版のミニツール
最終更新:
ahr
-
view
ミニツールって、、、
CTIシステムを構成する要素は大きく分けて次の3つです。
- DBサーバ
- CTIサーバ
- クライアント
この3つです。
DBサーバ+クライアントはいわゆるDBアプリで、ごく普通のクライアント・サーバ システムです。
これに回線管理と制御を行なうCTIサーバが加わり、DB情報の中に回線周りのデータが入ってくるのがCTIシステムの特徴です。
これに回線管理と制御を行なうCTIサーバが加わり、DB情報の中に回線周りのデータが入ってくるのがCTIシステムの特徴です。
DBアプリなので、当然データのインポート、エクスポート、各種分析にも対応しています。このあたりでいかに現場の役に立つ環境を提供出来るかが、この手の商品の競争力の決め手になると考えています。そう、なぜなら、どのCTIシステムをとってみても、基本的にやれる事は似たり寄ったりになるからです。
このあたりの「差別化」に貢献する方法のひとつが充実したミニツールのラインナップを揃える事にあります。大げさなものでなくても、ちょっと気のきいた、「出来る」部分が、同レベルの商品で競合した時に、自社製品を選んでもらえるポイントのひとつになります。後発のわが社の狙い所はこうした「すき間」をうまく見つけて小さいながらも実績を積んでいく事にあります。
それは、当然といえば当然の選択で、本格開発にいきなり手を出してしまうには、リスクが余りにも大きすぎるからでもあります。不景気で手の空いた要員が発生しやすい今の次期に、こうした、未来を見据えたミニ開発に少しずつ馴染んでいく事は、決して無意味ではありません。小銭も入るし、空き要員のスキル維持にも役立ちます。そして、その積み重ねがいずれ日の目を見る時がくるのです。
HTAで作る意味
私自身は筋金入りのアンチ・マイクロソフトなので、こんなもので作りたい訳ではないのですが、GUIとロジックの分離が出来て、営業さんが現場で少しの手直しで変えられる手軽さ、Windows環境なら一応どこでも動く(と言われている)事などが、今回採用した理由です。要は、余計なビルドやインストールが不要ってことです。
ところが、これが結構難物でした。
HTAの坂道
HTA自体は随分昔からあるので、既にやってきている人から見たら「なんで今更」としか思えないかもしれませんが、どんな物にしろ初めてやる事ですから結構「水雷屯」的な場面に多くぶち当たりました。
言語の坂
HTAの中身はIE専用のHTMLの様なものなので、基本的にはVBScriptとJScriptが使えます。これが、なんでわざわざ2つ用意したんだ、と言いたくなるほど使い分けがよく分からない代物で、しかも、情報が結構ばらばらと落ちているのでサンプルを見ても自分の所で実行するとエラーになったりしてなかなか応用がききません。また、複数バージョンが存在し、更にWindowsのセキュリティ設定などの影響も受けるので、微軟社が言うように、どのWindowsでも等しく動作する、なんて事はあり得ない状況になっています。訳が分からず回避策をとってその場をしのぐ事の多いこと。。。これも微軟製だからか、と自分に納得させて、次の課題に挑む毎日です。自分はPerl使いなので、いちど書いたらどこへでも持っていけるPerlが懐かしく思えました。
要点:言語仕様には気をつけよう。
- 言語情報がいまいちよくわからない。
- 知りたい情報が得られない。
環境の坂
HTAは、拡張子をHTAにすると、専用のエンジンがこれを読んで実行します。メニューやツールバーの無いIEのようなもの(らしい)です。全く同じHTAファイルの拡張子をhtmlにしてIEで実行すると、警告ダイアログが出たりして、いささか違いはありますが、ほぼ同じGUIを表示して動作します。
しかし、先に述べた様に、HTAファイルのダブルクリック、という動かし方をした場合、あるPCでは何の支障もなく動作していたスクリプトが、別のPCではエラーメッセージを出して起動すら出来ない、という現象が発生します。しかも、微軟社の他の言語系ツールよろしく、エラーメッセージが不適格で、何がどう悪いと言っているのか皆目理解出来ないのです。しかも、HTAエンジンのバージョンそのものは同じでした。つまり、実行環境の差異からくるのではなく、Windowsのその他の設定の差異からくる現象なのです。そして、それを解明する情報を示さないのが微軟社流。
要点:いちど書いたら終わり、ではない
- 同じバージョン、同じランタイム、同じOS上で違う結果になったりする。意味不明。
- サンプルソースの動作条件は不明な事が多く、そのままでは役に立たない事が多い。
それでもHTAを使う目的
ここでふと気付くのです。そんなにろくでもない物を何故敢えて使うのか。
それは、突き詰めて言えば「ちょっと使ってみたかった」からだったりもするのですが、ここではもう少しもっともらしい理由を挙げておきましょう。
それは、突き詰めて言えば「ちょっと使ってみたかった」からだったりもするのですが、ここではもう少しもっともらしい理由を挙げておきましょう。
- Windowsとの親和性が高い(意味もなく実行出来たり出来なかったりするけど)
- 他の微軟社製アプリとの親和性が高く情報が多い(本通りにやっても言う事聞かない奴がいるけど)
- 特別な開発環境やビルドが不要(これは結構大きい)
- Windows環境においては特別なインストールが不要(これも結構大きい)
- (多分)少しの修正でWebアプリに移行できる(これが本当ならこれも結構すごいかも)
なにはともあれ、、、
HTAで作るツール。構成は、以下のようになります。
- HTAファイル(GUI構造の定義。基本はHTMLです)。
- CSSファイル(GUI表現方法の定義。普通のCSSです)。
- VBSファイル(ロジック部。VBScriptソースです。JScriptは使わない事にしました)。
- 前提とするWScriptのバージョンは5.6。いわゆる5.7(.NET対応)ではありません。
開発ツール
まずテキストエディタ。あとはひたすらダブルクリックを繰り返して期待した動きになるまで頑張る、、、でも開発は出来ますが、VBScriptに特化したエディタも色々と出ています。また、微軟社からも、開発支援(撹乱?)ツールがフリーで出ています。何故か余り知られていないものもあります。
