下記の条件のもとでの、

HTMLの背後のシステムとして最適な形態を、
簡単なご解説を附してご提案願います。

「追加で○○を習得すれば……」等も歓迎いたします。

・プロトコルはHTTPS。個人情報を扱うためセキュリティを重視。

・UIは(X)HTML4.01。アクセスのユニバーサリティを重視。

・HTMLで表現される全ての情報は、一つのドメインに対して一つのDB内にある。
・ユーザーは、テーブルのレコードの、オートナンバーID以外のフィールドを、追加・読み書き・削除する。

・全てのデータは、外部の人によって、自動的に収集されてはならない。
・全てのデータは、内部の人によって、自動的に入力されることができる。

私が扱えるOS
・Windows XP
・Linux (Ubuntu Server)

私が扱えるDB
・MySQL
・MS Access
・Google Spreadsheet
・Google Fusion Table
・OpenOffice.org Base

私が扱える言語
・XML
・HTML
・CSS
・JavaScript
・MS VB.NET

以上、宜しくお願い申し上げます。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/01/05 05:48:50
  • 終了:2011/01/12 05:50:07

ベストアンサー

id:Galapagos No.6

Galapagos回答回数963ベストアンサー獲得回数892011/01/09 10:25:53

ポイント14pt

MS より良心的な儲け方の企業のソフトで、私の希望を実現できないものでしょうか

「良心的な」の意味が、質問者さんの先入観に左右されているような気がしてなりません。

個人情報を扱うのであれば、そうした主観や先入観が最も危険だと思います。


オープンソースでもMicrosoftでもない選択肢としては、IBMやOracleがあります。

ただし、Microsoftに比べると、日本語による情報や参考書が圧倒的に少ないので、英語の技術情報を読めることが前提になります。

id:HTTP-sub

>質問者さんの先入観

ですか。私もそんな気がいたしておりますが。

>オープンソースでも

この点ですが、サイト立ち上げ当初は、べつに攻撃されるようなことはないでしょうから(攻撃の対象になるようなら、それはそれでサイトが有名になったということで喜ばしく、その時には収益も出ているでしょうからお金が出来しだい(あくまでも攻撃される前に)MS等に移行するとして)オープンソースでもよろしくはないですか?

データだけ、プロプライエタリでも使える基礎的なフォーマットにしておいて、将来的にインターフェイスの変更でセキュリティUPができないかなあ、という考えがあるのですが、そのへんはプロの方から見るとどう考えるべきなのでしょうか。

「シロートは相手にしてらんねぇ」的な発言かもしれませんが、どうぞご辛抱いただき、お相手願います。

2011/01/10 16:42:06

その他の回答(5件)

id:tama213 No.1

tama213回答回数486ベストアンサー獲得回数302011/01/05 09:27:33

ポイント23pt

サーバーがWindows系でよいのなら

プログラムを作ろう! Microsoft ASP.NET 4 入門 (MSDNプログラミングシリーズ)
WINGSプロジェクト 広瀬 嘉久 山田 祥寛
4822294250

ASP.NET

>ユーザーは、テーブルのレコードの、オートナンバーID以外のフィールドを、追加・読み書き・削除する。

この考え方は、Accessライクですし、マイクロソフト寄り

あと、サーバーサイドで使える言語がVB.NETぐらいしかありませんから、この選択しかできません。

DBにアクセスする手段で使える言語がこれしかないんです。

サーバーサイドで使える言語を(PHP、JAVA、他)があれば、LINUX系でも構成することは可能でしょう。


DBアクセスするために、JavaScriptとAjaxとか使ったとしても、

サーバー側に何らかのCGIとかのスクリプトが必要です。

id:HTTP-sub

ご回答、ありがとうございます。

>サーバーがWindows系でよいのなら

Ubuntu Server 限定で考えております。

>サーバーサイドで使える言語がVB.NET[……]これしか[……]

そうなのですか。それでは、サーバーサイドJavaを覚えましょうか。将来性がありそうですし、ウェブブラウザー・セーフのように思われますので……。

以上、よろしければ更にご回答願います。

2011/01/05 10:30:16
id:tama213 No.2

