Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 1.15 KB

composing_rails_app_with_engines.md

File metadata and controls

26 lines (21 loc) · 1.15 KB

Composing Rails Apps with Engines

This talks covers implementing a module service layer for Rail applications. Each service is separated into it's own engine. Example services: Email & SMS delivery, Email import, VOIP, among others. The services designed to be accessed over HTTP, but since they are engines they can be mounted inside your own application or as a separate running application. The talk also covers TDD development and creating a generator for more components.

Important Points:

  • Composable Rails applications through rails engines
  • Integrating engines with other engines
  • Testing engines in isolation

Notes

We faced a problem in a previous version of our product. We had many tightly coupled dependencies to external services. This made it a pain to switch services and hampered our development. We ended up splitting all these components up into different engines and running them in a completely separate app. The architecture of our service layer allows us to mount the engines in our own application or separately like we decided. The talk generally covers why we made this decision and how it turned out. It is an overview of the entire process.