Best way to connect various applications?

Good evening,

I’ve got three different self-programmed Rails application I need to
connect and manage with a 4th “supervisor” application.

There’s a wiki application, there’s a shop application and there’s a
business directory application all with seperate user database etc.
What I want now is one single user table so it can be all controlled by
one control panel as well as connect the shop with the wiki and business
directory.

My solution is to programm some kind of a “god application” that handles
all the stuff including the user table for all three sub application. I
just don’t really know yet how to do it.

Any hint, information, suggestions and opinion is highly appreciated.

Thanks!

Heinz S. wrote:

Good evening,

I’ve got three different self-programmed Rails application I need to
connect and manage with a 4th “supervisor” application.

There’s a wiki application, there’s a shop application and there’s a
business directory application all with seperate user database etc.
What I want now is one single user table so it can be all controlled by
one control panel as well as connect the shop with the wiki and business
directory.

My solution is to programm some kind of a “god application” that handles
all the stuff including the user table for all three sub application. I
just don’t really know yet how to do it.

Sounds like you have one application, not four. There are ways to do
single signon, but it looks like your apps are more closely linked than
that. They should probably be plugins or gems in one big app.

Any hint, information, suggestions and opinion is highly appreciated.

Thanks!

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Do you know any plugin that does what I need?

Since I wrote all three user models there’s not much to convert. So you
say communicating through the web service of each application is the way
to go?

Maybe but merging them alltogether is quite some work and whenever
there’s a new version of one of the applications I think it’s a pain in
the ass to upgrade it.

Would it be possible to write some kind of a plugin for all three
application to communicate with the supervisor application?

You could try converting the user models of your applications into
ActiveResource’s, all pointing to your supervisor application’s REST
interface.

But in the long run it would probably be best to merge the
applications into one, as Marnen said. Instead of having to maintain
different databases, deployment strategies, and server setups.

Just some references…

http://soa.sys-con.com/node/291031

http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1313646,00.html

http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1317065,00.html

http://searchcloudcomputing.techtarget.com/news/article/0,289142,sid201_gci1355228,00.html

http://www.russmiles.com/home/2007/4/25/why-rails-is-not-yet-ready-for-soa.html

http://www.slideshare.net/zak.mandhro/soa-with-ruby

http://searchsoa.techtarget.com/sDefinition/0,,sid26_gci929153,00.html

http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1313646,00.html

All the best.

Heinz S. wrote:

Do you know any plugin that does what I need?

No, that’s not what I meant. I mean that you should encapsulate each app
in a plugin, then plug those plugins into one big app.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

You could also use Rails Engines. This is a feature of Rails 2.3+
which enables mounting of several apps in one Rails application
configuration. Ryanb did a screencast on it.
Rails 3 also support mounting multiple apps in the Rack.
An other idea is to port your models/database to Mongo DB (schemaless
DB). I have created a few generators to facilitate this kind of
approach…

Good luck!

Kristian

Alright, thanks to all of you. I’ll give it a shot.

Kristian wrote:

You could also use Rails Engines. This is a feature of Rails 2.3+
which enables mounting of several apps in one Rails application
configuration.

Oh, yeah. I always forget about Engines.

Ryanb did a screencast on it.
Rails 3 also support mounting multiple apps in the Rack.
An other idea is to port your models/database to Mongo DB (schemaless
DB). I have created a few generators to facilitate this kind of
approach…

That’s irrelevant. The problem isn’t really DB-related.

Good luck!

Kristian

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Heinz S. wrote:

Rails Engines sounds indeed very interesting. I’ll check the screencast.
Thanks!
I have similar issue as you as so
i modify some part of engine and each application has different database
if you has single user db not a problem just you remove user migration
from
and user model etc i.e you have to make common for all application put
it into base application and try it out
before using this gem/plugin test with 2 demo app
one is base and other is your plugable app
http://github.com/amardaxini/enginator

Just wondering if some new fancy gem came up within last year that does
the job?

Rails Engines sounds indeed very interesting. I’ll check the screencast.
Thanks!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs