<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Two data streams for a happy website</title>
	<atom:link href="http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/</link>
	<description>The Quest for Software++</description>
	<pubDate>Sat, 05 Jul 2008 18:50:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: AoD</title>
		<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26679</link>
		<dc:creator>AoD</dc:creator>
		<pubDate>Mon, 14 Apr 2008 03:30:56 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26679</guid>
		<description>You're certainly welcome. I suspected it was something like that, but you never want to judge :)</description>
		<content:encoded><![CDATA[<p>You&#8217;re certainly welcome. I suspected it was something like that, but you never want to judge <img src='http://gojko.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gojko</title>
		<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26673</link>
		<dc:creator>gojko</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:54:16 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26673</guid>
		<description>Hi AoD, thanks for the tip - apparently someone injected that stuff, my wordpress installation was out of date for two weeks. I removed it. Thanks again.</description>
		<content:encoded><![CDATA[<p>Hi AoD, thanks for the tip - apparently someone injected that stuff, my wordpress installation was out of date for two weeks. I removed it. Thanks again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AoD</title>
		<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26672</link>
		<dc:creator>AoD</dc:creator>
		<pubDate>Sun, 13 Apr 2008 22:39:42 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-26672</guid>
		<description>What's with the hidden porn links embedded in the article, beginning after the sentence "then the growth options will be severely limited."? Are those intentional, or has someone managed to inject stuff into your page? It took me a minute to figure out why your site was coming up under blocked content...</description>
		<content:encoded><![CDATA[<p>What&#8217;s with the hidden porn links embedded in the article, beginning after the sentence &#8220;then the growth options will be severely limited.&#8221;? Are those intentional, or has someone managed to inject stuff into your page? It took me a minute to figure out why your site was coming up under blocked content&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shiraz Kanga</title>
		<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-25833</link>
		<dc:creator>Shiraz Kanga</dc:creator>
		<pubDate>Mon, 10 Mar 2008 03:11:23 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-25833</guid>
		<description>So then may we have 3 classes of data streams - pure stateless, secure stateless and stateful.</description>
		<content:encoded><![CDATA[<p>So then may we have 3 classes of data streams - pure stateless, secure stateless and stateful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gojko</title>
		<link>http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-25823</link>
		<dc:creator>gojko</dc:creator>
		<pubDate>Sun, 09 Mar 2008 11:18:24 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/2008/03/03/two-data-streams-for-a-happy-website/#comment-25823</guid>
		<description>Hi Shiraz,

this is by no means the final partition, but I propose using this as the first one, as it allows you to cache and further partition generic data and remove all the overhead of authentication and SSL without any special analytics. With user-specific data, even if it is stateless, things become a bit tricky.

If there is no authentication required by business rules to access such data, then I'd "cheat" and push that as well into generic data servers if possible. For example, personal pages on social networking sites may be considered user specific at first glance, because they are related to a particular user, but they are in fact generic because everyone can access the same details. The site can store your user ID in a cookie and then forward you to the correct profile when you click on "My page" link without touching the database.  There is no harm if I see your page, as long as I cannot change it without authentication. 

If authentication to view the data is required by business rules (for example in a typical e-commerce application) then caching that data and exposing it directly would be considered a &lt;a href="http://www.google.com/search?ie=UTF-8&#038;oe=UTF-8&#038;sourceid=navclient&#038;gfns=1&#038;q=enumerating+users" target="_blank" rel="nofollow"&gt;huge security gap&lt;/a&gt;. So this data stream has to go though SSL and be protected by proper authentication. Putting it in the same cache as other data would only complicate things for the rest of cache. Depending on business rules, this may be cached as well, but under the umbrella of user specific services. That way the generic data stream remains simple.</description>
		<content:encoded><![CDATA[<p>Hi Shiraz,</p>
<p>this is by no means the final partition, but I propose using this as the first one, as it allows you to cache and further partition generic data and remove all the overhead of authentication and SSL without any special analytics. With user-specific data, even if it is stateless, things become a bit tricky.</p>
<p>If there is no authentication required by business rules to access such data, then I&#8217;d &#8220;cheat&#8221; and push that as well into generic data servers if possible. For example, personal pages on social networking sites may be considered user specific at first glance, because they are related to a particular user, but they are in fact generic because everyone can access the same details. The site can store your user ID in a cookie and then forward you to the correct profile when you click on &#8220;My page&#8221; link without touching the database.  There is no harm if I see your page, as long as I cannot change it without authentication. </p>
<p>If authentication to view the data is required by business rules (for example in a typical e-commerce application) then caching that data and exposing it directly would be considered a <a href="http://www.google.com/search?ie=UTF-8&#038;oe=UTF-8&#038;sourceid=navclient&#038;gfns=1&#038;q=enumerating+users" target="_blank" rel="nofollow">huge security gap</a>. So this data stream has to go though SSL and be protected by proper authentication. Putting it in the same cache as other data would only complicate things for the rest of cache. Depending on business rules, this may be cached as well, but under the umbrella of user specific services. That way the generic data stream remains simple.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
