オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 James Kao , 翻訳者 白石 俊平 投稿日 2007年8月31日
先日リリースされたJ2EEWebサービスフレームワークenunciate 1.0は、SOAP、REST、JSONのエンドポイントを作成するにあたり、開発して配備するというシステムを完全に提供している。enunciateはブログやフォーラムですでに興味を集めている。enunciateは、Axis2 や XFireのようなWebサービススタックではない。むしろ、enumciateはXFireとSpringを用いてWebサービスのコードファースト開発モデル(それ自体は斬新ではない)を提供する。このモデルでは、コンパイル時にコントラクトの互換性が強制される。(訳注:以下の文章では、Webサービスなどにおいてクライアントとサーバの間で取り交わされる契約、つまりAPIのことを「コントラクト」と表す)
Web サービス開発に対するEnunciateのアプローチで斬新なのは、オリジナルのソースコードにて定義・保持されたAPIコンポーネント全てを利用することが軸となっていることです(コンパイルされたバイトコードに定義されたAPIだけではありません)。これが意味するのは、Webサービス開発がソースコードの中で完結するので、好みのIDEを用いてメンテナンスすることができ、開発に対する最初の障壁も低いということです。そしてまた、オリジナルのソースコードがあるおかげで、コンパイル時にあいまいさを除くことを開発者に強制することができるのでコードファースト開発によって生じる相互運用性の問題を回避することができ、型としては正しいコントラクトが持つ潜在的な危険性を取り除くことができます。このモデルは正式には"コンパイルドコントラクト "開発モデルと呼ばれます。
Robert Cooperはenumciateについて次のように述べている。 "POJOやJSR-181のアノテーションを使用したJavaのサービス実装があれば、Xfireを用いるSOAPサービス、RESTサービス、JSONサービス、そしてJavaDocよりもかなりすぐれた見た目のドキュメントからなるWARファイルを吐き出してくれます"
キーとなるのは、プロジェクトにおけるコンパイルとパッケージ構築に先立って行われる"ジェネレート"のステップを追加することである。このステップは、開発者が作ったサービスクラス周りの定型的なコードを生成するだけではなく、APIモデルの検証も行う。
ジェネレートのステップは、Enunciateの処理においてもっとも重要です。APIモデルが構築されるのはこのステップ中です。これはAPIのソースコードが読み込まれ、分析され、エンドポイントインターフェースやデータ構造、RESTエンドポイント、フォルトなどを表す抽象的な形式にロードされるということを意味します。この抽象的な形式の事をAPIモデル(もしくは単に短く"モデル")と呼んでいるのです。APIソースにエラーがあった場合、APIモデルの構築が失敗するため致命的なエラーとなります。この致命的なエラーは即時に発生し、エンジンは異常終了し、モデルを構築することができません。モデルが構築されたあとに、検証が行われます。検証ルールについてはデフォルトのセットが存在し、さらにモジュールごとにオプショナルな検証ルールを持っています。検証ルールは仕様に対する違反、相互運用性のための制約、サポートされていないAPIが含まれています。したがって、このステップにおいて相互運用性とAPIの明確化が強制されることに注意してください。検証についてのエラーと警告は蓄積され、エンジンが異常終了する前にユーザに知らされます。(警告のみであった場合は、エンジンが異常終了することはありません。)
enunciate はコードファースト、そして"コンパイルドコントラクト"開発モデルを機能として挙げているが、「相互運用性を損なわず、(公開APIを壊すことなく、下層のコードを変更できるような)長期間生き続けるWebサービスを実現するには、コントラクトファースト(コントラクトをまず決める)アプローチを採用する以外に方法はない。コードファーストはうまくいかないのは明白である」という意見 もある。enunciateの開発者であるRyan Heatonがその返信の中で述べているのは、バージョニングを適用するときは気をつけること、そして"相互運用性のルールが強制される"のはコンパイル時であり、その時enunciateはコントラクトファーストな開発モデルを明確にはサポートしていないということだった。
プロジェクトのロードマップ によれば、エンドポイントのバージョン管理のような機能、.NETクライアント、SMTPエンドポイント、WS-*、単なるWARではなく単体で動作するWebサービスサーバをも生成する、などの機能が将来サポートされるとのことである。
(原文は2007年4月3日にリリースされた記事です)
前回は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
スレッド表示 返信