tama213回答回数486ベストアンサー獲得回数302011/01/05 11:45:44

ポイント23pt

Javaを使うんでしたら、Apache,tomcatの組み合わせでよいと思います。

DBはMysql

Javaは、なにかフレームワークをつかうとよいでしょう。

Seasar 2 徹底入門 SAStruts/S2JDBC 対応
竹添 直樹
4798121509

id:HTTP-sub

ありがとうございます。

・Apache Tomcat

・MySQL

は確定でしょうか。

下記を実現したいのですが、サーバーサイドJavaで問題ないと思われますか?

・低級~高級までの処理

・テキスト処理、特に正規表現とUTF-8の使用

・ブラウザー・セーフ(IE7~、Firefox、Chrome、Opera、OperaMini)

・OSセーフ(Win XP~7, Mac OS X, Linux)

・自然言語セーフ(基軸となる言語は英語)

・国・地域セーフ

回答可能回数を増やしておきますので、もっとご助言があれば、ぜひお聞かせ下さい。

特に、Javaを前提にした場合の、上記をご覧になってのフレームワークのご提案を頂戴したいところです。

2011/01/05 12:21:09
id:Galapagos No.3

Galapagos回答回数963ベストアンサー獲得回数892011/01/05 13:47:43

ポイント14pt

コメントにて回答をありがとうございます。

「外の人」と「ユーザー」の区別がよく分かりませんが、任意のOpenIDでDBレコードを編集でき、その結果をHTML(XHTML)として表示できる仕組みと解釈いたしました。


商用利用を想定し、製品寿命が5年程度(リース期間)であることや、開発したコードを非開示とできること、有償サポートが受けられることなどを理由に、Microsoft系製品を中心に選んでみました。


1日のPV数は10万程度を想定します。

具体的な技術要素項目を列挙します。


  • DBサーバ
    • WindowsServer2008 + SQL Server2008(商用利用として5年以上の寿命を想定)
    • ハードウェアRAID構築
    • バックアップ運用(具体的な製品としてTrueImageなど)
    • 必要に応じてDB二重化
    • UPS運用
  • Webサーバ
    • WindowsServer2008 + IIS(商用利用として5年以上の寿命を想定)
    • ドメイン取得・運用
    • UPS運用
    • ロードバランサ
  • ミドルウェア
    • .NET環境(APS.NETで十分と思われる)
  • セキュリティ全般
    • SSLサーバー証明書取得・運用
    • UTM導入・運用(具体的な製品としてSonicWallなど)
    • データセンタのハウジングと保守運用
    • リモート保守用回線が必要な場合は、VPNルーター、アンチウイルスソフトの導入など。
  • ネットワーク全般
    • ルーター、L3SWの導入・運用
id:HTTP-sub

何から何までありがとうございます。

>Microsoft系製品を中心に

この件を懇意のSEさんに相談したところ、

「何かあったらMSに言えるし、

セキュリティ関係のデータも多いはずだから、

VB.NETが良かもしれないよ」

とのことでした。

しかし、「年に数十万かかるけどね」とも……。

私が持っているのは、

VisualStudio2005(10万円くらいで買いました)だけです……。

私としては、

・オープンソース

・プロプライエタリでない

・フリー

な技術で固めたいと思うのですが、

Galapagos様は、そのような前提の場合、

どのようにお考えになりますか?

ぜひご意見を頂戴したいと存じます。

2011/01/05 18:06:07
id:Galapagos No.4

Galapagos回答回数963ベストアンサー獲得回数892011/01/05 20:23:41

ポイント14pt

私としては、

・オープンソース

・プロプライエタリでない

・フリー

な技術で固めたいと思うのですが、

Galapagos様は、そのような前提の場合、

どのようにお考えになりますか?

前提条件として、「商用利用を想定し」回答させていただきました。

なぜなら、各ユーザーの個人情報を預かり、セキュリティを万全なものにしたいということが、ご質問の主旨の1つと解釈したからです。


もしオープンソースでセキュリティを万全なものにしたいのであれば、使用するオープンソースに対する細かい知識と、個々のOSやミドルウェア毎に迅速にパッチを当てる運用体制が必要です。とても個人では無理な相談です。

