<?xml version="1.0"?>
<rss version="2.0">
<channel>
  <title>Weiqi Gao&#039;s Observations - corba tag</title>
  <link>http://www.weiqigao.com/blog/tags/corba/</link>
  <description>Sharing My Experience...</description>
  <language>en</language>
  <copyright>Weiqi Gao</copyright>
  <lastBuildDate>Fri, 11 May 2012 12:48:36 GMT</lastBuildDate>
  <generator>Pebble (http://pebble.sourceforge.net)</generator>
  <docs>http://backend.userland.com/rss</docs>
  
  <image>
    <url>http://pebble.sourceforge.net/common/images/powered-by-pebble.gif</url>
    <title>Weiqi Gao&#039;s Observations</title>
    <link>http://www.weiqigao.com/blog/</link>
  </image>
  
  
  <item>
    <title>Friday Java Quiz: RPC vs. REST</title>
    <link>http://www.weiqigao.com/blog/2008/09/12/friday_java_quiz_rpc_vs_rest.html</link>
    
      
        <description>
          &lt;p&gt;I&#039;ve been hearing a lot about the merits of REST over the deficiencies of RPC lately.  For example, the &lt;a href= &#034;http://steve.vinoski.net/blog/2008/09/03/the-technology-adoption-side-of-rpc-and-rest/&#034; &gt;latest&lt;/a&gt; &lt;a href= &#034;http://steve.vinoski.net/blog/2008/08/16/you-have-to-experience-it/&#034; &gt;blog&lt;/a&gt; &lt;a href= &#034;http://steve.vinoski.net/blog/2008/07/13/protocol-buffers-leaky-rpc/&#034; &gt;entries&lt;/a&gt; from RPC-hero-turned-REST-advocate Steve Vinoski.&lt;/p&gt;

&lt;p&gt;While it&#039;s fun to listen to famous people debate the issues, I&#039;ve always had the impression that REST is something that is not as concrete as RPC.  In Java, for example, If I want to do RPC, I have several different tools that I can use right there in the JDK: one is RMI, the other is Java IDL (not that I&#039;ll recommend it).&lt;/p&gt;

&lt;p&gt;That leads to todays question:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: How &lt;s&gt;the bleep&lt;/s&gt; do you get started with doing REST with Java?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(I know you are going to wave your hands every which way and utter phrases like &#034;uniform interface&#034; or &#034;hypermedia as the engine of application state&#034; or &#034;internet scale&#034; or &#034;small joins, loosely parted&#034;.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Q&lt;/b&gt;: Show me!  (Send a string &#034;Howdy&#034; from host A to host B the REST way.)&lt;/p&gt;

&lt;p&gt;No peeking at the internet or the REST book.  Just write the demo.&lt;/p&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2008/09/12/friday_java_quiz_rpc_vs_rest.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2008/09/12/friday_java_quiz_rpc_vs_rest.html</guid>
    <pubDate>Fri, 12 Sep 2008 12:42:03 GMT</pubDate>
  </item>
  
  <item>
    <title>Microsoft Evangelist Interviews Corba God</title>
    <link>http://www.weiqigao.com/blog/2007/02/25/microsoft_evangelist_interviews_corba_god.html</link>
    
      
        <description>
          &lt;p&gt;Not really.  It&#039;s just an &lt;a href= &#034;http://blog.jonudell.net/2007/02/23/a-conversation-with-steve-vinoski-about-services-the-enterprise-and-the-web/&#034; &gt;interview&lt;/a&gt; of &lt;a href= &#034;http://blogs.iona.com/vinoski/&#034; &gt;Steve Vinoski&lt;/a&gt;, formerly of IONA and &lt;a href= &#034;http://blogs.iona.com/vinoski/archives/000458.html&#034; &gt;now&lt;/a&gt; at a stealth mode startup, by &lt;a href= &#034;http://blog.jonudell.net/&#034; &gt;Jon Udell&lt;/a&gt;, formerly of Byte and InfoWorld and &lt;a href= &#034;http://weblog.infoworld.com/udell/2006/12/08.html#a1574&#034; &gt;now&lt;/a&gt; at Microsoft, from an undisclosed location.&lt;/p&gt;

&lt;p&gt;Here&#039;s a few points that I find interesting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Steve&#039;s story about his transition from &#034;IIOP is going to be built into the Netscape browser and we can do distributed objects across the web&#034; to &#034;the web is distributed objects&#034;&lt;/li&gt;
&lt;li&gt;Jon&#039;s musing about &#034;freeze-dried&#034; VM machine instances being the new unit of distribution&lt;/li&gt;
&lt;li&gt;Their agreement that tools support for WS-* and REST are important and there are no industry leadership for REST tools&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2007/02/25/microsoft_evangelist_interviews_corba_god.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2007/02/25/microsoft_evangelist_interviews_corba_god.html</guid>
    <pubDate>Sun, 25 Feb 2007 18:16:44 GMT</pubDate>
  </item>
  
  <item>
    <title>C#/C++ Interoperability via IIOP.NET and TAO</title>
    <link>http://www.weiqigao.com/blog/2006/02/28/c_c_interoperability_via_iiop_net_and_tao.html</link>
    
      
        <description>
          &lt;p&gt;I&#039;ve mentioned the OCI internal Java lunches on this blog before.  Well, today we have our internal C++ lunch.  And this is my experiment blogging the event live.&lt;/p&gt;

&lt;p&gt;&lt;a href= &#034;http://www.ociweb.com/education/instructors/dan_troesser.html&#034; &gt;Dan Troesser&lt;/a&gt; is out speaker.  And he&#039;s talking about &lt;a href= &#034;http://iiop-net.sourceforge.net/&#034; &gt;IIOP.NET&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;He&#039;s developing a GUI and the decision is made to do it in .NET.  And he has requirement to talk to &lt;a href= &#034;http://www.theaceorb.com/&#034; &gt;TAO&lt;/a&gt;/C++ CORBA servers.&lt;/p&gt;

&lt;p&gt;He looked at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IIOP.NET&lt;/li&gt;
&lt;li&gt;Borland Janeva&lt;/li&gt;
&lt;li&gt;J-Integra Espresso&lt;/li&gt;
&lt;li&gt;Remoting.CORBA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And IIOP.NET was the logical choice:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Source, LGPL&lt;/li&gt;
&lt;li&gt;Maintained by Elca Informatique SA&lt;/li&gt;
&lt;li&gt;Supports lots of ORBs&lt;/li&gt;
&lt;li&gt;Worked with .NET 1.1, .NET 2.0 and Mono&lt;/li&gt;
&lt;li&gt;Nice presentation on their website.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dan jumped to the presentation on the IIOP.NET website, and started the technical part of the presentation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IIOP.NET Channel&lt;/li&gt;
&lt;li&gt;IDLTOCLSCompiler&lt;/li&gt;
&lt;CLSToIDLGenerator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve asked about any mapping difficulties, and Dan said no, but we are using simple types and sequences and structs on the project.&lt;/p&gt;

&lt;p&gt;Kevin asked if they do IIOP to SOAP conversion.  Dan have never came across that.&lt;/p&gt;

&lt;p&gt;IIOP.NET uses the .NET Remoting&#039;s Channel interface.&lt;/p&gt;

&lt;p&gt;Now Dan&#039;s throwing class names on the screen.  Things like Ch.Elca.Iiop.Services.RmiIiopInit, Ch.Elca.Iiop.Idl.CustomMapperRegistry.&lt;/p&gt;

&lt;p&gt;You can get to CORBA Naming service from IIOP.NET.&lt;/p&gt;

&lt;p&gt;Phil asked if the naming service access code is the result of IIOP.NET&#039;s mapping of the OMG&#039;s naming service IDL.  The answer is yes.&lt;/p&gt;

&lt;p&gt;The CLSToIDLGenerator can generate IDL interfaces for your existing .NET Remoting classes so that foreign applications can talk to them via CORBA.&lt;/p&gt;

&lt;p&gt;The IDLToCLSCompiler turns IDLs to .NET assemblies.  Dan mentions that if you are using value types, you have to something special.&lt;/p&gt;

&lt;p&gt;Phil asked if IIOP.NET support dynamic CORBA.  The answer is that we haven&#039;t used it.&lt;/p&gt;

&lt;p&gt;Dan then showed some examples for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET client, .NET server&lt;/li&gt;
&lt;li&gt;.NET client, .NET server with Naming Service&lt;/li&gt;
&lt;li&gt;TAO/C++ client, .NET server&lt;/li&gt;
&lt;li&gt;TAO/C++ client, .NET server with Naming Service&lt;/li&gt;
&lt;li&gt;.NET client, TAO/C++ server with Naming Service&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;People are commenting that the C# code is more like RMI code rather than CORBA code.  For example, it is not apparent when the event loop (or any thread) is started to service the CORBA object.&lt;/p&gt;

&lt;p&gt;Dan closed the talk by saying that he likes .NET 2.0 and Visual Studio .NET 2005.  It contains many improvements over .NET 1.1 and Visual Studio .NET 2003.  Kevin mentioned that VC++8 is the best Purify you can buy.  Just running our code VC++8 uncovered a number of bugs in our code.&lt;/p&gt;

&lt;p&gt;Dan closed the talk for real by providing a few tips:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don&#039;t hand code the remote interface&lt;/li&gt;
&lt;li&gt;Use &lt;a href= &#034;http://www.ociweb.com/products/mpc&#034; &gt;MPC&lt;/a&gt; for C++ and C#&lt;/li&gt;
&lt;li&gt;Chad added support for vc8 and C# to MPC&lt;/li&gt;
&lt;/ul&gt;
        </description>
      
      
    
    
    
    <comments>http://www.weiqigao.com/blog/2006/02/28/c_c_interoperability_via_iiop_net_and_tao.html#comments</comments>
    <guid isPermaLink="true">http://www.weiqigao.com/blog/2006/02/28/c_c_interoperability_via_iiop_net_and_tao.html</guid>
    <pubDate>Tue, 28 Feb 2006 18:59:46 GMT</pubDate>
  </item>
  
  </channel>
</rss>

