メタプログラミングを使ってRubyにプロパティを追加する
Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。
- Ruby,
作者 Srini Penchikala, 翻訳者 編集部 投稿日 2008年4月25日 午後12時31分
オープンソースJVMクラスタリングフレームワークであるTerracotta(サイト・英語)の最新バージョンには、クラスタ可視化ツールおよびTomcat 6(source)プラットフォームの公式サポートが含まれる。今週の月曜日Terracottaチーム(サイト・英語)は、 製品バージョン2.6(source)の一般出荷可能日について発表(source)した。製品には共通のユースケースにおけるパフォーマンスの向上も含まれる。
クラスタの可視化およびモニタリングツールスイートは、アプリケーションクラスタ全体の正常性およびパフォーマンスのビューを提供する。オペレーターおよ びデベロッパはこのツールを使用して、CPU使用率、ネットワークおよびディスクアクティビティー、Terracotta統計、オブジェクトの変更率およびガーベジコレクションサイクルなどのアプリケーションメトリックをモニターすることができる。このツールには、クラスタ可視化およびスナップショット 可視化のランタイムグラフが含まれており、のちにオフラインで見るデータベースに保管されている。そのスナップショットは、Terracotta Administration Consoleにあるロックプロファイラーを使用して見ることができ、アプリケーションコードのデッドロックやその他のロッキングホットスポットを見つける。
Terracottaの最高技術責任者(CTO)であるAri Zilka氏が最近、可視化ツールおよびロックプロファイラーについて詳述したブログを書いた(source)。その中で、実行時のパフォーマンスホットスポットを診断す るために、プロファイラーツールの機能およびその使用方法を説明している。
Tomcatに対するTerracottaのサポートには、人気のあるオープンソースサーブレットコンテナ上で実装されるWebアプリケーションのセッ ションおよびアプリケーションデータのクラスタリングが含まれる。Terracotta 2.6のその他の新機能としては、Forge Projectサイト(source)への新プロジェクトの追加機能である。それにはEHCache(サイト・英語)およびHibernate(サイト・英語)の統合が含まれる。以前これらの2つのフレー ムワークは、中心的なTerracottaキットで使用可能であった。Forgeプロジェクトサイトは、Terracotta開発チームおよびコミュニ ティメンバーに、Terracottaの具体的な統合について、またプロジェクトについて共同で作業をおこなうため、またあらゆる障害の解決策について話 し合うための共通の場を提供する。Terracotta Integration Module(source)は、構成要素およびJavaクラスのセットがTerracottaの構成内で単一モジュールとしてまとめられることを可能にする。
最新バージョンの新機能についてInfoQは、Terracottaチームにインタビューをおこなった。クラスタ可視化および管理ツールに関して、以下のような回答を得た。
クラスタ可視化機能は、使用しているアプリケーションのチューニングと可視性についてである。可視化ツールは、特殊なダッシュボードでのオフライン処理の 統計をさらに詳しく収集することができる統計レコーダーに加えて、リアルタイムで見ることができるランタイム統計に分類される。ランタイム統計には、 Java Heap、System CPU、Terracotta Transactions、Terracotta FlushおよびFault Rateが含まれる。また、 CPU、Disk、Network、Heap、Thread Dumps、 Terracotta Queue Depthsなどレコード可能な30を越える統計がある。
Administration Consoleを使用して、 クラスタのすべてのJVMでのスレッドダンプを受け入れ、見ることができる。一通り見てみると、クラスタでスレッドがおこなっていることが分かる。また、 Administration Consoleを使用して、リモートJVMでログレベルを動的に調整したり、デバッグを簡単にするために、クラスタからJVMを排出することができる。
パフォーマンスの改良に関する質問に対して、チームはこの改良の裏にある動機と完遂した経緯について説明した。
パフォーマンスの改良は、キャッシュの埋め込み、ストリングの自動圧縮および内ストリングのサポートと同様、一般的な読み/書きのパフォーマンスの改良の他、短いループでの繰り返しなどの特定の共通ユースケースをターゲットにしている。
ワークロードモデリングプラットフォームを作成し、カスタマーアプリケーションで想定されるであろうユースケースのシミュレーションをおこなった。このモ デリングプラットフォームにより、現実世界にある具体的なコードパターンに関するパフォーマンスのテストを迅速に作成し、自動化された持続的な統合および テストスイートに引き込むことを可能にする。これにより、パフォーマンスベースラインの構築が可能になる。そこから具体的なベクトルに沿ったパフォーマン スの改良を抽出し、さらに重要なことは、リリース周期で継続的にパフォーマンスをモニターし、パフォーマンスの後退が確実にないようにする。
InfoQは、新機能や機能拡張の観点から見たTerracottaの今後のロードマップについて尋ねた。
2008年、Terracottaの山場はランタイムダッシュボードの開発である。それはアプリケーションの可視性、制御およびSLAポリシー管理など、以下のものを含む。
- サーバストライピングおよび拡張容易性のミラーリング
- ヒストリカル分析(アプリケーションにGoogle Analyticsを検討して欲しい)
- 自動スナップショット
- アプリケーションメッセージセンター
- プッシュボタンのデプロイメント
- SLA駆動型のデプロイメント(オンデマンドでデプロイ)
- アップグレードの支援(ローリングアップグレード、自動ソフトウェアデプロイメント)
その他のニュースとしては、TerracottaはHyperic SIGAR (System Information Gatherer and Reporter)(source)をTerracottaバージョン2.6とバンドルして、主要なオペレーティングシステムおよびハードウェア情報を取得することが発表された(source)。Hyperic HQ(source)管理プラットフォームの一部であるSIGARはオートインベントリー、モニタリング、ログイン追跡、コントロールおよびリモート診断のようなサービス を提供する。
原文はこちらです:http://www.infoq.com/news/2008/04/distributed-db-strokedb
Werner Schuster氏が、簡単な例を示しながら、Javaのようなプロパティをメタプログラミングを使ってRubyに追加する方法を示します。
現在のRIAアーキテクチャにおいて、クライアント/サーバーの通信は重要な位置を占めています。本稿では、James WardとShashank TiwariがアドビによるオープンソースのBlazeDSメッセージングサーバーの世界へ飛び込みます。
ウィルス対策ソフトや情報漏えい防止用のソフトは、いわば影の存在です。ユーザの操作性やGUIを工夫する以上に、いかに目立たない存在となるかにその技術を注ぎ込んでいます。ここでは日立ソフトが開発した「秘文」の事例を紹介します。
Google Chartは、チャートを作成するためのWebサービスです。本稿では、Google Chartのインターフェースと、Rubyコードから簡単にチャートを生成することができるgchartrbライブラリの説明をします。
全二回からなるこの記事では、ダイナミックビジネスアプリケーション(Dynamic Business Applications:DBAs)の開発についての全体的な眺望を、アーキテクチャと方法論の観点から見ていくことになります。我々のゴールは、「ビジネスの変化や、その他に必要とされる変更に対して、いかにして容易に適応できるアプリケーションを構築していくか」を導きだすことです。
本稿では、Adrien Louis氏がESBベースのSOAに対する2つの接続形態についての賛否について説明しています。その2つとは、会社での単一のESB対「部門毎」に相互接続するESBによるシステムです。
誕生から2年を経てCometは「何が出来るのか」という議論から、「いかに実現するか」という議論に関心が移ってきたように見えます。そこで本稿では同じくJavaOneで数多く取り上げられたNetBeans 6.1とGlassFish v3を使いながら、サンプルを交えてCometを解説していく事にします。
この記事では、WSS3とMOSS 2007に難しい設定など一切せず、すぐに利用可能なWebサービスと、Javaと.NETからそのWebサービスを消費する方法に目を向けます。
No comments
返信