<?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>Lanziani Blog &#187; admin</title>
	<atom:link href="http://lanziani.com/blog/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://lanziani.com/blog</link>
	<description>my personal blog</description>
	<lastBuildDate>Tue, 17 Aug 2010 09:36:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>Project with or without middleware</title>
		<link>http://lanziani.com/blog/2010/01/21/project-with-or-without-middleware/</link>
		<comments>http://lanziani.com/blog/2010/01/21/project-with-or-without-middleware/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 17:48:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[Glassfish]]></category>
		<category><![CDATA[JMS]]></category>
		<category><![CDATA[mutex]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://lanziani.com/blog/?p=504</guid>
		<description><![CDATA[In questo periodo sto frequentando il corso di Architetture Software e proprio durante questo corso ci è stata spiegata l&#8217;importanza del Middleware [1], naturalmente non ci è stato chiesto solo di comprenderlo in teoria, ma ci è stato anche chiesto di implementare qualcosa con questo tipo di tecnologia&#8230; Progetto: Realizzazione di una semplice applicazione di [...]]]></description>
			<content:encoded><![CDATA[<p>In questo periodo sto frequentando il corso di Architetture Software e proprio durante questo corso ci è stata spiegata l&#8217;importanza del Middleware [1], naturalmente non ci è stato chiesto solo di comprenderlo in teoria, ma ci è stato anche chiesto di implementare qualcosa con questo tipo di tecnologia&#8230;</p>
<p><strong>Progetto</strong>: <em>Realizzazione di una semplice applicazione di chat basata su JMS</em></p>
<p>Il che mi ha fatto tornare in mente un progetto precedente fatto qualche anno prima sempre in ambito universitario:</p>
<p><strong>Progetto</strong>: <em>implementare un chat server/client in C</em><br />
<span id="more-504"></span><br />
<em>I due progetti sembrano chiedere la stessa cosa in definitiva&#8230;<br />
Per entrambi dovremmo avere alla fine in mano una chat&#8230;<br />
</em></p>
<p>La differenza sta nell&#8217;impegno necessario per realizzare entrambi i progetti&#8230;</p>
<p><strong>Sul primo</strong> sarà comunque necessario installare un Application Server, nel mio caso Glassfish[2], farlo funzionare, configurarlo, preparare l&#8217;ambiente adatto di programmazione, leggere la documentazione sul messaging, e scrivere il <strong>codice (376 righe approssimando).</strong></p>
<p><strong>Nel secondo</strong> abbiamo dovuto studiare thread e processi, capire le socket, i mutex, studiare un modo per gestire il transito dei messaggi ecc ecc, scrivere il <strong>codice (867 righe approssimando).</strong></p>
<p><strong><br />
Ora oltre al vantaggio in termini di righe di codice, possiamo dire che nel primo progetto molti aspetti come la sicurezza vengono gestiti in automatico dall&#8217;Application Server e che in realtà sempre per il primo progetto è stato necessario implementare solamente il Client in quanto la maggior parte del lavoro (registrare il client, raccogliere/smistare i messaggi) viene svolto dall&#8217;Application Server&#8230; Insomma questo middleware serve veramente a qualcosa :P&#8230;</strong></p>
<p>Ah il codice&#8230;</p>
<p>Chat JMS <a href="http://github.com/Nss/simple_JMS_chat">http://github.com/Nss/simple_JMS_chat</a><br />
Chat C <a href="http://github.com/Nss/simple_chat_in_c">http://github.com/Nss/simple_chat_in_c</a> </p>
<p>[1] <a href="http://it.wikipedia.org/wiki/Middleware">http://it.wikipedia.org/wiki/Middleware</a><br />
[2] <a href="http://en.wikipedia.org/wiki/GlassFish">http://en.wikipedia.org/wiki/GlassFish</a></p>
<div class="shr-publisher-504"></div>]]></content:encoded>
			<wfw:commentRss>http://lanziani.com/blog/2010/01/21/project-with-or-without-middleware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
