On Dec 1, 8:09 pm, Stedwick <[EMAIL PROTECTED]> wrote:
> Short story:
>
> My company has a rails application as our product. As we add more
> functionality, we are thinking of building new small, self-contained
> rails applications rather than just chugging along with our single
> monolithic application that we have right now.
>
> What is the best way to do this? Is it even recommended?

That's basically what we do. Separate apps have separate databases and
never touch the database of another app (so it's dead easy to isolate
an app (eg if it needs more horse power than the others or if it is
criticial) by just running it off a different database server.
Apps usually communicate with each other via private APIs over http.
Depending on how your app works you may find that ActiveResource is
useful, most of our interapplication communications don't really fit
with that model and so we haven't used that much

I would avoid synchronizing data, sounds like a headache (the only
place we do this is with our single sign on system, so that apps can
operate when it isn't available)

You may be wondering what to do when you want to display data from two
apps on the same page. The way we do it is to have javascript objects
on the page that fetch content from the different apps via ajax. A
single page may contain fragments of html rendered by any number of
applications.

My colleague and myself presented on this subject at railsconf europe
2008. The slides should still be available, as well as demo code used
in the presentation. Both should be linked from
http://www.texperts.com/2008/09/08/code-from-the-railsconf-europe-presentation/

Fred
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to