2011-06-13 8 views
3

複数のサーバーインフラストラクチャを管理するために使用するスクリプトが多数あります。これらのスクリプトの中には、rootアクセスが必要なものとデータベースにアクセスするものがあり、そのほとんどがperlベースです。これらのスクリプトをすべて、非常に単純なWebサービスに変換して、さまざまなアプリケーションから実行できるようにしたいと考えています。これらのWebサービスは定期的なリクエスト入力を受け取り、実行された結果jsonを出力します。私は、単純なperlディスパッチャーをセットアップして、actionと呼んで、ログを記録し、資格をチェックし、これらの単純なスクリプトを実行すると思っています。ような何か:perl Webサービスインフラストラクチャを構築する方法

http://host/action/update-dns?server=www.google.com&ip=192.168.1.1 

これは、順番に(おそらく何らかの方法で洗浄)適切なパラメータを使用してupdate-dnsスクリプトを呼び出して、適切なJSONレスポンスを返すaction perlのドライバを呼び出します。このインフラストラクチャには次の属性が必要です。

  • すべてのスクリプトは1か所にあります。新しいスクリプトがそこにドロップされると、自動的に呼び出し可能になります。
  • すべてのスクリプトには、それを呼び出すことができるマニフェスト(LDAPグループに属しています)、パラメータはどのようなものか、応答は何かなどが必要です。
  • すべてのスクリプトは、誰が何をしたのか、何が応答したのかという点で記録されています。
  • # action update-dns --server=www.google.com --up=192.168.1.1

ような何かを行うには、コマンドラインの道があった場合、それは素晴らしいことだ私は、これが最初から軌道に乗るために持っているか、すでに私は背中にピギーできるの上に何かがありますか?

+1

方法http://java.net/projects/hudson/とHTTPの組み合わせの使用に関する:// WWW .nagios.org /完全一致または完全にオフ;-) –

+0

@Fredrikは、です。私はシンプルで軽量のものを探しています。できればperlベースです。 Fredrikが推奨するように – rmarimon

+0

、ナギオスは一見価値があります。 [nagios plug.ins](http://exchange.nagios.org/directory/Plugins)は別々の実行ファイルであり、その多くはCとPerlで書かれているため、nagios tselfなしでも使用できます。車輪を改造/修正する場合は、自分のアプリケーション(wrtライセンス)でそれらを使用することができます。 – mbx

答えて

2

私のフレームワークSub::Specをチェックしたいと思うかもしれません。ドキュメントはまだまれですが、私はすでにmy other modules in CPANを含むいくつかのプロジェクトに使用しています。

あなたのコードを関数に書いて、これらの関数(いくつかの要約や引数の指定など)に十分なメタデータを装飾/追加し、必要なものを処理するツールチェーンがあります。 ()Sub::Spec::HTTP::ServerSub::Spec::HTTP::Clientを使用して(Sub::Spec::CmdLineを使用して、HTTP経由でコマンドラインで自分の関数を実行している。

揺籃期にあるsample projectがあること。またhttp://gudangapi.com/を見てみましょう。たとえば、関数GudangAPI::API::finance::currency::id::bca::get_bca_exchange_rate()がアクセスできるようになります。

Contact me

HTTP API経由でAPI関数として、あなたがこのようなものを導入することに興味がある場合

+0

これは完全に私が移動したい方法であるようです。比較のためにあなたのような他の図書館を見つけましたか? – rmarimon

+0

コマンドラインアプリケーションを書く場合:Mooseを使用する場合は、[MooseX :: Runnable](http://search.cpan.org/dist/MooseX-Runnable)を使用できます。 [App :: Cmd](http://search.cpan.org/dist/App-Cmd)もあります。関数をHTTPに公開する場合、Plack/PSGIがあります。 –

関連する問題