2012-04-23 41 views
5

Tôi đã xây dựng hai ứng dụng đường ray cần giao tiếp và gửi các tệp giữa các ứng dụng. Ví dụ: một ứng dụng đường ray sẽ gửi yêu cầu xem bảng trong cơ sở dữ liệu của các ứng dụng khác. Ứng dụng kia sau đó sẽ hiển thị json của bảng đó và gửi lại. Tôi cũng muốn một ứng dụng gửi tệp văn bản được lưu trữ trong thư mục công khai của nó tới thư mục công cộng của ứng dụng khác.Giao tiếp giữa các ứng dụng Rails

Tôi chưa bao giờ làm bất cứ điều gì như thế này nên tôi thậm chí không biết bắt đầu từ đâu. Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn!

Trả lời

2

Là điểm xuất phát, hãy xem ActiveResource.

Railscast

docs

+2

ActiveResource ít nhiều bị phản đối. Bắt đầu với Rails 4.0, nó sẽ không phải là một phần tiêu chuẩn của Rails nữa. Và trừ khi ai đó bước lên để duy trì nó, nó sẽ biến mất ... –

+0

Ah, điều đó quá tệ. Ít nhất thì ý tưởng này cũng đủ phong nha, vì vậy hy vọng nó cung cấp một điểm khởi đầu.Chủ yếu, bạn muốn một ứng dụng Rails cung cấp giao diện RESTful cho thế giới, và sau đó ứng dụng khác chỉ xảy ra để sử dụng giao diện đó để lấy dữ liệu cần thiết. – jdl

+0

Liên kết 2st trả lại 404. – Alan

5

Bạn yêu cầu là phổ biến đối với hầu hết các ứng dụng web không phụ thuộc vào đường ray, Giao tiếp với nhau là cần thiết bởi hầu hết các ứng dụng web hiện đại. Nhưng có một sự hiểu biết nhỏ mà bạn cần phải nắm giữ,

Trang web không được truy cập trực tiếp vào từng dữ liệu nội bộ khác (chẳng hạn như bảng), (ngay cả khi chúng được xây dựng bằng cùng một ngôn ngữ (trong trường hợp này là Rails) bởi cùng một nhà phát triển),

Đó là nơi các dịch vụ web được phát, Vì vậy, bạn nên hiển thị dữ liệu của mình thông qua các dịch vụ web sao cho ứng dụng không chỉ có thể sử dụng nó, mà còn bất kỳ ứng dụng nào biết cách tiêu thụ một dịch vụ web sẽ nhận được lợi ích.

Trở lại câu hỏi của bạn với Rails, đường ray hỗ trợ các dịch vụ web REST ra khỏi hộp, Vì vậy, làm một số googling về các dịch vụ web, dịch vụ web REST với đường ray

HTH

0

Trong các phiên bản Rails gần đây, nó khá đơn giản để phát triển các ứng dụng API. Trong chủ nhân cốt lõi của Rails, thậm chí còn có một loại ứng dụng đặc biệt cho các ứng dụng này một thời gian ngắn (cho đến khi nó bị giật mạnh một lần nữa). Nhưng nó vẫn có sẵn như là một plugin và có lẽ một ngày thực sự trở thành một phần của cốt lõi Rails. Xem http://blog.wyeworks.com/2012/4/20/rails-for-api-applications-rails-api-released để biết thêm thông tin. Để thực sự phát triển và duy trì API của dịch vụ phụ trợ và đảm bảo cả phụ trợ và lối vào có cùng hiểu biết về tài nguyên, bạn có thể sử dụng ROAR là cách tuyệt vời để xây dựng các API tuyệt vời.

Thông thường, bạn nên xác định đầy đủ ứng dụng phụ trợ của mình bằng API. Cố gắng thông minh và bỏ qua một số bước thiết kế sẽ chỉ khiến bạn nhức đầu về lâu dài ...

+0

bạn có thể giới thiệu tài nguyên để tìm hiểu về thiết kế API tốt không? – danieldekay

+0

Thử tài liệu này từ Apigee: http://info.apigee.com/Portals/62317/docs/web%20api.pdf – bryanbraun

0

Kiểm tra Morpheus. Nó cho phép bạn tạo các dịch vụ RESTful và sử dụng cú pháp ActiveRecord quen thuộc trong máy khách.

1

Các hệ thống xếp hàng thư như RabbitMQ có thể được sử dụng để liên lạc nội bộ giữa các ứng dụng khác nhau như ứng dụng "gửi thư" và ứng dụng "trung tâm" chính.

Ngoài ra, bạn có thể sử dụng kết nối được chia sẻ với thứ gì đó như redis dính mọi thứ vào "hàng đợi" trong một ứng dụng và đọc chúng để xử lý từ một ứng dụng khác.

Các vấn đề liên quan