2012-04-23 12 views
5

私は、互いに通信してファイルを送信する必要がある2つのレールアプリケーションを構築しました。たとえば、1つのレールアプリは、他のアプリのデータベースのテーブルを表示するリクエストを送信します。他のアプリは、そのテーブルのjsonをレンダリングし、それを戻します。また、あるアプリがその公開ディレクトリに保存されているテキストファイルを他のアプリの公開ディレクトリに送信したいと思います。Railsアプリケーション間の通信

私はこのようなことは一度もしていないので、どこから始めるべきか分からない。どんな助けもありがとう。ありがとう!

答えて

2

開始点として、ActiveResourceをご覧ください。

Railscast

docs

+2

ActiveResourceはほぼ廃止予定です。 Rails 4.0からは、Railsの標準的な部分ではなくなりました。そして、誰かがそれを維持するためにステップアップしない限り、それは良いために行くだろう... –

+0

ああ、それはあまりにも悪いです。少なくともアイデアはまあまあまあです。だからうまくいけば出発点です。主に、あるRailsアプリが世界にRESTfulなインターフェースを提供したいとしたら、他のアプリはそのインターフェースを使って必要なデータを取得します。 – jdl

+0

2番目のリンクから404. – Alan

5

あなたの要件は、ほぼすべてのウェブが互いに最も近代的なWebアプリケーションで必要とされるとのコミュニケーションに関係なく、レールのアプリのために一般的です。

Webサイトは、同じ言語(この場合はRails)でビルドされていても、相互に内部データ(テーブルなど)に直接アクセスすべきではありません。

これはウェブサービスが再生される場所ですから、ウェブアプリケーションを通じてデータを公開して、レールアプリケーションだけでなく消費方法も知っているすべてのアプリケーションを公開する必要がありますWebサービスが利益を得るでしょう。 Railsのバックあなたの質問に来る

、レールとレールが箱から出してREST Webサービスをサポートしていますので、いくつかのWebサービスについてグーグルでない、REST Webサービス

HTH

0

最近のRailsのバージョンでは、それAPIのみのアプリケーションを開発するのは簡単です。 Railsのコアマスターでは、これらのアプリケーションのための特別なアプリケーションタイプさえも短期間に(それが再びヤンクされるまで)存在していました。しかし、それはまだプラグインとして利用可能で、おそらくある日は実際にRailsのコアの一部になります。詳細については、http://blog.wyeworks.com/2012/4/20/rails-for-api-applications-rails-api-releasedを参照してください。

バックエンドサービスのAPIを実際に開発して維持するには、バックエンドとフロントエンドの両方でリソースの理解が同じであることを確認するには、ROARを使用するとよいでしょう。

通常、APIを使用してバックエンドアプリケーションを完全に定義する必要があります。賢明にしようとするといくつかの設計手順をスキップするだけで、長期的に頭痛をもたらすでしょう...

+0

が返されます。優れたAPI設計について学ぶためのリソースをお勧めしますか? – danieldekay

+0

Apigeeからこの文書をお試しください:http://info.apigee.com/Portals/62317/docs/web%20api.pdf – bryanbraun

0

チェックアウトMorpheus。これにより、RESTfulなサービスを作成し、クライアントにおなじみのActiveRecord構文を使用できます。

1

RabbitMQなどのメッセージキューイングシステムを使用して、「メーラー」アプリやメインの「ハブ」アプリケーションなどのさまざまなアプリ間で物事を内部的に通信できます。

また、1つのアプリケーションの「キュー」にスティックのようなものに共有接続を使用し、他のアプリから処理のためにそれらを読み取ることができます。

関連する問題