オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Abel Avram , 翻訳者 笹井 崇司 投稿日 2009年11月17日
GoogleがSPDYを提案した。これはSSLの上で動く新しいアプリケーションプロトコルであり、レイテンシが大きいとされるHTTPを置き換えるものだ。彼らはすでに、SPDYに対応したWebサーバとChromeブラウザによるプロトタイプを開発しており、Webページを2倍高速にロードできるという。
少し前、Googleはインターネットを高速にすることを目的として、「Webを高速化しよう」というイニシアチブを立ち上げた。このイニシアチブのスコープは、高速なWebサーバの開発から高速なブラウザの開発まで、広範囲に及んでいる。例えば、Page Speedは、Webページを改善して高速なダウンロードを実現するためのツールだ。世界中の開発者がWebサイトを高速化できるよう、Googleは様々なツールをオープンソースにして、チュートリアルを公開した。
しかし、Googleはここで立ち止まることはなかった。彼らはSPDY(「スピーディ」と発音する)と名付けた新しいアプリケーションプロトコルをいじっていたのだ。もし、これがうまくいって広まると、HTTPを置き換えてインターネットの屋台骨をオーバーホールすることになるだろう。SPDYのホワイトペーパーでは、スタックの下位にあるトランスポートプロトコル(TCP)をもっと優れたものに置き換えるというアイデアについても言及している。しかし、これを実際に広めるのは極めて困難であると考えて、代わりにアプリケーションプロトコルであるHTTPを改善しようとしている。
SPDYのホワイトペーパーでは、ページ配信の遅延につながるHTTPプロトコルの制約について、いくつか列挙している。
- 1コネクションにつき1リクエスト。 HTTPでは一度に1つのリソースしか取得できません(HTTPパイプラインは有用ですが、それでも1つのFIFOキューだけという制限があります)。サーバ遅延が500ミリ秒あると、次のリクエストのためにTCPチャネルを再利用できなくなります。ブラウザは複数のコネクションを利用することで、この問題を回避してきました。2008年以降、ほとんどのブラウザは、1ドメインにつき2コネクションだったのを6コネクションに変更しています。
- リクエストを開始できるのはクライアントだけ。HTTPでは、クライアントからしかリクエストを開始できません。たとえ、クライアントにリソースが必要であることをサーバが知っていても、それをクライアントに知らせる仕組みはありません。クライアントがそのリソースに対してリクエストするまで、サーバは待たなくてはなりません。
- 非圧縮のリクエスト/レスポンスヘッダ。今やリクエストヘッダのサイズは、200バイトから2キロバイト超までさまざまです。アプリケーションが機能拡張のためにクッキーやユーザエージェントを利用すると、ヘッダサイズは700-800バイトほどになるでしょう。モデムやADSLでは上りの帯域が非常に狭いため、このヘッダサイズはレイテンシに大きな影響を与えます。ヘッダサイズを削減できれば、リクエスト送信時のシリアライゼーション遅延を改善できるでしょう。
- 冗長なヘッダ。これに加えて、同一チャネルのリクエストにおいて、何度も繰り返し送信されるヘッダがいくつかあります。User-Agent、Host、Accept* といったヘッダは通常変わることはないので、再送する必要はありません。
- データ圧縮の使用はオプション。HTTPでは、データのための圧縮エンコーディングの使用はオプションになっています。しかし、コンテンツは常に圧縮形式で送信されるべきです。
SPDYの目標の1つは、ページロード時間を50%まで削減して、ブラウズを2倍高速にすることだ。数百ミリ秒というのはユーザにとって大した意味がないように思えるが、近い将来、Webアプリケーションが密に相互接続するようになると、ミリ秒にも大きな意味がある。また、この新しいプロトコロルを導入しても、現在のWebコンテンツが影響を受けることはない。SPDYが利用できるよう、Webサーバとクライアントを改良するだけでよいのだ。
GoogleはSPDYを使って、一体何がしたいのだろうか?
単一のTCPセッションで複数のHTTPリクエストを同時実行できるようにすること。
ヘッダを圧縮して不要なヘッダを削除することで、HTTPが使用する帯域を削減すること。
実装しやすく、サーバ効率の優れたプロトコルを定義すること。エッジケースを減らして簡単にパースできるメッセージフォーマットを定義することで、HTTPの複雑さを軽減したい。
- セキュリティと既存のネットワークインフラとの互換性を考慮して、SSLを基本トランスポートプロトコルとすること。SSLの使用はレイテンシの面では不利ですが、私たちは、Webの長期的な未来はセキュアなネットワークコネクション次第だと信じています。さらに、既存のプロキシを介した通信を壊さないようにするためにも、SSLを利用する必要があります。
- サーバからクライアントへの通信を開始して、いつでもクライアントにデータをプッシュできるようにすること。
これらの目標を実現するため、SPDYはSSLの上にセッション層を追加することで作られている。これにより、単一のTCPコネクション上に複数のストリームを並行にインターリーブすることができる。HTTPのGETとPOSTのメッセージフォーマットはそのまま変わらないが、SPDYでは「ネットワーク上にデータをエンコードして伝送するための新しいフレーミングフォーマット」を提案している。このストリームは双方向であり、クライアントとサーバのどちら側からでもリクエストを開始することができる。
今のところ、GoogleはHTTPとSPDYの両方のプロトコルを処理できるオンメモリサーバを開発しており、このコードは間もなくオープンソースになる予定だ。また、SPDYに対応したChromeブラウザも開発しており、内部では暫定的にflipと呼ばれている(ソースコードが利用可能)。このブラウザはHTTPとSPDYのどちらでも動作する。彼らはテスティングツール一式も開発しており、これを使うと、SPDYを使って正しくページがダウンロードできているかを確認することができる。こうしたツールも間もなくリリースされる予定だ。
プロトタイプによる結果を見ると、今のところは期待できそうだ。
私たちは、1%のパケットロスのある家庭用ネットワーク接続をシミュレーションして、「トップ100」Webサイトのうち25サイトをダウンロードしました。各サイトをそれぞれ10回ダウンロードして、平均ページロード時間を計算したのです。その結果、ページロード時間はTCP上で27%・0%、SSL上で39%・5%となり、高速になっていることが確認できました。
邨
Googleが最高のプロトコルを作ったとしても、彼らだけでは目標を達成できないのは明らかだ。コミュニティに受け入れられ、新しいアプリケーションプロトコル作りに参加してもらう必要がある。他の主要なプレイヤがどんな反応をするのか、興味深いところだ。
参考リソース: SPDYプロトコル仕様のドラフト, SPDY対応のChromeブラウザ。
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
DotNetNukeは、Windows Serverで動作するCMS(Contents Management System)である。この記事ではWeb Platform Installer を利用して人気CMS「DotNetNuke」と無償Web開発環境「WebMatrix」のインストールする方法を紹介する。
クラウドコンピューティングを前提とした大規模データ技術が利用可能となってきています。Big Dataが一過性のブームで終わるかどうかにかかわらず、スケーラブルな分散アーキテクチャーの基盤はデータベース技術に主導されつつあります。RDBとORM主体のエンタープライズシステムは、HadoopやNoSQLとの組み合わせにより複合的なデータモデルに発展しました。
2011年12月8日~2011年12月9日に、ロンドンのSkills Matter eXchangeにて開催された「Groovy & Grails eXchange 2011」の参加報告を、日本Grails/Groovyユーザーグループのメンバーが3回に渡って紹介します。
Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します
去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続���開 催されていく予定である。本記事では、開催の様子をレポートする。
Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。
No comments
スレッド表示 返信