■システムリプレース費用が1/10以下に
一般的にWebで利用するシステムの場合、データベースにMDB、つまりAccessファイルを利用することはまずないでしょう。
MDBは所詮はお手軽アプリケーション的データベースで、本来であればOracle、MySQL、Postgre、MS SQLなど言語、プラットフォームやシステムの内容、規模に応じて利用するものと思います。
しかしながら中小企業のの場合、予算の問題からMDBをデータベースにしてシステムを開発し、最近になってそのMDBの中身をWebから閲覧したくなる場合があるのです。
弊社でも例外ではなく、何年も前に作った既存のVisualBasic6とmdbで開発した予約売上管理システムをどうしてもWebで公開したくなりました。
本来であればシステムのリプレースを検討することになります。
mdbはそれなりのデータベースに移行し、フロントエンドはWebで動作する言語に置き換えることになります。
MySQL or Postgre と PHP or Java or Ruby または MS-SQL と ASP.Netなんてのがお決まりパターンでしょうか。
つまりシステムを作りなおしてデータを移行することになります。
しかし作りなおしとなれば、それなりの予算と時間がかかります。地方の零細企業にとってはあまり予算はかけられません。
その上新しくシステムを作るのでシステムの動作検証期間が必要になります。
システムが安定して動作するまでは慎重に運用が必要です。
どうにか最小限の予算と時間と労力でWebから内容を確認できないかと思っていました。
既存システム + 最小限だけWebシステム
そこで考えたのが、既存のシステムのMDBをそのまま利用し、外部から参照・更新が必要な機能だけをWebで開発することです。
当然ながらMDBではデータベースのトラブルが考えられますが、しっかり必要な部分には排他制御を入れておき、さらに常時自動的にmdbのバックアップを取る仕組みを作っておけば、イザというときは自社内のみの利用なのでなんとかなります。
今回の場合、社内スタッフが予約状況が外部から見られればよいわけで、売上の情報などは会社で見るので既存システムで十分なわけです。
そしてせっかくなので顧客のカルテ管理システムも統合してしまおうと思い、既存MDB+MS SQL(ExpressEdition)を利用し、新しい機能のデータはMS SQLに蓄積することにしました。こうすれば今後少しずつMDBをMS SQLに移行しながらシステムを運用することができるのです。
フロントエンドはASP.Net(ActiveServerPages)を利用しました。Ajax技術も簡単に利用できます。
|
当然のことながらMDBを複数のクライアントから更新するとなれば、排他制御だけでは心配な面はあります。そこは自社で利用するシステムですのでトラブってもその場で修復作業が簡単にできるよう、MDBを常に自動バックアップする仕組みを作ればいいのです。
■MDB+VB + ASP.NET+MS SQL(Express) は予算1/10以下で何の支障もなく運用スタート
まさかWebで利用するシステムのデータベースがMDBとは・・・・普通にリプレースするよりもおそらく予算は1/10以下でしょう。今までのシステム運用はそのままで、Webを通して外部から閲覧できるようになり、さらにこれまで別システムだった機能も統合できました。気になるMDBのクラッシュは、今のところ一度も発生していません。 |