オープンソースCMS「DotNetNuke」のセットアップ
前回はMicrosoft Web Platform Installerを利用して、DotNetNukeとWebMatrixをインストールする方法を紹介した。今回は、DotNetNukeのインストール方法を紹介する。
ブックマークされました!
ブックマークがエラーになりました。もう一度お願いします。
作者 Srini Penchikala , 翻訳者 金森 諭 投稿日 2008年7月9日
世界的なオンライン旅行会社であるOrbitz Worldwide社(リンク)はExtremely Reusable Monitoring API(ERMA)とデータの永続化と視覚化をおこなうコンポーネントであるGraphiteという2つのオープンソースのモニタリングツールを持っている。ERMAは自社製のJava APIおよびライブラリで、アプリケーションを実行しながらモニタリング統計を取るためにOrbitzのいくつものウェブアプリケーションで使われてきた。ERMAから得られるイベントの連続的データは、サービスがダウンしたり定められた反応時間の閾値より遅くなったりした場合にアラートを出すために使われる。
Orbitz上のオンライン旅行代理店のウェブサイトに関する監視・管理対象には、数十のウェブアプリケーション、数百のVM、数千のJini(分散ネットワークを構築するためのJavaベースのアーキテクチャ)サービスが含まれる。ERMAのベースとなっているテクノロジは3つあるーComplex Event Processing、Java Management Extensions(リンク)、アスペクト指向プログラミングだ。Orbitzは、モニタリングロジックをアプリケーションコードに埋め込むのにアスペクトを使い、イベント管理のためにCEPを使っている。CEPは大量の管理データを高スループットかつ低レイテンシで処理するためのものだ。このテクノロジからできたシステムにより、ソフトウェアの可用性と信頼性およびパフォーマンスにおける問題が原因で起きる顧客に影響のあるイベントを、より少ないMTTR(mean time to resolution:平均修復時間)で対処できるようになり、管理性が向上した。その結果、最低限の開発コストで、10万以上パターンのあるイベントに関するデータを得ることができる。これほど大量のデータを処理できるパワーのおかげで、Orbitzは必要とされるレベルでサービスモニタリングできる。またモニタリングアプリケーションを追加するのに必要なハードウェアにかかる費用も、このテクノロジによって最小限に抑えることができる。
Doug Barth氏とMatthew O'Keefe氏(PDF・英語)はJavaOne 2008(リンク)でComplex Event Processing at Orbitzというプレゼンテーションを行い、Orbitzウェブサイトにおけるアプリケーションレベルでのモニタリングのケーススタディを説明した。このセッションでは、ERMAとGraphiteの2つのツールがどのようにOrbitzのアプリケーションに使われているかをモニタリング統計と視覚化画面のサンプルを使って示した。Sun Developer Networkの無料会員であればこのプレゼンテーションを記録した音声・映像(リンク)がオンラインで入手できる。
ERMA はJava技術ベースの計測APIで、単にロギングAPIとして使うことも容易で、その場合も設定次第でロギングやモニタリングや統計やその他イベント処理に必要な事に対するほとんどの要求を満たすことができる。ERMAは同一のアプリケーションスレッドで起きたイベントを動的に関連付けることができる。その結果現れたイベントパターンをユーザリクエストを提供している他のVMに対して当てはめることも可能で、それによりボトムアップによる影響分析だけでなく、ドリルダウンでエラーや反応の原因分析をおこなうことができる。
ERMA の基本はMonitorインターフェースとMonitorProcessorインターフェースだ。アプリケーションコードはMonitorの実装コードを使うことになる。ディベロッパはモニタリングの必要なJavaクラスに対して@Monitoredといったアノテーションを付けることができる。 @Monitoredアノテーションは型レベル(クラスやインターフェース)でも、メソッドレベルでも宣言できる。Orbitzはアノテーションを直接 ERMAを埋め込んだりSpring(リンク)やAspectgJ(リンク)ベースの設定を使ったAOP方式で埋め込んだりしている。
MonitorProcessor は埋め込まれたデータから生成された生データを処理する役割を担う。Orbitzには多くのMonitorProcessor実装があり、その中には数百のVMからのERMAイベントをCEPエンジンにリアルタイムに送るものもある。CEPエンジンでは高速かつ高反応で集約や処理を行う。
ERMAはLaunchpad(リンク)のサイトでダウンロード可能だ。LaunchpadチームはあたらしいERMA 3.0のテストを完了している。ERMAに関するチーム内のwikiドキュメントもERMAの新しいWiki(Wiki)サイトに全てコピーが終わっている。
ERMAはどのMonitorがどのMonitorProcessorに送られるかを宣言するのに、Apache CommonsのJEXL(リンク)ライブラリを使っていて、シンプルな構文で設定ができるようになっている。このことでアプリケーションが実行中でも動的に情報の流れを決めることができる。JUnitPref(リンク)テスティングフレームワークは、開発段階でモニタリングロジックをアプリケーションコードに加えたことで応答性に問題が起きるようになってないかを確かめるのに使われている。
視覚化の点ではSNMP(ネットワークシステムを監視・管理するためのプロトコル)イベントを表示するNetcool/OMNIBusコンソールと、社内で開発されたデータの永続化と視覚化システムであるGraphiteが使われている。Orbitzでは以前、イベントを処理しているアプリケーションからのデータストリームをSNMP経由でNetwork Operations Centerに送る機能を実装するのにOpenNMS(リンク)プロジェクトのJoeSNMP APIを使っていた。
Graphite
GraphiteはPython(リンク)で作られたウェブアプリケーションで、大量の時系列データにも対応して保存や視覚化できるよう開発された。GraphiteはCEPエンジンの出力を受け取るが、その出力は70000以上のメトリクス(評価指標)を集めたデータから成る。GraphiteのポートレットはJBoss Portal(リンク)フレームワークをベースにしたモニタリングポータルと連携できるように作られた。モニタリングポータルは稼動しているシステムの統計や警告用のRSS フィードをテーブル上にグラフィカルに表示する。ユーザは特定の重要度の警告や影響するアプリケーションについてのフィードを購読できるようになっている。Graphiteウェブアプリケーション自体はRESTfulなURLから生成されたモニタリング統計のグラフを視覚的に表示するために使われる。 Graphiteはデータを線グラフやパイチャートで表現したりcsvデータとして出力したりできる。Graphiteはウェブベースのコマンドラインインターフェースも備え、パワーユーザが関連するグラフをいくつも表示したダッシュボードを素早く簡単に作れるようになっている。
GraphiteもLaunchpadのサイト(リンク)からダウンロードできる。Chiris Davis氏とGraphite開発チームはこの視覚化ツールの使い方についてのドキュメントをのせたwikiも作っている。もし開発チームにフィードバックを送りたいならば、サイトにあるフォーム(リンク)から送信することができる(ユーザー登録が必要)。サイトに質問が投稿されると開発チームにe-mailが送られるようになっている。
Orbitz でのCEPが扱う範囲は今後イベントパターンのモニタリングにも広がっていく。これにはリアルタイムでクリックの流れを分析し関連付ける機能も含まれる。 Orbitzは、別個に起きたイベントのパターンから予測した顧客に影響のあるイベントの原因情報をまとめることで、運用者に送られるアラートの量を減らすシステムを開発中である。Orbitzのビジネスが拡大するにつれて、自動実行可能なイベント検知をベースにした大規模な処理が可能な方法で運用チームがシステムを管理できるようにすることが急がれている。ERMAの今後のロードマップではオープンソースのESPエンジンであるEsper(リンク)と統合することも予定されている。
ESPについてInfoQのこれまでの記事をもっと読みたい方には、InfoQのESP(参考記事)セクションを見てもらいたい。そこでIBMのWebSphere Business Events(リンク)やBEAのWebLogic Event Server(リンク)やEsperといった他のCEP(リンク)プロダクトもカバーしている。
原文はこちらです:
前回は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
スレッド表示 返信