皆様、クライアントサーバシステム (省略するとクラサバシステム)
にどう取り組んでいらっしゃいますか。アプリテック株式会社では、クラサバシステムに関わる話題をご提供しております。
弊社の主業務は、Windows 系のクライアントアプリを Visual Basic で組む際のご支援なのですが、クラサバシステムに関わる面白い話がいろいろとありますので、それをご披露することで、皆様のお役に立てていただこうという趣向です。
ここでは、クラサバシステムの構築に用いるツールの選択の際に考慮すべきポイントについて考えてみます。
Windows クライアントのアプリ開発を支援する弊社の MANDALA というツールの宣伝をするのではなく、ツール選択の基本的な考え方を中心にお話したいと思います。いつものとおりです。
◎クライアントはWindows
サーバは、NetWare、 Windows NT、 UNIX またはオフコンやメインフレームなどいろいろ考えられると思いますが、クライアントは Windows系ということになると思います。勢いやソフトの数からして、「クライアントは
Windows系に決まり」 といっても過言ではないでしょう。こう決まると、あと必要になるのは、Windows系アプリの開発を支援するツールとサーバとの連携ツールの二つです。ここでは前者に焦点を当ててお話しいたします。
◎既存言語は場合の選択
Windows系アプリの開発には、昔はC言語が必要だとみなされていましたが、実際には
COBOL も使えます。また、ツール類としては老舗の SQL Windows もあれば、一時勢いのあった PowerBuilder や Delphi もあれば、スタンダードな
Visual Basic もありますし、これ以外にもあることでしょう。
これらの中で、C言語は、通信系のシステムソフトを構築するような制御系の開発には必須ですが、業務アプリの構築にわざわざ用いることはありません。その証拠にC言語から生産性の高い
Visual Basic に転向する開発者が現れているほどです。また、COBOL は旧資産を有効に働かせる場合の選択であり、新たに構築するときには、Windows
系 OS のイベント駆動の長所を活かすためにも、これにこだわる必要はないでしょう。
◎スプレッドシート系やデータベース系ツールでも構築できる限定クラサバ
EXCEL などのスプレッドシート系ツールや ACCESS などのデータベース系ツールも有効ですが、これらで構築できるクラサバは限られたものです。この辺りを十分に認識した上でツールを選択する注意が肝要です。これらのツールで無理なく構築できる限定クラサバを構築するのであれば、高い生産性を上げることができます。しかし、無理をする羽目になる(マクロのお化けになる)ようだと、かえって生産性が悪くなってしまいます。
◎インフラ(基盤)ツールとアドオン(付加)ツールの併用
そこで本格的なクラサバ構築のためのインフラツールとしては、Visual Basic か、SQL Windows か、PowerBuilder か、... ということになります。しかし、欧米生まれのイフラツールだけでは日本の伝統的な業務アプリに中々しっくりとはいかないものです。例えば、カーソルを矢印キーで操作できるのが常識だと思うのですが、これは標準サポートされていません。そこで、こういった点を補うツールが欲しくなるものです。インフラツールの上にアドオンツールの併用をすることで始めて生産性を上げることができるというわけです。
数人の方々から「PowerBuilder版の MANDALA が欲しい」と要求されました。これは、欧米生まれのイフラツール (Visual Basic も
Power Builder も ... ) そのままでは日本の業務アプリにしっくりといかないことの証拠に他なりません。
■インフラツールの選択基準
ずばり Visual Basic がこれらの基準を最も満たすものです。
Visual Basicについては80種類以上の本が市販されており、情報が容易に手にはいります。あるソフトハウスの方は「お客様の中に Visual
Basic に詳しい方がいらっしゃると、そういう方と一緒に仕事をするのはしんどいので PowerBuilder を使っているんですよ」との意見でしたが、むしろ情報が得やすいツールを選ぶべきでしょう。
■アドオンツールの選択基準
例えば、Visual Basic の上には、立体感をもつ画面にする
OCX とか、画面の上にスプレッドシートを展開する OCX とか Btrieve ファイルアクセスの OCX とか、OCXの花盛りです。これらアドオンツールも米国で開発されたものの日本語版や焼き直し版が多いのが実態です。米国製ツールの日本語化を専門に行っている文化オリエント社も日本の業務アプリを意識したもの
(InputMan のようなもの)はさすがに米国に見つけることができなかったためか独自開発したとのことです。
選択の際には、貴方がこれから構築しようとするようなアプリを狙って開発されたツールであり、そのツールで構築したアプリの操作性が満足いくものかどうかを冷静に判断しましょう。例えば、MANDALA はオフコンやメインフレームで動作させていたような種類の業務アプリに焦点を当てて開発したものであり、GUI(グラフィカルユーザインタフェース)
とキーボード操作の融合を図ったもので、特にデータのインプット操作の滑らかさには定評があります。
アドオンツールはそれぞれ狙いどころがあるものです。ちょっと見よいと思っても狙いが合っていないと思わぬところで躓くものです。従って、これから構築しようとするアプリに合っているかどうかを中心に判断するのがよいと思います。
また、MANDALA のように、安全弁としてツール自体をお客様の要件に合わせてカスタマイズするサービス (お抱えツール屋サービスなど)
が受けられるかどうかにも注目しましょう。
◎生産性は試用した感覚で判断
MANDALA が生産性の向上効果を発揮するのは、他のツールと同様で、狙いどころに合った使い方をするときです。つまり、MANDALA
が自動生成するプログラムを活用できる場合です。
ツール選択は、どこが優れているか話を聞いて納得するだけでなく、試用して合っているかどうかの実感を得ることが大切です。一般的にいって、どんな場合にも生産性を何倍にすると断言できるようなツールなど存在しません。具体的に、貴方のアプリ開発の場合については、と考えると、どの程度の生産性を上げられるか見えてくるものです。ですから、貴方ならそのツールで生産性をどれだけ上げられるのかという感覚をもつことが重要です。
話を聞いた上で試して実感を得ることが重要ということを結論に、この辺りで話を締めくくることにします。
皆様のご意見や感想をお待ちいたします。それに従って、この内容をより分かりやすいものにしていきたいと考えております。
「アプリテック社のホームページ」に戻る。