<?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>Jso &#187; All</title>
	<atom:link href="http://www.jso.it/home/?feed=rss2&#038;cat=1" rel="self" type="application/rss+xml" />
	<link>http://www.jso.it/home</link>
	<description>Stefano Orlandi, Java &#38; Web Developer and Software Engineer</description>
	<lastBuildDate>Wed, 01 Sep 2010 16:24:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sviluppare un sito con e-commerce&#8230;</title>
		<link>http://www.jso.it/home/?p=220</link>
		<comments>http://www.jso.it/home/?p=220#comments</comments>
		<pubDate>Wed, 01 Sep 2010 15:11:06 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=220</guid>
		<description><![CDATA[A volte, parlando, sembra quasi che avere un sito web dotato di e-commerci sia ormai un fatto di moda&#8230; pochi percepiscono che in realtà si tratta di una cosa molto seria. E&#8217; innanzitutto, a tutti gli effetti, un negozio al quale in Italia (ma anche all&#8217;estero) si applicano una serie di leggi e regole. Che [...]]]></description>
			<content:encoded><![CDATA[<p>A volte, parlando, sembra quasi che avere un sito web dotato di e-commerci sia ormai un fatto di moda&#8230; pochi percepiscono che in realtà si tratta di una cosa molto seria. E&#8217; innanzitutto, a tutti gli effetti, un negozio al quale in Italia (ma anche all&#8217;estero) si applicano una serie di leggi e regole. Che non vanno ignorate e sulle quali occorre documentarsi bene prima di partire con lo sviluppo.</p>
<p>Non ci si può improvvisare mercanti sul web, nonostante l&#8217;apparente facilità. Bisogna anche capire se e come questo strumento (il commercio elettronico) sarà in grado di incrementare le nostre vendite. Quindi essenzialmente un sito con e-commerce rappresenta un investimento per il futuro e in quanto tale, una volta valutati accuratamente rischi e benefici, richiede anche il giusto lavoro di sviluppo, da affidare a persone esperte. E non ammette risparmi.</p>
<p>Fondamentalmente tre sono gli aspetti da considerare:</p>
<ul>
<li>Struttura: hosting, piattaforma di e-commerce, layout grafico</li>
<li>Contenuti: testi, fotografie, schede prodotto</li>
<li>Promozione: posizionamento sul web, campagne di marketing</li>
</ul>
<p>Tutti questi ingredienti non possono mancare, per la buona riuscita del progetto. Dopodichè occorre un certo lavoro anche da parte del cliente che deve mantenere sempre aggiornati i prodotti (servono anche immagini e testi accattivanti se si vuole emergere sulla concorrenza!). Quindi un sito con e-commerce è essenzialmente un grosso impegno, che può dare anche grossi frutti. Per approfondimenti:</p>
<ul>
<li><a href="http://www.innovando.it/i-primi-passi-per-un-e-commerce-che-funzioni-11061.html" target="_blank">http://www.innovando.it/i-primi-passi-per-un-e-commerce-che-funzioni-11061.html</a></li>
<li><a href="http://www.innovando.it/voglia-di-e-commerce-18694.html" target="_blank">http://www.innovando.it/voglia-di-e-commerce-18694.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=220</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Il costo di un sito web: sviluppatore vs cliente</title>
		<link>http://www.jso.it/home/?p=216</link>
		<comments>http://www.jso.it/home/?p=216#comments</comments>
		<pubDate>Tue, 06 Jul 2010 10:23:54 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=216</guid>
		<description><![CDATA[Argomento dolente! Anche quando si realizzano dei siti o dei portali web di qualità, è sempre estremamente difficile farsi riconoscere dal cliente il giusto prezzo. Non si capisce per quale ragione, ma la realizzazione di un sito web (parlo sempre di lavori di una certa qualità, ovviamente) difficilmente viene percepita dal cliente come un vero [...]]]></description>
			<content:encoded><![CDATA[<p>Argomento dolente! Anche quando si realizzano dei siti o dei portali web di qualità, è sempre estremamente difficile farsi riconoscere dal cliente il giusto prezzo. Non si capisce per quale ragione, ma la realizzazione di un sito web (parlo sempre di lavori di una certa qualità, ovviamente) difficilmente viene percepita dal cliente come un vero lavoro.</p>
<p>Io sono solito dire che la realizzazione di un sito web equivale più o meno al &#8220;lavoro di un sarto&#8221; che cuce per il cliente un &#8220;vestito su misura&#8221; e non alla vendita di prodotti da discount (senza nulla togliere a questi ultimi, ma qui serve un efficacie paragone!). Ogni sito web realizzato dovrebbe rispecchiare appieno la nostra immagine aziendale o personale e come tale è in pratica il nostro biglietto da visita sul web, o il passaporto per la nostra identità virtuale.<br />
E questo vale a maggior ragione se il sito in questione offre anche servizi, come ad esempio un catalogo prodotti per il commercio elettronico. Nessuno di noi vorrebbe avere un&#8217;immagine che poco lo rappresenti o, peggio, brutta o carente o magari scopiazzata da qualcun altro!</p>
<p>E per raggiungere questo obiettivo è chiaro che serve un certo lavoro di mani (e teste) esperte! E che quindi, come tale, va corrisposto con un adeguato compenso economico. Lavoro, per inciso, che non termina quasi mai con la realizzazione e la messa in opera del sito: il cliente va seguito ed accompagnato nel suo percorso sul web anche e soprattutto dopo, una volta che il sito è effettivamente on-line&#8230;</p>
<ul>
<li><a href="http://www.innovando.it/il-costo-di-un-sito-web-il-punto-di-vista-del-cliente-3984.html" target="_blank">http://www.innovando.it/il-costo-di-un-sito-web-il-punto-di-vista-del-cliente-3984.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=216</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Posizionamento sui motori di ricerca&#8230;</title>
		<link>http://www.jso.it/home/?p=211</link>
		<comments>http://www.jso.it/home/?p=211#comments</comments>
		<pubDate>Tue, 06 Jul 2010 09:57:04 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=211</guid>
		<description><![CDATA[Un articolo molto interessante di www.innovando.it conferma quello che spesso dico ai miei clienti. C&#8217;è una profonda differenza tra il disporre di un sito ben confezionato e ben indicizzato (per quel che realmente rappresenta!) ed un sito affidato ai cosiddetti &#8220;venditori di posizionamento&#8221; o esperti di keywords un tanto al chilo e cose simili.
Una volta [...]]]></description>
			<content:encoded><![CDATA[<p>Un articolo molto interessante di <a href="http://www.innovando.it" target="_blank">www.innovando.it</a> conferma quello che spesso dico ai miei clienti. C&#8217;è una profonda differenza tra il disporre di un sito ben confezionato e ben indicizzato (per quel che realmente rappresenta!) ed un sito affidato ai cosiddetti &#8220;venditori di posizionamento&#8221; o esperti di keywords un tanto al chilo e cose simili.</p>
<p>Una volta che il sito è on-line, se ricco di contenuti &#8220;interessanti&#8221; e prodotto da gente esperta rispettando certi accorgimenti e regole precise, dopo un certo tempo verrà indicizzato dai principali motori di ricerca (Google in primis&#8230;). Successivamente si potrà procedere all&#8217;ottimizzazione del processo e, chiaramente, servono un certo tempo ed un minimo di pazienza per ottenere dei risultati apprezzabili.</p>
<p>E poi la storia continua: una volta ottenuto un certo posizionamento sui motori di ricerca, è molto importante anche saperlo mantenere. E per questo, purtroppo, non esistono facili scorciatoie&#8230;</p>
<ul>
<li><a href="http://www.innovando.it/posizionamento-o-pubblicita-a-pagamento-3776.html" target="_blank">http://www.innovando.it/posizionamento-o-pubblicita-a-pagamento-3776.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=211</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCLinuxOS 2010</title>
		<link>http://www.jso.it/home/?p=195</link>
		<comments>http://www.jso.it/home/?p=195#comments</comments>
		<pubDate>Mon, 26 Apr 2010 08:21:15 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[PCLinuxOS]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=195</guid>
		<description><![CDATA[Da pochi giorni è stata rilasciata la versione ufficiale di PCLinuxOS 2010, distribuzione Linux che da 3 anni a questa parte è il mio principale sistema operativo nonchè impagabile strumento di lavoro. PCLinuxOS è una distro con &#8220;rolling release&#8221;, ovvero che rilascia aggiornamenti a ciclo continuo: in pratica da quando ho installato la 2007 finora [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-200" style="border: 15px solid white;" title="pclinuxos" src="http://www.jso.it/home/wp-content/uploads/2010/04/pclinuxos.png" alt="" width="90" height="81" />Da pochi giorni è stata rilasciata la versione ufficiale di <a href="http://www.pclinuxos.com" target="_blank">PCLinuxOS</a> 2010, distribuzione Linux che da 3 anni a questa parte è il mio principale sistema operativo nonchè impagabile strumento di lavoro. PCLinuxOS è una distro con &#8220;rolling release&#8221;, ovvero che rilascia aggiornamenti a ciclo continuo: in pratica da quando ho installato la 2007 finora ho solo dovuto scaricare gli aggiornamenti via Synaptic (su base quotidiana o settimanale normalmente).</p>
<p>In questo caso, con la versione 2010 le novità sono tante e tali per cui è richiesta una nuova installazione. Poco male, avendo al tempo ben strutturato le partizioni (ho una /home separata più altri mount point convenienti) non dovrebbe essere un grande lavoro <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Con questa release, PCLinuxOS si annuncia come una delle distro più interessanti del 2010, e come al solito si dimostra in grado di ottenere <a href="http://www.phoronix.com/scan.php?page=article&amp;item=linux_distro_fourway&amp;num=1" target="_blank">performance superiori</a> rispetto anche alle distro &#8220;maggiori&#8221; (Ubuntu, Mandriva, OpenSuse&#8230;). Di seguito alcune delle novità principali:</p>
<ul>
<li>Kernel 2.6.32.11-bfs, altamente ottimizzato per il desktop computing</li>
<li>KDE 4.4.2 completo ed ottimizzato, con driver nVidia e ATI fglrx (ma anche Gnome 2.30, LXDE, XFCE  and Enlightenment E-17)</li>
<li>supporto network, wireless e printer pressochè completo</li>
<li>localizzato in 60 lingue differenti</li>
<li>OpenOffice, tradotto in oltre 100 lingue</li>
<li>tutti i principali applicativi, aggiornati all&#8217;ultima versione (Firefox 3.6.3, Thunderbird 3.0.4, Dropbox&#8230;) per un totale di oltre 12000 pacchetti disponibili</li>
<li>disponibile in versione LiveCD installabile, con aggiornamenti automatici</li>
</ul>
<p>Di seguito alcune ottime recensioni:</p>
<ul>
<li><a href="http://www.osnews.com/story/23176/Introducing_PCLinuxOS_2010" target="_blank">http://www.osnews.com/story/23176/Introducing_PCLinuxOS_2010</a></li>
<li><a href="http://desktoplinuxreviews.com/2010/04/20/pclinuxos-2010-kde" target="_blank">http://desktoplinuxreviews.com/2010/04/20/pclinuxos-2010-kde</a></li>
<li><a href="http://cristalinux.blogspot.com/2010/04/pclinuxos-2010-review.html" target="_blank">http://cristalinux.blogspot.com/2010/04/pclinuxos-2010-review.html</a></li>
</ul>
<p>Ovviamente in grande ascesa, anche su <a href="http://distrowatch.com" target="_blank">Distrowatch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=195</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Very bad news for Java&#8230;</title>
		<link>http://www.jso.it/home/?p=182</link>
		<comments>http://www.jso.it/home/?p=182#comments</comments>
		<pubDate>Mon, 12 Apr 2010 15:28:38 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=182</guid>
		<description><![CDATA[
Nulla da fare, purtroppo sembra veramente che l&#8217;acquisizione di Sun da parte di Oracle, come purtroppo si temeva all&#8217;inizio, stia portanto alla fuga di moltissime teste illustri.
Proprio in questi giorno sono state annunciate le dimissioni niente meno che di James Gosling, il padre di Java. E non è il solo purtroppo&#8230;
Dovremo aspettarci presto qualcosa di [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-183 alignright" style="border: 15px solid white;" title="SunRIPsmall" src="http://www.jso.it/home/wp-content/uploads/2010/04/SunRIPsmall-300x234.jpg" alt="" width="270" height="211" /><br />
Nulla da fare, purtroppo sembra veramente che l&#8217;acquisizione di Sun da parte di Oracle, come purtroppo si temeva all&#8217;inizio, stia portanto alla fuga di moltissime teste illustri.</p>
<p>Proprio in questi giorno sono state annunciate le <a href="http://news.cnet.com/8301-1001_3-20002207-92.html" target="_blank">dimissioni</a> niente meno che di James Gosling, il padre di Java. E non è il solo purtroppo&#8230;</p>
<p>Dovremo aspettarci presto qualcosa di nuovo da <a href="http://openjdk.java.net/" target="_blank">open jdk</a>?</p>
<ul>
<li><a href="http://news.cnet.com/8301-1001_3-20002207-92.html" target="_blank">http://news.cnet.com/8301-1001_3-20002207-92.html</a></li>
<li><a href="http://www.computerworld.com/s/article/9175218/Java_founder_James_Gosling_leaves_Oracle" target="_blank">http://www.computerworld.com/s/article/9175218/Java_founder_James_Gosling_leaves_Oracle</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=59917" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=59917</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=59923" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=59923</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=182</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the Google Chrome OS</title>
		<link>http://www.jso.it/home/?p=150</link>
		<comments>http://www.jso.it/home/?p=150#comments</comments>
		<pubDate>Wed, 08 Jul 2009 14:03:28 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=150</guid>
		<description><![CDATA[Si può quasi dire &#8220;c&#8217;era da aspettarselo&#8230;&#8221; In effetti Google ne ha fatta di strada, da quando Brin e Page ancora studenti gettarono le basi per quello che sarebbe diventato il motore di ricerca più famoso ed utilizzato al mondo. Ed ora Google è una delle realtà più interessanti nel mondo dell&#8217;informatica mondiale. Oltre al [...]]]></description>
			<content:encoded><![CDATA[<p>Si può quasi dire &#8220;c&#8217;era da aspettarselo&#8230;&#8221; In effetti Google ne ha fatta di strada, da quando Brin e Page ancora studenti gettarono le basi per quello che sarebbe diventato il motore di ricerca più famoso ed utilizzato al mondo. Ed ora Google è una delle realtà più interessanti nel mondo dell&#8217;informatica mondiale. Oltre al motore di ricerca, Google offre <a href="http://it.wikipedia.org/wiki/Lista_dei_servizi_e_degli_strumenti_Google" target="_blank">servizi e strumenti</a> di altissima qualità oltre a software, API e via dicendo.<br />
Non c&#8217;è da stupirsi che siano arrivati al sistema operativo. Dopo <a href="http://www.google.it/mobile/android/" target="_blank">Android</a> per i dispositivi mobile, ora si parla di Google Chrome OS (anche se non arriverà prima della seconda metà del 2010). Google Chrome OS è un nuovo concetto di sistema operativo &#8220;moderno&#8221;, web-oriented e destinato al settore dei netbooks, ma non solo&#8230;<br />
I punti salienti sono:</p>
<ul>
<li>tempi di startup ridotti, leggero e veloce</li>
<li>connesso al web in pochi secondi</li>
<li>interfaccia utente minimale, la maggior parte delle interazioni avvengono sul web</li>
<li>sicuro by design</li>
</ul>
<p>L&#8217;architettura software è semplice: si parla di un nuovo sistema a finestre basato su un kernel Linux. Dal punto di vista dello sviluppatore la piattaforma è il web. Funzioneranno tutte le web applications e si potranno creare nuove applicazioni utilizzando le tecnologie web preferite. Il target ovviamente sono tutti quegli utenti che passano la maggior parte del tempo sul web <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html" target="_blank">http://googleblog.blogspot.com/2009/07/introducing-google-chrome-os.html</a></li>
<li><a href="http://www.dzone.com/links/google_declares_total_war_on_microsoft.html" target="_blank">http://www.dzone.com/links/google_declares_total_war_on_microsoft.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=150</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An ordered properties file</title>
		<link>http://www.jso.it/home/?p=137</link>
		<comments>http://www.jso.it/home/?p=137#comments</comments>
		<pubDate>Tue, 07 Jul 2009 10:46:04 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=137</guid>
		<description><![CDATA[Mi è capitato di dover salvare un file di properties &#8220;ordinato&#8221; ovvero nel quale le chiavi fossero ordinate rispetto ad un certo criterio. Poichè la classe java.util.Properties estende java.util.Hashtable&#60;Object, Object&#62; normalmente le properties sono memorizzate senza alcun ordinamento specifico.
In qualche caso invece, se il file ottenuto è di grandi dimensioni, può essere utile disporre di [...]]]></description>
			<content:encoded><![CDATA[<p>Mi è capitato di dover salvare un file di properties &#8220;ordinato&#8221; ovvero nel quale le chiavi fossero ordinate rispetto ad un certo criterio. Poichè la classe <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html" target="_blank">java.util.Properties</a> estende java.util.Hashtable&lt;Object, Object&gt; normalmente le properties sono memorizzate senza alcun ordinamento specifico.<br />
In qualche caso invece, se il file ottenuto è di grandi dimensioni, può essere utile disporre di un qualche tipo di ordinamento. La soluzione è abbastanza “tricky”, pertanto la pubblico.<br />
La seguente classe rappresenta la chiave:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * A key in the form Sn, where n is an integer number.
 *
 */</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MessageKey <span style="color: #000000; font-weight: bold;">implements</span> <span style="color: #003399;">Comparable</span> <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Integer</span> key<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> MessageKey<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> pKey<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">String</span> vKey <span style="color: #339933;">=</span> pKey.<span style="color: #006633;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
            key <span style="color: #339933;">=</span> <span style="color: #003399;">Integer</span>.<span style="color: #006633;">valueOf</span><span style="color: #009900;">&#40;</span>vKey<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">NumberFormatException</span> vExc<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            Logger.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span>vExc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">Integer</span> getId<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> key<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">int</span> compareTo<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">final</span> MessageKey pKey<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> key.<span style="color: #006633;">compareTo</span><span style="color: #009900;">&#40;</span>pKey.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #0000ff;">&quot;S&quot;</span> <span style="color: #339933;">+</span> key<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>A questo punto occorre creare il nuovo oggetto Properties, facendo l&#8217;override del metodo keys() per ottenere, all&#8217;atto del salvataggio, il file ordinato. Il tutto senza ridefinire classi di sistema. Sono necessari alcuni passaggi per costruire una Enumeration ordinata (utilizzata nell&#8217;implementazione base della classe Properties), transitanto attraverso un Vector ed una List, riordinabile con il metodo standard Collections.sort(&#8230;). La soluzione risulta compatibile con Java5 e Java6.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="java" style="font-family:monospace;">        <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">Properties</span> vProps <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Properties</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">long</span> serialVersionUID <span style="color: #339933;">=</span> 1127046528812232390L<span style="color: #339933;">;</span>
&nbsp;
            @Override
            <span style="color: #000000; font-weight: bold;">public</span> Enumeration<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> keys<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #666666; font-style: italic;">// this is for key reordering...</span>
                <span style="color: #000000; font-weight: bold;">final</span> Vector<span style="color: #339933;">&lt;</span>MessageKey<span style="color: #339933;">&gt;</span> vKeysEnum <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Vector<span style="color: #339933;">&lt;</span>MessageKey<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span>Enumeration<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> vEn <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">keys</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> vEn.<span style="color: #006633;">hasMoreElements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    vKeysEnum.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> MessageKey<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#41;</span> vEn.<span style="color: #006633;">nextElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">final</span> List<span style="color: #339933;">&lt;</span>MessageKey<span style="color: #339933;">&gt;</span> vKeysList <span style="color: #339933;">=</span> <span style="color: #003399;">Collections</span>.<span style="color: #006633;">list</span><span style="color: #009900;">&#40;</span>vKeysEnum.<span style="color: #006633;">elements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #003399;">Collections</span>.<span style="color: #006633;">sort</span><span style="color: #009900;">&#40;</span>vKeysList<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #000000; font-weight: bold;">final</span> Vector<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span> vOrderedKeys <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Vector<span style="color: #339933;">&lt;</span>Object<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">final</span> MessageKey vKey <span style="color: #339933;">:</span> vKeysList<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    vOrderedKeys.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>vKey.<span style="color: #006633;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #000000; font-weight: bold;">return</span> vOrderedKeys.<span style="color: #006633;">elements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
        ...
        <span style="color: #006633;">vProps</span>.<span style="color: #006633;">setProperty</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;S&quot;</span> <span style="color: #339933;">+</span> vMsgKey.<span style="color: #006633;">getId</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>, <span style="color: #0000ff;">&quot;something&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ...
        <span style="color: #006633;">vProps</span>.<span style="color: #006633;">store</span><span style="color: #009900;">&#40;</span>...<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=137</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PCLinuxOS 2009.1</title>
		<link>http://www.jso.it/home/?p=117</link>
		<comments>http://www.jso.it/home/?p=117#comments</comments>
		<pubDate>Fri, 13 Mar 2009 14:06:32 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[PCLinuxOS]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=117</guid>
		<description><![CDATA[Dopo quasi due anni di attesa dall&#8217;uscita dell&#8217;ottima PCLinuxOS 2007, finalmente la nuova release!
Ho effettuato da poco l&#8217;upgrade ed è andato tutto liscio   Del resto, PCLinuxOS nasce come rolling distribution, ovvero come una distro con aggiornamenti continui (via Synaptic) pertanto l&#8217;upgrade dalla 2007 alla 2009 in realtà non è un cambio di versione [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo quasi due anni di attesa dall&#8217;uscita dell&#8217;ottima <a href="http://www.pclinuxos.com" target="_blank">PCLinuxOS</a> 2007, finalmente la nuova release!</p>
<p>Ho effettuato da poco l&#8217;upgrade ed è andato tutto liscio <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Del resto, PCLinuxOS nasce come rolling distribution, ovvero come una distro con aggiornamenti continui (via Synaptic) pertanto l&#8217;upgrade dalla 2007 alla 2009 in realtà non è un cambio di versione vero e proprio (a parte i nuovi splash screen e alcune modifiche al tema grafico). In pratica eseguendo costantemente gli upgrades il sistema evolve di continuo. E questa è una delle caratteristiche che due anni fa mi ha fatto scegliere proprio questa distro per il mio laptop. Ne riassumo di seguito i principali punti di forza:</p>
<ul>
<li>stabilità: PCLinuxOS è una distro abbastanza &#8220;conservativa&#8221;, nota per essere molto stabile. Nel ciclo di aggiornamenti ho intallato anche la beta1 e la beta2 e anche queste si sono rivelate decisamente stabili!</li>
<li>semplicità: è una live che si installa e configura davvero in una ventina di minuti</li>
<li>performance: secondo alcuni test PCLinuxOS 2007 era seconda solo a sidux in quanto a performance. Verosimilmente anche la 2009 lo sarà</li>
<li>è basata su KDE, il window manager che preferisco (ma esistono &#8220;remaster&#8221; con Gnome/Xfce/Enlightment&#8230;)</li>
<li>è possibile creare appunto dei &#8220;remaster&#8221;, ovvero delle nuove distribuzioni, generando una live distro a partire dalla propria installazione. Infatti esistono diverse <a href="http://mypclinuxos.com/" target="_blank">distro derivate</a> da PCLinuxOS</li>
<li>unisce &#8220;the best of two world&#8221;: ad esempio molto comodo è il Control Center derivato da Mandriva, come pure Synaptic per la gestione dei pacchetti rpm derivato da Debian</li>
<li>i repository sono piuttosto aggiornati: abilitando la sezione &#8220;nonfree&#8221; si ha accesso anche ai codec, font o driver non strettamente open-source. Quando non si può fare a meno è sicuramente comodo</li>
</ul>
<p>E da ultimo, ma non ultimo, basta dire che si tratta di Linux. Perciò una distro è solo una base di partenza, e una volta installata la si può personalizare come si vuole <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=117</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux &amp; Distributions through the Years</title>
		<link>http://www.jso.it/home/?p=104</link>
		<comments>http://www.jso.it/home/?p=104#comments</comments>
		<pubDate>Tue, 13 Jan 2009 08:53:44 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=104</guid>
		<description><![CDATA[L&#8217;anno 2008 che si è appena concluso rappresenta secondo molti l&#8217;anno  della consacrazione di Linux. Una serie di eventi tra cui il lancio tanto contestato di Windows Vista hanno spinto molti utenti a migrare da Windows verso altre piattaforme (Linux, Mac OS X). Personalmente ho sempre utilizzato Linux (affiancandolo a Windows), soprattutto in ambito server. [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;anno 2008 che si è appena concluso rappresenta secondo molti l&#8217;anno  della consacrazione di <a href="http://it.wikipedia.org/wiki/Linux" target="_blank">Linux</a>. Una serie di eventi tra cui il lancio tanto contestato di Windows Vista hanno spinto molti utenti a migrare da <a href="http://it.wikipedia.org/wiki/Microsoft_Windows" target="_blank">Windows</a> verso altre piattaforme (Linux, <a href="http://it.wikipedia.org/wiki/Mac_OS_X" target="_blank">Mac OS X</a>). Personalmente ho sempre utilizzato Linux (affiancandolo a Windows), soprattutto in ambito server. Ma da ormai un paio di anni ritengo che sia maturo anche per il desktop. Stabile, efficiente, performante, con un supporto dell&#8217;hardware decisamente migliorato e una ricca dotazione di software, ormai è piuttosto facilile da usare e installare.</p>
<p>Quest&#8217;articolo di Distrowatch ne ripercorre la storia a partire dagli arbori nel 1991 quando la prima versione del kernel venne scritta da Linus Torvalds, passando per le principali distribuzioni che ne hanno decretato il successo come Slackware, Debian, Red Hat, SuSE fino a Mandriva, Ubuntu e Fedora (o PCLinuxOS) e via dicendo&#8230;<br />
Quindi si parla delle applicazioni Desktop che con KDE o Gnome non hanno ormai nulla da invidiare a Windows o Mac OS X fino all&#8217;ambiente mobile, nuovo traguardo recentemente raggiunto da Linux ad esempio con il celebre <a href="http://it.wikipedia.org/wiki/Android" target="_blank">Google Android</a>. E a mio modo di vedere siamo solo l&#8217;inizio&#8230;</p>
<ul>
<li><a href="http://distrowatch.com/weekly.php?issue=20090105#feature" target="_blank">http://distrowatch.com/weekly.php?issue=20090105#feature</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=104</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMS war&#8230; finding the right one</title>
		<link>http://www.jso.it/home/?p=56</link>
		<comments>http://www.jso.it/home/?p=56#comments</comments>
		<pubDate>Sat, 14 Jun 2008 13:33:26 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[LAMP]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=56</guid>
		<description><![CDATA[Il problema di trovare un buon cms open-source mi ha sempre affascinato. La gestione dei contenuti (e dei documenti) ad oggi è un problema tutt&#8217;altro che nuovo. In rete si trovano davvero centinaia, se non migliaia di alternative sviluppate sulla piattafoma LAMP, piuttosto che in Python, Java o .NET e c&#8217;è anche un sito che [...]]]></description>
			<content:encoded><![CDATA[<p>Il problema di trovare un buon cms open-source mi ha sempre affascinato. La gestione dei contenuti (e dei documenti) ad oggi è un problema tutt&#8217;altro che nuovo. In rete si trovano davvero centinaia, se non migliaia di alternative sviluppate sulla piattafoma LAMP, piuttosto che in Python, Java o .NET e c&#8217;è anche un <a href="http://www.cmsmatrix.org/" target="_blank">sito</a> che si è preso la briga di catalogarle e confrontarle (quasi) tutte. Ma in tutta questa varietà come si fa ad orientarsi? E perchè tante alternative? E come mai la scelta vincente è spesso il php, tantochè addirittura molti <a href="http://www.jso.it/home/?p=53" target="_self">portali che trattano di Java</a> si basano proprio su cms php?</p>
<p>Le alternative sono molteplici ma tra tutte sembrano proprio <a href="http://www.mamboserver.com/" target="_blank">Mambo</a>, <a href="http://www.joomla.org" target="_blank">Joomla</a> e <a href="http://www.drupal.org" target="_blank">Drupal</a> a suscitare il maggiore interesse nella comunity. Perchè sono in effetti davvero facili da usare, user-friendly e potenti al tempo stesso. Richiedono una semplice installazione, c&#8217;è una ricchissima dotazione di plugin e il costo di hosting e gestione in molti casi è davvero ridicolo. Più complesse le soluzioni Java (<a href="http://www.alfresco.com/" target="_blank">Alfresco</a>, <a href="http://www.magnolia.info/" target="_blank">Magnolia</a> per citarne alcune) che richiedono risorse e tempi di startup più consistenti. Inoltre questi cms sono più orientati alla gestione documentale piuttosto che alla gestione/publicazione dei contenuti sul web. Anche <a href="http://plone.org" target="_blank">Plone</a> (basato su Python/Zope) richiede competenze maggiori ed è giustificato generalmente in contesti Enterprise.</p>
<p>Alcune alternative che ho trovato interessanti perchè ben si avvicinano ai cms php ma offrono alcune caratteristiche enterprise proprie di Java (supporto multi-db, clustering, versioning, chiara separazione e riuso dei contenuti rispetto alla presentation logic, livelli di autorizzazione sul singolo componente, esportazione dei contenuti in formato xml&#8230;) sono <a href="http://www.dotcms.org/" target="_blank">dotCMS</a> e <a href="http://www.opencms.org/" target="_blank">OpenCms</a>. Tra l&#8217;altro dotCMS è costruito su <a href="http://www.liferay.com" target="_blank">LifeRay</a> probabilmente il più promettente e potente portlet container sviluppato in Java, che come <a href="http://www.riotfamily.org" target="_blank">Riot</a> offre una sorta di framework (c&#8217;è da stupirsi?) per lo sviluppo di portali Java. Molti interessanti, se non altro perchè utilizzano al loro interno il meglio della tecnologia Java attualmente disponibile <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.cmsmatrix.org/" target="_blank">http://www.cmsmatrix.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=56</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Java Easier</title>
		<link>http://www.jso.it/home/?p=55</link>
		<comments>http://www.jso.it/home/?p=55#comments</comments>
		<pubDate>Thu, 22 May 2008 13:02:37 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=55</guid>
		<description><![CDATA[Ancora una volta si parla della &#8220;complessità&#8221; di Java, di quella learning curve iniziale che è richiesta a chi si accosta per la prima volta alla tecnologia. E che in genere spaventa, alimentando il mito secondo il quale  Java è  &#8220;difficile&#8221;. Non tanto per il linguaggio in sè o per le API (che [...]]]></description>
			<content:encoded><![CDATA[<p>Ancora una volta si parla della &#8220;complessità&#8221; di Java, di quella learning curve iniziale che è richiesta a chi si accosta per la prima volta alla tecnologia. E che in genere spaventa, alimentando il mito secondo il quale  Java è  &#8220;difficile&#8221;. Non tanto per il linguaggio in sè o per le API (che in alcuni casi risultano a dire il vero un po&#8217; ostiche, si pensi al Calendar o a java.awt.* per fare esempi noti) ma quanto piuttosto per tutto ciò che a Java sta attorno (frameworks, application server, J2EE e via dicendo). La precisazione è ancora una volta il &#8220;target&#8221;: Java è pensato per grandi progetti enterprise, portabili, robusti e scalabili. Che non è certo il target di PHP, Ruby o ASP di cui (a volte) si &#8220;invidia&#8221; la semplicità. Nel dettaglio alcuni punti e alcune risposte:</p>
<ul>
<li>Sistema di deployment: la struttura di JAR/WAR/EAR non è particolarmente immediata, e per piccoli progetti manca la comodità di deployare la singola classe, servlet o JSP (vero in parte). Questa struttura a mio avviso continua a rimanere molto buona per i progetti enterprise</li>
<li>Ricaricamento dinamico delle classi: questo sarebbe molto utile, senza il bisogno di effettuare ogni volta il deploy completo dell&#8217;applicazione che può richiedere anche molto tempo. Qui una risposta (almeno parziale) al problema c&#8217;è già: <a href="http://www.zeroturnaround.com/javarebel/" target="_blank">JavaRebel</a></li>
<li>Una GUI console: non ne esiste una comune ai vari Application Server che consenta di configurare tutto ciò che serve, DataSources, EJB, JNDI, parametri della JRE&#8230; data la varietà manca un approccio univoco, però ci sono varie alternative. Ad esempio l&#8217;ottimo <a href="http://www.lambdaprobe.org/" target="_blank">LambdaProbe</a> per Tomcat (che sostituisce la console nativa, piuttosto scarna invece)</li>
<li>Una GUI visuale integrata con le IDE: è sempre stato un punto dolente di Java, ora con Netbeans/Glassfish, Sun ha fatto sicuramente un buon lavoro. Il deploy su altri application server invece risulta ancora abbastanza difficoltoso. E&#8217; inoltre in corso un porting su Eclipse.</li>
</ul>
<p>Altre risposte a questi quesiti? <a href="http://www.projectzero.org/" target="_blank">ProjectZero</a>, Groovy/Grails, Ruby/Scala, <a href="http://en.wikipedia.org/wiki/OSGi" target="_blank">OSGi</a> su Glashfish v3&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=49409" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=49409</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=55</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open EJB 3.0</title>
		<link>http://www.jso.it/home/?p=54</link>
		<comments>http://www.jso.it/home/?p=54#comments</comments>
		<pubDate>Tue, 29 Apr 2008 12:33:49 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=54</guid>
		<description><![CDATA[Da poco è stata rilasciata da parte di Apache SF un&#8217;implementazione leggera delle specifiche EJB 3.0: ciò significa che può essere utilizzata, ad esempio, all&#8217;interno di Tomcat, JUnit, TestNG, Eclipse, IntelliJ, Maven, Ant, ogni altra IDE o applicazione Java. Con l&#8217;avvento di Open EJB e Open JPA potremmo finalmente dire addio ai vecchi e pesanti [...]]]></description>
			<content:encoded><![CDATA[<p>Da poco è stata rilasciata da parte di <a href="http://www.apache.org" target="_blank">Apache SF</a> un&#8217;implementazione leggera delle specifiche EJB 3.0: ciò significa che può essere utilizzata, ad esempio, all&#8217;interno di Tomcat, JUnit, TestNG, Eclipse, IntelliJ, Maven, Ant, ogni altra IDE o applicazione Java. Con l&#8217;avvento di <a href="http://openejb.apache.org/" target="_blank">Open EJB</a> e <a href="http://openjpa.apache.org/" target="_blank">Open JPA</a> potremmo finalmente dire addio ai vecchi e pesanti application server in virtù della costante crescita di quelli più &#8220;lightweighted&#8221; e open source? Magari ancora no, ma è sicuramente un ottimo inizio&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=49224" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=49224</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=54</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java, LAMP, .NET&#8230;</title>
		<link>http://www.jso.it/home/?p=53</link>
		<comments>http://www.jso.it/home/?p=53#comments</comments>
		<pubDate>Fri, 18 Apr 2008 10:30:44 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=53</guid>
		<description><![CDATA[Allo stato attuale chi vince la &#8220;battaglia del web&#8221;? E chi ha più chanches per il futuro?
A mio modo di vedere (e in questo condivido gli articoli) bisogna fare distinzione in base al &#8220;target&#8221;: un conto è il sito web per uso personale, un conto è il blog per il social networking, un conto è [...]]]></description>
			<content:encoded><![CDATA[<p>Allo stato attuale chi vince la &#8220;battaglia del web&#8221;? E chi ha più chanches per il futuro?<br />
A mio modo di vedere (e in questo condivido gli articoli) bisogna fare distinzione in base al &#8220;target&#8221;: un conto è il sito web per uso personale, un conto è il blog per il social networking, un conto è il portale basato su CMS, un conto è l&#8217;applicazione Enterprise (CRM, ERP, reporting, document management&#8230;) che utilizza il web solo come strato di presentation. I contendenti? Java, <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)" target="_blank">LAMP</a>, .NET, <a href="http://www.rubyonrails.org/" target="_blank">RoR</a>, <a href="http://grails.org/" target="_blank">Grails</a> e la lista potrebbe proseguire&#8230;</p>
<p>Alcuni aspetti secondo me sono essenziali:</p>
<ul>
<li>LAMP e RoR hanno dalla loro parte la facilità d&#8217;uso e l&#8217;immediatezza; PHP ad esempio é una soluzione C-based. L&#8217;approccio è quello di un processo per ogni richiesta differente. Ciò porta a notevole efficienza nelle performances. La facilità nel linguaggio deriva dal fatto che sono orientati allo &#8220;scripting&#8221; (ma supportano il paradigma OO)</li>
<li>Java si basa sul concetto di Virtual Machine (thread piuttosto che processi), non nasce per il web ma aggiunge il supporto web tramite il J2EE e numerosi frameworks:  JSF, Struts, Spring MVC&#8230; la scelta è vasta è richiede un lungo tempo di apprendimento. I benefici si vedono nelle applicazioni di grandi dimensioni, nella sicurezza, nella portabilità, nell&#8217;interoperabilità, nel design&#8230;</li>
<li>.NET rappresenta una scelta più &#8220;organizzata&#8221; in quanto alla base vi è un unico produttore. L&#8217;approccio della VM nasce con Java nel 1996, .NET lo fa suo in tempi più recenti e sviluppa un buon framework con numerosi componenti (in Java invece le scelte sono molteplici e possono essere anche disorientanti!) che in alcuni casi nascono evidentemente dall&#8217;esperienza Java (NHibernate, log4net&#8230;)</li>
</ul>
<p>Alla luce di queste considerazioni non deve stupire più di tanto che quindi molti siti (portali) che promuovano prodotti Java come <a href="http://www.theserverside.com" target="_blank">TheServerSide</a>, <a href="http://java.dzone.com/" target="_blank">JavaLobby</a> o <a href="http://www.springframework.org/" target="_blank">Spring</a> siano sviluppati usando <a href="http://www.drupal.org" target="_blank">Drupal</a> ovvero un CMS PHP! Oppure che il portale TheServerSide.NET (versione di TheServerSide per il mondo .NET) non sia scritto in .NET <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Per approfondire:</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=49016" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=49016</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=49018" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=49018</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=49064" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=49064</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=53</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Software Development&#8230;</title>
		<link>http://www.jso.it/home/?p=51</link>
		<comments>http://www.jso.it/home/?p=51#comments</comments>
		<pubDate>Wed, 05 Mar 2008 09:23:54 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=51</guid>
		<description><![CDATA[Le Metodologie Agili stanno facendo molto parlare di sè. Recenti sondaggi dimostrano come la popolarita di queste metodologie (XP, Scrum, TDD) dal 2005 ad oggi sia costantemente in ascesa. Ma in quali contesti reali queste metodologie sono applicate con successo? Ovvero.. in quali contesti rappresentano un reale vantaggio (anche economico!) nello sviluppo? Secondo alcuni se [...]]]></description>
			<content:encoded><![CDATA[<p>Le <a href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">Metodologie Agili</a> stanno facendo molto parlare di sè. Recenti sondaggi dimostrano come la popolarita di queste metodologie (<a href="http://en.wikipedia.org/wiki/Extreme_Programming" target="_blank">XP</a>, <a href="http://en.wikipedia.org/wiki/Scrum_(development)" target="_blank">Scrum</a>, <a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank">TDD</a>) dal 2005 ad oggi sia costantemente in ascesa. Ma in quali contesti reali queste metodologie sono applicate con successo? Ovvero.. in quali contesti rappresentano un reale vantaggio (anche economico!) nello sviluppo? Secondo alcuni se il beneficio derivante dall&#8217;adozione di queste metodologie era decisamente &#8220;sottostimato&#8221; fino a qualche anno fa, ora probabilmente è addirittura &#8220;sovrasimato&#8221;.<br />
E&#8217; sicuramente vero che non si può certo pretendere di ridurre il tutto ad una semplice metodologia, impacchettarla, infiocchetterla ed inserirla in azienda sperando che tutto magicamente funzioni&#8230; la vera potenza di tutta la metodologia è il team, ovvero le persone che lo compongono. Ad oggi ci sono aziende che pretendono di essere agili, senza implementare l&#8217;essenza dell&#8217;approccio. Il consiglio è quello di essere &#8220;pratici&#8221; e di non accettare la metodologia come un credo religioso ma di utilizzarla sempre con spirito critico. Un esempio:</p>
<ul>
<li>Status Meeting &#8211; un incontro mattutino ed una mail serale di riscontro</li>
<li>Short Iterations &#8211; mantenere i cicli di sviluppo semplici e brevi ed espandere secondo necessità</li>
<li>Continuous Integration &#8211; test JUnit automatici e altamente parallelizzati</li>
<li>Minimal Documentation &#8211; può bastare Javadoc&#8230;</li>
<li>Team Collaboration Tools &#8211; wiki e Jira tickets&#8230;</li>
<li>Strict Coding Guidelines &#8211; uniformità nello stile, naming, spacing&#8230;</li>
<li>Constant Code Reviews &#8211; controllare ogni riga di codice che va in produzione!</li>
<li>Pair Programming &#8211; scegliere oculatamente l&#8217;accostamento tra i 2 developers (rotazioni)</li>
<li>TDD &#8211; nella forma &#8220;pure&#8221; richia di essere troppo oneroso, si può valutare un compromesso&#8230;</li>
</ul>
<p>Per approfondimenti:</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=48548" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=48548</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=48612" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=48612</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Application: To couple or Not to couple?</title>
		<link>http://www.jso.it/home/?p=50</link>
		<comments>http://www.jso.it/home/?p=50#comments</comments>
		<pubDate>Thu, 07 Feb 2008 16:10:16 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=50</guid>
		<description><![CDATA[Ancora a proposito di web framework&#8230; discorso inflazionato è vero ma a quanto pare tutt&#8217;altro che concluso! Il topic in questo caso è se in una web application sia meglio codificare tutto in una action oppure separare nettamente la web logic dalla business logic. La risposta parrebbe ovvia, ma non tutti sono dello stesso avviso.
Si [...]]]></description>
			<content:encoded><![CDATA[<p>Ancora a proposito di web framework&#8230; discorso inflazionato è vero ma a quanto pare tutt&#8217;altro che concluso! Il topic in questo caso è se in una web application sia meglio codificare tutto in una action oppure separare nettamente la web logic dalla business logic. La risposta parrebbe ovvia, ma non tutti sono dello stesso avviso.<br />
Si possono catalogare fondamentalmente 4 approcci:</p>
<ol>
<li>Due classi: 1 action basata (*) sul framework e 1 business logic non basata sul framework</li>
<li>Due classi: 1 action non basata sul framework e 1 business logic non basata sul framework</li>
<li>Una classe: action e business logic nella stessa classe basata sul framework</li>
<li>Una classe: action e business logic nella stessa classe non basata sul framework<br />
(*) si legga &#8220;che estende classi del framework&#8221;</li>
</ol>
<p>Tra tutte l&#8217;approccio preferito è sicuramente il numero 1, la 2 rappresenta il totale disaccoppiamento (ad esempio in Struts 2 / Webwork le azioni possono essere <a href="http://en.wikipedia.org/wiki/POJO" target="_blank">POJO</a> e quindi totalmente disaccoppiate dal framework), mentre 3 e 4 sono generalmente considerate bad practise. Esistono sicuramente buone ragioni per disaccoppiare la business logic dalla action:</p>
<ul>
<li>Testability: se disaccopiata la business logic può essere testata in maniera indipendente (es. JUnit)</li>
<li>Web services: la business logic può essere utilizzata in un web-service o in servizi remoti</li>
<li>Caching. riferito alle business facades</li>
</ul>
<p><a href="http://www.mentaframework.org" target="_blank">Mentawai</a> (un framework ad approccio programmatico con supporto per l&#8217;injection di cui esiste anche una versione Ruby) sembra offrire la libertà sufficiente per implementare tutti gli approcci (1,2,3,4). A voi la scelta&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=48304" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=48304</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=50</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Apache Wicket</title>
		<link>http://www.jso.it/home/?p=49</link>
		<comments>http://www.jso.it/home/?p=49#comments</comments>
		<pubDate>Thu, 07 Feb 2008 09:12:43 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=49</guid>
		<description><![CDATA[Una lunga discussione sull&#8217;ennessimo web framework, Apache Wicket che viene qui paragonato al &#8220;fratello&#8221; Apache Tapestry, con divagazioni su JSF, GWT e sull&#8217;onnipresente Struts ovviamente. Tra i suoi punti di forza e innovazioni rispetto agli altri web framework vi sono:

Un eccellente supporto built-in ad AJAX;
La capacità di modificare la struttura delle pagine programmaticamente;
Perfetta separazione tra [...]]]></description>
			<content:encoded><![CDATA[<p>Una lunga discussione sull&#8217;ennessimo web framework, <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a> che viene qui paragonato al &#8220;fratello&#8221; <a href="http://tapestry.apache.org" target="_blank">Apache Tapestry</a>, con divagazioni su JSF, <a href="http://code.google.com/webtoolkit" target="_blank">GWT</a> e sull&#8217;onnipresente Struts ovviamente. Tra i suoi punti di forza e innovazioni rispetto agli altri web framework vi sono:</p>
<ul>
<li>Un eccellente supporto built-in ad <a href="http://it.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a>;</li>
<li>La capacità di modificare la struttura delle pagine programmaticamente;</li>
<li>Perfetta separazione tra codice e templates (i templates non possono contenere codice);</li>
<li>Un approccio object-oriented</li>
<li>Facile apprendimento (per developers Java-oriented)</li>
</ul>
<p>Naturalmente ci sono pro e contro, come in ogni cosa. Ma la principale ragione dell&#8217;esistenza di Wicket è che non esistono altri web framework programmabili in puro codice Java (ma seguano piuttosto il classico modello dichiarativo, con file di configurazione XML ad esempio). Naturalmente poi è anche questione di gusti, ma gli impatti più evidenti si hanno nell&#8217;ottimizzabilità e nella versatilità del codice. In ogni caso anche Wicket, come pure Tapestry, Freemarker, JSF (con Facelets) e gli altri framework component-oriented è una valida alternativa ai precedenti framework Model 2 tipo Struts, per citarne uno famoso <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=48234" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=48234</a></li>
<li><a href="http://www.theserverside.com/tt/articles/article.tss?l=IntroducingApacheWicket" target="_blank">http://www.theserverside.com/tt/articles/article.tss?l=IntroducingApacheWicket</a></li>
<li><a href="http://wicket.apache.org/introduction.html" target="_blank">http://wicket.apache.org/introduction.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Sourcing a Saturday Project</title>
		<link>http://www.jso.it/home/?p=48</link>
		<comments>http://www.jso.it/home/?p=48#comments</comments>
		<pubDate>Mon, 29 Oct 2007 10:15:16 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=48</guid>
		<description><![CDATA[Alcune interessanti riflessioni sulla tematica dell&#8217;open-source: quando un progetto realizzato nel tempo libero può diventare un progetto open-source da proporre alla comunità degli sviluppatori? Geertjan Wielenga, sviluppatore del NetBeans Team, racconta la sua esperienza spiegando i passi che hanno portato il suo JFugue Music NotePad (un editor musicale scritto utilizzando la NetBeans Platform e JFugue API, [...]]]></description>
			<content:encoded><![CDATA[<p>Alcune interessanti riflessioni sulla tematica dell&#8217;open-source: quando un progetto realizzato nel tempo libero può diventare un progetto open-source da proporre alla comunità degli sviluppatori? Geertjan Wielenga, sviluppatore del <a href="http://www.netbeans.org" target="_blank">NetBeans</a> Team, racconta la sua esperienza spiegando i passi che hanno portato il suo <a href="http://nbjfuguesupport.dev.java.net/" target="_blank">JFugue Music NotePad</a> (un editor musicale scritto utilizzando la NetBeans Platform e <a href="http://www.jfugue.org/" target="_blank">JFugue API</a>, una potente API per la gestione dei file midi) a diventare un progetto open-source.</p>
<p>In sintesi, secondo la sua opinione occorre:</p>
<ul>
<li>disporre di un progetto che abbia raggiungo almeno un certo livello di coerenza (ovvero che possa attrarre l&#8217;interesse di altri sviluppatori)</li>
<li>rilasciare un prototipo, anche non completo, alla comunità</li>
<li>attendere che qualcuno si interessi al progetto (nel frattempo lo sviluppo da parte dell&#8217;autore non si arresta)</li>
<li>se qualcuno si interessa al progetto ed ha una conoscenza specifica del dominio maggiore di quella dell&#8217;autore diviene &#8220;contributor&#8221;</li>
<li>altri utenti sono semplici utilizzatori, &#8220;observers&#8221;</li>
<li>negli anni il progetto evolve raggiungendo buoni livelli, addirittura oltre le aspettative dell&#8217;autore stesso!</li>
</ul>
<p>Ecco l’articolo completo: <a href="http://www.javalobby.org/articles/sat-open-source/" target="_blank">http://www.javalobby.org/articles/sat-open-source/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=48</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Java ready for use in safety critical systems?</title>
		<link>http://www.jso.it/home/?p=47</link>
		<comments>http://www.jso.it/home/?p=47#comments</comments>
		<pubDate>Wed, 10 Oct 2007 09:50:30 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=47</guid>
		<description><![CDATA[Java è nato come linguaggio general-pourpose, ma al giorno d&#8217;oggi il campo di utilizzo più vasto è sicuramente il Web/Enterprise. Che dire dei sistemi safety critical o cosiddetti real-time? Questo è storicamente il mondo delle applicazioni C++, ma qualcosa sta cambiando e anche Java sta per dire la sua. Un esempio? Le specifiche Real-Time per [...]]]></description>
			<content:encoded><![CDATA[<p>Java è nato come linguaggio general-pourpose, ma al giorno d&#8217;oggi il campo di utilizzo più vasto è sicuramente il Web/Enterprise. Che dire dei sistemi safety critical o cosiddetti real-time? Questo è storicamente il mondo delle applicazioni C++, ma qualcosa sta cambiando e anche Java sta per dire la sua. Un esempio? Le specifiche Real-Time per Java <a href="http://java.sun.com/javase/technologies/realtime/index.jsp#jsr-001" target="_blank">RTSJ</a> e la loro relativa implementazione <a href="http://java.sun.com/javase/technologies/realtime/index.jsp" target="_blank">Java SE Real-Time Edition</a>, o le implementazioni alternative (ed ottimizzate) delle classi Sun di base come <a href="http://javolution.org/" target="_blank">Javolution</a> o <a href="http://joda.sourceforge.net/" target="_blank">Joda</a> rendono davvero realistica l&#8217;applicazione di Java nei contesti cosiddetti real-time.<br />
L&#8217;articolo mette a confronto alcuni aspetti della programmazione C++ vs Java come:</p>
<ul>
<li>Segmentation Fault vs Runtime Exception</li>
<li>Deallocazione della memoria vs Garbage Collection</li>
<li>Stabilità della piattaforma (open bugs)</li>
<li>Testabilità e scalabilità delle applicazioni (JVM multiple)</li>
</ul>
<p>Molto interessante a mio giudizio, e l&#8217;attenzione dimostrata alla recente <a href="http://www.aiaa.org/space2007/" target="_blank">Space 2007 Conference</a> sembrerebbe dimostrarlo&#8230;</p>
<ul>
<li><a href="http://www.javalobby.org/java/forums/t101881.html" target="_blank">http://www.javalobby.org/java/forums/t101881.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=47</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 Top Tips for Quality Java Software</title>
		<link>http://www.jso.it/home/?p=46</link>
		<comments>http://www.jso.it/home/?p=46#comments</comments>
		<pubDate>Thu, 27 Sep 2007 14:55:22 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Patterns]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=46</guid>
		<description><![CDATA[Alcuni accorgimenti che possono rendere un programmatore più efficiente nello scrivere un codice di migliore qualità. Poche regole semplici, ma a mio parere azzeccate:

Eliminare il codice non utilizzato
Non documentare codice complesso, piuttosto scrivere codice semplice
Non scrivere tanti commenti, ma migliorare il log
Applicare la legge di Demeter per mantere il codice semplice
Non ripetersi (non duplicare codice)
Marcare [...]]]></description>
			<content:encoded><![CDATA[<p>Alcuni accorgimenti che possono rendere un programmatore più efficiente nello scrivere un codice di migliore qualità. Poche regole semplici, ma a mio parere azzeccate:</p>
<ol>
<li>Eliminare il codice non utilizzato</li>
<li>Non documentare codice complesso, piuttosto scrivere codice semplice</li>
<li>Non scrivere tanti commenti, ma migliorare il log</li>
<li>Applicare la legge di <a href="http://www.ccs.neu.edu/research/demeter/" target="_blank">Demeter</a> per mantere il codice semplice</li>
<li>Non ripetersi (non duplicare codice)</li>
<li>Marcare volutamente le porzioni di codice incomplete</li>
<li>Controllare le assunzioni nel codice (rilevare subito il fallimento)</li>
</ol>
<p>L&#8217;articolo completo si trova al seguente indirizzo: <a href="http://www.javalobby.org/java/forums/t101755.html" target="_blank">http://www.javalobby.org/java/forums/t101755.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=46</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Vista vs Linux</title>
		<link>http://www.jso.it/home/?p=45</link>
		<comments>http://www.jso.it/home/?p=45#comments</comments>
		<pubDate>Mon, 25 Jun 2007 15:56:56 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=45</guid>
		<description><![CDATA[L&#8217;acquisto di un nuovo pc portatile, immancabilmente corredato da Windows Vista, invoglia ormai sempre più utenti, specialmente quelli che utilizzano il pc in modo professionale, ad installare una distribuzione Linux e configurare il sistema in dual boot mode. Io stesso mi sono comportato così: Windows Vista per gestire le applicazioni multimediali (soprattutto quelle che richiedono [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;acquisto di un nuovo pc portatile, immancabilmente corredato da Windows Vista, invoglia ormai sempre più utenti, specialmente quelli che utilizzano il pc in modo professionale, ad installare una distribuzione <a href="http://en.wikipedia.org/wiki/Linux" target="_blank">Linux</a> e configurare il sistema in <a href="http://apcmag.com/5046/how_to_dual_boot_vista_with_linux_vista_installed_first" target="_blank">dual boot</a> mode. Io stesso mi sono comportato così: Windows Vista per gestire le applicazioni multimediali (soprattutto quelle che richiedono i driver più recenti), Linux per programmare e sviluppare in Java, più (almeno) una partizione dati condivisa. Ormai esistono moltissime <a href="http://www.desktoplinux.com/articles/AT7386380154.html" target="_blank">distribuzioni linux per il desktop</a>, tutte molto valide e adatte ai vari sistemi, dai più moderni a quelli più datati. Ne segnalo alcune, scelte in base alla mia asperienza e alle mie preferenze personali:</p>
<ul>
<li><a href="http://www.pclinuxos.com" target="_blank">PCLinuxOS</a>, <a href="http://www.ubuntu.com" target="_blank">Ubuntu</a>, <a href="http://www.mandriva.com" target="_blank">Mandriva</a> (adatte ai sistemi desktop, basate su <a href="http://www.gnome.org" target="_blank">Gnome</a>/<a href="http://www.kde.org" target="_blank">KDE</a>)</li>
<li><a href="http://www.vectorlinux.com" target="_blank">Vector Linux</a> (per i desktop più datati, molto veloce basata su <a href="http://www.xfce.org" target="_blank">Xfce</a>)</li>
<li><a href="http://www.debian.org" target="_blank">Debian</a>, <a href="http://www.slackware.com" target="_blank">Slackware</a>, <a href="http://www.centos.org" target="_blank">CentOS</a> (per i server)</li>
<li><a href="http://www.damnsmalllinux.org" target="_blank">Damn Small Linux</a> (occupa solo 50MB, installata su un <a href="http://www.pendrivelinux.com" target="_blank">pendrive</a> è utilissima come sistema di rescue)</li>
</ul>
<p>Insomma ce n&#8217;è per ogni esigenza, esiste pure una piccolissima distro antagonista del Windows Media Center, la <a href="http://geexbox.org" target="_blank">GeeXBox</a>, forse ancora un po&#8217; &#8220;acerba&#8221; ma sicuramente promettente. La comunità Linux è sempre più attiva e in crescita&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are JSPs dead?</title>
		<link>http://www.jso.it/home/?p=39</link>
		<comments>http://www.jso.it/home/?p=39#comments</comments>
		<pubDate>Fri, 27 Apr 2007 11:16:23 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=39</guid>
		<description><![CDATA[L&#8217;ennesima critica a JSP: sono da considerasi ufficialmente morte? Ehm&#8230; personalmente non credo che la loro scomparsa sarà poi così imminente. JSP fa parte delle specifiche JavaEE di Sun e ormai sono utilizzate praticamente in ogni contesto Java Web. E&#8217; vero, consentono molta libertà in chi sviluppa (difatti sono nate come &#8220;antagoniste&#8221; di ASP!) e [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;ennesima critica a JSP: sono da considerasi ufficialmente morte? Ehm&#8230; personalmente non credo che la loro scomparsa sarà poi così imminente. JSP fa parte delle specifiche JavaEE di Sun e ormai sono utilizzate praticamente in ogni contesto Java Web. E&#8217; vero, consentono molta libertà in chi sviluppa (difatti sono nate come &#8220;antagoniste&#8221; di ASP!) e in pratica sono quanto di più &#8220;sbagliato&#8221; si possa utilizzare in un paradigma ad oggetti, ma per fortuna&#8230; esistono i framework! Solito discorso: Struts in primis ha ricollocato le JSP quasi esclusivamente nello strato V del paradigma MVC (mentre il ruolo di controller è lasciato alle Servlet o meglio a Servlet specializzate dette Actions). Poi ci sono le taglib, gli include e JSTL&#8230; con questi strumenti JSP diventa utilizzabile e, addirittura, come qualcuno osserva, riusabile (anche se lo strato V è chiaramente il meno riusabile fra tutti).<br />
Il problema se mai è quello di non farne un uso improprio. Poi è chiaro che le alternative esistono: Velocity, Freemarker, XML/XSLT, JSF (con Facelets) per citarne alcune. La mia personale esperienza con JSF non è stata delle più entusiasmanti, credo che siano ancora un po&#8217; &#8220;acerbe&#8221; e tra le pecche, direi che hanno un pessimo livello di debugging.<br />
Concludendo: JSP promosse, purchè usate con tutti i criteri. Consentono di essere molto produttivi, possono essere facilmente precompilate in Servlets e, entro certi limiti, possono essere riutilizzate. Il resto si trova nel post:</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=45080" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=45080</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why resist change to Java?</title>
		<link>http://www.jso.it/home/?p=38</link>
		<comments>http://www.jso.it/home/?p=38#comments</comments>
		<pubDate>Mon, 23 Apr 2007 13:52:50 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=38</guid>
		<description><![CDATA[Con le versioni 5 e 6, Java ha introdotto diverse modifiche al linguaggio. Oltre ai già noti (e a volte criticati) generics, boxing/outboxing, annotations, enums, static imports ora si parla di closures. In alcuni casi si tratta di zucchero sintattico o poco più, in altri casi di importanti modifiche al linguaggio, nel costante sforzo di rendere Java sempre [...]]]></description>
			<content:encoded><![CDATA[<p>Con le versioni 5 e 6, Java ha introdotto diverse modifiche al linguaggio. Oltre ai già noti (e a volte criticati) generics, boxing/outboxing, annotations, enums, static imports ora si parla di closures. In alcuni casi si tratta di zucchero sintattico o poco più, in altri casi di importanti modifiche al linguaggio, nel costante sforzo di rendere Java sempre competitivo nei confronti degli altri moderni linguaggi (C++, C#, Smalltalk, Ruby o Groovy&#8230;).<br />
Ma ci sono anche &#8220;resistenze&#8221; ad accettare queste modifiche al linguaggio e spesso, come si osserva in questo post di TSS, sono proprio i &#8220;senior&#8221; a sembrare più restii ai cambiamenti. Forse per timore di perdere quel vantaggio che hanno acquisito con anni di esperienza, i senior sembrano in qualche modo spaventati dalle novità o semplificazioni recentemente introdotte nel linguaggio. Ma quel che spaventa di più forse è l&#8217;incompatibilità dei binari generati e così molti &#8220;preferiscono&#8221; ancora lo <a href="?p=32">stile 1.4</a>. L&#8217;aspetto che mi sembra più interessante tuttavia è la possibilità di poter utilizzare altri linguaggi nella JVM come JRuby o Groovy ad esempio, il che rende meno &#8220;indispensabili&#8221; le continue estensioni del linguaggio Java vero e proprio. Non dimentichiamo infatti che Java è molto di più di un linguaggio: è una VM, un insieme di librerie ed API molto ricche, un mondo di framework open-source e molto altro&#8230; l&#8217;articolo è interessante e offre diversi spunti&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=45023" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=45023</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revision of history and J2EE</title>
		<link>http://www.jso.it/home/?p=37</link>
		<comments>http://www.jso.it/home/?p=37#comments</comments>
		<pubDate>Fri, 16 Mar 2007 11:44:12 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=37</guid>
		<description><![CDATA[Ancora una volta si parla di J2EE vs Spring, ovvero di &#8220;heavyweight&#8221; vs &#8220;lightweight&#8221;, ovvero di Sun vs mondo open in senso più stretto. Secondo l&#8217;opinione ormai diffusa, viene associato un concetto di pesantezza allo standard J2EE (o JavaEE che dir si voglia).
Ma occorre fare un po&#8217; di chiarezza. Stiamo parlando di due tecnologie (J2EE e Spring) [...]]]></description>
			<content:encoded><![CDATA[<p>Ancora una volta si parla di J2EE vs Spring, ovvero di &#8220;heavyweight&#8221; vs &#8220;lightweight&#8221;, ovvero di Sun vs mondo open in senso più stretto. Secondo l&#8217;opinione ormai diffusa, viene associato un concetto di pesantezza allo standard J2EE (o JavaEE che dir si voglia).<br />
Ma occorre fare un po&#8217; di chiarezza. Stiamo parlando di due tecnologie (J2EE e Spring) quindi un punto è certamente vero: prima di tutto è una questione di scelta. Non esiste tecnologia vincente in assenza di un buon software architect e la scelta di quale tecnologia adottare dipende anche (e soprattutto) dal team di sviluppatori di cui si dispone.<br />
Tutte le tecnologie richiedono una &#8220;learning curve&#8221; iniziale, ovvero un certo costo per l&#8217;apprendimento. Disponendo di programmatori Junior ad esempio l&#8217;approccio di Spring, POJO-oriented, è in qualche modo più immediato. Ma ciò non toglie che Spring sia comunque molto ricco e che occorre molto tempo per &#8220;dominare&#8221; tutte le tecnologie e i concetti in esso contenuti. Per contro J2EE costringe lo sviluppatore a conoscere abbastanza bene i dettagli del container (ad esempio il ciclo di vita degli EJB) e per tanto richiede sviluppatori più esperti.<br />
In ogni caso non bisogna dimenticare che J2EE non è solo EJB ma anche altre importanti API come JTA, JMS and JMX. D&#8217;altra parte Spring sposa ovviamente le tecnologie open, come Hibernate, JDO per la persistenza o Burlan e Hessian per le comunicazioni remote.<br />
Ma dato che lo sviluppo di un&#8217;applicazione web &#8220;vera&#8221; può richiedere ad esempio l&#8217;utilizzo di Struts/Spring/Hibernate o JSF/Spring/Hibernate o Struts/EJB perchè non unire il meglio delle varie tecnologie? Spring + JMS, JMX and JTA?<br />
Insomma, meglio collaborare che farsi la guerra <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=44617" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=44617</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring 2.0 Intro</title>
		<link>http://www.jso.it/home/?p=36</link>
		<comments>http://www.jso.it/home/?p=36#comments</comments>
		<pubDate>Tue, 16 Jan 2007 14:56:05 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=36</guid>
		<description><![CDATA[Un&#8217;ottima introduzione a Spring 2.0, l&#8217;attuale release di quel che è, ad oggi, probabilmente il miglior Framework open-source disponibilile in ambito Java&#8230; molto ricco, completo, configurabile, estensibile e soprattutto a differenza di molti altri non destinato solo allo sviluppo di web applications. Quantomeno da provare&#8230;

http://www.infoq.com/articles/spring-2-intro

]]></description>
			<content:encoded><![CDATA[<p>Un&#8217;ottima introduzione a Spring 2.0, l&#8217;attuale release di quel che è, ad oggi, probabilmente il miglior Framework open-source disponibilile in ambito Java&#8230; molto ricco, completo, configurabile, estensibile e soprattutto a differenza di molti altri non destinato solo allo sviluppo di web applications. Quantomeno da provare&#8230;</p>
<ul>
<li><a href="http://www.infoq.com/articles/spring-2-intro" target="_blank">http://www.infoq.com/articles/spring-2-intro</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Appunti dalla JAOO Conference</title>
		<link>http://www.jso.it/home/?p=35</link>
		<comments>http://www.jso.it/home/?p=35#comments</comments>
		<pubDate>Wed, 29 Nov 2006 11:34:11 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=35</guid>
		<description><![CDATA[Tratto da Mokabyte, un articolo che riassume in maniera abbastanza schematica gli argomenti trattati nella recente JAOO Conference, il più importante evento a livello europeo, nel campo dello sviluppo di applicazioni Java, di metodologie di sviluppo, ma non solo.
Interessante per capire l&#8217;andamento e l&#8217;interesse suscitato delle varie tecnologie e, a giudizio dell&#8217;autore, quali siano da catalogare come [...]]]></description>
			<content:encoded><![CDATA[<p>Tratto da Mokabyte, un articolo che riassume in maniera abbastanza schematica gli argomenti trattati nella recente JAOO Conference, il più importante evento a livello europeo, nel campo dello sviluppo di applicazioni Java, di metodologie di sviluppo, ma non solo.<br />
Interessante per capire l&#8217;andamento e l&#8217;interesse suscitato delle varie tecnologie e, a giudizio dell&#8217;autore, quali siano da catalogare come &#8220;su&#8221; o &#8220;giù&#8221;&#8230;</p>
<ul>
<li><a href="http://www2.mokabyte.it/cms/article.run?articleId=JMV-62I-1Q2-AXK_7f000001_30520983_ce6c86ec" target="_blank">http://www2.mokabyte.it/cms/article.run?articleId=JMV-62I-1Q2-AXK_7f000001_30520983_ce6c86ec</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Struts is the new COBOL?</title>
		<link>http://www.jso.it/home/?p=34</link>
		<comments>http://www.jso.it/home/?p=34#comments</comments>
		<pubDate>Fri, 24 Nov 2006 15:17:42 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=34</guid>
		<description><![CDATA[Nonostante l&#8217;età e il giudizio abbastanza diffuso che non sia più all&#8217;altezza delle moderne applicazioni web, Struts continua ad essere il framework MVC più utilizzato. Intanto cresce l&#8217;utilizzo di JSF promosso da Sun, benchè anche questo abbia i propri detrattori, cresce l&#8217;utilizzo di Spring MVC (che sembra molto buono) e continuano ad essere utilizzati gli altri framework [...]]]></description>
			<content:encoded><![CDATA[<p>Nonostante l&#8217;età e il giudizio abbastanza diffuso che non sia più all&#8217;altezza delle moderne applicazioni web, Struts continua ad essere il framework MVC più utilizzato. Intanto cresce l&#8217;utilizzo di JSF promosso da Sun, benchè anche questo abbia i propri detrattori, cresce l&#8217;utilizzo di Spring MVC (che sembra molto buono) e continuano ad essere utilizzati gli altri framework più o meno consolidati (Tapestry, Webwork) mentre emergono i framework rich client (Wicket, Echo2, Webstart) o, dando uno sguardo ad altri linguaggi,  RoR (Ruby on Rails) di cui molto si parla. Ma Struts rimane, e sarà difficile scalzarlo. Proprio come il COBOL <img src='http://www.jso.it/home/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.javalobby.org/java/forums/t84553.html" target="_blank">http://www.javalobby.org/java/forums/t84553.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=34</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun Releases GPL Java Today</title>
		<link>http://www.jso.it/home/?p=33</link>
		<comments>http://www.jso.it/home/?p=33#comments</comments>
		<pubDate>Mon, 13 Nov 2006 13:46:08 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=33</guid>
		<description><![CDATA[Dopo anni di attese e smentite finalmente Java sarà rilasciato in open-source con licenza GPL, la licenza &#8220;principe&#8221; nel mondo del software libero. Questo nel concreto significa che Java potrà essere incluso in ogni distribuzione Linux, il sistema operativo GPL per eccellenza e, similmente, in ogni sistema operativo rilasciato con licenza GPL. Ovviamente la notizia ha [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo anni di attese e smentite finalmente Java sarà rilasciato in open-source con licenza <a href="http://en.wikipedia.org/wiki/GNU_General_Public_License" target="_blank">GPL</a>, la licenza &#8220;principe&#8221; nel mondo del software libero. Questo nel concreto significa che Java potrà essere incluso in ogni distribuzione Linux, il sistema operativo GPL per eccellenza e, similmente, in ogni sistema operativo rilasciato con licenza GPL. Ovviamente la notizia ha suscitato un certo clamore nella comunità Java (ma anche nel mondo informatico in generale) ed i commenti si sprecano&#8230;</p>
<ul>
<li><a href="http://www.javalobby.org/java/forums/t84244.html" target="_blank">http://www.javalobby.org/java/forums/t84244.html</a></li>
<li><a href="http://www.javalobby.org/java/forums/t84256.html" target="_blank">http://www.javalobby.org/java/forums/t84256.html</a></li>
<li><a href="http://www.javalobby.org/java/forums/t84265.html" target="_blank">http://www.javalobby.org/java/forums/t84265.html</a></li>
<li><a href="http://www.javalobby.org/java/forums/t84275.html" target="_blank">http://www.javalobby.org/java/forums/t84275.html</a></li>
<li><a href="http://www.javalobby.org/java/forums/t84306.html" target="_blank">http://www.javalobby.org/java/forums/t84306.html</a></li>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=43232" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=43232</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What version of Java are you using?</title>
		<link>http://www.jso.it/home/?p=32</link>
		<comments>http://www.jso.it/home/?p=32#comments</comments>
		<pubDate>Wed, 08 Nov 2006 17:03:08 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=32</guid>
		<description><![CDATA[Dopo più di un anno dall&#8217;uscita della release 1.5 di Java (Tiger) e con la versione 1.6 (Mustang) ormai alle porte, ancora ci sono grandi aziende che utilizzano le versioni più datate (1.3 o 1.4). Soprattutto in ambito Enterprise sembra ci sia il timore di passare alle release più nuove per non stravolgere grandi impianti e proteggere così gli investimenti, senza perdere [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo più di un anno dall&#8217;uscita della release 1.5 di Java (Tiger) e con la versione 1.6 (Mustang) ormai alle porte, ancora ci sono grandi aziende che utilizzano le versioni più datate (1.3 o 1.4). Soprattutto in ambito Enterprise sembra ci sia il timore di passare alle release più nuove per non stravolgere grandi impianti e proteggere così gli investimenti, senza perdere tempo in lunghi test di compatibilità. Da un punto di vista più strettamente tecnologico ritengo invece che i tempi siano maturi per il passaggio alla 1.5 che oltre ad aggiungere nuove interessanti features al linguaggio (generics, annotation, boxing/outboxing&#8230;) magari non ancora utilizzati da tutti, introduce miglioramenti notevoli al Garbage Collector e delle performance in generale che rendono le applicazioni Java sempre più vicine a quelle scritte in linguaggio compilato.</p>
<ul>
<li><a href="http://www.javalobby.org/java/forums/t84013.html" target="_blank">http://www.javalobby.org/java/forums/t84013.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=32</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux Day</title>
		<link>http://www.jso.it/home/?p=31</link>
		<comments>http://www.jso.it/home/?p=31#comments</comments>
		<pubDate>Mon, 23 Oct 2006 13:45:32 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=31</guid>
		<description><![CDATA[ILS (Italian Linux Society) annuncia l&#8217;edizione 2006 del Linux Day. La manifestazione, fissata per il 28 ottobre prossimo, giunge così al sesto appuntamento dedicato a GNU/Linux e al software libero. I LUG (Linux Users Group) e tutte le altre associazioni e gruppi di persone che in Italia promuovono i temi legati al software libero organizzano una [...]]]></description>
			<content:encoded><![CDATA[<p>ILS (<a href="http://www.linux.it/" target="_blank">Italian Linux Society</a>) annuncia l&#8217;edizione 2006 del <a href="http://www.linux.it/LinuxDay/" target="_blank">Linux Day</a>. La manifestazione, fissata per il 28 ottobre prossimo, giunge così al sesto appuntamento dedicato a GNU/Linux e al software libero. I LUG (Linux Users Group) e tutte le altre associazioni e gruppi di persone che in Italia promuovono i temi legati al software libero organizzano una giornata incentrata su questi argomenti nella città di appartenenza&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Day</title>
		<link>http://www.jso.it/home/?p=29</link>
		<comments>http://www.jso.it/home/?p=29#comments</comments>
		<pubDate>Mon, 09 Oct 2006 09:50:27 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=29</guid>
		<description><![CDATA[L&#8217;Italian Agile Day è una conferenza gratuita di un giorno dedicata alle metodologie Agili per lo sviluppo e la gestione dei progetti software come eXtreme Programming, SCRUM, Feature Driven Development, DSDM, Crystal e Lean Software Development aderenti all&#8217;Agile Manifesto. L&#8217;evento è organizzato dall&#8217;Italian Agile Movement che festeggia 4 anni di attività e si terrà Venerdì [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;<a href="http://www.agileday.it" target="_blank">Italian Agile Day</a> è una conferenza gratuita di un giorno dedicata alle metodologie Agili per lo sviluppo e la gestione dei progetti software come eXtreme Programming, SCRUM, Feature Driven Development, DSDM, Crystal e Lean Software Development aderenti all&#8217;<a href="http://agilemanifesto.org/" target="_blank">Agile Manifesto</a>. L&#8217;evento è organizzato dall&#8217;<a href="http://www.agilemovement.it/" target="_blank">Italian Agile Movement</a> che festeggia 4 anni di attività e si terrà <span style="color: #ff0000;"><span style="color: #000000">Venerdì 1 Dicembre 2006 a Milano&#8230;</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=29</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>J2EE Performance problems</title>
		<link>http://www.jso.it/home/?p=27</link>
		<comments>http://www.jso.it/home/?p=27#comments</comments>
		<pubDate>Mon, 18 Sep 2006 08:22:52 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=27</guid>
		<description><![CDATA[Un articolo di JavaWorld illustra alcuni utili accorgimenti per l&#8217;ottimizzazione delle performance in ambito J2EE; molti concetti sono noti ma l&#8217;articolo è davvero ben fatto e dedica molta attenzione al tuning del Garbage Collector.

http://www.javaworld.com/javaworld/jw-06-2006/jw-0619-tuning.html

]]></description>
			<content:encoded><![CDATA[<p>Un articolo di JavaWorld illustra alcuni utili accorgimenti per l&#8217;ottimizzazione delle performance in ambito J2EE; molti concetti sono noti ma l&#8217;articolo è davvero ben fatto e dedica molta attenzione al tuning del Garbage Collector.</p>
<ul>
<li><a href="http://www.javaworld.com/javaworld/jw-06-2006/jw-0619-tuning.html" target="_blank">http://www.javaworld.com/javaworld/jw-06-2006/jw-0619-tuning.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lo sviluppatore software &#8220;moderno&#8221;</title>
		<link>http://www.jso.it/home/?p=25</link>
		<comments>http://www.jso.it/home/?p=25#comments</comments>
		<pubDate>Wed, 06 Sep 2006 10:15:15 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=25</guid>
		<description><![CDATA[Chi ritiene la programmazione una pura fase di “manovalanza” all’interno di un progetto, è portato a ricredersi. L’utilizzo sistematico di pattern e l’evoluzione ciclica del design attraverso refactoring riportano lo sviluppatore, con la sua personalità ed esperienza al centro del progetto. Sviluppo non significa solo scrivere codice. Sviluppo significa prendere decisioni concernenti il design. L’attività [...]]]></description>
			<content:encoded><![CDATA[<p>Chi ritiene la programmazione una pura fase di “manovalanza” all’interno di un progetto, è portato a ricredersi. L’utilizzo sistematico di pattern e l’evoluzione ciclica del design attraverso refactoring riportano lo sviluppatore, con la sua personalità ed esperienza al centro del progetto. Sviluppo non significa solo scrivere codice. Sviluppo significa prendere decisioni concernenti il design. L’attività di sviluppo è qualcosa di creativo che richiede nel contempo grande disciplina. È un’attività di grande responsabilità che permette di progettare, creare, controllare e fare evolvere l’architettura e la funzionalità del progetto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=25</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing the code&#8230;</title>
		<link>http://www.jso.it/home/?p=24</link>
		<comments>http://www.jso.it/home/?p=24#comments</comments>
		<pubDate>Tue, 08 Aug 2006 09:59:21 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=24</guid>
		<description><![CDATA[To test or not to test, this is the question&#8230; o meglio, quanto tempo e quante risorse dedicare al testing automatico del software? E&#8217; vero, JUnit è un ottimo strumento per il test di unità, ma predisporre gli unit test richiede tempo (anche il 50% del tempo totale di programmazione) e non si può dimenticare [...]]]></description>
			<content:encoded><![CDATA[<p>To test or not to test, this is the question&#8230; o meglio, quanto tempo e quante risorse dedicare al testing automatico del software? E&#8217; vero, JUnit è un ottimo strumento per il test di unità, ma predisporre gli unit test richiede tempo (anche il 50% del tempo totale di programmazione) e non si può dimenticare che il test di integrazione e funzionale è ben altra cosa&#8230; c&#8217;è ancora bisogno dei tester manuali? Pare di sì&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=41639">http://www.theserverside.com/news/thread.tss?thread_id=41639</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=24</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Things Java Should Steal from Ruby</title>
		<link>http://www.jso.it/home/?p=23</link>
		<comments>http://www.jso.it/home/?p=23#comments</comments>
		<pubDate>Tue, 08 Aug 2006 09:54:49 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=23</guid>
		<description><![CDATA[La semplicità di Ruby (e dei linguaggi di scripting in generale) o la consolidatà versatilità e robustezza di J2EE per la creazione di grosse architetture Enterprise? E un dubbio: è sempre vero che problemi complessi si possono ridurre ad una programmazione &#8220;semplice&#8221;, oppure è ancora giustificato l&#8217;elevato prezzo di una &#8220;learning curve&#8221; iniziale?
Come dire&#8230; la programmazione [...]]]></description>
			<content:encoded><![CDATA[<p>La semplicità di Ruby (e dei linguaggi di scripting in generale) o la consolidatà versatilità e robustezza di J2EE per la creazione di grosse architetture Enterprise? E un dubbio: è sempre vero che problemi complessi si possono ridurre ad una programmazione &#8220;semplice&#8221;, oppure è ancora giustificato l&#8217;elevato prezzo di una &#8220;learning curve&#8221; iniziale?<br />
Come dire&#8230; la programmazione non è (ancora) per tutti&#8230;</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=41622" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=41622</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=23</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby for the Java world</title>
		<link>http://www.jso.it/home/?p=22</link>
		<comments>http://www.jso.it/home/?p=22#comments</comments>
		<pubDate>Tue, 18 Jul 2006 15:48:44 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=22</guid>
		<description><![CDATA[Ruby è un linguaggio nuovo e già sta facendo parlare molto di sè, soprattutto nel mondo open-source, come &#8220;rivale&#8221; di Java. E se invece si trattasse di un &#8220;alleato&#8221;? Un articolo di JavaWorld spiega come i due linguaggi possano interagire tra loro:

http://www.javaworld.com/javaworld/jw-07-2006/jw-0717-ruby-p1.html

]]></description>
			<content:encoded><![CDATA[<p>Ruby è un linguaggio nuovo e già sta facendo parlare molto di sè, soprattutto nel mondo open-source, come &#8220;rivale&#8221; di Java. E se invece si trattasse di un &#8220;alleato&#8221;? Un articolo di JavaWorld spiega come i due linguaggi possano interagire tra loro:</p>
<ul>
<li><a href="http://www.javaworld.com/javaworld/jw-07-2006/jw-0717-ruby-p1.html" target="_blank">http://www.javaworld.com/javaworld/jw-07-2006/jw-0717-ruby-p1.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=22</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Conference &#8216;06</title>
		<link>http://www.jso.it/home/?p=14</link>
		<comments>http://www.jso.it/home/?p=14#comments</comments>
		<pubDate>Fri, 30 Jun 2006 09:42:26 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=14</guid>
		<description><![CDATA[Si è appena conclusa Java Conference 2006 (Milano, 27/28 giugno). Positiva anche quest&#8217;anno, anche se l&#8217;edizione dello scorso anno è stata in qualche modo più ricca (forse anche perchè era l&#8217;edizione del 10° anniversario di Java).
Quest&#8217;anno però, per la prima volta in Italia, abbiamo avuto la fortuna di assistere a ben due speech di James Gosling, nientemeno [...]]]></description>
			<content:encoded><![CDATA[<p>Si è appena conclusa <a title="Java Conference 2006" href="http://it.sun.com/sunnews/events/2006/jc06/" target="_blank">Java Conference 2006</a> (Milano, 27/28 giugno). Positiva anche quest&#8217;anno, anche se <a href="http://it.sun.com/sunnews/events/2006/jc05/" target="_blank">l&#8217;edizione dello scorso anno</a> è stata in qualche modo più ricca (forse anche perchè era l&#8217;edizione del 10° anniversario di Java).<br />
Quest&#8217;anno però, per la prima volta in Italia, abbiamo avuto la fortuna di assistere a ben due speech di James Gosling, nientemeno che il &#8220;padre&#8221; di Java!</p>
<p><img id="image16" src="http://www.jso.it/home/wp-content/uploads/2006/05/JC06.thumbnail.gif" alt="Java Conference 2006" height="18" /></p>
<p>Presenti come al solito alcuni dei rappresentanti dei <a href="http://it.wikipedia.org/wiki/Java_User_Group" target="_blank">JUG</a> più attivi in Italia oltre che di <a href="http://www.jia.it" target="_blank">Jia</a> e <a href="http://www.javaportal.it" target="_blank">JavaPortal</a>. Proprio questi si fanno promotori di una nuova iniziativa, i <a href="http://www.javaday.it" target="_blank">JavaDay</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=14</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Developers, Project Management &amp; Marketing</title>
		<link>http://www.jso.it/home/?p=21</link>
		<comments>http://www.jso.it/home/?p=21#comments</comments>
		<pubDate>Thu, 29 Jun 2006 15:04:15 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=21</guid>
		<description><![CDATA[Alcune considerazioni su Sviluppatori Java, Project Management e Marketing, ovvero le tre(!) facce della medaglia&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Alcune considerazioni su <a href="http://www.javalobby.org/java/forums/m92025788.html" target="_blank">Sviluppatori Java</a>, <a href="http://www.theserverside.com/news/thread.tss?thread_id=41092" target="_blank">Project Management</a> e <a href="http://www.theserverside.com/news/thread.tss?thread_id=41109" target="_blank">Marketing</a>, ovvero le tre(!) facce della medaglia&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=21</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Server Commoditization</title>
		<link>http://www.jso.it/home/?p=18</link>
		<comments>http://www.jso.it/home/?p=18#comments</comments>
		<pubDate>Wed, 21 Jun 2006 07:43:10 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=18</guid>
		<description><![CDATA[Un forum di TheServerSide confronta Application Server open source e commerciali in ambito Java EE, quali sono maturi e certificati J2EE5? Ci sarà spazio per nuovi prodotti emergenti?

http://www.theserverside.com/news/thread.tss?thread_id=40988

Un confronto tra i vari Application Server J2EE è fornito dalla medesima fonte, The Application Server Matrix
]]></description>
			<content:encoded><![CDATA[<p>Un forum di TheServerSide confronta Application Server open source e commerciali in ambito Java EE, quali sono maturi e certificati J2EE5? Ci sarà spazio per nuovi prodotti emergenti?</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=40988" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=40988</a></li>
</ul>
<p>Un confronto tra i vari Application Server J2EE è fornito dalla medesima fonte, <a href="http://www.theserverside.com/tt/reviews/matrix.tss" target="_blank">The Application Server Matrix</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ancora Java vs .NET</title>
		<link>http://www.jso.it/home/?p=15</link>
		<comments>http://www.jso.it/home/?p=15#comments</comments>
		<pubDate>Wed, 24 May 2006 14:13:37 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=15</guid>
		<description><![CDATA[Un altro articolo che mette a confronto Java e .NET, tratto da TheServerSide:

http://www.theserverside.com/news/thread.tss?thread_id=40611

]]></description>
			<content:encoded><![CDATA[<p>Un altro articolo che mette a confronto Java e .NET, tratto da TheServerSide:</p>
<ul>
<li><a href="http://www.theserverside.com/news/thread.tss?thread_id=40611" target="_blank">http://www.theserverside.com/news/thread.tss?thread_id=40611</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=15</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Frameworks&#8230;</title>
		<link>http://www.jso.it/home/?p=12</link>
		<comments>http://www.jso.it/home/?p=12#comments</comments>
		<pubDate>Thu, 04 May 2006 13:53:54 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=12</guid>
		<description><![CDATA[Ancora una discussione tratta dal &#8220;solito&#8221; Joel on Sofware, a proposito dei tanto amati e odiati Frameworks (in Java ce ne sono ormai moltissimi scaricabili liberamente). Quando usarli, quando non usarli? Perchè sono utili e perchè a volte conviene fare da sè&#8230;

http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12

]]></description>
			<content:encoded><![CDATA[<p>Ancora una discussione tratta dal &#8220;solito&#8221; Joel on Sofware, a proposito dei tanto amati e odiati Frameworks (in Java ce ne sono ormai moltissimi scaricabili liberamente). Quando usarli, quando non usarli? Perchè sono utili e perchè a volte conviene fare da sè&#8230;</p>
<ul>
<li><a href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12" target="_blank"><span style="color: #9136ad;">http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12</span></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=12</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joel on Software</title>
		<link>http://www.jso.it/home/?p=11</link>
		<comments>http://www.jso.it/home/?p=11#comments</comments>
		<pubDate>Wed, 03 May 2006 08:14:24 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=11</guid>
		<description><![CDATA[Alcuni articoli in italiano tratti dal sito di Joel on Sofware; bello anche il libro mi sento di consigliarlo&#8230;

http://italian.joelonsoftware.com/index.html

]]></description>
			<content:encoded><![CDATA[<p>Alcuni articoli in italiano tratti dal sito di Joel on Sofware; bello anche il libro mi sento di consigliarlo&#8230;</p>
<ul>
<li><a href="http://italian.joelonsoftware.com/index.html" target="_blank">http://italian.joelonsoftware.com/index.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# vs Java</title>
		<link>http://www.jso.it/home/?p=10</link>
		<comments>http://www.jso.it/home/?p=10#comments</comments>
		<pubDate>Wed, 03 May 2006 07:52:42 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=10</guid>
		<description><![CDATA[Un interessante articolo mette a confronto Java e C# (.NET) :

http://www.25hoursaday.com/CsharpVsJava.html

]]></description>
			<content:encoded><![CDATA[<p>Un interessante articolo mette a confronto Java e C# (.NET) :</p>
<ul>
<li><a href="http://www.25hoursaday.com/CsharpVsJava.html" target="_blank">http://www.25hoursaday.com/CsharpVsJava.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=10</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Source</title>
		<link>http://www.jso.it/home/?p=8</link>
		<comments>http://www.jso.it/home/?p=8#comments</comments>
		<pubDate>Tue, 11 Apr 2006 08:25:03 +0000</pubDate>
		<dc:creator>stefano.orlandi</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.jso.it/home/?p=8</guid>
		<description><![CDATA[I sorgenti originali di Linux, scovati da qualche parte nella rete&#8230;
Nientemeno che la versione originale del 1991, oggetto della tesi di laurea di Linus Torvalds.

]]></description>
			<content:encoded><![CDATA[<p>I <a id="p9" href="http://www.jso.it/home/wp-content/uploads/2006/04/Linux_0.99.tar.gz">sorgenti originali</a> di Linux, scovati da qualche parte nella rete&#8230;<br />
Nientemeno che la versione originale del 1991, oggetto della tesi di laurea di Linus Torvalds.</p>
<p><img id="image13" src="http://www.jso.it/home/wp-content/uploads/2006/04/linux.thumbnail.jpg" alt="Penguin Tux" height="96" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jso.it/home/?feed=rss2&amp;p=8</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