さらに、万が一にも個人情報が漏れた場合、日本の法令に従うと、そのリスクを個人が負うのは非常に厳しいことです。


そもそもプロプライエタリでなくオープンソースであるということは、場合によってはセキュリティにかかわるソースコードを公開しなければならないということであり、アタッカーに手の内を全て見せてしまうことになります。

それでもなおセキュリティを確保できるだけの技術力・運用力がないのであれば、オープンソースは利用すべきではありません。

id:HTTP-sub

度々ご回答、ありがとう存じます。

>そもそもプロプライエタリでなくオープンソースであるということは、場合によってはセキュリティにかかわるソースコードを公開しなければならないということ

はい…。

私には、OSや既製アプリを、ソースまでさかのぼることはできません。

ただ、

1) Google は 社内システムに Ubuntu を改造したものを使っているらしい

2) Google Apps for Gov がリリース

3) 世界が政府水準で非プロプライエタリ&ローコストな調達に動いている

というあたりから、「演繹的に」「オープン・非プロプライエタリ・安価(できればフリー)」という性質を買っているのです。

ま、私はちょっと度を越しているかも知れない Google 信者なので、偏っているのかもしれませんが…

MS の ――なんて言ったか…アレ―― Word っぽいウェブ制作ソフトを使って沢山ページを作ってしまって、後でHTMLとCSSを理解してからソースを見てビックリ、もう二度とMSは嫌だ、でもマックは高いしアプリもないから OS と既製アプリだけはまあよし、という辺りに落ち着きまして。VB も簡単ですし(でも「プログラミング言語版の MS-DOS・Win でしょ、IBM の業績にタダ乗りしたように、Basic 偉大な歴史にタダ乗りしてるだけだ」と思います)。

必要なお金は使いますが、MS の言うとおり払っていたら、いくらお金があっても足りません。良心的な価格&やり方の企業に対してなら、喜んで支払います。

もちろん、他人に押し付けるつもりはないし、VBを根本的に理解しそれで生計を立てる人に対しては失礼ではないかという思いもありますが。

MS より良心的な儲け方の企業のソフトで、私の希望を実現できないものでしょうか。

2011/01/09 04:27:12
id:k-tan2 No.5

k-tan2回答回数401ベストアンサー獲得回数482011/01/05 21:17:22

ポイント22pt

システムの重要度にもよります。

サーバーサイドがJavaと仮定しますと

構成は、

Linux、Apache、Tomcat(Java)、MYSQL

システムの重要度が高く、またシステム負荷が高いようでしたら、

LinuxをHP-UNIX

Tomcatを市販のアプリケーションサーバー

MYSQLをOracle

のように変更することも可能です。

このようにかえてもプログラム(Java他)は変更がいりません。

|テキスト処理、特に正規表現とUTF-8の使用

Javaでのテキスト処理は実績がある分野で問題はありません

正規表現も使えます。

文字コードですが、データベースがUTF-8、WEBがUTF-8と仮定した場合

Javaで問題なく扱えますが、JavaでUTF-8の文字データを読み込んで文字列(String)と

した時点で、Unicodeで処理されます。

マイクロソフトの製品で

|UIは(X)HTML4.01。アクセスのユニバーサリティを重視。

というのは無理でしょう。

自動で吐き出すHTMLコードが、そんなに行儀のいいものを吐き出すことはありません。

また、WindowsサーバーでSQL Server2008を使うぐらいなら

Oracleを使ったほうが、よいです。

しかし、マイクロソフトの製品は自社製品の連携がよかったりしますので

考えどころです。

id:HTTP-sub

>サーバーサイドがJavaと仮定しますと

ありがとうございます。大変参考になります。

>重要度[…]負荷[…]HP-UNIX[…]Oracle

重要度というのはどういう意味でしょうか? セキュリティということでしょうか、それとも厳密で一義的な動作を期待するということでしょうか、それとも?

負荷についてなのですが、全世界のトランザクションの要所にサーバ(VPS)を借りるつもりなのですが、それらのミラーリングのような技術で分散できないでしょうか。

>マイクロソフト[…]自社製品

