オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Dionysios G. Synodinos , 翻訳者 渡辺 裕之 投稿日 2009年1月5日
JSR-315がServlet 3.0仕様のパブリック・レビュー(PR)を公開した。またそれに合わせGlassFish (リンク)のトランクで参照実装が提供された。今回のリリースがエキスパート・グループ(EG)が選択した次世代のServlet APIとJava EE 6プラットフォームに関する物議をかもしている。
Servlet APIは常々詳細な部分については荒削りで、またEarly Draft段階 (参考記事)であるためにJSR 315のEGはEase of Development (EOD)、プラグイン化、そして非同期処理のサポートといった分野について洗練と改良を続けている。この点についてスペック・リードの一人であるRajiv Mordani氏は以下のように述べている。
- Ease of Development (Eod): Early Draftで主にServletをPOJOとして作成するためのアノテーションを追加しました。しかしエキスパート・グループ内での議論とコミュニティの数人から得たフィードバックを基に、私たちはメソッド・レベルのアノテーションである@GET、@POSTを無くしてdoGet、doPostといったメソッド名の制約とHttpServletの継承を残すことにしました。一方でトップレベルのアノテーションはより使い勝手をよくするために名称が変更されたものの、残されています。@WebServletアノテーションはサーブレットを宣言するため、@ServeltFilterはフィルタ、@WebServletContextListenerはServletContextListenerをそれぞれ宣言するために使われます。これらのアノテーションに加えて@ResourceのようにServlet 2.5からサポートされるようになったアノテーションも引き続き使うことが出来ます。
- プラグイン対応:サーブレットの仕組みの上に構築されたWebフレームワークは開発者にとってとても馴染みのあるもので、異なる領域に特化した様々なフレームワークが存在しています。開発者がWebアプリケーションを作るに当たってフレームワークをより便利に使えるようにするため、私たちはサーブレット3.0の仕様で開発者がより簡単に好きなフレームワークを使ったり設定できるような機能を追加しました。
- 非同期処理: これがサーブレット3.0の仕様でもたらされた最大の変更点になります。Early Draftではそれまで定義されていた多くの記述法について取り止めたり、再開したりしました。しなしながらEarly Draftの後に非同期処理に関する様々な用途についてエキスパート・グループで多くの議論を重ねた結果、この分野の仕様は多くの用途に対応できるように変更されています。
Roy Van Rijn氏はEarly Draftに登場するいくつかの機能に関する自分の考えを以下のように表現した(リンク)。
私はいまだにGET/POSTメソッドには絶対にアノテーションを使わない方がいいと思っていますが、Java EE 6の仕様書ではこのようなアノテーションを使うことを推奨している上にJSR-315の作者たちは選択肢を用意していません(ひどいことです)。この記事に記したコメントはJSRグループに送りましたが、まだ返事はありません。
さらにJSRのメンバに説明・解説・対応を求めようとしても接触できていません。最近Java EE 6の仕様書がパブリック・レビューになり、それにはServlet 3.0の仕様について言及されていますので恐らくはJava EE 6に含まれることでしょう。これはつまり現在も活動中であるということを意味しています。もしかしたら期限に間に合わせるために半狂乱で活動しているかもしれません。でも、私はアノテーションに関する決定について再考してもらえるよう嘆願しました。
パブリック・レビュー(PR)のリリースについてWebtide社のGreg Wilkins氏はその仕様を「調和の取れていないエキスパート・グループ(EG)が欠点だらけのプロセスを通して生み出した貧相なドキュメントである」(リンク)と評している。氏のPRに対する主な論点は以下の通りである。
Greg氏は以下のよう結論付けている。
現在のPRには多くの重大なエラーが含まれていると思います。そして、プロセスの欠陥があまりにヒドイためにこれらの欠陥が適正に評価されずに自明となったのです。これらの問題についてEGからのサポートがありましたが、スペック・リードに対して彼らの正当性を納得させることはできませんでしたし、過剰な議論をしてもこれらの発生を抑えることは出来なかったと思います。
Rajiv氏(リンク)はGreg氏の指摘に対して以下のように答えた。
Rajiv氏はさらにRedHat社のBill Burke氏のブログを引用した。そのブログではJetty 6 continuationsによる非同期サーブレットの実装が非難されている(リンク)。
最後に、Greg Wilkins氏は自身がブログ内で提案した修正案/拡張案を利用してServlet 3.0準拠の非同期サーブレットを実装しているということを公表している(リンク)。EG内で継続している議論によればその内容とは以下のようなもののようである。
- 再ディスパッチされた非同期リクエスト向けに新しくASYNCというDispatcherTypeを追加
- リクエストが再ディスパッチされた場合にisAsyncStarted()メソッドはfalseを返す。
- getReader()かgetOutputStream()を呼び出した後にstartAsync()やstartAsync(request, respone)が呼び出されるとIllegalStateExceptionが投げられる。これによってシンプルなクラスが非同期ハンドラを使うことを制限する。
- startAsync(request, response)によって非同期モードが開始された場合、AsyncContextのfoward(...)系のメソッドを実行することはIllegalStateExceptionにつながる。これによって再ディスパッチ用のラッパー・クラスが複雑化するのを抑制しつつ非同期ハンドラ内でラッパー・クラスを使うことを許容する。
- forward(path)及びforward(context, path)メソッドは実装していない。
コードはJettyのブランチ(リンク)及び、servlet-apiのブランチ(リンク)で手に入る。
Greg氏は非同期サーブレットの問題についていかのようにまとめた。
さらなるテストが必要なものの、この実装によってラップされたリクエストを再ディスパッチしたりforward(path)メソッドを実装したりすることなくかなりの非同期的な振る舞いを実装することが出来るということが示されました。この実装が3.0の落としどころとなると信じています。もしさらなる機能が必要となれば、3.0のシンプルなサブセットで十分な経験を積んだ後で3.1に追加すればいいことです。
Servlet(参考記事リンク)、GlassFish(参考記事リンク)、Jetty(参考記事リンク)、Comet(参考記事リンク)、そしてJava EE(参考記事リンク)に関するさらなる情報はInfoQにあります。
原文はこちらです:http://www.infoq.com/news/2008/12/servlet3_debate
前回は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
スレッド表示 返信