みなさんは、システムと聞くと全て同じとお考えの事と思います。実は、データを置く場所やデータを閲覧・編集する端末によって開発に使用するプログラムやデータベース、及び仕組み等がかなり異なります。
正しい選択を行わなければ、コストがかかりすぎたり、セキュリティが脆弱だったり、最悪の場合、システム自体が滞ってしまったりします。
我々、システムを制作する側の人間は、正しく理解しており先ず間違える事はありませんが、時折、確信犯の噂を聞いたりする事もありますのでご注意ください。
もしもの場合には、以下を参考にして下さい。
1台のコンピュータ内でシステムが完結するタイプです。1台のコンピュータ内でプログラムが動作し、データもそのコンピュータに保存します。
費用:1台のコンピュータを1人~複数人で使用する様な場合、もしくは、複数台のコンピュータがあったとしても、互いが入力したデータを閲覧、編集する必要が無い場合に使用するタイプです。
開発に使用する言語及びデータベース:小さな商店さんやご家族での会社規模であれば、大きな投資をする必要のないMicrosoft Accessによるシステム開発をお勧めいたします。お持ちのコンピュータのスペックが低すぎなければ、そのコンピュータをご使用いただけ、特に追加でパソコンを購入の必要はありません。また、Microsoft Accessをお持ちでなくてもAccessで制作したシステムを動作させることのできるソフトをMicrosoft社のサイトより無料でダウンロード、インストールできますのでイニシャル費を0円とする事が出来ます。
VisualBasic、Java等は、Microsoft Accessの様に入出力オブジェクト、データベースが付いてませんので別途、用意する必要があります。無料で配布されている物を使用する事も出来ますが、購入しなければならない場合もあります。その場合、数万円~数十万円かかる可能性がありイニシャル費が上がってしまいます。
将来、従業員が増え、パソコンの台数も増えるという場合は、クライアントサーバ型への移行(アップサイジング)が行えるような設計にしておく必要があります。Microsoft Accessでも、VisualBasic、Javaでもアップサイジングは可能です。
データをサーバへ保管し、そのサーバのデータへクライアントコンピュータがアクセスするスタイルです。データを保管するデータベースがサーバ内で動作し(データベースサーバと呼ぶ)、そのサーバへクライアントコンピュータにインストールされているプログラムがアクセスする事によりデータの閲覧、変更を行うタイプです。
費用:複数台のコンピュータで、互いが入力したデータを閲覧、編集(共有)し集計や分析等が必要な場合。
開発に使用する言語及びデータベース:Microsoft Access、VisualBasicの場合、クライアントコンピュータは、Windowsに限定されてしまいます。会社内で各人が仕事に使用しているコンピュータが全てWindowsであることが条件となります。
Javaの場合は、Javaが動作する機器であれば動作しますが、開発費用も大きくなってしまいます。
データベースは、データベースに接続するためのドライバーさえ存在すれば、どの様なデータベースを使用しても問題はありませんが、データのやり取りを日々、どの程度、データの量を、どの程度保管するかにより適切なデータベースを選択する必要があります。
Microsoft Accessに付いているデータベースのJetは、あまり莫大なデータは保管できません。また、Jetは、5~10人以上で同時アクセスを行うとパフォーマンスが著しく悪くなります。この手のシステムであれば、SQL ServerやOracleを選択するのが妥当でしょう。
また、遠く離れた事業所等とデータを共有させたい場合は、VPNと呼ばれる機器を使用し、離れた事業所からもデータベースに接続できるようにする必要があります。
サイトを閲覧する様な形でシステムを使用するタイプ。基本的には、ブラウザのみを使用するため、プログラムをインストールする必要がありません。
費用:複数台のコンピュータや端末(iPhone、iPad、Android)で、互いが入力したデータを閲覧、編集(共有)し集計や分析等が必要な場合。
開発に使用する言語及びデータベース:クライアントとなる端末はWindows、Mac、iPhone、iPad、Android、ガラ携、等、インターネットを閲覧できる端末であれば基本的には利用する事が可能です。
クライアントコンピュータにプログラムをインストールしないため端末が増えた場合の管理が容易です。
様々な方法を選択できる形態で、サーバを社内に立てる事も選択できますし、外部にサーバを借りる方法も選択できます。
お持ちのホームページとの連動が可能なためホームページ上で商品を販売している様な場合に威力を発揮しやすいです。
ただし、レンタルサーバ等を使用している場合は、セキュリティに考慮する必要があります。