<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx</link><description>I got the chance to spend an hour this week with Dr. Wayne Citrin, CTO of JNBridge. He’s been refining a Java/.NET interoperability product for the last five years – starting out with a risky bet on .NET when it was only in Beta. Back then I was at BEA</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#4004</link><pubDate>Tue, 05 Jun 2007 00:53:11 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4004</guid><dc:creator>curtmager</dc:creator><description>&lt;p&gt;&amp;quot;The overall scenario we're discussing here is not &amp;quot;what is the best distributed object model&amp;quot; but &amp;quot;how do I get the distributed object models I'm using to interoperate&amp;quot; which is why this is focused on .NET and Java.&amp;quot;&lt;/p&gt;
&lt;p&gt;Sam,&lt;/p&gt;
&lt;p&gt;Precisely, and language interop is only one form of this well known distributed integration challenge. To add to this complexity, factor in the various protocols, transports, and plethora of middleware platforms that most organizations have &amp;nbsp;to cope with in the quest for model interoperability.&lt;/p&gt;
&lt;p&gt;Another product similar to JIntegra worth mentioning is Artix Connect from IONA. &amp;nbsp;The default Microsoft .NET remoting channel only supports SOAP over HTTP and SOAP over TCP/IP. The Artix remoting channel, however, uses the Artix runtime to provide support for not only RMI/IIOP, but also many of the transports and protocols yet outstanding. This includes the ability to mix and match transport protocols and bindings (marshalling schemes) to enable .NET clients and servers to communicate with other technologies such as J2EE, WebSphere MQ (MQSeries), Tibco, and mainframes using native formats or SOAP over native transports.&lt;/p&gt;
&lt;p&gt;In addition, the Artix remoting channel can be customized using Artix APIs. This is analogous to using custom sinks and formatters in .NET remoting. &lt;/p&gt;
&lt;p&gt;--curt &amp;nbsp;&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4004" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2733</link><pubDate>Wed, 12 Jul 2006 21:10:19 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2733</guid><dc:creator>fawce</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Just wanted to share that Tamale Software has sponsored a design challenge for csil, the c# client library for JBossMQ. You can read about it here: &lt;a rel="nofollow" target="_new" href="http://www.tamalerms.com/blog/2006/07/tamale-announces-development-challenge.html"&gt;http://www.tamalerms.com/blog/2006/07/tamale-announces-development-challenge.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;thanks,&lt;/p&gt;
&lt;p&gt;fawce&lt;/p&gt;
&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2733" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2369</link><pubDate>Wed, 03 May 2006 00:18:39 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2369</guid><dc:creator>Adam_Cooper</dc:creator><description>Two other bridging products worth mentioning: &lt;br&gt;&lt;br&gt;J-Integra for .NET (Java /.NET)&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://j-integra.intrinsyc.com/products/net/"&gt;http://j-integra.intrinsyc.com/products/net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;J-Integra Espresso (Corba/RMI-IIOP/.NET)&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://j-integra.intrinsyc.com/products/espresso/"&gt;http://j-integra.intrinsyc.com/products/espresso/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The .NET product is basically the same as Wayne's fore mentioned JNBridge. &amp;nbsp;This product does run under linux since it is a pure java implementation of Microsoft's .NET remoting. &amp;nbsp;Basically, its a 3rd party bridge for Microsoft's remoting technology. &amp;nbsp;&lt;br&gt;&lt;br&gt;The Espresso product is a largely a Corba ORB written in pure managed .NET which does in fact run under linux/mono. &amp;nbsp;Since all major Application Servers communicate with RMI/IIOP this product can interact with EJB's using a native protocol with extremely high performance.&lt;br&gt;&lt;br&gt;Both products are currently under a $100 dollars for a client license.&lt;br&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2369" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2188</link><pubDate>Thu, 20 Apr 2006 17:23:05 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2188</guid><dc:creator>desert_dev</dc:creator><description>&lt;br&gt;&amp;gt;CORBA is quite challenging to secure and true interoperability between&lt;br&gt;&amp;gt; ORBs is something I've yet to see as a real occurrence. &amp;nbsp;The overall &lt;br&gt;&amp;gt; scenario we're discussing here is not &amp;quot;what is the best distributed &lt;br&gt;&amp;gt; object model&amp;quot; but &amp;quot;how do I get the distributed object models I'm &lt;br&gt;&amp;gt; using to interoperate&amp;quot; which is why this is focused on .NET and Java.&lt;br&gt;&lt;br&gt;Thanks for the clarification - I muddled the two: In this area it&lt;br&gt;seems that usually the &amp;quot;best&amp;quot; is the one that's actually able to&lt;br&gt;interoperate. &amp;nbsp;CORBA interops well at the cost of extremely tight&lt;br&gt;coupling, and it's rare any more that you have full control of &lt;br&gt;everything in the stack. &amp;nbsp;(Unless you're DoD)&lt;br&gt;&lt;br&gt;This definitely sounds interesting, though. Is there a Linux &lt;br&gt;bridge,or a recommended stepping stone to get to this?&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2188" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2187</link><pubDate>Thu, 20 Apr 2006 16:45:12 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2187</guid><dc:creator>davehod</dc:creator><description>You can do .Net/JMS today for JBoss using this&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://sourceforge.net/projects/csil/"&gt;http://sourceforge.net/projects/csil/&lt;/a&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2187" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2174</link><pubDate>Wed, 19 Apr 2006 18:58:58 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2174</guid><dc:creator>Sam Ramji</dc:creator><description>Actually, I covered the XML option in the first part of the post. &amp;nbsp;You would select a technology like JNBridge when Web Services/XML/REST won't meet your performance needs (typically the XML marshalling and unmarshalling for chatty applications) or your security needs.&lt;br&gt;&lt;br&gt;CORBA is quite challenging to secure and true interoperability between ORBs is something I've yet to see as a real occurrence. &amp;nbsp;The overall scenario we're discussing here is not &amp;quot;what is the best distributed object model&amp;quot; but &amp;quot;how do I get the distributed object models I'm using to interoperate&amp;quot; which is why this is focused on .NET and Java.&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2174" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2171</link><pubDate>Wed, 19 Apr 2006 17:00:51 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2171</guid><dc:creator>Wayne Citrin</dc:creator><description>There are .NET/CORBA bridges out there. &amp;nbsp;One of the things we've found, though, is that customers usually don't want to access CORBA-accessible objects; they're looking to access legacy Java classes and objects that can't be accessed through CORBA (usually the source isn't available, so they couldn't make the changes to make the objects CORBA-accessible even if they wanted to), so a CORBA bridging solution isn't an option.&lt;br&gt;&lt;br&gt;HTTP and XMLRPC can work in some cases, but there are performance issues, not to mention issues in passing around remote references, and in mapping betweeen Java classes and .NET classes.&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2171" width="1" height="1"&gt;</description></item><item><title>End of CORBA</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2170</link><pubDate>Wed, 19 Apr 2006 15:10:09 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2170</guid><dc:creator>desert_dev</dc:creator><description>I've found that really the best balance in the last near-decade has been CORBA. It's complex and overengineered, but it handles things like remote complex objects easily, is (relatively) high performance, and can interop with just about anything. Java supports it well.&lt;br&gt;&lt;br&gt;It does require formal bindings and tighter coupling, but this tends to improve reliability and better design.&lt;br&gt;&lt;br&gt;Short of CORBA, the next best thing I've found for interop that actually gets things done quickly is raw HTTP or XMLRPC. &amp;nbsp;Sounds like this would be a good step in providing a simpler out of the box mechanism for this kind of complex work. &amp;nbsp;This would be great - the XMLRPC layer is simple, but the APIs and libraries are fragmented and messy to support.&lt;br&gt;&lt;br&gt;Got a Linux path in the works, of any kind? A native version wouldn't be necessary, but a means of injecting data from a remote Linux system would be a huge benefit.&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2170" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2167</link><pubDate>Wed, 19 Apr 2006 04:13:50 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2167</guid><dc:creator>aperson</dc:creator><description>It looks like a closed RPC, that has been reimplemented via shared mem, IPC, then again via tcp stream and soap.&lt;br&gt;&lt;br&gt;Sort of like COM or Corba, except you say it doesn't have any IDL so other languages and compilers can interface it.&lt;br&gt;&lt;br&gt;People that buy this have to trust your company alot too. If it comes down to a presentation day and there is a bug in your glue, there's no fixing it. Just like Stallman and his printer at MIT.&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2167" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2166</link><pubDate>Wed, 19 Apr 2006 03:02:29 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2166</guid><dc:creator>Wayne Citrin</dc:creator><description>Hi Sam --&lt;br&gt;&lt;br&gt;Thanks for the kind words.&lt;br&gt;&lt;br&gt;To answer the question about how JNBridgePro differs from IKVM -- IKVM (a very cool tool) translates Java bytecodes to .NET binaries. &amp;nbsp;This allows the Java code to call the .NET code (it's all CIL), and vice versa. &amp;nbsp;JNBridgePro, on the other hand, keeps the Java running in a JVM and the .NET running in a CLR and bridges the two -- we feel that this helps to guarantee conformant behavior on both sides. &amp;nbsp;Also, JNBridgePro supports a much wider set of architectures (Java and .NET in the same process, in separate processes on the same machine, or on different machines). &amp;nbsp;IKVM only supports the Java and .NET in the same process. &amp;nbsp;Finally, IKVM is tied to the GNU Classpath library (which may not be appropriate for everyone), while JNBridgePro will work with any JVM past JDK 1.3.1. &amp;nbsp;So there are good uses for both tools, but I think JNBridgePro covers a wider set of scenarios.&lt;br&gt;&lt;br&gt;As for the last question, JNBridgePro doesn't use IDL and doesn't depend on tcp streams, although it can use them. &amp;nbsp;I'd recommend going to our Web site to see a more detailed discussion of the underlying architecture, and the features of the product. &amp;nbsp;If there are more questions about it, I'd be happy to answer them here.&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2166" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2165</link><pubDate>Wed, 19 Apr 2006 01:55:23 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2165</guid><dc:creator>anotherperson</dc:creator><description>Aside from the tcp object passing with remoting instead of web services,&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.ikvm.net/userguide/intro.html"&gt;http://www.ikvm.net/userguide/intro.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;What is the difference between JNBridge and IKVM?&lt;br&gt;&lt;br&gt;IKVM works natively in monodevelop including the latest version with the gui designer. It also works with both .NET and mono.&lt;br&gt;&lt;br&gt;What is the advantage of this commerical product?&lt;br&gt;&lt;br&gt;Is it IDL binding code over a tcp stream between .NET and Java proceedures? That can be done by other means. Not poking, just a question.&lt;br&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2165" width="1" height="1"&gt;</description></item><item><title>re: Java with half-and-half</title><link>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#2164</link><pubDate>Wed, 19 Apr 2006 01:53:03 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2164</guid><dc:creator>aperson</dc:creator><description>Aside from the tcp object passing with remoting instead of web services,&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.ikvm.net/userguide/intro.html"&gt;http://www.ikvm.net/userguide/intro.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;What is the difference between JNBridge and IVKM?&lt;br&gt;&lt;br&gt;IKVM works natively in monodevelop including the latest version with the gui designer. It also works with both .NET and mono.&lt;br&gt;&lt;br&gt;What is the advantage of this commerical product?&lt;br&gt;&lt;br&gt;Is it IDL binding code over a tcp stream between .NET and Java proceedures? That can be done by other means. Not poking, just a question.&lt;br&gt;&lt;br&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2164" width="1" height="1"&gt;</description></item></channel></rss>