• ベストアンサー

.NETへの移行の必要性について

こんにちは。 今頃?といわれてしまうかも知れませんがお願いします。 現在、社内ではVB6で作成された販売管理のシステム(自社製)使用しています。 今度新たに別のシステムを私が作成することになりました。 今まではVB6で作られたシステムを変更したり、別のシステムを作成したりしていたので、 VB6の経験は数年あるのですが、.NETに関してはまったく触ったことがありません。 これから新たに製作するなら.NETを使用して作成したほうが良いのでしょうが、その場合、どのような利点があるのでしょうか。 新たに導入するとなると、勉強しながらということになり、スケジュールも苦しくなりますし、当然費用もかかります。 そこまでして導入する意義があるのかどうか、教えていただきたいのです。 作成しようとしているソフトはVB6でも作成できるものですので。 システムはクライアントサーバー方式で、サーバーはWindows2003Server(去年NTから変わりました)、 データベースはSqlServer2000,クライアントはWindowsXP。 各営業所はVPNで結ばれており、今のシステムは営業所でも使用しています。(データの更新もしています) なお、現在のシステムはWindowsVista RC1での動作確認は取れています。 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAMA_JP
  • ベストアンサー率100% (1/1)
回答No.2

tenko_amさんこんにちは。 誰もが悩む移行問題ですね。 社内のシステムですか。 社外で仕事をしている方では、移行すべきである。と言うのがまっとうですが、 社内では、移行すべきかどうかは難しいですね。 また、ソフトウェア構築は、どのくらい持たせるかによります。 3年ぐらい持たせるのであれば、VB6.0で十分だと思いますが、 それ以上を見越しているのであれば、.NETに変更するべきだと考えます。 以下に、両方の意見を書いておきます。 移行すべき: (1) VB6.0のサポートがもうじき切れる (2) 使っているユーザが減少していき、参考資料が少なくなり構築がしづらくなる。 (3) WindowsVistaでは、VB6.0のサポート対象外(不確かですが) (4) オブジェクト指向で作成できるので、他者に引き継ぎしやすい。 移行すべきでない: (1) 今まで動いていた資源があるためそれを使用した方が安全。 (2) OSが対応していなくてもVirtualPCと言い古いOSをエミュレートできるので   いつまででも使用できる。 (3) 過去の資源を使用するためお金が大量にはかからない。 (4) VB6.0から.NETへ勉強し直すのに意外と時間がかかる。

tenko_am
質問者

お礼

TAMA_JPさん こんにちは。 ソフトウェアの使用期間ですが、できればいつまででもという感じです。 実際、生産管理に使っているソフトは、もっと前のvb(4.0かもしれない)でできたものですが、 すでに10年くらい使用していて、(もちろんxp上で)今のところ変える予定はないようです。 動く限りは使用するという感じですね。 そうすると、せっかく新しく作るのであれば、なるべく新しいソフトを利用したほうが良いということになります。 自宅に.net2003のstanadardがありますので、少し触ってみようかと思います。 利点としてあげてくださった「オブジェクト指向」というのが一番のネックなのですが。 上司とも相談しようと思います。 ありがとうございました。

その他の回答 (1)

回答No.1

「動いているんだからいいんじゃない?」がユーザー、管理運用者、開発者の共通の感想だと思います。 そんな中、管理者と開発者には「でも何かあったとき大丈夫なのかな」てのは少しだけあるかな。 ご承知の通り、VB 6.0 のサポートが終了するよりも先に Windows Vista が発売されるため、Windows Vista は VB 6.0 で開発されたアプリケーションも、開発環境である VB 6.0 も動作保証しています。 ですので少なくとも Vista を使う間はユーザーも開発者も現行のシステムで行けるわけです。(何も無かったらね) それならやっぱり「動いているんだったらいいんじゃない?」でしょうかね。 ただし、やっぱり一方では現在のシステムをいつまで使用するのかを決めておいたほうがいいでしょう。 いつか来るであろう「本気で切り替えを考えなくちゃいけない時期」になって初めて、今回と同じように「今から勉強すると時間が掛かる」なんて言ってられませんからね。

tenko_am
質問者

お礼

temtecomai2さん ありがとうございます。 システムの使用期間というのが難しいですね。 できればいつまでも使いたいわけですが、そうも行かなくなるでしょうし。 最低でも5年は使用することを考えると、やはり今のうちに勉強しながら作ったほうが良いのかも知れません。 OS自体も、Microsoftの話だと、vistaの次も5年以内に出るそうですし。 ありがとうございました。

関連するQ&A

  • 接続型と非接続型ではどちらが良いか

    お世話になります。 社内で使うシステムを開発しています。 最近、やっと開発ツールをVB6からVB2005へ移行しました。 そこで質問ですが、データベースへの接続で、「接続型」と「非接続型」ではどちらが処理がスムーズなのでしょうか。 環境はクライアントがXP、サーバーはWindows2003Server、データベースはSqlServer2000。 各営業所間はVPNで結ばれています。クライアントの数は30位です。 今まで開発して使用しているシステムはVB6で作られたものなので、システムの起動と同時にデータベースに接続し、終了時に切断する「接続型」です。 せっかくADO.NETに移行するのだから、「非接続型」にしようかと思いますが、WEBを使用するわけでもないので、処理が早い方を使おうと思います。 よろしくお願いいたします。

  • VPN接続について

    サーバ(Windows2003sv)1台とクライアント(windowsXP)1台で構成されているシステムがあります。 サーバからVPN(cisco VPN)を常時接続(接続先は別の建物にあるコンセントレータ)しております。 常にクライアントを起動しているとサーバに繋がるのですが クライアントを再起動するとサーバに繋がらなくなります。 (PINGは飛ぶのですがSQLserverが繋がらなくなったりウィルスバスターのマークが切断になったりします。) サーバでVPNを1度切断し再度接続すると クライアントから正常に繋がるようになります。 クライアントを再起動後も正常に接続するにはどうすれば良いのでしょうか?

  • SQLServer2000の製品の違い

    SQLServer2000にて「Enterprise Edition」と「Standard Edition」の違いは何でしょうか。 また、VBで作成したシステムを導入する際にはサーバにどちらをインストールすればよろしいのでしょうか。 VBのシステムをインストールするのは30台前後、実際に使用する時は同時に3台程度しか使用しません。 どなたかご教授のほどよろしくお願い致します。

  • サーバ(64bit)+クライアント(32bit)

    DBサーバ(WindowsServer2008 32bit)にSQLServer2008 32bitをインストール。 クライアント(Windows7 32bit)からアクセスするVB.NETで作成した、クラサバシステムがあります。 これを下記↓のように DBサーバ(WindowsServer2008 R2 64bit)にSQLServer2008 64bitをインストール。 クライアント(Windows7 32bit)からアクセスすることは可能なのでしょうか?? 結論を言うと、おそらく何の意識をすることなくシステムは使えそうなのですが、 32bitと64bitの違い??はどのようにカバーしていることになるのか気になるので 教えてください。

  • SQLServer 2008へ移行

    現在、SQLServer2000を使って社内システムを構築しています。 サーバーのハード保守切れに伴い、 SQLServer2008へ移行しようとしています。 現在の環境は、 OS Windows2000Server DB SQLSERVER2000 アプリ Windows2000Server      VB 6.0で作成      (Ctrix社のMetaFrame) となっています。 DBの部分のみ、変更しようとしています。 ハード 64bit Windows2008Server ソフト  64bit SQLServer2008R2 移行に関して、 (1)2000で使っていたDBファイルをアタッチ、デタッチで丸ごと移行できるのか? (2)アプリの接続部分に変更しなくてはならないのか?  (アプリのコンピュータ名は、同じにします。) 詳しい方、ご教授願います。

  • ASP.NETのWEB画面

    ASP.NETでWEB画面作成しているのですが、かなり遅いです。 早くする方法があれば教えて下さい。 「Visual Studio 2003」と「Visual Studio 2005」を使っています。 どちらで作っても遅いです。 データサーバーはSQLServerとAccessを使っています。 プログラミングはVBを使用しています。 よろしくお願いします。

  • ADO.NETのバージョンについて

    ADO.NETのバージョンについて教えてください。 ADO.NETと、ADO.NET2.0と、ADO.NET3.5の それぞれの違いは何でしょうか。 今度、仕事でデータベースプログラミングにに携わる事になり、参考書を探していますが、どのバージョンの本を購入したら良いか迷っております。 OSはWindowsVistaで、IDEはVB2008です。 サーバーはSQLServer2005です。 よろしくお願い致します。

  • System.Net.Sockets.SocketException が発生

    ちょっと困った事になってしまったので質問させて頂きます VB.NETで作成されたクライアント&サーバー型のシステムがあり 現在サーバー側はWindows2003サーバーで稼動しています 過去のテスト環境が使用できなくなった為にテストサーバーをを再構築することにりました 残されたドキュメントを参照しながら ・サーバープログラム導入 ・DBの設定 ・サービスの起動 ・ファイアウォールの解除 上記を行いクライアントから接続を試みたところ 下記のエラーが発生しました System.Net.Sockets.SocketException: 対象のコンピュータによって拒否されたため、接続できませんでした。 当方Windows2003に詳しくないので、何処の設定を変更すればよいのかアドバイスを頂きたく御願い致します 稼動中のサーバー:Windows2003 StandardEdition 再構築中のサーバー:Windows2003 R2 StandardEdition SP1 この違いも関係しているのでしょうか? 宜しく御願い致します

  • VB6.0からVB.NETへの移行について

    現在、VB6.0で作られているシステムをVB.NETへ移行しようとしています。 そこでAcvtiveX EXEのGlobalMutiUseで作成されている画面を持つプロジェクトを移行する方法に困っています。 現状は、上記の画面が最初に起動されたら常駐して、定期的にサーバから情報を取得して内容を更新して、他の別プロジェクトの画面からその情報を取得して動いているような仕組みとなっています。 それを移行ガイドの通りクラスライブラリで作成して、他の別プロジェクトの画面から情報を取得しにいこうとすると新たに別のインスタンスが作成されて、それを見にいってしまうため情報が取得できません。 VB6.0のAcvtiveX EXEのGlobalMutiUseのように共有のインスタンスを他から見れるようにするにはどうしたらよいでしょうか?なるべく変更を少なくしたいと思っています。 よい解決策をご存知の方がおられましたら是非御教授をお願いいたします。

  • SqlServerにファイルを保存(VB.NET)

    お世話になっております。 VB.NETからSqlServerのFILESTREAM 属性を持ったvarbinary(max)の列にファイルを保存したいのですが、やりかたがよく分かりません。 文字列でSQL文を作成して、そのSQL文を実行するのはわかるんですが、ファイルを保存となると何をどうしたらいいのか・・・ 参考になるサイト等あれば教えてください。 ちなみに申し訳ないのですが、C#で書いてあるところはありましたがC#のソースは読めないので、できればVBが良いです。 <環境> Sql Server 2008 R2 Express VB.NET .NET Framework3.5 SP1 クライアント/サーバー型システム

専門家に質問してみよう