オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Gavin Terrill , 翻訳者 編集部 投稿日 2008年8月6日
OSCON '08(リンク)において、Evan (Rabble) Henshaw-Plath氏(リンク)とKellan Elliott-McCrea氏(リンク)が、「Beyond REST?Building Data Services with XMPP PubSub」(リンク)をプレゼンした。Robert Kaye氏(リンク)がその様子を報告している。
Kellan氏は、FriendFeed(リンク)について話した。それは、自分の友達が新しくアイテムを共有するときに、ユーザに知らせるサイトである。この例では、Kellan氏はFriendFeedはFlickr(リンク)2.9を数百万回ポーリングし、45000人のユーザのアップデートを確認することを指摘した。この45000人のユーザのうち、6700人のみがつねに ログインしている。当然、これは変更されたコンテンツを確認する方法としては頼りない方法である。Kellan氏は「ポーリングは最低だ!」と言う。
この問題を解決するためには、標準REST Webサービスは無視し、メッセージパッシングを使用する方法を探すことが重要である。メッセージパッシングは変更されたコンテンツをユーザに通知する、直接的な通信手段である。
この文脈においては、ポーリングはRESTful Webサービス(リンク)を使用し、各ユーザがアップデートされることである(リンク)。対照的に、PubSub(Publish/Subscribe)(リンク)はアーキテクチャのアプローチであり、パブリッシャーはサブスクライバーから分離されている非同期メッセージパッシングプロトコルを使用する。このような 特徴は、多数のクライアントにアップデートの通知が送信される必要があるシナリオにおいて、PubSubを拡張可能な選択にさせる。
そのプレゼンでは、Evan氏とRabble氏がJabber(リンク)の長所について説明した。Jabberは、XMPP (Extensible Messaging and Presence Protocol)(リンク)に基づいたPubSubサービスである。
- 持続的な接続上で、XMPPが動作する
- ステートフルである(SSLはチープになる)
- イベントストリームプロトコルとして設計
- 元来フェデレーテッドおよび非同期
- ID、セキュリティおよび存在が内蔵されている
- Jabberサーバが構築され、配置される。
プレゼンは、さまざまな議論を巻き起こした。Kirk Wylie氏(リンク)はAMQP(リンク)のようなMOM(Mesage Oriented Middleware)(リンク)ベースのシステムは、ここでさましく必要とされていると主張し、Joshua Schacter氏(リンク)(del.icio.us(リンク)設立者)は、HTTPコールバックに基づいた単純なアプローチが使用できるかもしれないことを指摘した。
頻繁にポーリングをするのではなく、単純に記述されていれば、クライアントは記述先のリソースおよびエンドポイント付きの通常のHTTP要求を送信し、アップデートを以下に提供する。
http://your.app/subscribe?resource=/some/user&callback=http://my.app/endpointおそらく、リソースがアップデートされたときのみエンドポイントはRSSアイテムフラグメントを受信する。セキュリティのため、交換には適切なプロトコル から借りた、ある種のトークンを含むようにする。サブスクリプションは、たとえば24時間後に失効する。もしくはパラメーターとして終わる。
評者(リンク)は、そのようなシステムはすでに存在していることを指摘した。Webhook(リンク)である。
Rabble氏は、Callbacksを使用することの自身の考えを述べた(リンク)。
いくつかあるが、Pingbackシステムは、脇へ置くことについて考えたことである。それが明らかに可能であるので、Pingback/Webhook はよいパターンのようである。おそらくアンチパターンではないか?
スケールの大きいWebhookシステムを作成すると、統合機能/クローラーの問題にぶつかるので、そういう場合に役立つ。まったく実行可能である。 XMPPでは、フェデレーションおよびすばらしいインターフェイスがあるその機能性を取得する。また、潜在的にそれに対し委譲権限を追加することができ る。
WebhookのようなアプローチはJabber/XMPPを使用することよりも非常に単純である。しかしながら、Blaine Cook氏(リンク)は複雑性は当然であると考えている。
このシステムが10ラインPHPスクリプトによって使用可能になる必要があると議論するならば、実装が不完全な出力メッセージキューは、当然のことであ る。中程度のスケール(10000ユーザ、各50コンタクト、1/5オフサイト、1日につき2ポスト)では、1秒ごとに2.3リモートHTTP要求がある が、それはまったく問題にならない。
通知用にPubSubを使用するのは、アーキテクチャ上は良いアプローチであるが、多くの人がプレゼンのタイトルで問題を抱えた。Dare Obasanjo氏はRESTはGolden Hammer(リンク)ではないと指摘し、総括した(リンク)。
このように、 Evan氏やKellan氏の話のように、スケーリングしないし、RESTの問題ではない。 たまたま別のシナリオでうまくいくので、これは、問題を解決するのに間違ったツールを使用するという事例である。
他にないのであれば、その議論はAPIコンシューマーの使用パターンを検討することは、適切な設計を決定する際に大きな役割を果たすという事実を強調している。
原文はこちらです:
前回は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
スレッド表示 返信