<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Parisista &#187; Swig</title>
	<atom:link href="http://www.khaitan.org/blog/tag/swig/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.khaitan.org/blog</link>
	<description>2. Etymology: Sanskrit. Supplementary information usually at the end of a writing</description>
	<lastBuildDate>Thu, 09 Feb 2012 15:40:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java Technologies at Yahoo!</title>
		<link>http://www.khaitan.org/blog/2008/08/java-technologies-at-yahoo/</link>
		<comments>http://www.khaitan.org/blog/2008/08/java-technologies-at-yahoo/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 07:37:53 +0000</pubDate>
		<dc:creator>indus</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[CruiseControl]]></category>
		<category><![CDATA[Hudson]]></category>
		<category><![CDATA[Swig]]></category>

		<guid isPermaLink="false">http://www.khaitan.org/blog/?p=239</guid>
		<description><![CDATA[Yesterday, I attended a talk at SDForum presented by Dean Yu and Joshua Blatt of the Java platform team at Yahoo! The Java platform team centralizes the Java efforts for Yahoo&#8217;s non-open source efforts. I say non-open source as the platform team covers everything except things like Hadoop, etc. which are in the public domain.
Java as a [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I attended a <a href="http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&amp;eventID=13125">talk</a> at SDForum presented by Dean Yu and Joshua Blatt of the Java platform team at Yahoo! The Java platform team centralizes the Java efforts for Yahoo&#8217;s non-open source efforts. I say non-open source as the platform team covers everything except things like Hadoop, etc. which are in the public domain.</p>
<p>Java as a technology is not native to Yahoo! The platform at Yahoo! was primarily C/C++ and PHP at the frontend (mostly). Java came through several acquisitions which were running Java stack, notably:</p>
<ul>
<li>1998 Classic Games, Sprtasy</li>
<li>2002 Hotjobs</li>
<li>2003 Overture (Altavista)</li>
<li>2004 Kelkoo, Musimatch<br />
 </li>
</ul>
<p>Here are the raw bytes from the session:</p>
<ul>
<li>Tomcat + jboss efforts for securing them</li>
<li>Mostly LAMP stack at Yahoo!</li>
<li>Rate limiting using Apache modules </li>
<li>Runs apache in multiple process mode</li>
<li>Y! data streams for keeping application specific stores and pushing data around (Yahoo&#8217;s proprietary message bus like implementation)</li>
<li>Integration using JNI to C++ code using <a href="http://www.swig.org/Doc1.3/Java.html">Swig</a> for wrapper generation</li>
<li>All security related code is in C++; helps maintain a single language code-base. Hence, wide JNI use from app tier</li>
<li>Uses IPC Bridge for coarse grained calls to non-thread safe libraries (JNI has multi-threading issues)</li>
<li>Group dedicated to creating JNI wrappers of native code</li>
<li>JNI performance FUD</li>
<li>Java to Native C++ code via JNI &lt; 20 nano seconds (Cool!) compare this with Java to Java &lt; 1 nano seconds. Big difference but nano seconds compared to network latencies of seconds</li>
<li>String functions to native code via JNI take &gt; 3ms coz of UTF-16 to UTF-8 character conversion issues</li>
<li>JNI Multi-threading issues are solved by IPC bridge shared memory and TCP over loopback</li>
<li>JSVC Apache commons daemon for loading privileged data during Tomcat startup and then running in low privilege mode</li>
<li>Like Multi-process Apache, a new architecture for multi-process Tomcat being baked</li>
<li>Software project management using Maven (Maven &#8212; awww!)</li>
<li>Automatic builds using <a href="http://cruisecontrol.sourceforge.net/">Cruise control</a> and <a href="http://hudson.gotdns.com/wiki/display/HUDSON/Meet+Hudson">Hudson</a></li>
<li>RPM-based software deployment to 100s of nodes</li>
</ul>
<p> </p>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.khaitan.org/blog/2008/08/java-technologies-at-yahoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

