| 開発者 | イギリス、ブリストルのHP ラボ |
|---|---|
| 初回リリース | 2004年1月24日 |
| 安定版リリース | 3.18.016 / 2012年3月13日 |
| リポジトリ | sourceforge.net/projects/smartfrog/ |
| 書かれた | ジャワ |
| プラットフォーム | Linux、Microsoft Windows XP SP2、Microsoft Windows Vista、HP-UX、Mac OS/X |
| タイプ | 構成管理、フレームワーク |
| ライセンス | Apache ライセンス 2.0 |
| Webサイト | スマートフロッグ |
SmartFrog ( Smart Framework for Object Groups ) は、コンポーネントベースの分散システム全体で大規模なアプリケーションをホストするためのJavaベースのオープンソースフレームワークです。分散システムの設計、構成、展開、管理をより簡単に、正確に、自動的に行うことが提案されています。SmartFrog は主に、SmartFrog 言語、ランタイム システム、および SmartFrog コンポーネント モデルを実装する SmartFrog コンポーネントのライブラリの 3 つの要素で構成されています。 [1]
歴史
SmartFrogはもともとヒューレット・パッカードのヨーロッパ研究所で開発されました。HPのインフラストラクチャ自動化とサービス自動化に関する研究や、さまざまなHP製品で使用されてきました。 [2] SmartFrogは2004年1月にSourceForgeでホストされているGNU Lesser General Public License (LGPL)ライセンスの下で一般に公開されました。その結果、研究所外のユーザーや開発者もフレームワークの使用、拡張、バグの報告を通じて貢献できるようになりました。[3] 2017年、ヒューレット・パッカードがHP Inc.とHewlett Packard Enterpriseに企業分割された後、 Hewlett Packard Enterpriseの所有権下でSmartFrogはApache License 2.0の下で再ライセンスされました。[4]
テクノロジー
スマートフロッグ言語
SmartFrog Language は、システムに属するソフトウェア コンポーネント、構成パラメーター、コンポーネントがシステム内の他のコンポーネントにバインドされる方法、コンポーネントが動作する順序など、コンポーネント コレクションとシステム構成を記述するために使用される構成記述言語です。
コンポーネントモデル
SmartFrog では、コンポーネントが最も重要かつ基本的な部分です。システムはアプリケーションの集合体とみなされ、各アプリケーションはコンポーネントの集合体で構成されています。すべてのコンポーネントは、コンポーネントの存在とデフォルト属性を表す Java の SmartFrog ファイルに記述されます。
ランタイムシステム
ランタイムシステムは、SmartFrog Language で記述された記述を解釈し、解釈結果に基づいてコンポーネントを管理します。また、ユーザーにコンポーネントを操作するためのツールも提供します。
特徴
フレームワークとして
SmartFrogはパッケージやライブラリではなく、ソフトウェアシステムの構築を支援するフレームワーク、つまり構成要素です。SmartFrogはフレームワークに新しいコンポーネントを追加することで拡張できるため、適用範囲が広がり、新しい機能を獲得できます。[5]
テンプレートのメカニズム
SmartFrog では、すべてのコンポーネントがテンプレートとして定義されます。通常、新しいサービスごとに、新しいコンポーネントが作成され、アクティブ化されます。ただし、一部の汎用コンポーネントは、異なるサービスで再利用できます。テンプレート メカニズムでは、システム構成をさまざまな要件に簡単に適応させることができ、デフォルトの構成を保持できます。プロトタイピングでは、システムの構成のすべての変換と履歴を保持することもできます。SmartFrog を使用して大規模な分散システムを構築すると、一部のコンポーネントを再利用できるため、アプリケーション全体を完全に書き直す必要はありません。ユーザーは、構成記述表記を使用して、システムをインストール、アンインストール、構成、起動、停止するための簡単な SmartFrog コンポーネントを簡単に記述または作成できます。[5]
クロスクライアントモデル
SmartFrog に似たソフトウェア システムは多数ありますが、SmartFrog で使用されているものと同じモデルを使用しているものはほとんどありません。システムの最大のカテゴリはクライアント サーバー モデルに基づいています。このモデルでは、すべてのクライアントの構成データがサーバーに保持され、各クライアントはサーバーに格納されている構成データと一致するように設計されています。ただし、SmartFrog では、各クライアントが独立したエンティティとして扱われるように、クロス クライアント モデルが使用されています。これにより、SmartFrog は広範囲のノード間で調整を行い、自律的なアクションを実行し、より高いスケーラビリティを実現できます。[6]
安全
SmartFrogには、セキュアと非セキュアの2つの実行モードがあります。[7]非セキュアモードでは、SmartFrogへのクライアント接続に制限はなく、プレーンテキスト通信は盗聴や傍受される可能性があります。このモードでは、システムは悪意のある攻撃に対して脆弱です。
SmartFrog は、悪意のある展開やその他の管理アクションから保護する必要があります。セキュアモードでは、SmartFrog は公開鍵インフラストラクチャ(PKI) システムを使用します。指定された証明機関(CA)によって認証されたクライアントのみがSmartFrog Daemonに接続できます。さらに、SmartFrog はすべてのコンポーネントと説明に証明書で署名し、署名されたものだけが展開されます。通信はトランスポート層セキュリティ(TLS) プロトコルを使用して暗号化されます。[8]
関連プロジェクト
GridWeaver プロジェクト
GridWeaverプロジェクトは2002年に始まり、1年間続きました。プロジェクトの協力者は、エディンバラ大学情報学部、HP研究所、エディンバラ並列コンピューティングセンター(EPCC)でした。このプロジェクトの目的は、次世代のグリッドコンピューティングファブリックの構成と管理を自動化する問題の解決策を見つけることでした。[9]
このプロジェクトでは、SmartFrog とLocal ConFiGuration システム (LCFG)の長所と短所を比較し、これらのツールが問題解決にどのように活用されるかを調査しました。
SFJS
Switzerlandは、SmartFrogプロジェクトの主著者の一人であるPatrick Goldsackが共同設立したConfigured Thingsによって開発された構成言語、ランタイム、コンポーネントライブラリです。SfJSはSmartFrogの精神的な後継であり、Node.js上に構築されています。[5] [10]
参照
- オープンソース構成管理ソフトウェアの比較
- LCFG - 多数のシステムを管理するための確立された構成フレームワーク
参考文献
- ^ Goldsack, Patrick; Guijarro, Julio; Lain, Antonio; Mecheneau, Guillaume; Murray, Paul; Toft, Peter (2003). 「SmartFrog: 分散アプリケーションの構成と自動起動」: 1–9 ページ。CiteSeerX 10.1.1.187.8478。
{{cite journal}}:ジャーナルを引用するには|journal=(ヘルプ)が必要です - ^ 「SourceForge プロジェクト ページ」。
- ^ 「HP Labs SmartFrog プロジェクト ページ」。2019 年 2 月 20 日時点のオリジナルよりアーカイブ。
- ^ “SmartFrog / SVN / コミット [r8898]”.ソースフォージ。 2017年5月16日。
- ^ abc 「SmartFrog公式サイト」。smartfrog.org。
- ^ Goldsack, Patrick; Guijarro, Julio; Loughran, Steve; Coles, Alistair; Farrell, Andrew; Lain, Antonio; Murray, Paul; Toft, Peter (2009). 「Smart Frog構成管理フレームワーク」. ACM SIGOPS オペレーティング システム レビュー. 43 : 16–25. doi :10.1145/1496909.1496915. S2CID 11693395.
- ^ 「SmartFrog セキュリティ」。2015 年 3 月 28 日時点のオリジナルよりアーカイブ。
- ^ 「SmartFrog ユーザーマニュアル」。2019年2月20日時点のオリジナルよりアーカイブ。
- ^ 「GridWeaver プロジェクト」。2016 年 9 月 23 日時点のオリジナルよりアーカイブ。
- ^ 「SmartFrogプロジェクト」。Configured Things 。 2022年4月25日閲覧。
外部リンク
- 公式ウェブサイト
- HP Labs SmartFrog プロジェクトの Web サイト(Wayback Machineより) (2019 年 2 月 20 日アーカイブ)
- SourceForge のプロジェクト ページ
- Google Usenix ペーパーで参照されています。
