- ベストアンサー
AccessからWebアプリケーションへの移植に関して
- マイクロソフトのAccessで管理している顧客情報をWebアプリケーションに移植する方法について教えてください。
- Webアプリケーションでの顧客情報の追加や変更をインターネット経由で行いたい場合、どのようなセキュリティ対策が必要でしょうか?
- Accessのデータを安全に編集するための手段や効率的な移植方法について教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Webアプリケーションには特有の条件があり、従来の クライアント/サーバ型のアプリケーションと同じ ように考えると失敗します。例えば同じ画面で何回も オペレータと会話するようなプログラムを考えます。 クライアント/サーバ型では同じ画面なら同じ人物 (この場合はプログラムですが)と向き合っている と考えてよいのですが、Webアプリケーションでは サーバとデータの受け渡しをする度に同じ顔をした 別人が表れて対応することになります。「前、こう だったよね?」と言っても、同じ顔の別人は何も 知らないのです。こういった内部情報をどうやって 継承させるかが難しい点です。その他にMsgBoxなどは 使えません。(サーバ側でダイアログが出ても誰も 対応してくれない)また、レポートがある場合はどう やって処理するか(サーバのある所で印刷物が出ても クライアントには意味がない)も考え物です。 従って、「移植」という観念で扱えるかどうか微妙な 気がします。現行のプログラムが如何ほどのものか 分からないのですが、画面や処理内容は同じにした 別のアプリを再構築するくらいに考えた方が無難だと 思います。 尚、同じMicrosoftの身内という点ではAccess専用の コンポーネントを持つASP.NETが分かり易いかとは 思いますが、VBでもAccessのVBAとASP.NETで使用する VB.NETではかなり異質な言語系なので、単純には移植 できません。 現行システムの内容が分からないので、「エイッ」と 決めるならASP.NET+VisualBasicあたりでしょうか。 あくまで、個人的な意見ですが…
その他の回答 (4)
- temtecomai2
- ベストアンサー率61% (656/1071)
Access で運用していたものを 「インターネット越しに特定の施設間でのみの通信に限定した Web アプリケーション」 に飛躍させる理由の方が気になりますね。 インターネットを間に挟んで特定の拠点間で通信をするなら自前で VPN を設定するとか、NTT 等が出している拠点間でセキュアに協業するためのサービスを借りるとかがありますが。 Web サーバー側で特定の IP からの通信のみを通すようにしてもインターネットを流れるデーターが暗号化されてないってのも。。。
お礼
ご回答ありがとうございます。 >Access で運用していたものを 「インターネット越しに特定の施設間でのみの通信に >限定した Web アプリケーション」 に飛躍させる理由の方が気になりますね。 その特定の施設でも同じようにAccessで顧客情報を管理しているため各施設の情報を統合して管理したいというのが目的です。 >インターネットを間に挟んで特定の拠点間で通信をするなら自前で VPN を設定するとか、 >NTT 等が出している拠点間でセキュアに協業するためのサービスを借りるとかがありますが。 NTT等でそのようなサービスがあることを知りませんでした。 ありがとうございます。参考にさせていただきます。 >Web サーバー側で特定の IP からの通信のみを通すようにしても >インターネットを流れるデーターが暗号化されてないってのも。。。 現時点で、他の回答者様のご意見を参考に、ASP.NETを使用することを考えると、サーバーとしてはWindows Server 2008 R2を利用出来ないかと考えております。 その際、セキュリティの面から「ベリサイン」等のサービスが利用できないかとも考えております。 正直、これについてはまだまだ調査段階のため、実際に使えるのかなどもまだ解っておりません… また、もしWebアプリケーションとして構築することが困難だと判断した場合、 Windows Server 2008 R2のリモートデスクトップ機能が使えないものかとも考えています。 この場合、単純にリモートデスクトップでサーバーに接続し、Accessを起動させるということになると思うのですが、 そのような使い方に問題が無いかも調査中です…
- qaqa246
- ベストアンサー率27% (45/163)
Accessを扱いたいとなるとASP.NETってこと二なるでしょう。 そうするとサーバ側もWindows系のサーバということになりますね。 どっかの誰かがDBにMySQLをすすめているけど状況によってはMySQLはやめておいた方がいいです。 GPL汚染で後で苦労する可能性があります。(Mysqlの商用ライセンスを買えば良いですけどね。) ですからDB側はPostgreSQLかデータ件数によりますがSQLite(ファイルタイプのDBなのでAccessに近い感覚?)を利用した方が良いでしょう。
お礼
ご回答ありがとうございます。 >Accessを扱いたいとなるとASP.NETってこと二なるでしょう。 やはりASP.NETがキーになりそうですね。 >GPL汚染で後で苦労する可能性があります。 確かに開発に使用する環境のライセンスに関する調査も必要ですね。 とても参考になるご意見ありがとうございました。
Webデータベースの場合SQLサーバが多く利用されています。 アパッチサーバ+PHP+MYSQL構成で使用されるのが通常です。 ルナックスで有るこの構成(LAMP)を構築して有るブートCDが用意されてます。 ASP.NETで造る方法も可能でしょうが、クライアントが限定されますので上記の構成をお勧めします。 サーバで利用する場合特に同じデータを同時に複数の人がアクセス出来ない設定が必要です。
お礼
ご回答ありがとうございます。 >ASP.NETで造る方法も可能でしょうが、クライアントが限定されますので上記の構成をお勧めします。 今回の場合、ある特定の施設からのみのアクセスを予定しているため、クライアントとしては「○○ブラウザを使用すること」という指定も可能だと思われます。しかし、確かに今後の発展性なども考えると、クライアントが限定されてしまうという点も考える必要がありそうですね。 >サーバで利用する場合特に同じデータを同時に複数の人がアクセス出来ない設定が必要です。 このあたりは特に難しいところですよね。 とても参考になるご意見ありがとうございました。
- e00083
- ベストアンサー率31% (25/80)
AccessをデータベースとしてWeb開発は可能ですが 安全を考えるなら 「どこの会社に依頼したほうがよい」だと思います。
お礼
正直なところ、私も「どこの会社に依頼したほうがよい」という気持ちでいっぱいです^^; ご回答ありがとうございました。
お礼
ご回答ありがとうございます。 >サーバとデータの受け渡しをする度に同じ顔をした別人が表れて対応することになります。 私自身、まだWebアプリケーションの知識が不足しているため、ちょっとまだピンときていない部分がありますが、まずはWebアプリケーションの仕組みを勉強する必要がありそうですね^^; >その他にMsgBoxなどは使えません。 >(サーバ側でダイアログが出ても誰も対応してくれない) >また、レポートがある場合はどうやって処理するか >(サーバのある所で印刷物が出てもクライアントには意味がない)も考え物です。 確かにMsgBoxや印刷がサーバー側で動作しても仕方が無いので、そのあたりもどうやって対処するかも検討してみたいと思います。 >同じMicrosoftの身内という点ではAccess専用のコンポーネントを持つASP.NETが分かり易いかと ASP.NETでの開発はまだ経験がないのですが、確かにMicrosoftの身内という点では効率よく開発できそうですね。 とても参考になるご意見ありがとうございました。