オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Jonathan Allen , 翻訳者 編集部N 投稿日 2009年7月26日
MEF(Managed Extensibility Framework)が、機能決定のマイルストーンに、達したのを祝して、.NET Frameworkの拡張性について、混乱した話を見ることにする。MEFは、マイクロソフトが公開した、4度目の拡張可能フレームワークである。以前と同じように、マイクロソフトは、最初の公開だ、と言っているが。
Managed Extensibility Framework, すなわちMEFは、.NET Framework用の正式の依存性注入である。文書の中で、マイクロソフトは、次のように言っている、
MEFは、実行時の拡張可能性の問題、に対する単純な解を、提供する。これまで、プラグインモデルのサポートを望む、すべてのアプリケーションは、自前のインフラをゼロから作る必要が、あった。そのようなプラグインは、得てして、アプリ特有で、複数の実装間で、再利用できなかった。
しかし、これは、真実ではない。 Spring.NETのようなサードパーティのフレームワークに加えて、マイクロソフト自身によって開発された、.NETランタイム用の拡張可能フレームワークは、少なくとも3つは、存在する。
では、どれを使うべきか? Glenn Block 氏は、以下のように述べている、
System.Addin は、バージョン毎の柔軟性、分離性、回復性に関する問題を扱うのに、素晴らしい技術です。
- System.Addin を使うと、別々のAppDomain(アプリケーション ドメイン)に異なったコンポーネントをホストでき、これらのアドインが参照する、すべて同じプロセスの中で走る、異なったバージョンのアセンブリを持つことができる。
- System.Addin は、違ったバージョンのアドインを許すので、2つのバージョンのアドインを隣同士で、走らせられる。
- System.Addin は、使用されなくなったAppDomainを自動的に、アンロードし、メモリを再利用できるように、管理している。
- System.Addin には、セキュリティインフラがあるので(アドインは、サンドボックスの中で走る)、ロードされたコンポーネントからは、アプリの他の部分にあるデータに、権限のないアクセスは、絶対にできない。
- アドインのひとつが、クラッシュしても、System.AddInのおかげで、あなたのアプリは、優雅に回復できる(これは分離性のおかげです)。
一方、MEFは、発見と組み立てのための素晴らしい技術であり、
- MEFは、深いオブジェクト階層のコンポーネントを組み立てる。
- MEFは、静的な依存性からコンポーネントを抽出する。
- MEFは、コンポーネントの遅延ロードや遅延インスタンス化ができる。
- MEFは、コンポーネントを動的に発見できるように、分類する機構や豊富なメタデータを提供する。
- MEFは、静的なタイプに限らず、様々なプログラミングモデルから、コンポーネントを組み立てることができる。
アドインモデル(System.Addin)の上に、MEFを単純に作るのではなく、こうしてもセキュリティと安定性に寄与する、分離の点で、いくつかの著しい優位性を享受できるが、MEFは、既存の技術を、ほとんどあるいは、全く考慮せずに、ゼロから作られてきたようである。
2つの技術に関する混乱を見ると、マイクロソフト内で論争があったようである。一方では、 Managed Extensibility Frameworkで拡張可能なアプリケーションを作るのようなビデオを見ているし、11月に、プログラムマネージャのGleen Block氏は、「MEFが、拡張性を前進させる、フレームワークとしての位置にいる。」と、さえ主張している。
他方では、2008年の6月に、Krzysztof Cwalina氏が、示した図には、はっきりと MEFは、アドインモデルと一緒に使われている。そしてプログラムマネージャのNicholas Blumhardt氏は、.NET 4の公開後に 2つのプロジェクト間の相互運用性について考えられるだろう 、と述べた。
これらのことから、アドインモデルは、大方のひとには、役立たないということである。それは、面食らうほど複雑なフレームワークで、とりかかるにも System.Addin Pipeline Builder のようなコード生成ツールが、必要である。そしてこれは、あのプロジェクトの2度目の生まれ変わりであることを、注意すべきである。保守されずに、バグも修正されないままの元々のプロジェクトから生まれたのである。
では、System.AddInの運命はいかに? 異論を唱える者は、いないと思うが、LINQ to SQLのように静かに葬られるだろう。
前回は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
スレッド表示 返信