We're using IronRuby as an integration layer in our .NET applications.
All of our client/server apps fire fine grained business events whenever
anything interesting happens. We set up a convention based file
structure on our app servers that can allow us to handle any of these
events by dropping rb files in a directory with certain names that match
the event we want to handle, and the context surrounding each event is
given to that ruby code during execution. (We use
http://github.com/PlasticLizard/Bracket to boil IronRuby down to a zip
file for easy versioning and deployment without having to actually
install IronRuby on our deployment targets). We used to have a formal
.NET message contract for each type of event we wanted to send out of
our systems (a la WCF or NServiceBus), but we've found it much more
flexible to do the mapping in IronRuby and compose our outbound messages
in dynamic code. So far we're using this scheme to write XML files to
network shares for other apps to pick up or to publish messages to a
RabbitMQ broker (via the Bunny gem, which works well with IronRuby).
Having the combined power of .NET and Ruby and the flexibility of Ruby
at the integration layer is very liberating. IronRuby was the gateway
drug at our shop to Ruby itself, so now instead of using .NET/SQL Server
for our web apps we use Rails/MongoDB and deploy on Linux boxes hosted
at Rackspace, but because of IronRuby we are able to share a common set
of messaging libraries at the edges of the systems, which reduces
friction quite a bit. We can evolve our integrations with our .NET
applications orders of magnitude faster using IronRuby than we used to
achieve purely using managed code, which, of course, requires a full
build/package/deploy cycle for any kind of change, and change at the
integration layer especially in an event-driven environment is usually
fast and furious. My hope for IronRuby is that it will someday run
native gems and be truly cross platform. Every time I try to use
IronRuby  as a first class environment, meaning beyond auxiliary roles
such as integration or automation scripts, I hit a brick wall pretty
quickly - things like EventMachine, cloud storage gems, image
processing, etc. somehow always pop up as requirements, and eliminate
IronRuby as a viable runtime, which is too bad, because otherwise I
would prefer it to MRI or JRuby given our extensive .NET investments.
All in all though we are tremendously happy with the technology. For me,
it is probably the most exciting addition to the .NET landscape that I
can remember, with potential that far exceeds things like ASP.NET MVC or
Entity Framework or whatever other edgy things MS is putting out.

 

Thanks for all the hard work!

 

Nathan

 

From: ironruby-core-boun...@rubyforge.org
[mailto:ironruby-core-boun...@rubyforge.org] On Behalf Of Jimmy
Schementi
Sent: Sunday, July 18, 2010 1:17 PM
To: ironruby-core@rubyforge.org
Subject: [Ironruby-core] Send your IronRuby usage and quotes

 

All,

 

It's that time again, where I ask everyone to post what specifically you
use IronRuby for, your opinions about IronRuby, or anything you want to
say about the project. Just reply to this thread with what you want to
say, but also feel free to reply directly to me if you don't want to
tell the world about it (ji...@schementi.com). I'd like to take whatever
public info and put it on http://ironruby.net/About/Usage and
http://ironruby.net/About/Quotes.

 

Even if you have talked about your IronRuby usages and praise on the
mailing list before, please send again! This makes sure we know about it
and put it online.

 

Thanks!
~Jimmy

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to