Nhóm của tôi đã phát triển một loạt các mô-đun trong ứng dụng Rails nguyên khối để sử dụng nội bộ. Các mô-đun là ví dụ để lại yêu cầu, thông tin nhân viên, nhiệm vụ/việc làm vv Mỗi mô-đun có mục đích riêng của mình nhưng bằng cách nào đó được liên kết với thông tin phổ biến như hồ sơ nhân viên và xác thực người dùng. Mỗi mô-đun có một nhà phát triển được chỉ định và họ cam kết mã cho cùng một ứng dụng Rails. Hiện tại, rất khó để duy trì mã và quy mô. Bây giờ, tôi đang nghiên cứu để phân tích ứng dụng thành các ứng dụng phân tán nhỏ và biến chúng trở thành một hệ sinh thái. Dưới đây là khái niệm tôi đang tìm kiếm:Cách phân chia ứng dụng Rails thành các hệ sinh thái ứng dụng nhỏ khác nhau
- Sẽ có ứng dụng chính duy trì chế độ xem của các ứng dụng khách khác. Tốt hơn, nó hoạt động như một nền tảng cho các ứng dụng khách khác để cắm vào nó. Nhân viên đăng nhập vào ứng dụng chính này để truy cập ứng dụng khách.
- Ứng dụng chính sẽ hiển thị chế độ xem ứng dụng khách bằng AJAX hoặc các cách khác (không được quyết định).
- Mặc dù, tôi muốn phân tích ứng dụng nhưng mỗi ứng dụng vẫn có thể truy vấn tài nguyên/dữ liệu như hồ sơ nhân viên từ ứng dụng khách khác trong hệ sinh thái.
- Thực ra, tôi chưa quyết định về tương tác của từng ứng dụng. Suy nghĩ với chúng tôi RESTful (không quyết định).
- Nó sẽ hỗ trợ môi trường phát triển nơi mỗi nhà phát triển có thể phát triển từng ứng dụng một cách độc lập. Do đó, duy trì mã riêng của họ trong kho git của riêng họ. Đây có lẽ là mục đích chính của việc phân tích ứng dụng ngay từ đầu.
Tôi đang đọc Thiết kế hướng dịch vụ với sách Ruby on Rails, nhưng có vẻ như họ tập trung phân tích ứng dụng thành các dịch vụ nhỏ khác nhau, trong khi tôi muốn có các ứng dụng nhỏ khác nhau. Chỉ cần tự hỏi nếu có bất kỳ cách nào khác để làm.
Xin lỗi một câu hỏi dài và hỏi quá nhiều. Chỉ muốn biết nếu bạn đã ở trong tình trạng tương tự và có thể hướng dẫn tôi một số bài báo, cộng đồng, sách để tôi có thể tiếp tục nghiên cứu thêm.
Bạn nói "Đá quý của Công cụ tùy chỉnh được đóng gói vào ứng dụng Rails, cung cấp một tập hợp đầy đủ các chức năng có thể cấu hình (mô hình, bộ điều khiển, chế độ xem, v.v.)". Nhưng những viên ngọc Engine này có thể được triển khai riêng biệt ở cấp độ vật lý không? Nếu vậy, làm thế nào? – richsinn
@theSshow A Rails 'Engine phải được thiết lập bên trong ứng dụng Rails hiện có, chúng không thể chạy độc lập. Chúng cho phép các tính năng yêu cầu chức năng của Rails được đóng gói trong một viên ngọc có thể được sử dụng lại. Ví dụ, một viên ngọc cung cấp một diễn đàn sẽ bao gồm các bộ điều khiển, khung nhìn và các mô hình cần thiết để chạy diễn đàn. – mguymon