<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>ITLAB - Laboratorio IT</title>
	
	<link>http://itlab.wordpress.com</link>
	<description>SOA (Service Oriented Architecture), Web 2.0, Open Source e Java.</description>
	<lastBuildDate>Sun, 21 Jun 2009 13:10:39 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="itlab.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://www.gravatar.com/blavatar/25f69c2553928f1621cd170193b7a69d?s=96&amp;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>ITLAB - Laboratorio IT</title>
		<link>http://itlab.wordpress.com</link>
	</image>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/itlab" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>HTTP: metodi, codici di risposta, headers ed esempi con PHP</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/Ux6hJ2i9tDk/</link>
		<comments>http://itlab.wordpress.com/2009/06/21/http-metodi-codici-di-risposta-headers-ed-esempi-con-php/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 13:08:03 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Standard non WS-*]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Protocols]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/06/21/http-metodi-codici-di-risposta-headers-ed-esempi-con-php/</guid>
		<description><![CDATA[Ben Ramsey raccoglie, in &#8220;Making the Most of HTTP In Your Applications&#8220;, metodi, codici di risposta ed headers HTTP: per sfruttare appieno ciò che il protocollo offre e non limitarsi a POST, 200-OK, 404-Not Found e 500-Internal Server Error.

&#8212;-&#62;&#60;&#8212;-
Hai trovato questo articolo interessante? Segui il feed e commenta!
Posted in Standard non WS-* Tagged: HTTP, Programming, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=229&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://benramsey.com/" target="_blank">Ben Ramsey</a> raccoglie, in &#8220;<a href="http://www.slideshare.net/benramsey/making-the-most-of-http-in-your-applications" target="_blank">Making the Most of HTTP In Your Applications</a>&#8220;, metodi, codici di risposta ed <em>headers</em> <a href="http://www.apps.ietf.org/rfc/rfc2616.html" target="_blank">HTTP</a>: per sfruttare appieno ciò che il protocollo offre e non limitarsi a POST, 200-OK, 404-Not Found e 500-Internal Server Error.</p>
<p style="text-align:center;"><object type='application/x-shockwave-flash' wmode='transparent' data='http://static.slideshare.net/swf/ssplayer2.swf?id=1577752&#038;doc=bramsey-http-dpc2009-090613100537-phpapp02' width='425' height='348'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=1577752&#038;doc=bramsey-http-dpc2009-090613100537-phpapp02' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Standard non WS-* Tagged: HTTP, Programming, Protocols, REST, Web <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/229/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/229/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/229/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=229&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/Ux6hJ2i9tDk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/06/21/http-metodi-codici-di-risposta-headers-ed-esempi-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/06/21/http-metodi-codici-di-risposta-headers-ed-esempi-con-php/</feedburner:origLink></item>
		<item>
		<title>App Engine: la Platform As A Service (PaaS) di Google per lo sviluppo di applicazioni</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/irxVRY1bcj0/</link>
		<comments>http://itlab.wordpress.com/2009/03/05/app-engine-la-platform-as-a-service-paas-di-google-per-lo-sviluppo-di-applicazioni/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 08:30:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Architectures]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/03/05/app-engine-la-platform-as-a-service-paas-di-google-per-lo-sviluppo-di-applicazioni/</guid>
		<description><![CDATA[App Engine è l&#8217;offerta PaaS (Platform As A Service) di Google per lo sviluppo e l&#8217;esecuzione di applicazioni web.
Fondata sull&#8217;infrastruttura di Google, garantisce load balancing, fault tollerance e ragguardevole scalabilità &#8211; tutto in automatico.
Include una base dati che poggia su BigTable: un sistema distribuito (usato ad esempio in Finance, Earth e nell&#8217;indicizzazione) per la gestione [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=222&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://code.google.com/appengine/" target="_blank">App Engine</a> è l&#8217;offerta <a href="http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/" target="_blank">PaaS (Platform As A Service)</a> di Google per lo sviluppo e l&#8217;esecuzione di applicazioni web.</p>
<p style="text-align:justify;">Fondata sull&#8217;infrastruttura di Google, garantisce <em>load balancing</em>, <em>fault tollerance</em> e ragguardevole scalabilità &#8211; tutto in automatico.</p>
<p style="text-align:justify;">Include una base dati che poggia su <a href="http://en.wikipedia.org/wiki/BigTable" target="_blank">BigTable</a>: un sistema distribuito (usato ad esempio in Finance, Earth e nell&#8217;indicizzazione) per la gestione di grosse quantità di dati (ordine di <em><a href="http://en.wikipedia.org/wiki/Petabyte" target="_blank">Petabytes</a></em>). Questa base dati non è relazionale, ma a <a href="http://itlab.wordpress.com/2009/01/27/basi-dati-chiave-valore/" target="_blank">coppie chiave-valore</a>: non contempla quindi le <em>joins</em>.</p>
<p style="text-align:justify;">L&#8217;autenticazione con Google Accounts, l&#8217;invio di e-mail tramite Google Mail, la manipolazione di immagini e l&#8217;uso di <a href="http://www.danga.com/memcached/" target="_blank">Memcached</a> sono solo alcune delle API che il <em>framework</em> mette a disposizione.</p>
<p style="text-align:justify;">Ad oggi, Python è l&#8217;unico linguaggio di programmazione previsto. Il <a href="http://code.google.com/appengine/downloads.html" target="_blank">Software Development Kit (SDK)</a> simula in locale l&#8217;intera piattaforma.</p>
<p style="text-align:justify;">
<p style="text-align:justify;">
<p style="text-align:justify;">Ci sono alcuni vincoli, ad esempio:</p>
<ul>
<li>
<div style="text-align:justify;">La persistenza dati può avvenire solo sulla base dati inclusa</div>
</li>
<li>
<div style="text-align:justify;">L&#8217;applicazione può essere invocata solo con protocollo HTTP o HTTPS</div>
</li>
<li>
<div style="text-align:justify;">Il codice è eseguito solo a fronte di una richiesta HTTP</div>
</li>
<li>
<div style="text-align:justify;">L&#8217;invocazione di <em>web services</em> ha un <em>time-out</em> di pochi secondi</div>
</li>
</ul>
<p style="text-align:justify;">I primi 500 Mb di spazio e banda/CPU sufficiente per 5 milioni di visite al mese sono gratuiti.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, Web 2.0 Tagged: API, Architectures, Cloud Computing, Google, Infrastructure, Programming, Projects <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/222/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=222&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/irxVRY1bcj0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/03/05/app-engine-la-platform-as-a-service-paas-di-google-per-lo-sviluppo-di-applicazioni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/03/05/app-engine-la-platform-as-a-service-paas-di-google-per-lo-sviluppo-di-applicazioni/</feedburner:origLink></item>
		<item>
		<title>PaaS (Platform As A Service) e IaaS (Infrastructure As A Service) per lo sviluppo di applicazioni</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/GND2hCSao00/</link>
		<comments>http://itlab.wordpress.com/2009/03/02/paas-platform-as-a-service-e-iaas-infrastructure-as-a-service-per-lo-sviluppo-di-applicazioni/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 08:30:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Architectures]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/03/02/paas-platform-as-a-service-e-iaas-infrastructure-as-a-service-per-il-deployment-di-applicazioni/</guid>
		<description><![CDATA[Mark Masterson condivide un&#8217;interessante presentazione &#8211; &#8220;How to build your app quickly (and cheaply?) using the cloud&#8221; &#8211; in cui analizza PaaS (Platform As A Service) e IaaS (Infrastructure As A Service) (vedi &#8220;Cloud Computing: una classificazione&#8220;) per lo sviluppo e l&#8217;esecuzione di applicazioni web.
La presentazione caratterizza PaaS (Platform As A Service) con:


Vincoli sul linguaggio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=201&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://www.jroller.com/MasterMark/" target="_blank">Mark Masterson</a> condivide un&#8217;interessante presentazione &#8211; &#8220;<a href="http://www.slideshare.net/mastermark/fowa-miami-09-cloud-computing-workshop-1059049" target="_blank">How to build your app quickly (and cheaply?) using the cloud</a>&#8221; &#8211; in cui analizza <a href="http://en.wikipedia.org/wiki/Platform_as_a_service" target="_blank">PaaS (Platform As A Service)</a> e <a href="http://en.wikipedia.org/wiki/Infrastructure_as_a_service" target="_blank">IaaS (Infrastructure As A Service)</a> (vedi &#8220;<a href="http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/" target="_blank"><em>Cloud Computing</em>: una classificazione</a>&#8220;) per lo sviluppo e l&#8217;esecuzione di applicazioni web.</p>
<p style="text-align:justify;">La presentazione caratterizza <a href="http://en.wikipedia.org/wiki/Platform_as_a_service" target="_blank">PaaS (Platform As A Service)</a> con:</p>
<ul>
<li>
<div style="text-align:justify;">Vincoli sul linguaggio di programmazione e sulla progettazione</div>
</li>
<li>
<div style="text-align:justify;">Modello di programmazione, d&#8217;alto livello, già stabilito</div>
</li>
<li>
<div style="text-align:justify;">Dettagli, di basso livello, già risolti dalla piattaforma</div>
</li>
</ul>
<p style="text-align:justify;">La consiglia nel caso in cui manchi l&#8217;esperienza o si aspiri all&#8217;esercizio in tempi brevi.</p>
<p style="text-align:justify;">Caratterizza <a href="http://en.wikipedia.org/wiki/Infrastructure_as_a_service" target="_blank">IaaS (Infrastructure As A Service)</a>, invece, con:</p>
<ul>
<li>
<div style="text-align:justify;">Assenza di vincoli sul linguaggio e sulla progettazione</div>
</li>
<li>
<div style="text-align:justify;">Modello di architettura, d&#8217;alto livello, già stabilito</div>
</li>
<li>
<div style="text-align:justify;">Dettagli, di basso livello, da risolvere in autonomia</div>
</li>
</ul>
<p style="text-align:justify;">La consiglia nel caso in cui si desideri maggiore libertà e controllo, o si voglia riutilizzare qualche &#8220;componente&#8221; di cui già si dispone.</p>
<p style="text-align:center;"><object type='application/x-shockwave-flash' wmode='transparent' data='http://static.slideshare.net/swf/ssplayer2.swf?id=1059049&#038;doc=fowamiami09cloudcomputingworkshop-090223055538-phpapp01' width='425' height='348'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=1059049&#038;doc=fowamiami09cloudcomputingworkshop-090223055538-phpapp01' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, SaaS, Web 2.0 Tagged: Architectures, Cloud Computing, Infrastructure, Programming, Projects <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/201/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/201/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/201/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=201&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/GND2hCSao00" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/03/02/paas-platform-as-a-service-e-iaas-infrastructure-as-a-service-per-lo-sviluppo-di-applicazioni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/03/02/paas-platform-as-a-service-e-iaas-infrastructure-as-a-service-per-lo-sviluppo-di-applicazioni/</feedburner:origLink></item>
		<item>
		<title>Cloud Computing: una classificazione</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/dUAZc_remR8/</link>
		<comments>http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 15:30:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Infrastructure]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/</guid>
		<description><![CDATA[Lamia Youseff (University of California, Santa Barbara), Maria Butrico (IBM T.J. Watson Research Center) e Dilma Da Silva (IBM T.J. Watson Research Center), in &#8220;Toward a Unified Ontology of Cloud Computing&#8221; propongono una classificazione del Cloud Computing.
 
&#8212;-&#62;&#60;&#8212;-
Hai trovato questo articolo interessante? Segui il feed e commenta!
Posted in Architetture, SaaS, Web 2.0 Tagged: Cloud Computing, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=197&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Lamia Youseff (University of California, Santa Barbara), Maria Butrico (IBM T.J. Watson Research Center) e Dilma Da Silva (IBM T.J. Watson Research Center), in &#8220;<a href="http://www.collab-ogce.org/gce08/images/7/76/LamiaYouseff.pdf" target="_blank">Toward a Unified Ontology of Cloud Computing</a>&#8221; propongono una classificazione del <em><a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">Cloud Computing</a></em>.</p>
<p> <img src="http://itlab.files.wordpress.com/2009/02/cloudcomputingontology.gif" style="display:block;margin-left:auto;margin-right:auto;text-align:center;" height="339" title="Cloud Computing Ontology">
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, SaaS, Web 2.0 Tagged: Cloud Computing, Infrastructure <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/197/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/197/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/197/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=197&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/dUAZc_remR8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>

		<media:content url="http://itlab.files.wordpress.com/2009/02/cloudcomputingontology.gif" medium="image">
			<media:title type="html">Cloud Computing Ontology</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/02/28/cloud-computing-una-classificazione/</feedburner:origLink></item>
		<item>
		<title>YDN: la piattaforma di Yahoo! per gli sviluppatori</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/PB7WmOxMTX4/</link>
		<comments>http://itlab.wordpress.com/2009/02/23/ydn-la-piattaforma-di-yahoo-per-gli-sviluppatori/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 08:30:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/02/23/ydn-la-piattaforma-di-yahoo-per-gli-sviluppatori/</guid>
		<description><![CDATA[Christian Heilmann, in &#8220;Yahoo For The Masses&#8220;, sintetizza l&#8217;offerta di YDN (Yahoo! Developer Network), la piattaforma di Yahoo! per gli sviluppatori.
Interfaccia Utente:


Design Pattern Library: raccolta di patterns e stencils per risolvere problemi comuni


YUI (Yahoo! User Interface Library): framework per il design ed il layout


Performance:


Exceptional Performance Tips: raccolta di suggerimenti e best practices


YSlow: plug-in di Firefox [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=189&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://wait-till-i.com/" target="_blank">Christian Heilmann</a>, in &#8220;<a href="http://www.slideshare.net/cheilmann/yahoo-for-the-masses" target="_blank">Yahoo For The Masses</a>&#8220;, sintetizza l&#8217;offerta di <a href="http://developer.yahoo.com/" target="_blank">YDN (Yahoo! Developer Network)</a>, la piattaforma di <a href="http://www.yahoo.com/" target="_blank">Yahoo!</a> per gli sviluppatori.</p>
<p style="text-align:justify;"><strong>Interfaccia Utente</strong>:</p>
<ul>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/ypatterns" target="_blank">Design Pattern Library</a>: raccolta di <em>patterns</em> e <a href="http://developer.yahoo.com/ypatterns/wireframes/" target="_blank"><em>stencils</em></a> per risolvere problemi comuni</div>
</li>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/yui/" target="_blank">YUI (Yahoo! User Interface Library)</a>: <em>framework</em> per il <em>design</em> ed il <em>layout</em></div>
</li>
</ul>
<p style="text-align:justify;"><strong>Performance</strong>:</p>
<ul>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/performance/" target="_blank">Exceptional Performance Tips</a>: raccolta di suggerimenti e <em>best practices</em></div>
</li>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/yslow/" target="_blank">YSlow</a>: <em>plug-in</em> di Firefox per analizzare le prestazioni di pagine web</div>
</li>
</ul>
<p style="text-align:justify;"><strong>API</strong>:</p>
<ul>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/search/boss/" target="_blank">BOSS (Build Your Own Search Engine)</a>: la ricerca di Yahoo! con interfaccia <a href="http://itlab.wordpress.com/2008/06/09/rest-representational-state-transfer/" target="_blank">REST (REpresentational State Transfer)</a>, <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework" target="_blank">RDF (Resource Description Framework)</a> e <em><a href="http://itlab.wordpress.com/2008/08/21/microformats/" target="_blank">Microformats</a></em></div>
</li>
<li>
<div style="text-align:justify;"><a href="http://developer.yahoo.com/yql/" target="_blank">YQL (Yahoo! Query Language)</a>: <a href="http://itlab.wordpress.com/2008/12/22/yql-yahoo-query-language-sql-per-il-mashup/" target="_blank"><em>framework</em></a> per il <em><a href="http://itlab.wordpress.com/2007/11/05/mashup-aggregazione-di-contenuti/" target="_blank">mashup</a></em> , in stile SQL</div>
</li>
</ul>
<p style="text-align:center;"><object type='application/x-shockwave-flash' wmode='transparent' data='http://static.slideshare.net/swf/ssplayer2.swf?id=1041767&#038;doc=1041767' width='425' height='348'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=1041767&#038;doc=1041767' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Open Source, Web 2.0 Tagged: API, Framework, Infrastructure, Open Source, Platform, Presentations, Programming, Web 2.0, Yahoo <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/189/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/189/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/189/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=189&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/PB7WmOxMTX4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/02/23/ydn-la-piattaforma-di-yahoo-per-gli-sviluppatori/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/02/23/ydn-la-piattaforma-di-yahoo-per-gli-sviluppatori/</feedburner:origLink></item>
		<item>
		<title>Da Facebook un nuovo IDL: Thrift</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/pVU_B97OjuA/</link>
		<comments>http://itlab.wordpress.com/2009/02/07/da-facebook-un-nuovo-idl-thrift/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 09:32:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Middleware]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/02/07/da-facebook-un-nuovo-idl-thrift/</guid>
		<description><![CDATA[L&#8217;IDL (Interface Description Language) è un linguaggio con cui descrivere interfacce; vi si ricorre quando si desidera esporre &#8211; solitamente in modalità RPC (Remote Procedure Call) &#8211; un componente software ad altri sistemi, anche se sviluppati con linguaggi di programmazione diversi. L&#8217;IDL è paragonabile ad una lingua franca tra linguaggi di programmazione differenti: tipi semplici [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=186&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">L&#8217;<a href="http://en.wikipedia.org/wiki/Interface_description_language" target="_blank">IDL (Interface Description Language)</a> è un linguaggio con cui descrivere interfacce; vi si ricorre quando si desidera esporre &#8211; solitamente in modalità <a href="http://en.wikipedia.org/wiki/Remote_procedure_call" target="_blank">RPC (Remote Procedure Call)</a> &#8211; un componente software ad altri sistemi, anche se sviluppati con linguaggi di programmazione diversi. L&#8217;IDL è paragonabile ad una lingua franca tra linguaggi di programmazione differenti: tipi semplici e complessi, parametri di input e di output, operazioni, ecc. espressi secondo il linguaggio di programmazione dei sistemi coinvolti, sono tutti ricondotti ai corrispondenti costrutti dell&#8217;IDL, che diviene così il linguaggio comune per questa comunicazione. CORBA (IDL) e WSDL sono esempi di IDL.</p>
<p style="text-align:justify;"><a href="http://developer.facebook.com/" target="_blank">Facebook</a>, tempo fa, ha aperto il codice dell&#8217;IDL che usa al suo interno: <a href="http://incubator.apache.org/thrift/" target="_blank">Thrift</a>.</p>
<p style="text-align:justify;">Thrift è quindi un <a href="http://wiki.apache.org/thrift/ThriftIDL" target="_blank">linguaggio con cui definire interfacce</a>: <a href="http://wiki.apache.org/thrift/ThriftTypes" target="_blank">tipi semplici</a> e complessi, tipi strutturati e operazioni con parametri di input e di output. Con il compilatore che include, si genera poi, a partire dalle interfacce così descritte, <em><a href="http://en.wikipedia.org/wiki/XML_Data_Binding" target="_blank">data-bindings</a></em> e <em>stubs</em>, lato server e client.</p>
<p style="text-align:justify;">Thrift è indipendente da trasporto, protocollo e <a href="http://en.wikipedia.org/wiki/Serialization" target="_blank">serializzazione</a>: non ne impone di specifici ma ne stabilisce l&#8217;interfaccia in modo da poter essere adattato o esteso. Di alcuni trasporti (file, memoria, <em>socket</em> e pochi altri) ne include l&#8217;implementazione.</p>
<p style="text-align:justify;">Thrift, infine, è compatibile sia in avanti che all&#8217;indietro: i campi non attesi ma presenti nel pacchetto serializzato sono semplicemente ignorati, quelli attesi, ma non presenti, lasciati vuoti e il fatto segnalato. Questa caratteristica è soddisfatta sia per le strutture che per i parametri dei metodi; potrebbe però non essere garantita nel caso in cui un server obsoleto non riceva un campo rimosso da un nuovo client.</p>
<p style="text-align:justify;">Thrift nasce da esigenze ben precise: l&#8217;interoperabilità tra un certo numero di linguaggi (Java, C++, PHP, Python e altri), la generazione automatica del codice di &#8220;traduzione&#8221; tra formati d&#8217;interscambio e nativi, il volersi sottrarre all&#8217;aggiornamento contemporaneo di tutti i sistemi e il desiderio di concentrarsi sulla logica di business piuttosto che sui dettagli d&#8217;infrastruttura.</p>
<p style="text-align:justify;">Facebook impiega Thrift in un elevato numero di sistemi, tra cui: ricerca, <em>logging</em>, gestione degli annunci pubblicitari e applicazioni mobili.</p>
<p style="text-align:justify;">Thrift è un progetto Open Source ospitato su <a href="http://www.apache.org/" target="_blank">Apache</a>.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Java, Open Source Tagged: API, Facebook, Infrastructure, Java, Middleware, Open Source, Programming <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/186/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/186/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/186/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=186&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/pVU_B97OjuA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/02/07/da-facebook-un-nuovo-idl-thrift/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/02/07/da-facebook-un-nuovo-idl-thrift/</feedburner:origLink></item>
		<item>
		<title>Da Google un nuovo formato dati: Protocol Buffers</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/HbNrBefDo-I/</link>
		<comments>http://itlab.wordpress.com/2009/02/02/da-google-un-nuovo-formato-dati-protocol-buffers/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 08:21:20 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Architectures]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Middleware]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Protocols]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/?p=181</guid>
		<description><![CDATA[Google, tempo fa, ha aperto il codice di Protocol Buffers, il formato dati che usa al suo interno. L&#8217;accoglienza, stranamente, non è stata delle migliori: in molti si sono chiesti se Google non avesse semplicemente reinventato la ruota.
Protocol Buffers comprende un linguaggio con cui esprimere strutture dati indipendenti dall&#8217;implementazione e dal trasporto (rete, disco, ecc.), [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=181&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://www.google.com/">Google</a>, tempo fa, ha aperto il codice di <a href="http://code.google.com/apis/protocolbuffers/" target="_blank">Protocol Buffers</a>, il formato dati che usa al suo interno. L&#8217;accoglienza, stranamente, non è stata delle migliori: in molti si sono chiesti se Google non avesse semplicemente reinventato la ruota.</p>
<p style="text-align:justify;">Protocol Buffers comprende un linguaggio con cui esprimere strutture dati indipendenti dall&#8217;implementazione e dal trasporto (rete, disco, ecc.), un compilatore con cui generare il <em><a href="http://en.wikipedia.org/wiki/XML_Data_Binding" target="_blank">data-binding</a></em> per un certo numero di linguaggi (Java, C++, Python e altri) e librerie con cui <a href="http://en.wikipedia.org/wiki/Serialization" target="_blank">serializzare</a>, de-serializzare e manipolare il pacchetti dati.</p>
<p style="text-align:justify;">Google afferma che questo formato è efficiente (veloce nella serializzazione e nella de-serializzazione), compatto (pacchetto binario dalle dimensioni molto contenute) e compatibile, sia con le versioni precedenti che con quelle successive (i campi sconosciuti sono ignorati, a quelli mancanti è assegnato l&#8217;eventuale valore di <em>default</em>); comunque un <em>benchmarking</em> non è mostrato ed è consigliato un confronto con il formato già in uso (che magari si pensa di sostituire).</p>
<p style="text-align:justify;">I dati serializzati con Protocol Buffers possono anche essere salvati su disco o su una base dati, unica accortezza quella di far riferimento alla definizione della struttura: il pacchetto dati serializzato, infatti, non è autodescrittivo (sui documenti è comunque descritta una strategia per conseguire qualcosa di simile).</p>
<p style="text-align:justify;">Protocol Buffers è nato non per competere con <a href="http://json.org/" target="_blank">JSON (JavaScript Object Notation)</a> , XML, <a href="http://www.itu.int/ITU-T/asn1/" target="_blank">ASN.1</a>, ecc. ma per soddisfare alcuni requisiti &#8211; prestazioni, riduzione del traffico rete e spazio disco, efficienza negli aggiornamenti del software e generazione dei <em>data-binding</em> &#8211; anche a rischio di perdere i vantaggi della standardizzazione e della leggibilità propri, ad esempio, di XML.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:justify;"><span style="font-size:.9em;">Sullo stesso argomento:</span></p>
<ul>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://news.oreilly.com/2008/07/interview-google-open-sources.html" target="_blank">O&#8217;Reilly &#8211; Interview: Google Open Sources Protocol Buffers</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://www.mattcutts.com/blog/google-releases-protocol-buffers/" target="_blank">Matt Cutts &#8211; Cool: Google Releases Protocol Buffers Into the Wild</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://diveintomark.org/archives/2008/07/12/protobuf" target="_blank">Dive into mark &#8211; Protocol buffers: the early reviews are in</a></div>
</li>
</ul>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, Java, Open Source Tagged: API, Architectures, Google, Infrastructure, Java, Middleware, Open Source, Programming, Protocols, XML <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/181/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/181/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/181/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=181&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/HbNrBefDo-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/02/02/da-google-un-nuovo-formato-dati-protocol-buffers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/02/02/da-google-un-nuovo-formato-dati-protocol-buffers/</feedburner:origLink></item>
		<item>
		<title>Basi dati chiave-valore</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/IKrGlhB0D_k/</link>
		<comments>http://itlab.wordpress.com/2009/01/27/basi-dati-chiave-valore/#comments</comments>
		<pubDate>Tue, 27 Jan 2009 16:45:48 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Architectures]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Scalability]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/?p=166</guid>
		<description><![CDATA[Se si ricercano i dati solo per chiave, se non si eseguono join o se si possiedono parecchi dati e non si desidera amministrare repliche e partizioni, potrebbe aver senso usare una base dati a coppie chiave-valore: qualcosa, ossia, molto simile ad una tabella hash distribuita.
Richard Jones di Last.fm ha pubblicato un interessante articolo &#8211; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=166&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Se si ricercano i dati solo per chiave, se non si eseguono <em>join</em> o se si possiedono parecchi dati e non si desidera amministrare repliche e partizioni, potrebbe aver senso usare una base dati a coppie chiave-valore: qualcosa, ossia, molto simile ad una <a href="http://en.wikipedia.org/wiki/Hash_table" target="_blank">tabella <em>hash</em></a> distribuita.</p>
<p style="text-align:justify;"><a href="http://www.metabrew.com/" target="_blank">Richard Jones</a> di <a href="http://www.lastfm.it/" target="_blank">Last.fm</a> ha pubblicato un interessante articolo &#8211; <a href="http://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/" rel="bookmark" title="A list of distributed key-value stores">Anti-RDBMS: A list of distributed key-value stores</a> &#8211; in cui sintetizza le caratteristiche di un certo numero di basi dati chiave-valore <em>open source</em>: <a href="http://project-voldemort.com/" class="external text" title="http://project-voldemort.com/">Project Voldemort</a>, <a href="http://github.com/tuulos/ringo/tree/master" class="external text" title="http://github.com/tuulos/ringo/tree/master">Ringo</a>, <a href="http://code.google.com/p/scalaris/" class="external text" title="http://code.google.com/p/scalaris/">Scalaris</a>, <a href="http://kai.wiki.sourceforge.net/" class="external text" title="http://kai.wiki.sourceforge.net/">Kai</a>, <a href="http://github.com/cliffmoon/dynomite/tree/master" class="external text" title="http://github.com/cliffmoon/dynomite/tree/master">Dynomite</a>, <a href="http://code.google.com/p/thrudb/" class="external text" title="http://code.google.com/p/thrudb/">ThruDB</a>, <a href="http://couchdb.apache.org/" class="external text" title="http://couchdb.apache.org/">CouchDB</a>, <a href="http://code.google.com/p/the-cassandra-project/" class="external text" title="http://code.google.com/p/the-cassandra-project/">Cassandra</a>, <a href="http://hadoop.apache.org/hbase/" class="external text" title="http://hadoop.apache.org/hbase/">HBase</a> e <a href="http://hypertable.org/" class="external text" title="http://hypertable.org/">Hypertable</a>. Tra questi, CouchDB, ThruDB, MemcacheDB, Project Voldemort e Dynomite, sembrano i più promettenti.</p>
<p style="text-align:justify;"><a href="http://project-voldemort.com/" target="_blank">Project Voldemort</a>, in particolare, è scritto in Java ed usato da <a href="http://www.linkedin.com/" target="_blank">Linkedin</a>; automaticamente replica, partiziona ed esegue il <em>caching</em> dei dati, non ha un <a href="http://en.wikipedia.org/wiki/Single_Point_of_Failure" target="_blank">singolo punto di fallimento</a>, persiste su <a href="http://www.mysql.com/" target="_blank">Mysql</a> o <a href="http://www.oracle.com/technology/products/berkeley-db/index.html" target="_blank">BerkleyDB</a> ed è rilasciato con licenza <a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache 2.0</a>.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo articolo interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il <em>feed</em></a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, Java, Open Source Tagged: API, Architectures, Database, Java, Open Source, Scalability <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/166/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/166/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/166/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=166&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/IKrGlhB0D_k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/01/27/basi-dati-chiave-valore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/01/27/basi-dati-chiave-valore/</feedburner:origLink></item>
		<item>
		<title>Gnip: publish-subscribe sul web</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/PB5MepT1RQ8/</link>
		<comments>http://itlab.wordpress.com/2009/01/21/gnip-publish-subscribe-sul-web/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 09:00:00 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[Architetture]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Architectures]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Publish-Subscribe]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/2009/01/21/gnip-publish-subscribe-sul-web/</guid>
		<description><![CDATA[Gnip è un servizio di publish-subscribe sul web: raccoglie e riespone dati (eventi, attività, ecc.) tramite API.
Le sue API sono sufficientemente REST: i verbi (GET, POST, PUT, DELETE e HEAD) seguono la semantica imposta dalle specifiche HTTP, il payload è XML, il content-type conguo (application/xml) e le risorse identificate da URI.
Chi intende pubblicare o prelevare [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=157&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><a href="http://gnipcentral.com/" target="_blank">Gnip</a> è un servizio di <em><a href="http://en.wikipedia.org/wiki/Publish/subscribe" target="_blank">publish-subscribe</a></em> sul <em>web</em>: raccoglie e riespone dati (eventi, attività, ecc.) tramite <a href="http://en.wikipedia.org/wiki/Api" target="_blank">API</a>.</p>
<p style="text-align:justify;"><a href="http://docs.google.com/View?docid=dgkhvp8s_5svzn35fw" target="_blank">Le sue API</a> sono sufficientemente <a href="http://itlab.wordpress.com/2008/06/09/rest-representational-state-transfer/" target="_blank">REST</a>: i verbi (<a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html" target="_blank">GET, POST, PUT, DELETE e HEAD</a>) seguono la semantica imposta dalle specifiche <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html" target="_blank">HTTP</a>, il <em>payload</em> è XML, il <em><a href="http://en.wikipedia.org/wiki/MIME#Content-Type" target="_blank">content-type</a></em> conguo (application/xml) e le risorse identificate da <a href="http://www.ietf.org/rfc/rfc2396.txt" target="_blank">URI</a>.</p>
<p style="text-align:justify;">Chi intende pubblicare o prelevare eventi, attività, ecc. su Gnip, lo fa quindi invocando API, ma Gnip, in più, consegna dati &#8220;a domicilio&#8221;: contatta eventualmente la URL comunicata ed esposta da chi sottoscrive.</p>
<p style="text-align:justify;">Gnip, stranamente, non adotta <a href="http://www.w3.org/2005/Atom" target="_blank">Atom</a>: i dati ritornati, infatti, sono strutturati secondo un formato proprietario che contiene &#8211; compresso e codificato <a href="http://en.wikipedia.org/wiki/Base64" target="_blank">base64</a> &#8211; l&#8217;originale struttura dati (così come ricevuta da chi la pubblica). Ancora più strano, non annovera <a href="http://itlab.wordpress.com/2008/07/28/publish-subscribe-con-xmpp-extensible-messaging-and-presence-protocol/" target="_blank">XMPP (Extensible Messaging and Presence Protocol)</a>: semplicemente ancora troppo poco diffuso per essere considerato (questa la risposta sulla <a href="http://groups.google.com/group/gnip-community/web/faq" target="_blank">FAQ</a>).</p>
<p style="text-align:justify;">Il beneficio di Gnip è nel risparmio di risorse conseguente all&#8217;abbandono del modello <em><a href="http://en.wikipedia.org/wiki/Polling_(computer_science)" target="_blank">polling</a></em> a favore del <em><a href="http://en.wikipedia.org/wiki/Push_technology" target="_blank">pushing</a></em>: chi pubblica, infatti, invoca Gnip solo se ha dati da comunicare, chi sottoscrive &#8211; se decide di essere invocato &#8211; li riceve solo quando Gnip li possiede (e comunque può imporre filtri per prelevare/ricevere i soli cui è interessato).</p>
<p style="text-align:justify;">Dal <a href="http://blog.gnipcentral.com/" target="_blank">blog degli autori</a> si apprende la semplice ma efficace <a href="http://blog.gnipcentral.com/2008/12/19/numbers-architecture/" target="_blank">architettura di Gnip</a>: la mancanza di un <a href="http://en.wikipedia.org/wiki/DBMS" target="_blank">DBMS</a> &#8211; rimpiazzato da <em><a href="http://en.wikipedia.org/wiki/File-system" target="_blank">file-system</a></em> (<a href="http://aws.amazon.com/s3/" target="_blank">Amazon S3</a>) e <em><a href="http://en.wikipedia.org/wiki/Cache" target="_blank">cache</a></em> distribuita (<a href="http://www.terracottatech.com/" target="_blank">Terracotta</a>) &#8211; e l&#8217;esecuzione delle trasformazioni subito dopo l&#8217;ingresso dei dati &#8211; non prima della loro uscita.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo post interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il feed</a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in Architetture, Java, Web 2.0 Tagged: Architectures, Java, Open Source, Performance, Programming, Publish-Subscribe, Scalability, Web 2.0, Websites <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/157/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/157/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/157/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=157&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/PB5MepT1RQ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/01/21/gnip-publish-subscribe-sul-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/01/21/gnip-publish-subscribe-sul-web/</feedburner:origLink></item>
		<item>
		<title>L’orientamento ai servizi è inevitabile</title>
		<link>http://feedproxy.google.com/~r/itlab/~3/uo2GtRZK9vM/</link>
		<comments>http://itlab.wordpress.com/2009/01/19/service-orientation-inevitabile/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 08:47:03 +0000</pubDate>
		<dc:creator>Andrea Gumina</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[Service-Orientation]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://itlab.wordpress.com/?p=151</guid>
		<description><![CDATA[Da circa due settimane è in atto una bagarre senza fine a seguito dell&#8217;articolo &#8220;Soa is dead, long live services&#8221; pubblicato da Anne Thomas Manes sul blog di Burton Group: la SOA (Service Oriented Architecture), come sinora fatta in buona parte dei casi, è dichiarata morta; l&#8217;orientamento ai servizi, invece, necessario e inevitabile, ora più [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=151&subd=itlab&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">Da circa due settimane è in atto una <em>bagarre</em> senza fine a seguito dell&#8217;articolo <a href="http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html" target="_blank">&#8220;Soa is dead, long live services&#8221;</a> pubblicato da <a href="http://www.burtongroup.com/AboutUs/Bios/PrintBio.aspx?Id=94">Anne Thomas Manes</a> sul blog di <a href="http://www.burtongroup.com/" target="_blank">Burton Group</a>: la SOA (Service Oriented Architecture), come sinora fatta in buona parte dei casi, è dichiarata morta; l&#8217;orientamento ai servizi, invece, necessario e inevitabile, ora più che mai.</p>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:justify;"><span style="font-size:.9em;">Per approfondire:</span></p>
<ul>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://www.infoq.com/news/2009/01/is-soa-dead" target="_blank">InfoQ &#8211; Debate: Is SOA Dead?</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://service-architecture.blogspot.com/2009/01/in-recession-its-even-more-about.html" target="_blank">Service Architecture &#8211; SOA: In a recession its even more about the services</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://blogs.progress.com/soa_infrastructure/2009/01/goodbye-soa-we-hardly-knew-you.html" target="_blank">SOA Infrastructure Blog &#8211; Goodbye SOA, we hardly knew you</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://blogs.zdnet.com/service-oriented/?p=1246" target="_blank">Service-Oriented Architecture &#8211; Manes: let&#8217;s get more &#8216;concrete&#8217; about service orienting</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://ajaxonomy.com/2009/soa/is-soa-dead" target="_blank">Ajaxonomy &#8211; Is SOA Dead?</a></div>
</li>
<li>
<div style="font-size:.9em;text-align:justify;"><a href="http://www.zapthink.com/report.html?id=ZAPFLASH-2009115" target="_blank">ZapThink &#8211; Research: The Rumors of SOA&#8217;s Demise&#8230;</a></div>
</li>
</ul>
<p style="text-align:center;">&#8212;-&gt;&lt;&#8212;-</p>
<p style="text-align:center;"><span style="font-size:.9em;">Hai trovato questo post interessante? <a href="http://feeds.feedburner.com/itlab" target="_blank">Segui il feed</a> e <a href="http://itlab.wordpress.com/">commenta!</a></span></p>
Posted in SOA Tagged: Service-Orientation, Services, SOA <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/itlab.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/itlab.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/itlab.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/itlab.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/itlab.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/itlab.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/itlab.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/itlab.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/itlab.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/itlab.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=itlab.wordpress.com&blog=1559923&post=151&subd=itlab&ref=&feed=1" /></div><img src="http://feeds.feedburner.com/~r/itlab/~4/uo2GtRZK9vM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://itlab.wordpress.com/2009/01/19/service-orientation-inevitabile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">andreagumina</media:title>
		</media:content>
	<feedburner:origLink>http://itlab.wordpress.com/2009/01/19/service-orientation-inevitabile/</feedburner:origLink></item>
	</channel>
</rss>