マイクロソフトは将来右肩下がりと賭けていますので、MS 製品は完全スルーで結構です。逆に、MS と無関係に便利なシステムにしたいと思っております。

HP-UX に Oracle ですか…私にとっては結構お高いのですよね。ううーーーん。でも、これって最低限ですか?

2011/01/09 04:36:58
id:Galapagos No.6

Galapagos回答回数963ベストアンサー獲得回数892011/01/09 10:25:53ここでベストアンサー

ポイント14pt

MS より良心的な儲け方の企業のソフトで、私の希望を実現できないものでしょうか

「良心的な」の意味が、質問者さんの先入観に左右されているような気がしてなりません。

個人情報を扱うのであれば、そうした主観や先入観が最も危険だと思います。


オープンソースでもMicrosoftでもない選択肢としては、IBMやOracleがあります。

ただし、Microsoftに比べると、日本語による情報や参考書が圧倒的に少ないので、英語の技術情報を読めることが前提になります。

id:HTTP-sub

>質問者さんの先入観

ですか。私もそんな気がいたしておりますが。

>オープンソースでも

この点ですが、サイト立ち上げ当初は、べつに攻撃されるようなことはないでしょうから(攻撃の対象になるようなら、それはそれでサイトが有名になったということで喜ばしく、その時には収益も出ているでしょうからお金が出来しだい(あくまでも攻撃される前に)MS等に移行するとして)オープンソースでもよろしくはないですか?

データだけ、プロプライエタリでも使える基礎的なフォーマットにしておいて、将来的にインターフェイスの変更でセキュリティUPができないかなあ、という考えがあるのですが、そのへんはプロの方から見るとどう考えるべきなのでしょうか。

「シロートは相手にしてらんねぇ」的な発言かもしれませんが、どうぞご辛抱いただき、お相手願います。

2011/01/10 16:42:06
  • id:Galapagos
    ご質問にある用語の定義を教えて下さい。

    ・「内部の人」「外部の人」とは何ですか?
    ・「アクセスのユニバーサリティ」とはどういう意味ですか? ブラウザ依存しないという意味ですが? それとも万人にとってアクセスしやすいデザインという意味ですか?
    ・「(X)HTML4.01」となっていますが、「HTML4.01またはXHTML1.1」という意味ですか?
    ・「ユーザーは、テーブルのレコードの・・・」の「ユーザー」とはどういう意味ですか? インターネットを介して不特定多数のユーザーがDBを直接アクセスできるという意味ですか?

    以上、よろしくお願いします。
  • id:HTTP-sub
    >Galapagos様

    ご質問ありがとうございます。



    >「内部の人」「外部の人」

    「内部の人」とは弊社内部のシステムにアカウントを持ちパスワードのチェックをクリアした人のことで、「外部の人」とはそれ以外の人のことです。

    >「アクセスのユニバーサリティ」

    広義の "universality" です。

    仰る通り、

    1) ブラウザに依存しない(基準として世界のブラウザシェアの99%以上。従ってIE 7&8、Firefox最新Ver.、Chrome最新Ver.、Safari最新Ver.、Opera最新Ver.、Opera Mini最新Ver.で同じ動作をすること)。
    2) 万人にとってアクセスしやすいデザイン(上記(1)のブラウザで同じテキストが表示されること。また、右から左に書く言語でも不自然でないデザインにする)。

    以上に加え、

    3) 言語に対してフリー(基準として世界人口の半分をカバーする。従って、母語人口が多い順に英語~ヘブライ語で全てのデータを置換できるようにデータを設計する。ただ基軸言語は英語)。
    4) 国や地域に対してフリー(基準として全世界で5hop以内でデータにアクセスできるようミラーサーバーを置くこと。ただしオリジナルのサーバは北米に置き隠す)。

    などです。

    >「HTML4.01またはXHTML1.1」

    仰る通りです。

    >「ユーザー」とはどういう意味

    仰る通り不特定多数ですが、少なくともOpenIDを持っていることを条件として考えております。また、社内システムのアカウントも含みます。ただユーザー管理の基準については未だ検討いたしております。Googleアカウントでも良いかとも考えております。



    広い視野からのご回答を願います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません