<?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>Port 25: The Open Source Community at Microsoft : sam ramji, Java</title><link>http://port25.technet.com/archive/tags/sam+ramji/Java/default.aspx</link><description>Tags: sam ramji, Java</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Opening Day: Azure Platform Debuts</title><link>http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx</link><pubDate>Mon, 27 Oct 2008 14:00:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:21428</guid><dc:creator>Sam Ramji</dc:creator><slash:comments>19</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=21428</wfw:commentRss><comments>http://port25.technet.com/archive/2008/10/27/the-azure-platform-debuts.aspx#comments</comments><description>&lt;p mce_keep="true"&gt;Today at PDC in Los Angeles, Ray Ozzie unveiled&amp;nbsp;the &lt;a href="http://www.azure.com/" target="_blank" mce_href="http://www.azure.com/"&gt;Azure Services Platform&lt;/a&gt;, which will enable developers to build the next generation of applications - spanning all the way from the cloud to the enterprise data center.&amp;nbsp; My team's focus has been on making sure that this platform treats open source development technologies as first-class citizens. &lt;/p&gt;
&lt;p&gt;A key components of the Azure Services Platform&amp;nbsp;is Windows Azure, an infrastructure that provides core capabilities such as virtualized computation, scalable storage, and automated service management. Developers will be able to build or extend parts or complete service-based applications using Live Services, .Net Services and SQL Services. &lt;/p&gt;
&lt;p&gt;They will also be able to choose from a range of open source development tools and technologies, and be able to access Azure services using a variety of common internet standards, including HTTP, REST, WS* and Atom.&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The Azure platform's goal is to support&lt;b&gt; all&lt;/b&gt; developers and their choice of IDE, language and technology. &amp;nbsp;We are also providing programmable components that can be consumed by other applications, and Microsoft is funding and sponsoring open source software development kits to enable Java and Ruby developers to take advantage of Azure.&lt;b&gt; &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;This is significant as this is the first time we are delivering cross-platform software development kits at the same time as Microsoft Developer Network software development kits.&lt;/p&gt;
&lt;p&gt;We are also funding these open source projects, under the BSD licensing model, in collaboration with Thoughtworks Inc. and Schakra Inc., and they will be run on open source portals &lt;a href="http://dotnetservicesruby.com/" target="_blank" mce_href="http://dotnetservicesruby.com/"&gt;RubyForge&lt;/a&gt;&amp;nbsp;&amp;nbsp; and &lt;a href="http://jdotnetservices.com/" target="_blank" mce_href="http://jdotnetservices.com/"&gt;SourceForge&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Much of this interoperability work was undertaken by&amp;nbsp;Jean Paoli, the General Manager for Interoperability Strategy, and his team, including Vijay Rajagopalan, the Principal Architect for Interoperability Strategy, so a big thanks is due to them on this front.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In addition, as part of Microsoft's&amp;nbsp;&lt;a href="http://port25.technet.com/archive/2008/07/25/oscon2008.aspx" mce_href="http://port25.technet.com/archive/2008/07/25/oscon2008.aspx"&gt;commitment to openness&lt;/a&gt; and working with open source communities,&amp;nbsp;I &amp;nbsp;asked the Open Source Technology Center (led by Tom Hanrahan) to come up with some specific examples that show how open source communities can access Windows Azure. &lt;/p&gt;
&lt;p&gt;This work has allowed us to deliver several ‘proofs of concept' which show open source developers that they can create applications that run as services and have access to services in the cloud. These ‘proofs of concept' demonstrate that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A developer using the &lt;b&gt;Eclipse IDE&lt;/b&gt; can write a C# application that runs on Windows Azure&lt;/li&gt;
&lt;li&gt;Gallery, the leading &lt;b&gt;PHP&lt;/b&gt; photo application, can access Windows Azure cloud storage &lt;/li&gt;
&lt;li&gt;A blog engine hosted on Windows Azure can authenticate users with &lt;b&gt;&lt;a href="http://dev.live.com/blogs/devlive/archive/2008/10/27/421.aspx" class="" target="_blank" mce_href="http://dev.live.com/blogs/devlive/archive/2008/10/27/421.aspx"&gt;OpenID&lt;/a&gt;&lt;/b&gt;. &lt;/li&gt;&lt;/ul&gt;
&lt;p mce_keep="true"&gt;Specific to Gallery, we've done two simple things: we created wrappers to convert the Windows Azure API to PHP objects, and we created a Windows Azure subclass inherited from the Windows NT Platform class.&amp;nbsp; The net of all this is that, with a small amount of code, we were able to connect one of the top PHP application to Windows Azure, specifically, photo images stored as BLOBs in the cloud.&lt;/p&gt;
&lt;p&gt;Finally, Microsoft is also going to publish the "M" language specification, including MSchema, MGrammar and MGraph, under the &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Open_Specification_Promise" mce_href="http://en.wikipedia.org/wiki/Microsoft_Open_Specification_Promise"&gt;Open Specification Promise&lt;/a&gt;. This will facilitate the interoperability of the "Oslo" declarative modeling language, codenamed "M," with prominent industry standards such as WS* specifications, XML formats, industry protocols and security standards.&lt;/p&gt;
&lt;p&gt;Stay tuned, because there's more to come.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Sam&lt;/p&gt;
&lt;p mce_keep="true"&gt;&amp;nbsp;&lt;/p&gt;&lt;b&gt;&lt;/b&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=21428" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Port+25+News/default.aspx">Port 25 News</category><category domain="http://port25.technet.com/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://port25.technet.com/archive/tags/Standards/default.aspx">Standards</category><category domain="http://port25.technet.com/archive/tags/Java/default.aspx">Java</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/PHP/default.aspx">PHP</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>Hyperic: Java-based Cross-platform Management</title><link>http://port25.technet.com/archive/2007/06/15/hyperic-java-based-cross-platform-management.aspx</link><pubDate>Fri, 15 Jun 2007 18:38:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4051</guid><dc:creator>Sam Ramji</dc:creator><slash:comments>15</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4051</wfw:commentRss><comments>http://port25.technet.com/archive/2007/06/15/hyperic-java-based-cross-platform-management.aspx#comments</comments><description>&lt;p&gt;&lt;font face="Verdana" size="2"&gt;I had the opportunity to sit down with Javier Soltero, CEO of &lt;a href="http://www.hyperic.com/" style="color: blue; text-decoration: underline; text-underline: single"&gt;Hyperic&lt;/a&gt; last month in San Francisco at the OSBC.&amp;nbsp; We had a great discussion, which I opened bluntly by saying, &amp;ldquo;You don&amp;rsquo;t need to tell me about your software; I&amp;rsquo;ve seen it, my lab team thinks it&amp;rsquo;s cool, and we&amp;rsquo;re impressed.&amp;rdquo;&amp;nbsp; He was happy to hear it but probably not surprised.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;One of the obvious pros of the open source model (like the freeware model of the 90&amp;rsquo;s) is that you can &lt;a href="http://www.hyperic.com/downloads/dl-hq-oss.html" style="color: blue; text-decoration: underline; text-underline: single"&gt;get what you want&lt;/a&gt; without calling anyone or firing off a &amp;ldquo;please contact me&amp;rdquo; request to the company&amp;rsquo;s sales department.&amp;nbsp; Another equally obvious pro is that prospective customers can really walk through the product&amp;rsquo;s architecture and actual implementation to make sure that the marketing promises (&amp;ldquo;marketechture&amp;rdquo;) actually line up with the product being described.&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Kishi Malhotra and Stephen Zarkos &amp;ndash; the OSSL&amp;rsquo;s experts on manageability &amp;ndash; did a comprehensive teardown of Hyperic and a range of other open source management technologies (such as &lt;a href="http://www.nagios.org/" style="color: blue; text-decoration: underline; text-underline: single"&gt;Nagios&lt;/a&gt; and &lt;a href="http://www.openpegasus.com/" style="color: blue; text-decoration: underline; text-underline: single"&gt;OpenPegasus&lt;/a&gt;), which they&amp;rsquo;ll be posting in the next few days.&amp;nbsp; What they found about Hyperic is that it does a great job of making a low-footprint, easily adaptable management technology and is commercializing it in an open source model.&amp;nbsp; We thought that &lt;a href="http://www.hyperic.com/products/sigar.html" style="color: blue; text-decoration: underline; text-underline: single"&gt;SIGAR&lt;/a&gt;, their agent API, was particularly clever.&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Javier and &lt;a href="http://www.apacheweek.com/features/appies2000-doug.jpg" style="color: blue; text-decoration: underline; text-underline: single"&gt;Doug MacEachern&lt;/a&gt; (their CTO, and a &lt;a href="http://www.apacheweek.com/features/appies2000" style="color: blue; text-decoration: underline; text-underline: single"&gt;maintainer for mod_perl&lt;/a&gt; among &lt;a href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu" style="color: blue; text-decoration: underline; text-underline: single"&gt;other achievements&lt;/a&gt;) spent some time on a podcast with me last week &amp;ndash; if you&amp;rsquo;re interested in hearing their reasons for building Hyperic, how it compares to Nagios, and what they learned in taking their product open source, listen in.&amp;nbsp; They&amp;rsquo;ll be available to answer questions on this post as well &amp;ndash; leave a comment if you&amp;rsquo;re curious about something they&amp;rsquo;re doing.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Also, drop us a note and let us know if you interested in more interviews with open source and interoperability technology leaders on Port 25.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4051" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/podcasts/hyperic.mp3" length="35820885" type="audio/mpeg" /><category domain="http://port25.technet.com/archive/tags/Media/default.aspx">Media</category><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Podcast/default.aspx">Podcast</category><category domain="http://port25.technet.com/archive/tags/Java/default.aspx">Java</category></item><item><title>Python, Java, Ruby, Oh My!  Silverlight Alpha 1.1 ships with Dynamic Language Support</title><link>http://port25.technet.com/archive/2007/04/30/python-java-ruby-oh-my-cross-platform-net-framework.aspx</link><pubDate>Mon, 30 Apr 2007 18:45:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3836</guid><dc:creator>MichaelF</dc:creator><slash:comments>19</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3836</wfw:commentRss><comments>http://port25.technet.com/archive/2007/04/30/python-java-ruby-oh-my-cross-platform-net-framework.aspx#comments</comments><description>&lt;P&gt;&lt;A href="http://www.visitmix.com/" target=_blank mce_href="http://www.visitmix.com"&gt;Mix 07&lt;/A&gt; kicked off today with keynotes from Ray Ozzie and Scott Guthrie.&amp;nbsp; Amongst announcements regarding media and Silverlight Scott Guthrie announced the release of a cross-platform version of the .NET framework within Silverlight Alpha 1.1.&amp;nbsp; Included is a Dynamic Language Runtime that allows developers to use languages such as Python, Java and Ruby to program in Silverlight.&lt;/P&gt;
&lt;P&gt;I could drone on about this but we decided to go sit down with two of the individuals who contributed to this effort:&amp;nbsp; Jim Hugunin and John Lam instead.&amp;nbsp; Jim, who we &lt;A href="http://port25.technet.com/archive/2006/06/01/2565.aspx" target=_blank mce_href="http://port25.technet.com/archive/2006/06/01/2565.aspx"&gt;interviewed before&lt;/A&gt;, gives us some insight into this announcement including some information about new MS-PL releases to Codeplex tied to this announcement (Hint:&amp;nbsp; IronPython 2.0).&lt;/P&gt;
&lt;P&gt;Later today, we will post the second interview with&amp;nbsp;John Lam.&amp;nbsp;&lt;/P&gt;
&lt;CENTER&gt;&lt;EMBED pluginspage=http://macromedia.com/go/getflashplayer src=http://images.video.msn.com/flash/soapbox1_1.swf width=432 height=364 type=application/x-shockwave-flash mce_src="http://images.video.msn.com/flash/soapbox1_1.swf" quality="high" base="http://images.video.msn.com" allowFullScreen="true" flashvars="c=v&amp;amp;v=a43189b2-8af1-4331-a9e8-3b0d36fe360d&amp;amp;ifs=true&amp;amp;fr=msnvideo&amp;amp;mkt=en-US&amp;amp;brand="&gt;&lt;/EMBED&gt;&lt;BR&gt;&lt;A title="Python, Java, Ruby, Oh My! Silverlight Alpha 1.1 ships with Dynamic Language Sup" href="http://video.msn.com/video.aspx?vid=a43189b2-8af1-4331-a9e8-3b0d36fe360d" target=_new mce_href="http://video.msn.com/video.aspx?vid=a43189b2-8af1-4331-a9e8-3b0d36fe360d"&gt;Video: Python, Java, Ruby, Oh My! Silverlight Alpha 1.1 ships with Dynamic Language Sup&lt;/A&gt;&lt;/CENTER&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3836" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/podcasts/mixdlrjh.mp3" length="22593045" type="audio/mpeg" /><category domain="http://port25.technet.com/archive/tags/Media/default.aspx">Media</category><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/IronPython/default.aspx">IronPython</category><category domain="http://port25.technet.com/archive/tags/Podcast/default.aspx">Podcast</category><category domain="http://port25.technet.com/archive/tags/Ruby/default.aspx">Ruby</category><category domain="http://port25.technet.com/archive/tags/Java/default.aspx">Java</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Dev+Center/default.aspx">Dev Center</category><category domain="http://port25.technet.com/archive/tags/App/default.aspx">App</category><category domain="http://port25.technet.com/archive/tags/Web/default.aspx">Web</category><category domain="http://port25.technet.com/archive/tags/Video/default.aspx">Video</category></item><item><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><pubDate>Tue, 18 Apr 2006 19:03:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2163</guid><dc:creator>admin</dc:creator><slash:comments>12</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2163</wfw:commentRss><comments>http://port25.technet.com/archive/2006/04/18/Java-with-half_2D00_and_2D00_half.aspx#comments</comments><description>&lt;p&gt;&lt;font size="2" color="#000000"&gt;I got the chance to spend an hour this week with Dr. Wayne Citrin, CTO of &lt;a href="http://www.jnbridge.com/"&gt;JNBridge&lt;/a&gt;. He&amp;rsquo;s been refining a Java/.NET interoperability product for the last five years &amp;ndash; starting out with a risky bet on .NET when it was only in Beta. Back then I was at BEA Systems, we tried to use &lt;a href="http://e-docs.bea.com/wls/docs61/jcom.html"&gt;jCOM &lt;/a&gt;as a bridge to Microsoft applications that customers needed to integrate with J2EE systems. There were reliability and configuration challenges with this approach, and we found that as .NET grew in our customer base, we could only advise them to use Web Services for interoperability.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2" color="#000000"&gt;WS for interoperability is a good choice when you can build well-defined contracts between systems and coarse-grained, loosely coupled integration is acceptable (despite the performance and reliability impacts). There are situations where tightly-coupled integration is necessary (specific security requirements; chatty communications), which is where I&amp;rsquo;d apply a product like JNBridge.&lt;br /&gt;&lt;br /&gt;JNBridge handles the conversion of Java objects into .NET objects and vice versa &amp;ndash; including management of references on both sides to ensure that object extent is handled correctly, and converting &amp;ldquo;by reference&amp;rdquo; and &amp;ldquo;by value&amp;rdquo; situations to their correct native implementation. I&amp;rsquo;m simplifying for brevity, but for more detail you can &lt;a href="http://www.jnbridge.com/jnbpro.htm"&gt;take a look here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;They have 3 modes of operation &amp;ndash; XML/HTTP, Binary/TCP, and Shared Memory (for running on the same server). As we proceeded through the discussion, I was interested in how they dealt with the &amp;ldquo;complex object&amp;rdquo; issue, where a Java object contains other objects by reference. &lt;br /&gt;&lt;br /&gt;When converting complex objects to Web Services, the antipattern is to marshal the entire object graph into a SOAP message, add getters and setters to the remote proxy that handle write-backs. This causes problems both in communication overhead and performance (that&amp;rsquo;s a lot of data to marshal to XML; plus this marshalling will happen every time the remote client needs to update a field in the complex object). There are other problems that I won&amp;rsquo;t get into here.&lt;br /&gt;&lt;br /&gt;For these situations, it can work better to have a tightly-coupled integration layer &amp;ndash; with JNBridge, you could use their Binary/TCP mode to have a conversion from Java to .NET objects happening on the J2EE server, and communicating with the .NET tier through native .NET remoting. &lt;br /&gt;&lt;br /&gt;Another common interop request I hear from software architects is to have BizTalk or .NET interop with JMS (Java Message Service). This is an area that I haven&amp;rsquo;t seen great solutions to in the past. The best approach from performance and reliability standpoint should result from a tightly-coupled integration at the JMS Client layer; here I would consider deploying JNBridge in Shared Memory mode, with .NET application logic on the same machine as JNBridge and a JMS Client, which would remotely access a JMS Cluster via RMI or your Java protocol of choice.&lt;br /&gt;&lt;br /&gt;Now if only Java were associated with Guinness we could call this approach a &amp;ldquo;Black-and-Tan&amp;rdquo;&amp;hellip; as it is I&amp;rsquo;ll have to leave it &amp;ldquo;Half-and-half&amp;rdquo;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2163" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Sam+Ramji/default.aspx">Sam Ramji</category><category domain="http://port25.technet.com/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://port25.technet.com/archive/tags/Java/default.aspx">Java</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category></item></channel></rss>