Forum: IronRuby How could I get RPC in iron ruby?

Posted by Well Sun (sagasw)
on 2010-03-19 07:25
(Received via mailing list)
I want to find a solution in IronRuby to use RPC function.
I tried SOAP, but it can't work, any one could tell me how to implement 
RPC
(or XMLRPC) in ironruby?
Thanks,
Posted by Ivan Porto Carrero (Guest)
on 2010-03-19 07:42
(Received via mailing list)
There are several ways to do that with IronRuby.

Very CLR centric:
You can create a proxy to your webservice using visual studio, compile 
to a
dll and use the proxy from your ruby code.

CLR centric:
You can use System.Net.HttpWebRequest to make the request and
System.Xml.XmlDocument to parse the response

Very Ruby centric:
Use Net::HTTP to perform the request and REXML to parse the response
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP
Posted by Ryan Riley (Guest)
on 2010-04-17 09:49
(Received via mailing list)
Or use hpricot or nokogiri Ruby libraries. You will find several libs
to choose from.

Sent from my iPhone

On Mar 18, 2010, at 11:41 PM, Ivan Porto Carrero 
<ivan@whiterabbitconsulting.eu
Posted by Seo Sanghyeon (Guest)
on 2010-04-17 11:00
(Received via mailing list)
2010/4/17 Ryan Riley <ryan.riley@panesofglass.org>:
> Or use hpricot or nokogiri Ruby libraries. You will find several libs to
> choose from.

Does nokogiri work on IronRuby?!
Posted by Ryan Riley (Guest)
on 2010-04-17 21:15
(Received via mailing list)
Maybe I spoke too soon, but I thought it did. I was switching back and
forth a lot at the time. I will try again once I get everything re-
installed.

Sent from my iPhone
Posted by Ivan Porto Carrero (Guest)
on 2010-04-18 09:02
(Received via mailing list)
nokogiri works on windows but not on IronRuby ... it needs a C-extension
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP
Posted by Jimmy Schementi (Guest)
on 2010-04-18 09:49
(Received via mailing list)
So whose going to port it? :) or even implement FFI?

~Jimmy

On Apr 18, 2010, at 12:02 AM, "Ivan Porto Carrero" 
<ivan@cloudslide.net<mailto:ivan@cloudslide.net>> wrote:

nokogiri works on windows but not on IronRuby ... it needs a C-extension
---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Web: <http://whiterabbitconsulting.eu> http://whiterabbitconsulting.eu - 
<http://flanders.co.nz> http://flanders.co.nz
Twitter: <http://twitter.com/casualjim> http://twitter.com/casualjim
Author of IronRuby in Action 
(<http://manning.com/carrero>http://manning.com/carrero)
Microsoft IronRuby/C# MVP


On Sat, Apr 17, 2010 at 9:14 PM, Ryan Riley 
<<mailto:ryan.riley@panesofglass.org>ryan.riley@panesofglass.org<mailto:ryan.riley@panesofglass.org>> 
wrote:
Maybe I spoke too soon, but I thought it did. I was switching back and 
forth a lot at the time. I will try again once I get everything 
re-installed.

Sent from my iPhone


On Apr 17, 2010, at 1:47 AM, Seo Sanghyeon 
<<mailto:sanxiyn@gmail.com>sanxiyn@gmail.com<mailto:sanxiyn@gmail.com>> 
wrote:

2010/4/17 Ryan Riley 
<<mailto:ryan.riley@panesofglass.org>ryan.riley@panesofglass.org<mailto:ryan.riley@panesofglass.org>>:
Or use hpricot or nokogiri Ruby libraries. You will find several libs to
choose from.

Does nokogiri work on IronRuby?!

--
Seo Sanghyeon
_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-core>http://rubyforge.org/mailman/listinfo/ironruby-core
_______________________________________________
Ironruby-core mailing list
<mailto:Ironruby-core@rubyforge.org>Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
<http://rubyforge.org/mailman/listinfo/ironruby-core>http://rubyforge.org/mailman/listinfo/ironruby-core

_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org<mailto:Ironruby-core@rubyforge.org>
http://rubyforge.org/mailman/listinfo/ironruby-core
Posted by Daniele Alessandri (Guest)
on 2010-04-18 11:59
(Received via mailing list)
On Sun, Apr 18, 2010 at 09:49, Jimmy Schementi
<Jimmy.Schementi@microsoft.com> wrote:

> So whose going to port it? :) or even implement FFI?

