###前提・実現したいこと
C# ASP.NETを利用して
100人程度利用想定の社内WEBシステムを構築したいと思っております。
社内用ちょっとしたアプリなのでロードバランサとかたいそうなものは考えておりません。
サーバは余ってたら使わせてもらえます。
主に、データベースへのアクセスし帳票を出力するのですが、
データベースはSQL SERVER EXPRESSで事足りるでしょうか?
データベースの規模は100MB~300MBぐらいに収まるのではないかと思ってます。
常時100人が接続するわけではないのですが、
Expressで利用できるメモリが1GBとなっていたので、
データの帳票出力があるのでアクセスが集中がすると厳しそうです。
Windows on MySQLとかの方がいいでしょうか?
正直、利用人数規模も見えていなくて、ものすごい漠然としてますが、
俺ならこういう構成組むっていうのがあれば教えていただきたいです。
ちなみに、なぜC#なのかというと自分が得意だからです。
ネックはWindows使うのにお金がかかるので、説得できるなにかも考えないといけないのですが。
LAMPとかに比べたら敷居高いですかね。。。
WEBアプリケーションを公開する場合、
Windows WEB Serverというのを買った方がいいのでしょうか?
商品体系についてもよくわかっていません。。。
###まとめ
100人程度の利用規模でちょっとしたWEBアプリを社内用に公開したい
データベースのサイズは50MB~300MB程度を想定
C# ASP.NETで構築したい
安く抑えたい
サーバやデータベースは何を選定したらいいか?
以上、よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
まず
- 片手間でやるのか本業(専業)でやるのか?
- C#が得意とありますが、ASP.Net、WindowsForm、WPFのどれが得意なのか?
は押さえておいた方がいいです
自身が公言されているのでC#は得意なんでしょうが、ASP.Netは初めてなんでしょうかね
C#が得意でASP.Netをバリバリやっていたらこういう質問にならないので、多分そういうことなんでしょう
もし片手間でやるのなら、できるだけ得意なフィールドに持ち込んでやるようにしないと後で泣くことになります
当たり前ですが業務アプリケーションはトラブル起こすと業務が止まってしまいます
お金が絡むことでは会社に致命的な損害を与えることもあります
それは片手間であろうが、専業であろうが同じです
いざ業務が止まれば「あいつが片手間でやってくれているのだから(業務が止まっても)仕方ないね」とは絶対になりません
社外の人間であれ社内の人間であれ業務アプリケーションを開発するということはそういうことです
稼働プラットフォームがWindowsオンリーで帳票が絡むならWindowsFormかWPFの得意な方で取り組んでみる
ちゃんと実現できて、かつそれでもWeb化の意向があるようなら、作成したものをベースにWeb化を考えられた方が負担は小さいかと
もしくは個人的にASP.Netを取り組んでみた上で、その実績を元に取り組む
未習熟のテクノロジーをぶっつけでとか怖すぎます
データベースの規模は100MB~300MBぐらいに収まるのではないかと思ってます
Expressで利用できるメモリが1GBとなっていたので、
データの帳票出力があるのでアクセスが集中がすると厳しそうです
その規模だとデータがオンメモリで処理できそうなので全く問題ないのでは?
Windows on MySQLとかの方がいいでしょうか?
たぶん止めておいた方がいいです
マメに情報をフォローできる環境でないと..
MySQL Connectorの動向にも目を配らないといけなくなります
慣れない環境では、うまく動かないときに自分のコードが悪いのか他(環境、フレームワーク、コンポーネント)が悪いのか見分けがつかないことが多いので、慣れるまではリファレンス環境で取り組みましょう
個人的な体験ですと、さんざん試行錯誤しても動かせず、結果DBコネクタのバグ(その時はOr*cleでしたが)ということもありました
特に業務アプリケーション開発でオープンソースのものを取り入れる際には注意が必要です
Web開発界隈では、業務環境にもオープンソースプロジェクトを流行り廃りでとっかえひっかえ取り入れているみたいですが、私には理解しがたいものがありますね(それだけ考え方が古いってことなんでしょうが)
俺ならこういう構成組むっていうのがあれば教えていただきたいです
こういうステップでステップアップしていく計画を立てます
- SQLServer+WindowsAppの構成でまず完成させる
- SQLServer+Webサービス(WebAPIでもWCFでも:対WindowsAppはWCFが楽ですけど)+WindowsAppに進化させる
- SQLServer+Webサービス+ASP.Net MVCに進化させる
まあ社内業務アプリケーションなら、1が完成した時点でそれを進化させることはあっても、2や3に進むことはまずないと思いますが..
あともっと根本的な話ですが、その業務システムは本当にコード書かなきゃダメですか?
よく分析してみて、今世の中に存在するプロダクト、サービスで間に合いませんか?
究極のところ矛盾しているかもしれませんが「コード書いたら負け」ってこともありますよ
投稿2016/07/13 21:16
編集2016/07/13 21:18総合スコア3939
0
C#がバリバリに使えて、WebとかMVCとかそういうことはわかっている!といことが無いのであれば、専門のプログラマーでなくてもなるべく作れるようなWebアプリ作成ツール、例えばFileMakerやForgancyの方が良いかもしれません。
また、お金をかけたくないというのであれば、Accessで作ってしまうのも一つです(Office ProPlusなどで全台Accessをすでに導入済みである事が前提ですが、Excel VBAよりは遥かにマシなものが作れます)。Webでは無くなりますが、共通のファイルサーバ(TeraStationでもいい)に置いておくだけで使えますので、サーバー構築の手間や費用が大幅に削減できると思います。難点は、Accessのバージョン間の互換性が結構低くてバージョン上がる度に改修しないと動かない場合が多いと言うところでしょうか。
さて、否定するところから入ってしまいましたが、別に悪い選択だとは思いません。SQL Server Expressの制限(RAM:1GB、データ:10GBまで)に引っかからず、特にパフォーマンスを求めていなければ十分だと思います。注意点としては、実際にWindows Serverに設置するときはWindows Server CALに気をつけてください。すでにADとか運用していて全員(または全台)分のCALを購入していれば良いですが、もし購入していなければ、使用する予定のユーザー数分(またはクライアント台数分、少ない方を選択可)のCALが必要になりますので気をつけてください。
※ IISだけではCALが不要になる場合があるのですが、Windowsの認証を使用したり、SQL Server Expressを使用したりする場合はCALは必要になります。SQL ServerのCALの数え方は間接接続であることに注意してください。直接SQL Server Expressを使わなくても、IISを通じて間接的に使っているユーザー数(または台数)を数えます
なお、Windows WEB ServerはインターネットなどにWeb公開するときに特定の条件でCALを不要にするためにありましたが、2012からCALの考え方がまた変わったため、2012以降はWidows Web Serverは用意されていません。ここら辺は複雑なこともあり、購入する前に購入予定の業者に問い合わせてください。
投稿2016/07/16 01:04
総合スコア21735
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
>敷居高い・・・意味が違います
あと、言語はC#が得意とありますが、ASP.NET・ASP.NET MVC・Form・WPFなど色々使える技術はありますが、どれが得意なのでしょうか?
またFormやWPFだとクラサバ型にするのかWebAPIを使ってサーバー側を作るのかなどいろんな手は取れますが、システム開発やメンテナンスに専念できるのであれば一番いいものをというのも可能でしょうが、片手間程度しか無理という場合は得意なものでなるべく習得すべき技術は少ない方が良いかもしれません
>サーバは余ってたら使わせてもらえます
ということから使えるかどうかも判断基準になりそうなので確認して使えるのかどうかも書いた方が良いかと思います
ちなみに自分の場合はASP.NET MVCでDBはSQLServerの・・Expressでも大丈夫だと思う
投稿2016/07/14 06:32
総合スコア1348
0
かっこいい画面とかを求めない
社内システムでコストかけられない
であれば、あまり事例が公開されていませんが、
VS20xx にある、LightSwitch を使ってみる手もあるのでは?
’
データベースのメンテナンス用途などでは、
テーブルが用意できていれば、
ちゃらやらっと、画面が作れてしまったりします。
⇒私の用途としては、LAN内 WEB / Local Desktop です。
’
検索ワード例
liteswitch web
https://www.google.co.jp/search?hl=ja&q=liteswitch+web&lr=lang_ja&gws_rd=ssl
投稿2016/07/13 23:01
編集2016/07/13 23:03総合スコア2028
0
前に社内SEやっていました。
社内システムは重要度に合わせて構築することが大事です。
出来るかぎり既存のツールを使って最小限度の機能のものを素早く作るのが大事だと思います。
ユーザー100人程度で目的が、帳票(PDF?)ならば私ならファイルサーバに権限設定をして、帳票はそこに直接置きます。そうすれば、DBはなんであっても(更新が少なければ例えばXMLファイルでも)問題無いし、その分手間が減ります。
あと安く仕上げるためのヒント?
Webでやらなければいけない理由orその他のアプリではいけませんか?
社内ポータルサイトの掲示板機能ではダメですか?
WindowsServerが社内にあるなら相乗りを交渉してみては?
投稿2016/07/13 15:53
総合スコア2883
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/14 14:17
2016/07/16 00:10
2016/07/22 14:48
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/14 14:04
2016/07/14 18:56
2016/07/22 14:48