Rails Engines are a terrific way of mounting on Ruby on Rails application into another.
A Rails Engine is basically a Rails application with an Engine class installed. The main application—the application your engine is mounted into—uses the generators, rake tasks, and routes from engines automatically. As of Rails 3.1, rake tasks are provided to move migrations and assets into the main application.
You can use Engines to add features to your current application or you can use it to provide an entire section of your website.