Nokogiri is built on top of libxml2 and libxslt so we could have a C#
Nokogiri that performs interop with those libraries, but a
fully-managed Nokogiri would be cooler (BTW the JRuby guys are
reaching the goal of a pure-Java version and they are close to passing
all the tests).

I did a very quick research on the subject a few weeks ago. The reader
bits should be relatively easy to port since, as far as I remember,
the reader interface of libxml2 is modeled after the XmlTextReader
class of .NET. "SAX for .NET" could be used for the SAX parser to
start (it's BSD licensed but hasn't been updated since ages... we just
don't have Xerces :-)). Mono has something for RelaxNG validation.

--
Daniele Alessandri
http://www.clorophilla.net/
http://twitter.com/JoL1hAHN
Posted by Ryan Riley (Guest)
on 2010-04-18 23:11
(Received via mailing list)
Speaking of FFI, what's the tradeoff here? FFI let's us use the existing
libraries without porting, but a managed alternative should be more
performant, right? Seems like FFI is the winner here, but I may be 
missing
something.


Ryan Riley

Email: ryan.riley@panesofglass.org
LinkedIn: http://www.linkedin.com/in/ryanriley
Blog: http://wizardsofsmart.net/
Twitter: @panesofglass
Website: http://panesofglass.org/


On Sun, Apr 18, 2010 at 12:49 AM, Jimmy Schementi <
Posted by Wayne Meissner (Guest)
on 2010-04-19 02:06
(Received via mailing list)
Performance is one negative - since most of the logic that would
normally be implemented in C, Java or C# is implemented in Ruby, it
will be slower.  Libxml is callback heavy, and depending on how well
the FFI impl handles these, the rather large number of transitions
between ruby and the native lib costs a lot.

Portability is another - with a pure-ruby or C# impl, you don't need
to worry about having the appropriate native lib on the system - its
plug and play.  libxml is also a pretty nasty api to bind using
something like FFI, and nokogiri really pushes FFI, so until you have
a really complete FFI impl, you'll have stability problems.

In hindsight, I think JRuby would have been better served by just
going for a java impl of nokogiri upfront rather than the
nokogiri-over-FFI stopgap.
Posted by Tomas Matousek (Guest)
on 2010-04-19 03:46
(Received via mailing list)
Using native code in your app also requires full trust (implying it 
won't work in Silverlight) and is potentially a security issue. Any 
exploit in the library would make IronRuby vulnerable to attacks.

Tomas
Posted by Chris Bilson (Guest)
on 2010-04-20 00:29
(Received via mailing list)
Just out of curiosity: What's the process for making an ironruby port of
something like Nokogiri?

I looked at a blog
post<http://blog.headius.com/2010/04/nokogiri-java-port-help-us-finish-it.html>by
one of the people working on the JRuby port and it looks pretty
involved,
but essentially, to port it you would just implement all the
"attach_functions" in libxml.rb in .NET?


--c


On Sun, Apr 18, 2010 at 18:46, Tomas Matousek
Posted by Ivan Porto Carrero (Guest)
on 2010-04-20 10:44
(Received via mailing list)
There are several approaches you can take.

Nokogiri has been a b**** to get going on windows, and even now it only
compiles on mingw based MRI AFAIK.
To come close to the quality of the Nokogiri gem I think you would need 
to
find a very fast .NET based xml library (it's not XLinq :)), that also 
has a
SAX parser, knows about CSS3 for parsing documents in addition to XPATH, 
and
then provide an adapter to make it look like the nokogiri API.
You could potentially use P/Invoke to call to libxml2 but then you take 
on a
dependency on a native library. I'm also not sure if libxml2 actually
performs in the same way on windows as it does on *nix.

If we would have an implementation of FFI then we could use the FFI 
based
nokogiri gem.

I looked at it a few times but it would be a serious amount of work, too
much for my taste :).

---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP
Posted by Zac Brown (Guest)
on 2010-04-20 16:12
(Received via mailing list)
To me at least, it seems that it might be easier to take the approach of
developing an FFI. I think JRuby took that approach and they're just
about at the point where they've got access to Nokogiri. Might be worth
looking into if someone wants to put forth the effort. I might even look
into it :).

-Zac
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.