<?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>diploD &#187; Ingegnere</title>
	<atom:link href="http://www.diplod.it/category/ingegnere/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diplod.it</link>
	<description>by Davide Del Monte</description>
	<lastBuildDate>Fri, 13 Feb 2015 14:26:10 +0000</lastBuildDate>
	<language>it-IT</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Consumare un web service SAP con C#: guida pratica.</title>
		<link>http://www.diplod.it/2014/07/18/consumare-un-web-service-sap-con-c-guida-pratica/</link>
		<comments>http://www.diplod.it/2014/07/18/consumare-un-web-service-sap-con-c-guida-pratica/#comments</comments>
		<pubDate>Fri, 18 Jul 2014 10:24:06 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[abap]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[consumare]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1443</guid>
		<description><![CDATA[Facciamola semplice, ad imperitura memoria per chiunque capiterà su queste pagine: ecco come consumare un web service SAP (ECC 6) con una applicazione web scritta in C#.]]></description>
				<content:encoded><![CDATA[<p>Facciamola semplice, ad imperitura memoria per chiunque capiterà su queste pagine: ecco come consumare un web service SAP (ECC 6) con una applicazione web scritta in <strong>C#</strong>.</p>
<p>Supponiamo di aver realizzato un <strong>function module</strong> in <strong>SAP</strong> semplicissimo: due parametri in ingresso (un numero e una stringa) e due parametri in uscita (lo stesso numero al quadrato e la stessa stringa).<br />
Di seguito il codice ABAP di tale funzione:</p>
<p><code>FUNCTION Z_TEST000.<br />
*"----------------------------------------------------------------------<br />
*"*"Interfaccia locale:<br />
*" IMPORTING<br />
*" VALUE(NUM) LIKE BAPISDHD1-DUN_COUNT DEFAULT 4<br />
*" VALUE(TEXTTEST) LIKE MARA-MATNR<br />
*" EXPORTING<br />
*" VALUE(RETURNNUM) LIKE BAPISDHD1-DUN_COUNT<br />
*" VALUE(RETURNCHAR) LIKE MARA-MATNR<br />
*"----------------------------------------------------------------------<br />
returnnum = num * num.<br />
returnchar = texttest.<br />
ENDFUNCTION.</code></p>
<p><span id="more-1443"></span>Supponiamo anche di averla <strong><a title="Pubblicare un function module SAP come web service" href="http://www.diplod.it/2013/11/20/sap-ecc-6-pubblicare-una-function-come-web-service-senza-fronzoli/" target="_blank">pubblicata come web service</a></strong>, in modo da avere l&#8217;indirizzo del <strong>WSDL</strong> per poter aggiungere il riferimento al servizio nella nostra soluzione di <strong>Visual Studio</strong>. Le indicazioni che <a title="Consumare web service sap" href="http://www.diplod.it/2012/10/26/consumare-un-web-service-sap-da-applicazione-net-in-c-visual-studio/" target="_blank">trovate qui</a>, per aggiungere il servizio in modo da poterlo utilizzare nel codice restano valide, in estrema sintesi: tasto destro sul nome della soluzione (il nodo root del nostro sito web) poi aggiungi.. -&gt; riferimento al servizio..</p>
<p>Nella maschera che appare basta mettere l&#8217;url del documento WSDL e dare un nome al servizio, che nel nostro caso è <strong>ztestoneee</strong>.</p>
<p>Questo il codice del front-end, una pagina in cui c&#8217;è solamente un pulsante che lancia un metodo per chiamare il web service e una label in cui visualizzeremo i risultati di questa chiamata.</p>
<p><code>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt;<br />
&lt;!DOCTYPE html&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head runat="server"&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id="form1" runat="server"&gt;<br />
&lt;div&gt;<br />
&lt;asp:Button ID="Button1" runat="server" Text="Vai bello!" OnClick="button_click" /&gt;<br />
&lt;asp:Label ID="Label1" runat="server" Text="incrocia le dita"&gt;&lt;/asp:Label&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>A questo punto non resta che vedere il codice C# per consumare effettivamente il web service. Ci servono di fatto 3 oggetti:</p>
<ul>
<li>input: contiene i parametri da inviare al web service</li>
<li>client: è l&#8217;oggetto che esegue la chiamata</li>
<li>response: è l&#8217;oggetto che raccoglie la risposta dal web service</li>
</ul>
<p>Leggendo il codice sotto e i relativi commenti si può capire al volo il concetto.</p>
<p><code>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using System.Globalization;<br />
<strong>using ztestoneee;</strong><br />
public partial class _Default : System.Web.UI.Page<br />
{<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
//al caricamento della pagina non succede nulla<br />
}<br />
protected void button_click(object sender, EventArgs e)<br />
{<br />
<strong>//inizializzo oggetti: input, client e response</strong><br />
ztestoneee.Z_TEST000 input = new ztestoneee.Z_TEST000();<br />
ztestoneee.ztestoneClient client = new ztestoneee.ztestoneClient();<br />
ztestoneee.Z_TEST000Response response = new ztestoneee.Z_TEST000Response();<br />
<strong>//inserisco valori da passare alla chiamata</strong><br />
input.NUM = 3;<br />
input.NUMSpecified = true;<br />
input.TEXTTEST = "Nice!";<br />
<strong>//chiamata a web service</strong><br />
response = client.Z_TEST000(input);<br />
<strong>//elaboro e pubblico la risposta</strong><br />
decimal returnnum = response.RETURNNUM;<br />
string returnchar = response.RETURNCHAR;<br />
Label1.Text = "Hey dude: " + returnnum + returnchar;<br />
}<br />
}</code></p>
<p>Il gioco è fatto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2014/07/18/consumare-un-web-service-sap-con-c-guida-pratica/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript per &#8220;pagina in caricamento&#8221;: loading con eleganza.</title>
		<link>http://www.diplod.it/2014/01/13/javascript-per-pagina-in-caricamento-loading-con-eleganza/</link>
		<comments>http://www.diplod.it/2014/01/13/javascript-per-pagina-in-caricamento-loading-con-eleganza/#comments</comments>
		<pubDate>Mon, 13 Jan 2014 15:58:51 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[animata]]></category>
		<category><![CDATA[boilerplate]]></category>
		<category><![CDATA[caricamento]]></category>
		<category><![CDATA[flexslider]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[initializr]]></category>
		<category><![CDATA[loading]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1419</guid>
		<description><![CDATA[Sempre più spesso si realizzano siti e applicazioni web che richiedono tempi di caricamento un po' più lunghi del normale, per evitare possibili errori nel codice javascript e rendere l'esperienza utente il più fluida possibile, è buona cosa e giusta mostrare qualcosa durante il caricamento della pagina per poi mostrare il contenuto in toto solo una volta che questo si è generato. Ecco come fare, con eleganza.]]></description>
				<content:encoded><![CDATA[<p>Sempre più spesso si realizzano siti e applicazioni web che richiedono <strong>tempi di caricamento</strong> un po&#8217; più lunghi del normale, per evitare possibili errori nel codice javascript e rendere l&#8217;<strong>esperienza utente</strong> il più <strong>fluida</strong> possibile, è buona cosa e giusta mostrare qualcosa durante il caricamento della pagina per poi mostrare il contenuto in toto solo una volta che questo si è generato.</p>
<p>La <strong>demo</strong>? <a title="Demo - caricamento con gif" href="http://lab.diplod.it/initializr-loading/" target="_blank">Eccola</a>! Provare è sempre più rapido che leggere.. ;) Attenzione che la cosa funziona bene la prima volta, poi la pagina viene messa nella cache e l&#8217;immagine di caricamento sparirà in fretta. Per chi vuole scaricare l&#8217;esempio completo e guardarlo in santa pace, basta fare il download.</p>
<p><a style="padding: 10px; background: #dadada; border: 1px solid #ccc;" href="http://lab.diplod.it/initializr-loading/">DEMO</a> <a style="padding: 10px; background: #dadada; border: 1px solid #ccc;" href="http://www.diplod.it/wp-content/uploads/2014/01/initializr-loading.zip">DOWNLOAD</a></p>
<p>Per fare ciò, la prima cosa necessaria è l&#8217;<strong>immagine di caricamento</strong>, una gif animata è l&#8217;ideale. Si possono generare con le proprie preferenze  tramite tools on line come ad esempio <a title="Preloaders" href="http://preloaders.net/" target="_blank">Preloaders </a>o <a title="Animizer" href="http://animizer.net/" target="_blank">Animizer</a>, col primo si ha a disposizione una nutrita serie di immagini eleganti e predefinite, col secondo si possono creare gif animate a partire da proprie immagini.</p>
<p><span id="more-1419"></span></p>

<a href='http://www.diplod.it/2014/01/13/javascript-per-pagina-in-caricamento-loading-con-eleganza/attachment/9400/'><img width="89" height="128" src="http://www.diplod.it/wp-content/uploads/2014/01/9400.gif" class="attachment-thumbnail" alt="gif creata con Animizer" /></a>
<a href='http://www.diplod.it/2014/01/13/javascript-per-pagina-in-caricamento-loading-con-eleganza/page-loader/'><img width="128" height="128" src="http://www.diplod.it/wp-content/uploads/2014/01/page-loader.gif" class="attachment-thumbnail" alt="gif creata con Preloaders" /></a>

<p>Ora veniamo all&#8217;<strong>HTML</strong>, al <strong>CSS</strong> e al caro <strong>jquery</strong>. Il riferimento principale è la documentazione del <a href="http://learn.jquery.com/using-jquery-core/document-ready/" target="_blank">$(document).ready()</a>.</p>
<p>Per fare le cose fatte bene, ho utilizzato l&#8217;<a title="HTML5 Boilerplate" href="http://html5boilerplate.com/" target="_blank">HTML5 Boilerplate</a>, un blasonato framework di frontend che agevola la scrittura del codice ma soprattutto ci da una solida guida per scriverlo bene. Nel template responsivo generato su <a title="Initializr" href="http://www.initializr.com/" target="_blank">Initializr</a> ho inserito <a title="Flexslider" href="http://www.woothemes.com/flexslider/" target="_blank">flexslider</a>, il famoso slider di woothemes. Ho scelto di impostare l&#8217;ambiente di demo in questo modo per avere a disposizione uno slider con alcune immagini ad alta risoluzione che impieghino un po&#8217; di tempo per caricarsi, ma ovviamente la parte di javascript e html che riguarda il caricamento <strong>può essere utilizzata su qualsiasi sito web</strong>.</p>
<p>Vediamo nel dettaglio la tecnica utilizzata, partendo dall&#8217;<strong>HTML</strong>. Basta inserire questo div subito dopo il tag <em>&lt;body&gt;</em>:</p>
<p><code>&lt;div class="loader"&gt;LOADING...&lt;/div&gt;</code></p>
<p>Visualizziamo la scritta loading, a tutto il resto penserà il foglio di stile.</p>
<p>Questo il <strong>CSS</strong>:</p>
<p><code>.loader {<br />
display: none;<br />
position: fixed;<br />
left: 0px;<br />
top: 0px;<br />
width: 100%;<br />
height: 100%;<br />
z-index: 9999;<br />
background: #fafafa url(../img/page-loader.gif) no-repeat center center;<br />
text-align: center;<br />
color: #999;<br />
}</code></p>
<p>Mettiamo a tutta pagina il div, per coprire tutto il contenuto, con una immagine di caricamento come sfondo. Questo blocco verrà rimosso tramite javascript una volta che il caricamento è avvenuto.</p>
<p>Ecco appunto la parte <strong>javascript</strong> (utilizzando jquery):</p>
<p><code>$( document ).ready(function() {<br />
//una volta caricato il DOM esegui questo codice<br />
//console.log( "DOM ready!" );<br />
$(window).load(function() {<br />
//una volta caricata l'intera pagina (immagini e i frames..) esegui questo codice<br />
//console.log( "Page ready!" );<br />
//faccio scomparire l'immagine di caricamento<br />
$(".loader").fadeOut("slow");<br />
});<br />
});</code></p>
<p>Il costrutto <em>$( document ).ready(function() { .. }</em> ci serve per far eseguire &#8220;qualcosa&#8221; una volta caricato tutto l&#8217;albero (DOM), in questo caso scriviamo semplicemente due righe sulla console del browser; mentre il costrutto  <em>$(window).load(function() { .. }</em> ci serve per fare eseguire &#8220;qualcosa&#8221; una volta caricata l&#8217;intera pagina, comprese appunto le immagini o roba contenuta negli iframe. E&#8217; qui, che oltre a scrivere un log sulla console, andiamo a rimuovere il div di caricamento che copriva tutto il contenuto della pagina.</p>
<p><strong>E&#8217; tutto ciò che serve!</strong></p>
<p>NB: ovviamente, se si vuole iniziare a far vedere la pagina e i suoi contenuti durante il caricamento, la stessa tecnica può essere applicata a un div che non copra tutta la pagina, ma ad esempio solo il box dello slider dove si caricheranno le immagini..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2014/01/13/javascript-per-pagina-in-caricamento-loading-con-eleganza/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SAP ECC 6: pubblicare una function come web service, senza fronzoli.</title>
		<link>http://www.diplod.it/2013/11/20/sap-ecc-6-pubblicare-una-function-come-web-service-senza-fronzoli/</link>
		<comments>http://www.diplod.it/2013/11/20/sap-ecc-6-pubblicare-una-function-come-web-service-senza-fronzoli/#comments</comments>
		<pubDate>Wed, 20 Nov 2013 15:47:38 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[ecc6]]></category>
		<category><![CDATA[integrazione]]></category>
		<category><![CDATA[RFC]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[servizio web]]></category>
		<category><![CDATA[soap ui]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1395</guid>
		<description><![CDATA[In giro ci sono troppi un sacco di articoli che spiegano come pubblicare una function come web service, da consumare poi con applicazioni esterne. Questi vogliono essere appunti operativi, che diventano di fatto un how-to da tenere a riferimento per capire come fare.]]></description>
				<content:encoded><![CDATA[<p>In giro ci sono <del>troppi</del> un sacco di articoli che spiegano come pubblicare una function come web service, da consumare poi con applicazioni esterne. Questi vogliono essere appunti operativi, che diventano di fatto un how-to da tenere a riferimento per capire come fare.</p>
<p>Il prerequisito di base è che la function abbia alcune proprietà basilari: &#8220;Modulo accessibile in remoto&#8221;, vedi figura dalla transazione <strong>SE37</strong>.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura1.png"><img class="alignnone size-full wp-image-1396" alt="cattura1" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura1.png" width="781" height="375" /></a></p>
<p>&nbsp;</p>
<p><span id="more-1395"></span></p>
<p>&nbsp;</p>
<p>Per pubblicarla come servizio web, basta andare da menu, sempre nella SE37: Utilities -&gt; Altre Utilities -&gt; Generare servizio web -&gt; Dal function module (vedi figura)</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura2.png"><img class="alignnone size-full wp-image-1397" alt="cattura2" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura2.png" width="773" height="414" /></a></p>
<p>&nbsp;</p>
<p>Bisognerà poi seguire il wizard come da figure sotto, dando un nome al web service.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura3.png"><img class="alignnone size-full wp-image-1398" alt="cattura3" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura3.png" width="790" height="544" /></a></p>
<p>&nbsp;</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura4.png"><img class="alignnone size-full wp-image-1399" alt="cattura4" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura4.png" width="790" height="544" /></a></p>
<p>&nbsp;</p>
<p>Per pubblicare senza richiesta di autenticazione, selezionare come da figura sottostante:</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura5.png"><img class="alignnone size-full wp-image-1400" alt="cattura5" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura5.png" width="790" height="544" /></a></p>
<p>&nbsp;</p>
<p>Scegliere il pacchetto e la richiesta di trasporto.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura6.png"><img class="alignnone size-full wp-image-1401" alt="cattura6" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura6.png" width="790" height="544" /></a></p>
<p>&nbsp;</p>
<p>Cliccare su &#8220;completare&#8221;, si aprirà la maschera di creazione del servizio e resterà solamente da attivare il servizio (con l&#8217;icona di attivazione).</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura9.png"><img class="alignnone size-full wp-image-1404" alt="cattura9" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura9.png" width="786" height="499" /></a></p>
<p>Ora bisognerà terminare il lavoro dalla transazione <strong>SOAMANAGER</strong> (introdotta con l&#8217;ECC 6).<br />
Si aprirà una finestra del browser, da qui bisogna andare su &#8220;Web service configuration&#8221;</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura7.png"><img class="alignnone size-full wp-image-1402" alt="cattura7" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura7.png" width="800" height="479" /></a></p>
<p>&nbsp;</p>
<p>Da qui è possibile ricercare il web service appena creato, selezionarlo, premere &#8220;apply selection&#8221; e andare sulla tab &#8220;configuration&#8221;</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura8.png"><img class="alignnone size-full wp-image-1403" alt="cattura8" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura8.png" width="800" height="629" /></a></p>
<p>&nbsp;</p>
<p>Qui bisogna creare un nuovo servizio.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura101.png"><img class="alignnone size-full wp-image-1406" alt="cattura10" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura101.png" width="512" height="264" /></a></p>
<p>&nbsp;</p>
<p>Bisogna inserire un nome per il servizio e per il binding, poi premere &#8220;Apply Settings&#8221;</p>
<p>&nbsp;</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura11.png"><img class="alignnone size-full wp-image-1407" alt="cattura11" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura11.png" width="459" height="212" /></a></p>
<p>&nbsp;</p>
<p>Sotto si aprire una maschera con le impostazioni del servizio, bisognerà configurarle. Se ad esempio si vuole impostare un utenza fissa, in modo tale che le applicazioni esterne chiamino il servizio senza autenticarsi ogni volta, si può configurare come in figura sotto. Alla fine premere &#8220;Save&#8221;.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2013/11/cattura121.png"><img class="alignnone size-full wp-image-1409" alt="cattura12" src="http://www.diplod.it/wp-content/uploads/2013/11/cattura121.png" width="800" height="627" /></a></p>
<p>&nbsp;</p>
<p>A questo punto è tutto pronto.</p>
<p>Bisognerà premere su &#8220;Open WSDL document for selected binding or service&#8221; per ottenere l&#8217;url della definizione del web service, da utilizzare ad esempio su <a title="SOAP UI" href="http://www.soapui.org/" target="_blank">SOAP UI</a> per poter consumare il web service e testarlo.</p>
<h3>E se un giorno volessimo ripubblicare il servizio dopo aver cambiato la function?</h3>
<p>Magari viene aggiunto un parametro di input/output, il web service non recepirà queste modifiche finchè non lo torniamo a pubblicare. Per fare ciò, da SAP, dobbiamo accedere alla transazione <strong>SE80</strong>. Selezionare il pacchetto in cui è stata salvata la function e poi selezionare il proprio servizio web sotto &#8220;Enterprise Service -&gt; Service Provider&#8221;. Andare in modifica e da menù come da immagine sottostante.</p>
<p><img class="alignnone size-full wp-image-1448" alt="riattivazione" src="http://www.diplod.it/wp-content/uploads/2013/11/riattivazione.png" width="933" height="692" /></p>
<p>Salvare e attivare.</p>
<p>Ora il web service avrà ereditato le modifiche.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2013/11/20/sap-ecc-6-pubblicare-una-function-come-web-service-senza-fronzoli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sharepoint 2010: external list da database SQL esterno alla prova dei fatti</title>
		<link>http://www.diplod.it/2013/03/23/sharepoint-2010-external-list-da-database-sql-esterno-alla-prova-dei-fatti/</link>
		<comments>http://www.diplod.it/2013/03/23/sharepoint-2010-external-list-da-database-sql-esterno-alla-prova-dei-fatti/#comments</comments>
		<pubDate>Sat, 23 Mar 2013 16:19:11 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[BCS]]></category>
		<category><![CDATA[Businness Connectivity Services]]></category>
		<category><![CDATA[integrazione]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[Sharepoint 2010]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1279</guid>
		<description><![CDATA[Con i BCS (Businness Connectivity Services) è possibile creare liste di Sharepoint 2010 contenenti elementi che in realtà risiedono su un database SQL esterno a Sharepoint. Vediamo come funzionano, per appuntarsi qualche utile consiglio. Il primo passo per poter far funzionare il meccanismo è la definizione di una Secure Store Target Application, ovvero di un [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Con i BCS (<a title="Sharepoint 2010 BCS" href="http://msdn.microsoft.com/en-us/magazine/ee819133.aspx" target="_blank">Businness Connectivity Services</a>) è possibile creare liste di Sharepoint 2010 contenenti elementi che in realtà risiedono su un database SQL esterno a Sharepoint. Vediamo come funzionano, per appuntarsi qualche utile consiglio.</p>
<p>Il primo passo per poter far funzionare il meccanismo è la definizione di una<em> Secure Store Target Application</em>, ovvero di un elemento che memorizza le credenziali di accesso al sistema esterno, al quale Sharepoint farà riferimento per evitare che vengano chieste all&#8217;utente che in quel momento visualizza i dati. E&#8217; tuttavia possibile evitare questo passo, se si desidera che per l&#8217;accesso al database esterno vengano utilizzate le credenziali dell&#8217;utente connesso anzichè credenziali comuni.<br />
La <em>Secure Store Target Application</em> si crea dalla <em>Central Administration</em>. Navigando nella sezione <em>Application Management</em>, e cliccando su <em>Manage Service Applications</em> sotto a <em>Service Applications</em>. Apparirà una schermata con la lista delle service applications, clicchiamo su <em>Secure Store Service</em>. A questo punto clicchiamo su <em>Generate New Key</em> nel ribbon, si apre una finestra che chiede di impostare una pass phrase, servirà per poter modificare la target application, va quindi appuntata da qualche parte (ma questo appunto è superfluo, no?).</p>
<p>A questo punto si può creare una nuova target application e compilare tutti i campi necessari, come da figura sotto. Come email mettiamo quella di un amministratore di sistema, mentre come <em>Target Application Type</em> in genere si mette <em>Group</em>, perchè in questo modo è possibile associare la target application a un gruppo di utenti.</p>
<p><span id="more-1279"></span></p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage1.png"><img class="alignnone size-large wp-image-1289" title="BCSmanage1" src="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage1-1024x574.png" alt="" width="1024" height="574" /></a></p>
<p>Nel passaggio successivo è possibile quali campi associare alla target application, in genere sono sufficienti username e password: saranno poi valorizzati con le credenziali che dovranno impersonificare l&#8217;utente che si collega al database.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage2.png"><img class="alignnone size-large wp-image-1290" title="BCSmanage2" src="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage2-1024x574.png" alt="" width="1024" height="574" /></a></p>
<p>Ora bisogna specificare per quali utenti sarà disponibile questa target application, e quali sono gli utenti amministratori.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage3.png"><img class="alignnone size-large wp-image-1292" title="BCSmanage3" src="http://www.diplod.it/wp-content/uploads/2011/11/BCSmanage3-1024x334.png" alt="" width="1024" height="334" /></a></p>
<p>Ora che la <em>target application</em> è creata, non resta che settare le credenziali che utilizzerà per gli accessi al database esterno. Selezioniamo la <em>target application</em> dalla lista e premiamo il tasto<em> set credential</em> nel ribbon.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/set-credential.png"><img class="alignnone size-full wp-image-1293" title="set-credential" src="http://www.diplod.it/wp-content/uploads/2011/11/set-credential.png" alt="" width="452" height="202" /></a></p>
<p>Si aprirà una finestra dove inserire username e password, questo utente deve ovviamente avere accesso ai dati sul database esterno al quale vorremo collegare le liste di Sharepoint.</p>
<p>Ora l&#8217;attività si sposta su Sharepoint Designer 2010, per impostare i contenuti esterni e creare le liste che puntano ad essi. La prima cosa da fare è definire un External Content Type: ovvero un contenuto esterno dal quale attingere. Dopo aver aperto un sito, bisogna andare sul menù <em>External Content Type</em> e tramite il comando ribbon crearne uno nuovo.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/external-content-type.png"><img class="alignnone size-full wp-image-1285" title="external content type" src="http://www.diplod.it/wp-content/uploads/2011/11/external-content-type.png" alt="" width="546" height="190" /></a></p>
<p>Diamo un nome al contenuto esterno e clicchiamo sul link per impostare la connessione verso il sistema esterno.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/external-content.png"><img class="alignnone size-full wp-image-1286" title="external content" src="http://www.diplod.it/wp-content/uploads/2011/11/external-content.png" alt="" width="931" height="549" /></a></p>
<p>Ora bisogna cliccare sul tasto <em>Add Connection</em> per aggiungere una connessione.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/add-connection.png"><img class="alignnone size-large wp-image-1297" title="add-connection" src="http://www.diplod.it/wp-content/uploads/2011/11/add-connection-1024x357.png" alt="" width="1024" height="357" /></a></p>
<p>Apparirà una serie di schermate dove compilare i dati per l&#8217;accesso al database esterno.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/external-data-source.png"><img class="alignnone size-full wp-image-1298" title="external-data-source" src="http://www.diplod.it/wp-content/uploads/2011/11/external-data-source.png" alt="" width="312" height="98" /></a></p>
<p>Selezionare come opzione di connessione<em> Connect with Impersonated Custom Identity</em> e mettere il nome della<em> secure store application</em> definita prima sulla <em>Central Administration</em>.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/sql-connection.png"><img class="alignnone size-full wp-image-1299" title="sql-connection" src="http://www.diplod.it/wp-content/uploads/2011/11/sql-connection.png" alt="" width="378" height="256" /></a></p>
<p>Premendo <em>OK </em>il sistema chiederà le credenziali, inserire quelle dell&#8217;utente definito come amministratore della <em>secure store application</em> ai passi precedenti. Una volta validata la connessione, nell&#8217;<em>Operation Designer</em> apparirà tra le connessioni disponibili anche quella appena impostata: si espande l&#8217;albero per trovare la tabella o la vista contenente i dati che dovranno popolare la lista esterna di Sharepoint.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/operation-designer.png"><img class="alignnone size-large wp-image-1302" title="operation-designer" src="http://www.diplod.it/wp-content/uploads/2011/11/operation-designer-1024x539.png" alt="" width="1024" height="539" /></a></p>
<p>Una volta individuata, cliccando col tasto destro sulla tabella o sulla lista, è possibile generare le operazioni che servono (lettura, modifica, cancellazione, ecc..). E&#8217; possibile crearle tutte assieme, cliccando su <em>Create All Operation</em>. Nelle finestre successive dovremo dare un nome alle operazioni, si potranno settare filtri e sarà necessario marcare almeno un campo come <em>identifier </em>(ID di lista).</p>
<p>I filtri sono necessari per limitare il numero di record restituiti: di default è 2000 e a volte questo valore potrebbe non essere sufficiente, causando errore nella visualizzazione della lista tramite il browser sul sito Sharepoint.</p>
<p>Per l&#8217;operazione <em>Read List</em>, conviene settare qualche campo per la visualizzazione nel <em>picker</em>, altrimenti di default saranno visualizzati tutti e lato utente questa cosa risulta scomoda.</p>
<p>andando su <em>List and Libraries</em>, nei ribbon appare il comando <em>Elenco Esterno</em>.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2011/11/elenco-esterno.png"><img class="alignnone size-full wp-image-1282" title="elenco-esterno" src="http://www.diplod.it/wp-content/uploads/2011/11/elenco-esterno.png" alt="" width="357" height="144" /></a></p>
<p>Per chi volesse approfondire:</p>
<p><a href="http://blog.concurrency.com/sharepoint/accessing-external-data-using-business-connectivity-services-in-sharepoint-2010/">http://blog.concurrency.com/sharepoint/accessing-external-data-using-business-connectivity-services-in-sharepoint-2010/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2013/03/23/sharepoint-2010-external-list-da-database-sql-esterno-alla-prova-dei-fatti/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Consumare un web service SAP da applicazione .NET in C# con Visual Studio</title>
		<link>http://www.diplod.it/2012/10/26/consumare-un-web-service-sap-da-applicazione-net-in-c-visual-studio/</link>
		<comments>http://www.diplod.it/2012/10/26/consumare-un-web-service-sap-da-applicazione-net-in-c-visual-studio/#comments</comments>
		<pubDate>Fri, 26 Oct 2012 16:01:16 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[aspx]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1363</guid>
		<description><![CDATA[Lo scenario è il seguente: dobbiamo pubblicare su una pagina web alcuni dati provenienti da SAP. Il modo migliore per farlo? Creare un function module su SAP che estragga i dati richiesti, pubblicarlo come web service e consumarlo scrivendo qualche riga di codice in Visual Studio.]]></description>
				<content:encoded><![CDATA[<p>Lo <strong>scenario </strong>è il seguente: dobbiamo pubblicare su una pagina web alcuni dati provenienti da <strong>SAP</strong>. Il modo migliore per farlo? Creare un function module su SAP che estragga i dati richiesti, pubblicarlo come <strong>web service</strong> e consumarlo scrivendo qualche riga di codice in Visual Studio.</p>
<p>Lato SAP, dopo aver scritto il nostro <strong>function module</strong> in ABAP (che in questo esempio estrae una tabella di dati tramite alcuni parametri in input e averlo reso disponibile <a title="Pubblicare web service SAP" href="http://www.diplod.it/2012/10/26/pubblicare-un-function-module-sap-come-web-service/">pubblicandolo come web service</a>), per evitare che sia necessario passare le credenziali di accesso durante la chiamata al web service, possiamo pubblicarlo con un utente di default. Per fare ciò: dalla transazione <strong>SICF</strong>, individuare il web service nel ramo <em>sap/bc/srt/rfc/sap/</em>, entrare in modifica e settare l&#8217;utente nella sezione &#8220;Dati di logon anonimi&#8221;.</p>
<p>Avevo già appuntato qualche nota su come <a title="Consumare web service visual studio" href="http://www.diplod.it/2010/12/21/chiamare-e-consumare-un-web-service-da-una-pagina-aspx-con-c/">consumare un web service</a> da una pagina ASPX, tutto quello che sta scritto in quell&#8217;articolo è ovviamente valido, ma questa volta aggiungeremo il servizio al nostro progetto in un modo leggermente diverso. Da <strong>Visual Studio 2010</strong>, cliccando col tasto destro sul nome del progetto e selezionando la voce di menù &#8220;Aggiungi riferimento al servizio..&#8221;</p>
<p><span id="more-1363"></span></p>
<p><a href="http://www.diplod.it/wp-content/uploads/2012/10/addvisualstudio.png"><img class="alignnone size-full wp-image-1365" title="addvisualstudio" src="http://www.diplod.it/wp-content/uploads/2012/10/addvisualstudio.png" alt="" width="622" height="611" /></a></p>
<p>Nella popup che appare inseriremo l&#8217;url del servizio web di SAP e sceglieremo un nome: in questo caso d&#8217;esempio lo chiameremo &#8220;Ws_Factory&#8221;.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2012/10/servizio.png"><img class="alignnone size-full wp-image-1366" title="servizio" src="http://www.diplod.it/wp-content/uploads/2012/10/servizio.png" alt="" width="631" height="510" /></a></p>
<p>A questo punto siamo pronti per sfruttare il web service su una pagina aspx. La pagina avrà un <strong>DataGrid </strong>che servirà per pubblicare la tabella restituita dal web service, in questo datagrid vengono esplicitate solo le colonne da visualizzare, i nomi sono esattamente gli stessi nomi dei campi della tabella su SAP (se avessimo voluto far visualizzare tutta la tabella, bastava non riportare alcuna colonna). Ecco il codice aspx:</p>
<p><code><br />
&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head runat="server"&gt;<br />
&lt;title&gt;Esempio Webservice&lt;/title&gt;<br />
&lt;link href="StyleSheet.css" rel="stylesheet" type="text/css" /&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id="form1" runat="server"&gt;<br />
&lt;div id="container"&gt;<br />
&lt;div id="main-container"&gt;<br />
&lt;asp:GridView ID="GridVisual" AutoGenerateColumns="false" runat="server" CellPadding="0" CellSpacing="0"&gt;<br />
&lt;Columns&gt;<br />
&lt;asp:BoundField HeaderText="CdL" DataField="ARBPL"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Materiale" DataField="MATNR"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Squadra" DataField="TEAMTXT" ItemStyle-CssClass="team"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="T Setup" DataField="SETUP_TIME"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="T Lavorato" DataField="WORKED_TIME"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="T Sospensione" DataField="TIMEOUT"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Pz Teorici" DataField="QTY_THEORETICAL"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Pz Reali" DataField="LMNGA"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Pz Scarto" DataField="XMNGA"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Efficienza Prod" DataField="EFFICIENCY"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Pz da Produrre" DataField="QTY_TO_PROD"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="T al Setup Succ" DataField="NEXT_SETUP"&gt;&lt;/asp:BoundField&gt;<br />
&lt;asp:BoundField HeaderText="Stato" DataField="VM_STATUS"&gt;&lt;/asp:BoundField&gt;<br />
&lt;/Columns&gt;<br />
&lt;/asp:GridView&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
Il codice <strong>C#</strong> necessario è riportato sotto, con relativi commenti che spiegano tutti i passaggi:</p>
<p><code><br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using Ws_factory; //riferimento al Web Service di SAP<br />
public partial class _Default : System.Web.UI.Page<br />
{<br />
// Inizializzazione oggetti<br />
Ws_factory.YSVISUAL_MNGT MyVisual = new Ws_factory.YSVISUAL_MNGT();<br />
Ws_factory.ys_ws_factory_vmClient MyClient = new Ws_factory.ys_ws_factory_vmClient();<br />
Ws_factory.YS_FACTORY_VMRequest MyRequest = new Ws_factory.YS_FACTORY_VMRequest();<br />
Ws_factory.YS_FACTORY_VMResponse MyResponse = new Ws_factory.YS_FACTORY_VMResponse();<br />
protected void Page_Load(object sender, EventArgs e)<br />
{<br />
/* YSVISUAL_MNGT[] è la tabella dove vengono restituiti i dati dal web service di SAP<br />
* Inizializzo come vuota */<br />
YSVISUAL_MNGT[] MyVisual = new YSVISUAL_MNGT[] { };<br />
/* Compilo i parametri della richiesta mettendo i filtri che mi interessano */<br />
//MyRequest.CT_YSVISUAL_MNGT = MyVisual;<br />
MyRequest.IV_ARBPL = "";<br />
MyRequest.IV_DTOEE = "";<br />
MyRequest.IV_NEW_RUN = "";<br />
MyRequest.IV_WERKS = "P100";<br />
/* Lancio il metodo via web passando i parametri appena impostati sopra,<br />
* il riferimento della tab da popolare coi risultati è la tabella MyVisual */<br />
MyClient.YS_FACTORY_VM(ref MyVisual, MyRequest.IV_ARBPL, MyRequest.IV_DTOEE, MyRequest.IV_NEW_RUN, MyRequest.IV_WERKS);<br />
MyResponse.CT_YSVISUAL_MNGT = MyVisual;<br />
/* Ora elaboro i dati restituiti per farli visualizzare sulla pagina */<br />
GridVisual.DataSource = MyResponse.CT_YSVISUAL_MNGT;<br />
GridVisual.DataBind();<br />
}<br />
}<br />
</code><br />
Questo è semplicemente il punto di partenza, da qui è ovviamente possibile spingersi oltre e perdere tempo a volontà.. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2012/10/26/consumare-un-web-service-sap-da-applicazione-net-in-c-visual-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pubblicare un function module SAP come Web Service</title>
		<link>http://www.diplod.it/2012/10/26/pubblicare-un-function-module-sap-come-web-service/</link>
		<comments>http://www.diplod.it/2012/10/26/pubblicare-un-function-module-sap-come-web-service/#comments</comments>
		<pubDate>Fri, 26 Oct 2012 15:32:59 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[SAP]]></category>
		<category><![CDATA[abap]]></category>
		<category><![CDATA[function module]]></category>
		<category><![CDATA[sap]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[soap ui]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1368</guid>
		<description><![CDATA[SAP è un mondo, ma ogni tanto questo mondo deve poter essere "visto" e "manipolato" dall'esterno. Senza infinte elucubrazioni sulla SOA (Service Oriented Architecture), venendo subito al sodo: l'obiettivo di questo articolo è fissare i passaggi per pubblicare come web service un funztion module di SAP scritto in ABAP.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-1371" title="3574742620_6c65635459" src="http://www.diplod.it/wp-content/uploads/2012/10/3574742620_6c65635459.jpg" alt="" width="500" height="322" /><br />
Foto <a href="http://www.flickr.com/photos/walkadog/3574742620/sizes/m/in/photostream/" target="_blank">Credits</a></p>
<p><strong>SAP </strong>è un mondo, ma ogni tanto questo mondo deve poter essere &#8220;visto&#8221; e &#8220;manipolato&#8221; dall&#8217;esterno. Senza infinte elucubrazioni sulla <a title="Service Oriented Architecture" href="http://it.wikipedia.org/wiki/Service-oriented_architecture" target="_blank">SOA</a> (Service Oriented Architecture), venendo subito al sodo: l&#8217;obiettivo di questo articolo è fissare i passaggi per pubblicare come <strong>web service</strong> un <strong>function module</strong> di SAP scritto in ABAP.</p>
<p><span id="more-1368"></span></p>
<p>Dopo aver creato il function module (transazione <strong>SE37</strong>), dovremo avviare il wizard per la pubblicazione (il wizard funziona correttamente con il logon in inglese):</p>
<ul>
<li><strong>Su ECC5.0</strong>:  Menu Utilities &gt; Altre utility &gt; Generare servizio web &gt; Dal function module</li>
<li><strong>Su ECC6.0</strong>:  Tasto destro &gt; Creare Web Service</li>
</ul>
<p>In seguito attivare i servizi sulla transazione <strong>SICF</strong>:</p>
<ul>
<li>/default_host/sap/bc/soap</li>
<li>/default_host/sap/bc/srt</li>
<li>Ogni web service è rappresentato come servizio ICF nel ramo /default_host/sap/bc/srt/rfc/sap/</li>
</ul>
<p>Bisognerà poi recuperare l&#8217;url del web service pubblicato. Le transazioni disponibili dipendono dalla versione del Service Pack:</p>
<ul>
<li><strong>WSADMIN</strong></li>
<li><strong>WSCONFIG</strong></li>
<li><strong>SOAMANAGER</strong></li>
</ul>
<p>I passaggi sono i seguenti:</p>
<ul>
<li>Cercare e selezionare il      web service nel nodo SOAP Application for RFC-Compliant FMs</li>
<li>Menu Web Service &gt;      WSDL</li>
<li>Nella popup selezionare      Document Style</li>
<li>Si apre il browser con il      link e  la definizione del WSDL
<ul>
<li>Non serve la configurazione       del J2EE. Nel caso sia attivata, configurarla da Menu: Passaggio a &gt;       Parametrizzazione Amministrazione (esempio <em>http://dominio.it:50000</em>)</li>
<li>Se non è attivata la       parte J2EE, il WSDL lavora sulla porta dell’ITS (esempio <em>http://dominio.it:8000/sap/bc/srt/rfc/sap/Z_WS_TEST_CUSTOMER_DETAIL?sap-client=600&amp;wsdl=1.1</em> )</li>
</ul>
</li>
<li>Il link per le BAPI      standard è: <em>http://dominio.it:8000/sap/bc/soap/wsdl11?services=BAPI_CUSTOMER_GETDETAIL2&amp;sap-client=600</em></li>
</ul>
<p>Per <strong>testare il web service </strong>si può utilizzare un programma come <a title="SOAP UI" href="http://www.soapui.org/" target="_blank"><strong>SOAP UI</strong></a>. Dopo averlo installato, i passaggi da fare sono i seguenti:</p>
<ul>
<li>Creare nuovo progetto</li>
<li>Nel progetto aggiungere un      WSDL</li>
<li>Indicare il link      recuperato dalla transazione WSADMIN</li>
<li>Inserire username e      password dell’account SAP nel riquadro in basso a sinistra</li>
</ul>
<p>Nella zona di sinistra vanno inseriti i parametri di input, rimuovendo i punti interrogativi. Poi premere il tasto con la freccia verde e nella parte di destra comparirà il risultato restituito dal web service.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2012/10/soapui.png"><img class="alignnone size-large wp-image-1370" title="soapui" src="http://www.diplod.it/wp-content/uploads/2012/10/soapui-1024x550.png" alt="" width="717" height="385" /></a></p>
<p>Non vado oltre anche se il tema meriterebbe molti approfondimenti, riporto queste poche informazioni come promemoria per chiunque si debba cimentare; nel caso qualcuno voglia maggiori informazioni lascio qualche link utile:</p>
<ul>
<li><a href="http://help.sap.com/saphelp_nwpi71/helpdata/en/bb/ddb33d2ae46b3be10000000a114084/frameset.htm">http://help.sap.com/saphelp_nwpi71/helpdata/en/bb/ddb33d2ae46b3be10000000a114084/frameset.htm</a></li>
<li><a href="http://help.sap.com/saphelp_nwpi71/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm">http://help.sap.com/saphelp_nwpi71/helpdata/en/9b/dad1ae3908ee44a5caf57e10918be9/frameset.htm</a></li>
<li><a href="http://www.dataxstream.com/2009/09/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-1/">http://www.dataxstream.com/2009/09/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-1/</a></li>
<li><a href="http://www.dataxstream.com/2009/10/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-2/">http://www.dataxstream.com/2009/10/turn-any-sap-remote-enabled-function-module-into-a-web-service-%E2%80%93-part-2/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2012/10/26/pubblicare-un-function-module-sap-come-web-service/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installare Chrome OS su VMware: come provare il nuovo sistema operativo di Google</title>
		<link>http://www.diplod.it/2011/07/04/installare-chrome-os-su-vmware-come-provare-il-nuovo-sistema-operativo-di-google/</link>
		<comments>http://www.diplod.it/2011/07/04/installare-chrome-os-su-vmware-come-provare-il-nuovo-sistema-operativo-di-google/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 16:02:30 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[virtualizzazione]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1232</guid>
		<description><![CDATA[Sono arrivati in vendita i notebook con Chromium OS preinstallato, anche in Italia. Per la cronaca: trattasi del sistema operativo di Google, concepito per vivere completamente on-line. La notizia non è pù fresca fresca, e ti viene voglia di provare questo sistema operativo di cui tutti parlano.
Come fare? E' un attimo. Abbiamo due possibilità, metterlo su un supporto esterno USB oppure utilizzare VMware Player e avere a disposizione una macchina virtuale sul proprio computer. Ho scelto la seconda strada e metto per iscritto due appunti per chi volesse cimentarsi.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.diplod.it/wp-content/uploads/2011/07/Immagine.png"><img class="aligncenter size-large wp-image-1234" title="Chrome OS" src="http://www.diplod.it/wp-content/uploads/2011/07/Immagine-1024x817.png" alt="" width="490" height="380" /></a></p>
<p style="text-align: left;">Sono arrivati in <a title="chrome book" href="http://www.google.com/chromebook/">vendita i notebook con Chromium OS</a> preinstallato, anche in Italia. Per la cronaca: trattasi del sistema operativo di Google, concepito per <em>vivere</em> completamente on-line. La notizia non è pù fresca fresca, e ti viene voglia di provare questo sistema operativo di cui tutti parlano.</p>
<p>Come fare? E&#8217; un attimo. Abbiamo due possibilità, metterlo su un<strong> supporto esterno USB</strong> oppure utilizzare <strong>VMware Player</strong> e avere a disposizione una macchina virtuale sul proprio computer. Ho scelto la seconda strada e metto per iscritto due appunti per chi volesse cimentarsi.</p>
<ol>
<li>Se già non è installato, <strong>scaricare e installare <a title="VMware player" href="http://www.vmware.com/products/player/" target="_blank">VMware Player</a></strong>, il tool di virtualizzazione gratuito di VMware. Per un&#8217;utenza <em>domestica </em>è più che sufficiente.</li>
<li>Scaricare la <strong><a title="Vanilla Nightly Build Chromium OS" href="http://chromeos.hexxeh.net/vanilla.php" target="_blank">Vanilla Nightly Build di Chromium OS</a></strong>. Vanilla che? Si tratta di una versione del sistema operativo di Google che ogni notte viene compilata fresca fresca dalla fabbrica e messa a disposizione per il download, così tutti coloro che non possono permettersi il notebook  riescono comunque a godersela. Ovviamente bisognerà scaricare la versione per VMware.</li>
<li>Una volta scaricato lo zip, scompattarlo, ad esempio nella cartella <em>C:\ChromeOS\</em></li>
<li>Rinominare il file <strong>ChromeOS-Vanilla-xxxxxxxxxxxxxxxxxxxxx-VMWare.vmdk</strong> in <strong>ChromeOS-Vanilla-VMWare.vmdk</strong></li>
<li>Aprire VMware player e cliccare su <em>Open a Virtual Machine</em></li>
<li>Selezionare la macchina virtuale dalla cartella <em>C:\ChromeOS\ </em>ed il gioco è fatto.</li>
</ol>
<p>Al primo avvio il sistema chiede di fare il logon con le proprie credenziali Google, ovviamente è necessario un account. La prima impressione è che si tratti di un sistema ancora un po&#8217; acerbo, ma prima di sbilanciarmi serve un minimo di esplorazione in più.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2011/07/04/installare-chrome-os-su-vmware-come-provare-il-nuovo-sistema-operativo-di-google/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Highcharts: grafici interattivi con jQuery ottimizzati anche per iPhone / Android</title>
		<link>http://www.diplod.it/2011/02/17/highcharts-grafici-interattivi-con-jquery-ottimizzati-anche-per-iphone-android/</link>
		<comments>http://www.diplod.it/2011/02/17/highcharts-grafici-interattivi-con-jquery-ottimizzati-anche-per-iphone-android/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 17:52:14 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[applicazioni]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[grafici]]></category>
		<category><![CDATA[highcharts]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1176</guid>
		<description><![CDATA[Grafici interattivi e dinamici con Highcharts, un prodotto molto flessibile per costruire cruscotti o report. Possibilità di caricare i dati in maniera asincrona e svariati modi per visualizzarli.. da provare!]]></description>
				<content:encoded><![CDATA[<p><script src="http://www.diplod.it/wp-content/uploads/2011/02/highcharts.js" type="text/javascript"></script><br />
<script type="text/javascript">// <![CDATA[  
$(document).ready(function () { 
//GRAFICO CARICATO QUANDO IL DOM DEL DOCUMENTO HTML E' PRONTO             
chartTurnover = new Highcharts.Chart({               
chart: { 
//id del div all'interno del quale il grafico deve essere visualizzato                 
renderTo: 'content4',                  
zoomType: 'xy'},               
title: {
//descrizione grafico: titolo e sottotitolo
text: 'Fatturato - Obiettivi'
},               
subtitle: {
text: 'Confronto tra vendite effettive e target previsionali'
},
//definizione dell'asse X
xAxis: [
{
categories: ['Qrt1', 'Qrt2', 'Qrt3', 'Qrt4']
}],
//definizione dell'asse Y
yAxis: [{
// aggiungo il simbolo dell'euro alle etichette dell'asse Y
labels: {
formatter: function() {
return this.value +'€'; 
} 
},
//Descrizione posta a lato dell'asse Y
title: {
text: 'Targets'
}
}], 
//Definizione del testo da visualizzare nei tooltip
tooltip: {
formatter: function() {
return ''+ this.series.name + ' ' + this.x +': '+ this.y + '€';
}
}, 
//Posizionamento legenda
legend: {
layout: 'vertical',
align: 'left',
x: 120,
verticalAlign: 'top',
y: 0,
floating: true
},
//Definisco il tipo di rappresentazione grafica
plotOptions: {
column: {
stacking: 'normal'
}
},
//Definizione delle serie di valori
series: [{
name: 'Fatturato zona1',
type: 'column',
data: [14183, 12451, 7254, 9658]
},
{ 
name: 'Fatturato zona2',
type: 'column',
data: [2183, 10451, 5254, 7658]
},
{
name: 'Fatturato zona3',
type: 'column',
data: [2300, 451, 4254, 4658]
},
{
//Ultima serie, di tipo linea (spline), per valorizzare i target
name: 'Targets',
type: 'spline',
data: [18175, 21556, 17145, 19897]
}]
}); 
//end
});
// ]]&gt;</script><br />
<!-- div grafico turnover --></p>
<div id="content4" class="grid_12 box">
<div class="loading" style="background: url(http://www.diplod.it/wp-content/uploads/2011/02/ajax-loader.gif) no-repeat center center; text-align: center; min-height: 100px;">Loading..</div>
</div>
<p>Come ti sembra questo <strong>grafico</strong>? Prova a cliccare sugli elementi della legenda e vedrai che è <strong>interattivo</strong>, potresti utilizzarlo per simulare il rispetto degli obiettivi in assenza di fatturato ottenuto su alcune zone.. Prova a selezionare col mouse una zona del grafico e vedrai puoi fare lo <strong>zoom sui dati</strong> che ti interessano.. Queste e tante altre funzionalità si possono ottenere grazie ad <strong><a title="Highcharts - grafici interattivi" href="http://highcharts.com/">Highcharts</a></strong>, un validissimo <strong>javascript </strong>open source che lavora con jQuery per renderizzare grafici più o meno complessi e molto accattivanti.</p>
<p>Il tutto <strong>senza flash</strong>, cosa a cui difficilmente si poteva rinunciare in era pre-<a title="jquery" href="http://www.google.it/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CCoQFjAA&amp;url=http%3A%2F%2Fjquery.com%2F&amp;ei=MFtdTffFMMKDOrbx3bML&amp;usg=AFQjCNFA7CZ5sWRDhHPuipmhL7zVksjC2A" target="_blank">jQuery</a> se si volevano ottenere i medesimi risultati. Le tipologie di grafici sono molteplici: si va dalla immancabile <a title="Highcharts demo" href="http://highcharts.com/demo/?example=pie-basic&amp;theme=default" target="_blank">torta</a> alla più ricercata <a title="Highcharts demo" href="http://highcharts.com/demo/?example=bar-negative-stack&amp;theme=default" target="_blank">rappresentazione demografica</a>, dal <a title="Highcharts demo" href="http://highcharts.com/demo/?example=column-stacked&amp;theme=default" target="_blank">grafico a barre</a> al potente grafico zoomabile sull&#8217;<a title="Highcharts demo" href="http://highcharts.com/demo/?example=dynamic-master-detail&amp;theme=default" target="_blank">andamento delle quotazioni</a> in borsa. E&#8217; inoltre possibile caricare i dati direttamente da una tabella definita in HTML all&#8217;interno della pagina, con poche righe di codice javascript.<br />
<span id="more-1176"></span></p>
<p>Sotto è riportato il codice, opportunamente commentato, dell&#8217;esempio mostrato in questo articolo.<br />
<code>//Carico il javascript di highcharts, dopo aver caricato jQuery<br />
&lt;script src="js/highcharts.js" type="text/javascript"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript"&gt;// &lt;![CDATA[</p>
<div id="_mcePaste">$(document).ready(function () {</div>
<div id="_mcePaste">//GRAFICO CARICATO QUANDO IL DOM DEL DOCUMENTO HTML E' PRONTO</div>
<div id="_mcePaste">chartTurnover = new Highcharts.Chart({</div>
<div id="_mcePaste">chart: {</div>
<div id="_mcePaste">//id del div all'interno del quale il grafico deve essere visualizzato</div>
<div id="_mcePaste">renderTo: 'content4',</div>
<div id="_mcePaste">zoomType: 'xy'},</div>
<div id="_mcePaste">title: {</div>
<div id="_mcePaste">//descrizione grafico: titolo e sottotitolo</div>
<div id="_mcePaste">text: 'Fatturato - Obiettivi'</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">subtitle: {</div>
<div id="_mcePaste">text: 'Confronto tra vendite effettive e target previsionali'</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">//definizione dell'asse X</div>
<div id="_mcePaste">xAxis: [</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">categories: ['Qrt1', 'Qrt2', 'Qrt3', 'Qrt4']</div>
<div id="_mcePaste">}],</div>
<div id="_mcePaste">//definizione dell'asse Y</div>
<div id="_mcePaste">yAxis: [{</div>
<div id="_mcePaste">// aggiungo il simbolo dell'euro alle etichette dell'asse Y</div>
<div id="_mcePaste">labels: {</div>
<div id="_mcePaste">formatter: function() {</div>
<div id="_mcePaste">return this.value +'€';</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">//Descrizione posta a lato dell'asse Y</div>
<div id="_mcePaste">title: {</div>
<div id="_mcePaste">text: 'Targets'</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}],</div>
<div id="_mcePaste">//Definizione del testo da visualizzare nei tooltip</div>
<div id="_mcePaste">tooltip: {</div>
<div id="_mcePaste">formatter: function() {</div>
<div id="_mcePaste">return ''+ this.series.name + ' ' + this.x +': '+ this.y + '€';</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">//Posizionamento legenda</div>
<div id="_mcePaste">legend: {</div>
<div id="_mcePaste">layout: 'vertical',</div>
<div id="_mcePaste">align: 'left',</div>
<div id="_mcePaste">x: 120,</div>
<div id="_mcePaste">verticalAlign: 'top',</div>
<div id="_mcePaste">y: 0,</div>
<div id="_mcePaste">floating: true</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">//Definisco il tipo di rappresentazione grafica</div>
<div id="_mcePaste">plotOptions: {</div>
<div id="_mcePaste">column: {</div>
<div id="_mcePaste">stacking: 'normal'</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">//Definizione delle serie di valori</div>
<div id="_mcePaste">series: [{</div>
<div id="_mcePaste">name: 'Fatturato zona1',</div>
<div id="_mcePaste">type: 'column',</div>
<div id="_mcePaste">data: [14183, 12451, 7254, 9658]</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">name: 'Fatturato zona2',</div>
<div id="_mcePaste">type: 'column',</div>
<div id="_mcePaste">data: [2183, 10451, 5254, 7658]</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">name: 'Fatturato zona3',</div>
<div id="_mcePaste">type: 'column',</div>
<div id="_mcePaste">data: [2300, 451, 4254, 4658]</div>
<div id="_mcePaste">},</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">//Ultima serie, di tipo linea (spline), per valorizzare i target</div>
<div id="_mcePaste">name: 'Targets',</div>
<div id="_mcePaste">type: 'spline',</div>
<div id="_mcePaste">data: [18175, 21556, 17145, 19897]</div>
<div id="_mcePaste">}]</div>
<div id="_mcePaste">});</div>
<div id="_mcePaste">//end</div>
<div id="_mcePaste">// ]]&gt;&lt;/script&gt;</div>
<p></code></p>
<p>Data la sua natura di puro css e javascript, questo grafico è agilmente fruibile anche da dispositivi mobili come iPhone o Android, inoltre è ben renderizzato dai principali browser. Si tratta di un prodotto davvero interessante che potrebbe tornare utile in diverse applicazioni stand-alone, a costo zero. Ben diverso dal classico <a href="http://www.diplod.it/2008/04/20/google-chart-api-grafici-dinamici-in-un-attimo/">Google Charts</a>, servizio comodissimo che però pecca in quanto ad interattività: all&#8217;utente viene infatti restituita in quel caso una immagine statica.</p>
<p><strong>Cosa Manca?</strong> Mancano i &#8220;<strong>geo-grafici</strong>&#8220;, ovvero la possibilità di visualizzare i dati su una cartina; mancano i <strong>tachimetri</strong>, per visualizzare in un colpo d&#8217;occhio l&#8217;andamento più o meno positivo di un indicatore. Sono comunque cose a cui si può sopperire spulciando bene l&#8217;elenco dei plugin jQuery..<br />
<strong>E voi? Che cosa utilizzate in questi casi?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2011/02/17/highcharts-grafici-interattivi-con-jquery-ottimizzati-anche-per-iphone-android/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Chiamare e consumare un web service da una pagina aspx con C#</title>
		<link>http://www.diplod.it/2010/12/21/chiamare-e-consumare-un-web-service-da-una-pagina-aspx-con-c/</link>
		<comments>http://www.diplod.it/2010/12/21/chiamare-e-consumare-un-web-service-da-una-pagina-aspx-con-c/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 11:41:40 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[esempio]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[web service]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1166</guid>
		<description><![CDATA[Un esempio pratico per interrogare un web service remoto e restituire il risultato su una pagina aspx scritta in C# con Visual Studio.]]></description>
				<content:encoded><![CDATA[<p>Cosa sono i <strong>web service</strong> e perchè possono essere davvero <strong>utili </strong>lo lascio raccontare ad altri:</p>
<ul>
<li><a href="http://it.wikipedia.org/wiki/Web_service" target="_blank">Web Service su Wikipedia</a></li>
<li><a href="http://server.html.it/guide/leggi/100/guida-web-service/" target="_blank">Guida Web Service</a></li>
</ul>
<p>L&#8217;obiettivo di questo articolo è fissare un <strong>esempio pratico</strong> per interrogare un web service e sfruttare i risultati che restituisce utilizzando <strong>C# e Visual Studio</strong>.</p>
<p>Supponiamo di dover accedere al webservice di esempio su W3C, descritto a questa pagina: http://www.w3schools.com/webservices/tempconvert.asmx<br />
La descrizione del servizio è fornita a questo URL:  http://www.w3schools.com/webservices/tempconvert.asmx</p>
<p>Il servizio ha 2 metodi  - <em>FahrenheitToCelsius()</em> e <em>CelsiusToFahrenheit() </em>- che accettano entrambi un solo parametro di input e convertono la temperatura da gradi fahrenhait a Celsius e viceversa.</p>
<p>La risposta del server è un XML di questo tipo:<br />
<code>&lt;?xml version="1.0" encoding="utf-8" ?&gt;&lt;string xmlns="http://tempuri.org/"&gt;38&lt;/string&gt;</code></p>
<p><span id="more-1166"></span>Su Visual Studio, cliccando sul nome del progetto web col tasto destro, si apre un menu dove è possibile aggiungere una <em>Web Reference</em>.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2010/12/ws1.png"><img class="alignnone size-large wp-image-1168" title="ws1" src="http://www.diplod.it/wp-content/uploads/2010/12/ws1-1024x640.png" alt="" width="800" height="580" /></a></p>
<p>Qui si inserisce l’indirizzo della descrizione WSDL del web service.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2010/12/ws2.png"><img class="alignnone size-full wp-image-1169" title="ws2" src="http://www.diplod.it/wp-content/uploads/2010/12/ws2.png" alt="" width="825" height="571" /></a></p>
<p>Il software identifica l’interfaccia del servizio web, con i metodi che mette a disposizione.<br />
Per aggiungerlo al progetto si clicca sul tasto Add Reference. Fatto questo ci troveremo l&#8217;oggetto nel Solution Explorer.</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2010/12/ws3.png"><img class="alignnone size-full wp-image-1170" title="ws3" src="http://www.diplod.it/wp-content/uploads/2010/12/ws3.png" alt="" width="380" height="284" /></a></p>
<p>Ora nel codice della pagina aspx su cui vogliamo consumare il web service è necessario aggiungere il riferimento con questo codice:<br />
<code>using com.w3schools.www;</code></p>
<p><a href="http://www.diplod.it/wp-content/uploads/2010/12/ws4.png"><img class="alignnone size-full wp-image-1171" title="ws4" src="http://www.diplod.it/wp-content/uploads/2010/12/ws4.png" alt="" width="800" height="320" /></a></p>
<p>Ora dichiariamo un oggetto per la web reference, che sarà possibile utilizzare con tutti i sui metodi come qualsiasi altro oggetto:</p>
<p><code>com.w3schools.www.TempConvert MyProxy = new com.w3schools.www.TempConvert();</code></p>
<p><a href="http://www.diplod.it/wp-content/uploads/2010/12/ws5.png"><img class="alignnone size-full wp-image-1172" title="ws5" src="http://www.diplod.it/wp-content/uploads/2010/12/ws5.png" alt="" width="633" height="331" /></a></p>
<p>L’esempio finale completo potrebbe essere una pagine con una textbox che nella quale l’utente scrive la temperatura, un bottone di invio invoca il webservice e il risultato appare in una label. In questo caso il codice della classe sarebbe il seguente:<br />
<code><br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Web;<br />
using System.Web.UI;<br />
using System.Web.UI.WebControls;<br />
using com.w3schools.www;<br />
public partial class _Default : System.Web.UI.Page{<br />
com.w3schools.www.TempConvert MyProxy = new com.w3schools.www.TempConvert();<br />
protected void Page_Load(object sender, EventArgs e)    { }<br />
protected void Button1_Click(object sender, EventArgs e)    {<br />
Label1.Text = MyProxy.CelsiusToFahrenheit(TextBox1.Text);<br />
}<br />
}<br />
</code></p>
<p>Mentre il codice della pagina il seguente:<br />
<code><br />
&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %&gt;<br />
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head runat="server"&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form id="form1" runat="server"&gt;<br />
&lt;div&gt;<br />
&lt;asp:TextBox ID="TextBox1" runat="server"&gt;&lt;/asp:TextBox&gt;&amp;nbsp;&lt;asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /&gt;&lt;br /&gt;<br />
&lt;asp:Label ID="Label1" runat="server" Text="Label"&gt;&lt;/asp:Label&gt;<br />
&lt;/div&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code></p>
<p>E ora non resta che sbizzarrirsi, una volta imparato <strong>il mestiere va affinato</strong>.</p>
<p>Lascio qualche link per chi i web service li vuole anche costruire:</p>
<ul>
<li><a href="http://www.codeproject.com/KB/java/Invoke_Java_WS_In_CS.aspx" target="_blank">How to create and invoke Java web service</a></li>
<li><a href="http://www.codeproject.com/KB/webservices/myservice.aspx" target="_blank">Your first C# Web Service</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/12/21/chiamare-e-consumare-un-web-service-da-una-pagina-aspx-con-c/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Componenti Ajax e UI Toolkit per applicazioni web RIA</title>
		<link>http://www.diplod.it/2010/07/19/componenti-ajax-e-ui-toolkit-per-applicazioni-web-ria/</link>
		<comments>http://www.diplod.it/2010/07/19/componenti-ajax-e-ui-toolkit-per-applicazioni-web-ria/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 06:42:17 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[toolkit]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1087</guid>
		<description><![CDATA[Volete stupire con componenti dinamici pronti all'uso? Creare applicazioni web avanzate non è poi così laborioso, oggi si trovano un sacco di risorse in rete. Ecco una breve panoramica.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.diplod.it/wp-content/uploads/2010/07/toolkit.png"><img class="size-full wp-image-1130 aligncenter" title="toolkit" src="http://www.diplod.it/wp-content/uploads/2010/07/toolkit.png" alt="" width="415" height="212" /></a></p>
<p><strong>Volete stupire con componenti dinamici pronti all&#8217;uso?</strong> Creare <strong>applicazioni web</strong> avanzate non è poi così laborioso, oggi si trovano un sacco di risorse in rete. Una di queste è il<strong> <a title="DHTMLX" href="http://www.dhtmlx.com/" target="_blank">DHTMLX UI Toolkit</a></strong>, una serie di <strong>librerie javascript</strong> corredate da tantissimi esempi. La documentazione è ciò che fa la differenza: gli script non documentati e con pochi esempi sono quasi inutilizzabili, se non perdendo un sacco di ore per studiarseli. UI Toolkit viene distribuito in uno zip con diverse pagine di pratiche demo.</p>
<p>Per chi lavora in <strong>ambiente .NET</strong> molto interessante è questo <a title="Ajax Control Toolkit" href="http://ajaxcontroltoolkit.codeplex.com/" target="_blank"><strong>Ajax Control Toolkit</strong></a>, un insieme di controlli utilizzabili direttamente in <strong>Visual Studio</strong> con il drag and drop, per costruire form e applicazioni accattivanti. Da Codeplex si possono scaricare anche i sorgenti, corredati da diversi esempi. In <a title="Ajax control toolkit - esempi" href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/" target="_blank">questa pagina</a> si può avere una panoramica di tutte le funzionalità disponibili, sono davvero parecchie:</p>
<p><span id="more-1087"></span></p>
<ul>
<li><a id="ctl00_SamplesLinks_ctl01_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Accordion/Accordion.aspx">Accordion</a></li>
<li><a id="ctl00_SamplesLinks_ctl02_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AlwaysVisibleControl/AlwaysVisibleControl.aspx">AlwaysVisibleControl</a></li>
<li><a id="ctl00_SamplesLinks_ctl03_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Animation/Animation.aspx">Animation</a></li>
<li><a id="ctl00_SamplesLinks_ctl04_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AsyncFileUpload/AsyncFileUpload.aspx">AsyncFileUpload</a></li>
<li><a id="ctl00_SamplesLinks_ctl05_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/AutoComplete/AutoComplete.aspx">AutoComplete</a></li>
<li><a id="ctl00_SamplesLinks_ctl06_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Calendar/Calendar.aspx">Calendar</a></li>
<li><a id="ctl00_SamplesLinks_ctl07_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/CascadingDropDown/CascadingDropDown.aspx">CascadingDropDown</a></li>
<li><a id="ctl00_SamplesLinks_ctl08_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/CollapsiblePanel/CollapsiblePanel.aspx">CollapsiblePanel</a></li>
<li><a id="ctl00_SamplesLinks_ctl09_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ColorPicker/ColorPicker.aspx">ColorPicker</a></li>
<li><a id="ctl00_SamplesLinks_ctl10_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ComboBox/ComboBox.aspx">ComboBox</a></li>
<li><a id="ctl00_SamplesLinks_ctl11_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ConfirmButton/ConfirmButton.aspx">ConfirmButton</a></li>
<li><a id="ctl00_SamplesLinks_ctl12_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/DragPanel/DragPanel.aspx">DragPanel</a></li>
<li><a id="ctl00_SamplesLinks_ctl13_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/DropDown/DropDown.aspx">DropDown</a></li>
<li><a id="ctl00_SamplesLinks_ctl14_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/DropShadow/DropShadow.aspx">DropShadow</a></li>
<li><a id="ctl00_SamplesLinks_ctl15_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/DynamicPopulate/DynamicPopulate.aspx">DynamicPopulate</a></li>
<li><a id="ctl00_SamplesLinks_ctl16_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/FilteredTextBox/FilteredTextBox.aspx">FilteredTextBox</a></li>
<li><a id="ctl00_SamplesLinks_ctl17_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HoverMenu/HoverMenu.aspx">HoverMenu</a></li>
<li><a id="ctl00_SamplesLinks_ctl18_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/HTMLEditor/HTMLEditor.aspx">HTMLEditor</a></li>
<li><a id="ctl00_SamplesLinks_ctl19_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ListSearch/ListSearch.aspx">ListSearch</a></li>
<li><a id="ctl00_SamplesLinks_ctl20_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MaskedEdit/MaskedEdit.aspx">MaskedEdit</a></li>
<li><a id="ctl00_SamplesLinks_ctl21_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ModalPopup/ModalPopup.aspx">ModalPopup</a></li>
<li><a id="ctl00_SamplesLinks_ctl22_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MultiHandleSlider/MultiHandleSlider.aspx">MultiHandleSlider</a></li>
<li><a id="ctl00_SamplesLinks_ctl23_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MutuallyExclusiveCheckBox/MutuallyExclusiveCheckBox.aspx">MutuallyExclusiveCheckBox</a></li>
<li><a id="ctl00_SamplesLinks_ctl24_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/NoBot/NoBot.aspx">NoBot</a></li>
<li><a id="ctl00_SamplesLinks_ctl25_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/NumericUpDown/NumericUpDown.aspx">NumericUpDown</a></li>
<li><a id="ctl00_SamplesLinks_ctl26_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/PagingBulletedList/PagingBulletedList.aspx">PagingBulletedList</a></li>
<li><a id="ctl00_SamplesLinks_ctl27_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/PasswordStrength/PasswordStrength.aspx">PasswordStrength</a></li>
<li><a id="ctl00_SamplesLinks_ctl28_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/PopupControl/PopupControl.aspx">PopupControl</a></li>
<li><a id="ctl00_SamplesLinks_ctl29_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Rating/Rating.aspx">Rating</a></li>
<li><a id="ctl00_SamplesLinks_ctl30_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ReorderList/ReorderList.aspx">ReorderList</a></li>
<li><a id="ctl00_SamplesLinks_ctl31_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ResizableControl/ResizableControl.aspx">ResizableControl</a></li>
<li><a id="ctl00_SamplesLinks_ctl32_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/RoundedCorners/RoundedCorners.aspx">RoundedCorners</a></li>
<li><a id="ctl00_SamplesLinks_ctl33_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Seadragon/Seadragon.aspx">Seadragon</a></li>
<li><a id="ctl00_SamplesLinks_ctl34_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Slider/Slider.aspx">Slider</a></li>
<li><a id="ctl00_SamplesLinks_ctl35_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/SlideShow/SlideShow.aspx">SlideShow</a></li>
<li><a id="ctl00_SamplesLinks_ctl36_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/Tabs/Tabs.aspx">Tabs</a></li>
<li><a id="ctl00_SamplesLinks_ctl37_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/TextBoxWatermark/TextBoxWatermark.aspx">TextBoxWatermark</a></li>
<li><a id="ctl00_SamplesLinks_ctl38_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ToggleButton/ToggleButton.aspx">ToggleButton</a></li>
<li><a id="ctl00_SamplesLinks_ctl39_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/UpdatePanelAnimation/UpdatePanelAnimation.aspx">UpdatePanelAnimation</a></li>
<li><a id="ctl00_SamplesLinks_ctl40_SamplesLink" href="http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/ValidatorCallout/ValidatorCallout.aspx">ValidatorCallout</a></li>
</ul>
<p>Per chi vuole essere indipendente da javascript e piattaforma tecnologica, esiste questo <strong><a title="Vaddin Toolkit" href="http://vaadin.com/home" target="_blank">Vaadin</a></strong>, tutto basato su <strong>Java</strong>. Quest&#8217;ultimo molto più simile ai più noti framewok come <a title="Mootools" href="http://mootools.net/" target="_blank">Mootools</a> o <a title="JQuery" href="http://jquery.com/" target="_blank">JQuery</a>: dispone di diversi componenti elementari che opportunamente combinati tra loro danno vita ad applicazioni web avanzate.</p>
<p>Da segnalare infine questo <a title="iwebkit" href="http://iwebkit.net/" target="_blank">iWebKit</a>, utile per chi vuole cimentarsi nella realizzazione di siti e applicazioni concepite specificatamente per iPhone.</p>
<p>Risorse di questo tipo ne esistono davvero a bizzeffe, ma <strong>non è facile distinguere</strong> quelle che sono effettivamente utilizzabili <strong>out of the box</strong> da quelle che invece necessitano di altro e magari nascondono limiti tali da sconsigliarne l&#8217;utilizzo. Personalmente ho utilizzato in un ambiente di produzione l&#8217;UI Toolkit di DHTMLX e posso confermare che si tratta di librerie pronte all&#8217;uso, davvero comode e funzionali. Ho intenzione di provare a breve l&#8217;Ajax Control Toolkit per .NET e vi farò sapere le mie considerazioni. <strong>Mi piacerebbe ovviamente sentire le vostre e capire se esistono altri strumenti oltre a quelli citati, che magari avete utilizzato direttamente</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/07/19/componenti-ajax-e-ui-toolkit-per-applicazioni-web-ria/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Leggere e visualizzare file XML con C# (C sharp): qualche esempio</title>
		<link>http://www.diplod.it/2010/07/13/leggere-e-visualizzare-file-xml-con-c-c-sharp-qualche-esempio/</link>
		<comments>http://www.diplod.it/2010/07/13/leggere-e-visualizzare-file-xml-con-c-c-sharp-qualche-esempio/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 12:31:32 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Applicazioni Web]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[aspx]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsd]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1127</guid>
		<description><![CDATA[C# è ormai un linguaggio diffuso, Visual Studio volenti o nolenti è un IDE collaudato e comodo anche per lo sviluppo di applicazioni web. E quando si parla di web, si parla spesso di XML. Leggere i dati di un documento XML è un'operazione semplice e veloce, farli visualizzare su una pagina web è altrettanto rapido, ma è bene sapere alcune nozioni per potersi muovere con tranquillità e sicurezza.]]></description>
				<content:encoded><![CDATA[<p><strong>C#</strong> è ormai un linguaggio diffuso, <strong>Visual Studio</strong> volenti o nolenti è un IDE collaudato e comodo anche per lo sviluppo di applicazioni web. E quando si parla di web, si parla spesso di <strong>XML</strong>.</p>
<p>Leggere i dati di un documento XML è un&#8217;operazione semplice e veloce, farli visualizzare su una pagina web è altrettanto rapido, ma è bene sapere alcune nozioni per potersi muovere con tranquillità e sicurezza.</p>
<p>Andiamo con ordine e vediamo subito un esempio di un file XML che vogliamo trattare:</p>
<p><code>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;<br />
&lt;DataSet&gt;<br />
&lt;data&gt;<br />
&lt;period&gt;2010-06-06&lt;/period&gt;<br />
&lt;logunit id="myID"&gt;Milano&lt;/logunit&gt;<br />
&lt;entered matcode="ABC001"&gt;100&lt;/entered&gt;<br />
&lt;produced matcode="ABC002"&gt;101&lt;/produced&gt;<br />
&lt;delivered matcode="ABC002"&gt;100&lt;/delivered&gt;<br />
&lt;description&gt;Caramelline alla fragola&lt;/description&gt;<br />
&lt;updated&gt;2010-06-06T13:05:21+01:00&lt;/updated&gt;<br />
&lt;note&gt;tante belle cose..&lt;/note&gt;<br />
&lt;/data&gt;<br />
&lt;data&gt;<br />
[..]<br />
&lt;/data&gt;<br />
&lt;/DataSet&gt;</code></p>
<p>Questo file potrebbe rappresentare dei dati produttivi, riguardanti ad esempio i materiali entrati in magazzino, i materiali prodotti e il venduto.</p>
<p>Il modo più rapido e banale per leggere questo file e farlo visualizzare su una pagina ASPX è tramite il seguente codice:</p>
<p><code>DataSet ds = new DataSet();<br />
ds.ReadXml(@"C:\test.xml", XmlReadMode.Auto);<br />
DataView MyDataView = new DataView(ds.Tables[0]);<br />
MyDataGrid.DataSource = MyDataView;<br />
MyDataGrid.DataBind();</code></p>
<p>Il codice non fa altro che creare un nuovo DataSet per contenere i dati che andremo a leggere, leggere il file tramite il metodo ReadXml(), creare una DataView con la tabella creata nel dataset e assegnare quest&#8217;ultima come DataSource per la DataGrid.</p>
<p><span id="more-1127"></span></p>
<p>All&#8217;interno della pagina .aspx ci sarà quindi una DataSource così fatta:</p>
<p><code>&lt;asp:DataGrid id="MyDataGrid" runat="server" &gt;<br />
    &lt;HeaderStyle CssClass="th"&gt;<br />
    &lt;/HeaderStyle&gt;<br />
&lt;/asp:DataGrid&gt;</code></p>
<p>Tralasciamo lo stile attribuito alla testata della datagrid, ciò che è importante in questo caso è solo l&#8217;ID. </p>
<p>Così facendo però ottengo una tabella di questo tipo:</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>period</td>
<td>data_Id</td>
<td>description</td>
<td>updated</td>
<td>note</td>
</tr>
<tr>
<td>2010-06-06</td>
<td>0</td>
<td>Caramelline alla fragola</td>
<td>2010-06-16T13:05:21+01:00</td>
<td>tante belle cose..</td>
</tr>
</tbody>
</table>
<p>E tutti gli altri dati che fine hanno fatto? Sono stati salvati in altre tabelle del DataSet, assieme a tutti gli attributi dell&#8217;xml; queste tabelle avranno come riferimento il <em>data_Id</em> e potrò utilizzarle come meglio credo.</p>
<p>Se infatti cambiamo il primo codice, mettendo una tabella diversa, in questo modo:</p>
<p><code>DataView MyDataView = new DataView(ds.Tables[1]);</code></p>
<p>Verrà visualizzata una pagina con la seguente tabella:</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>id</td>
<td>logunit_Text</td>
<td>data_Id</td>
</tr>
<tr>
<td>MyID</td>
<td>Milano</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Se cambio e metto la terza tabella:</p>
<p><code>DataView MyDataView = new DataView(ds.Tables[2]);</code></p>
<p>Il risultato sarà:</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>matcode</td>
<td>entered_Text</td>
<td>data_Id</td>
</tr>
<tr>
<td>ABC001</td>
<td>100</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Mentre per le tabelle successive, avrò questi risultati visualizzati:</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>matcode</td>
<td>produced_Text</td>
<td>data_Id</td>
</tr>
<tr>
<td>ABC002</td>
<td>101</td>
<td>0</td>
</tr>
</tbody>
</table>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>matcode</td>
<td>delivered_Text</td>
<td>data_Id</td>
</tr>
<tr>
<td>ABC002</td>
<td>100</td>
<td>0</td>
</tr>
</tbody>
</table>
<p>Incrociando queste tabelle attraverso il campo <em>data_Id</em> potrei ricavare tutti i dati contenuti nell&#8217;XML, attributi e testi all&#8217;interno dei tag.<br />
Il mio obiettivo era però quello di far visualizzare questi dati senza gli attributi riportati nell&#8217;XML. Ciò che mi interessa sono solo i dati riportati all&#8217;interno dei tag. Vorrei avere un risultato di questo tipo:</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>period</td>
<td>description</td>
<td>updated</td>
<td>note</td>
<td>logunit</td>
<td>entered</td>
<td>produced</td>
<td>delivered</td>
</tr>
<tr>
<td>2010-06-06</td>
<td>Caramelline alla fragola</td>
<td>2010-06-16T13:05:21+01:00</td>
<td>tante belle cose..</td>
<td>Milano</td>
<td>100</td>
<td>101</td>
<td>100</td>
</tr>
</tbody>
</table>
<p>In questo caso potrebbe fare al caso nostro l&#8217; <a title="XML Schema" href="http://www.w3schools.com/schema/default.asp" target="_blank">XML Schema</a>. Si tratta di un file con estensione XSD, che descrive i dati contenuti in un file XML. Ogni file XML può avere uno schema associato che lo descrive. Esistono diversi <strong>tool</strong> che possono <strong>creare un file XSD a partire da un XML</strong>, uno di questi, che trovo molto pratico è <a title="XML 2 XSD" href="http://www.flame-ware.com/products/xml-2-xsd/default.aspx" target="_blank">quello di Flame-Ware</a> completamente on-line. </p>
<p>Il nostro file XML iniziale potrebbe essere descritto da questo XSD, supponendo che tutti i campi siano stringe.</p>
<p><code>&lt;?xml version="1.0"?&gt;<br />
&lt;!-- Generated using Flame-Ware Solutions XML-2-XSD v2.0 at <a href="http://www.flame-ware.com/Products/XML-2-XSD/">http://www.flame-ware.com/Products/XML-2-XSD/</a> --&gt;<br />
&lt;xs:schema id="DataSet" xmlns="" xmlns:xs="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;<br />
  &lt;xs:element name="DataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"&gt;<br />
    &lt;xs:complexType&gt;<br />
      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;<br />
        &lt;xs:element name="data"&gt;<br />
          &lt;xs:complexType&gt;<br />
            &lt;xs:sequence&gt;<br />
              &lt;xs:element name="period" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="description" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="updated" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="note" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="logunit" nillable="true" minOccurs="0" maxOccurs="unbounded"&gt;<br />
                &lt;xs:complexType&gt;<br />
                  &lt;xs:simpleContent msdata:ColumnName="logunit_Text" msdata:Ordinal="1"&gt;<br />
                    &lt;xs:extension base="xs:string"&gt;<br />
                      &lt;xs:attribute name="id" type="xs:string" /&gt;<br />
                    &lt;/xs:extension&gt;<br />
                  &lt;/xs:simpleContent&gt;<br />
                &lt;/xs:complexType&gt;<br />
              &lt;/xs:element&gt;<br />
              &lt;xs:element name="entered" nillable="true" minOccurs="0" maxOccurs="unbounded"&gt;<br />
                &lt;xs:complexType&gt;<br />
                  &lt;xs:simpleContent msdata:ColumnName="entered_Text" msdata:Ordinal="1"&gt;<br />
                    &lt;xs:extension base="xs:string"&gt;<br />
                      &lt;xs:attribute name="matcode" type="xs:string" /&gt;<br />
                    &lt;/xs:extension&gt;<br />
                  &lt;/xs:simpleContent&gt;<br />
                &lt;/xs:complexType&gt;<br />
              &lt;/xs:element&gt;<br />
              &lt;xs:element name="produced" nillable="true" minOccurs="0" maxOccurs="unbounded"&gt;<br />
                &lt;xs:complexType&gt;<br />
                  &lt;xs:simpleContent msdata:ColumnName="produced_Text" msdata:Ordinal="1"&gt;<br />
                    &lt;xs:extension base="xs:string"&gt;<br />
                      &lt;xs:attribute name="matcode" type="xs:string" /&gt;<br />
                    &lt;/xs:extension&gt;<br />
                  &lt;/xs:simpleContent&gt;<br />
                &lt;/xs:complexType&gt;<br />
              &lt;/xs:element&gt;<br />
              &lt;xs:element name="delivered" nillable="true" minOccurs="0" maxOccurs="unbounded"&gt;<br />
                &lt;xs:complexType&gt;<br />
                  &lt;xs:simpleContent msdata:ColumnName="delivered_Text" msdata:Ordinal="1"&gt;<br />
                    &lt;xs:extension base="xs:string"&gt;<br />
                      &lt;xs:attribute name="matcode" type="xs:string" /&gt;<br />
                    &lt;/xs:extension&gt;<br />
                  &lt;/xs:simpleContent&gt;<br />
                &lt;/xs:complexType&gt;<br />
              &lt;/xs:element&gt;<br />
            &lt;/xs:sequence&gt;<br />
          &lt;/xs:complexType&gt;<br />
        &lt;/xs:element&gt;<br />
      &lt;/xs:choice&gt;<br />
    &lt;/xs:complexType&gt;<br />
  &lt;/xs:element&gt;<br />
&lt;/xs:schema&gt;</code></p>
<p>Per associare questo schema al file XML, è necessario dichiararlo nell&#8217;intestazione, in questo modo:</p>
<p><code>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;<br />
&lt;DataSet <span style="color: #800000;">xmlns:xsi="</span><a href="http://www.w3.org/2001/XMLSchema-instance"><span style="color: #800000;">http://www.w3.org/2001/XMLSchema-instance</span></a><span style="color: #800000;">"<br />
xsi:noNamespaceSchemaLocation="schema.xsd"</span>&gt;<br />
&lt;data&gt;<br />
&lt;period&gt;2010-06-06&lt;/period&gt;<br />
&lt;logunit id="myID"&gt;Milano&lt;/logunit&gt;<br />
&lt;entered matcode="ABC001"&gt;100&lt;/entered&gt;<br />
&lt;produced matcode="ABC002"&gt;101&lt;/produced&gt;<br />
&lt;delivered matcode="ABC002"&gt;100&lt;/delivered&gt;<br />
&lt;description&gt;Caramelline alla fragola&lt;/description&gt;<br />
&lt;updated&gt;2010-06-06T13:05:21+01:00&lt;/updated&gt;<br />
&lt;note&gt;tante belle cose..&lt;/note&gt;<br />
&lt;/data&gt;<br />
&lt;/DataSet&gt;</code></p>
<p>Così facendo però, se rilanciamo la pagina costruita in precedenza, il risultato sarà identico: un unico dataset con diverse tabelle collegate tra loro dal campo <em>data_Id</em>.</p>
<p>Quindi? La soluzione c&#8217;è. <strong>Dobbiamo solo definire uno schema XSD semplificato all&#8217;interno dell&#8217;XML stesso</strong>. In questo modo:</p>
<p><code>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;<br />
&lt;DataSet&gt;<br />
<span style="color: #800000;">&lt;xs:schema id="NewDataset" xmlns="" xmlns:xs="</span><a href="http://www.w3.org/2001/XMLSchema"><span style="color: #800000;">http://www.w3.org/2001/XMLSchema</span></a><span style="color: #800000;">" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"&gt;<br />
  &lt;xs:element name="NewDataset" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"&gt;<br />
    &lt;xs:complexType&gt;<br />
      &lt;xs:choice minOccurs="0" maxOccurs="unbounded"&gt;<br />
        &lt;xs:element name="data"&gt;<br />
          &lt;xs:complexType&gt;<br />
            &lt;xs:sequence&gt;<br />
              &lt;xs:element name="period" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="description" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="updated" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="note" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="logunit" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="entered" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="produced" type="xs:string" minOccurs="0" /&gt;<br />
              &lt;xs:element name="delivered" type="xs:string" minOccurs="0" /&gt;<br />
            &lt;/xs:sequence&gt;<br />
          &lt;/xs:complexType&gt;<br />
        &lt;/xs:element&gt;<br />
      &lt;/xs:choice&gt;<br />
    &lt;/xs:complexType&gt;<br />
  &lt;/xs:element&gt;<br />
&lt;/xs:schema&gt;<br />
</span>&lt;data&gt;<br />
&lt;period&gt;2010-06-06&lt;/period&gt;<br />
&lt;logunit id="myID"&gt;Milano&lt;/logunit&gt;<br />
&lt;entered matcode="ABC001"&gt;100&lt;/entered&gt;<br />
&lt;produced matcode="ABC002"&gt;101&lt;/produced&gt;<br />
&lt;delivered matcode="ABC002"&gt;100&lt;/delivered&gt;<br />
&lt;description&gt;Caramelline alla fragola&lt;/description&gt;<br />
&lt;updated&gt;2010-06-06T13:05:21+01:00&lt;/updated&gt;<br />
&lt;note&gt;tante belle cose..&lt;/note&gt;<br />
&lt;/data&gt;<br />
&lt;data&gt;<br />
&lt;period&gt;2010-06-06&lt;/period&gt;<br />
&lt;logunit id="myID"&gt;Milano&lt;/logunit&gt;<br />
&lt;entered matcode="ABC001"&gt;100&lt;/entered&gt;<br />
&lt;produced matcode="ABC002"&gt;101&lt;/produced&gt;<br />
&lt;delivered matcode="ABC002"&gt;100&lt;/delivered&gt;<br />
&lt;description&gt;Caramelline alla fragola&lt;/description&gt;<br />
&lt;updated&gt;2010-06-06T13:05:21+01:00&lt;/updated&gt;<br />
&lt;note&gt;tante belle cose..&lt;/note&gt;<br />
&lt;/data&gt;<br />
&lt;/DataSet&gt;</code></p>
<p>Il <strong>risultato finale</strong> sarà quindi una DataGrid che può essere visualizzata come sotto, utilizzando pari pari il <strong>codice C# definito all&#8217;inizio</strong> di questo articolo.</p>
<table id="MyDataGrid2" border="1" cellspacing="0" rules="all">
<tbody>
<tr>
<td>period</td>
<td>description</td>
<td>updated</td>
<td>note</td>
<td>logunit</td>
<td>entered</td>
<td>produced</td>
<td>delivered</td>
</tr>
<tr>
<td>2010-06-06</td>
<td>Caramelline alla fragola</td>
<td>2010-06-16T13:05:21+01:00</td>
<td>tante belle cose..</td>
<td>Milano</td>
<td>100</td>
<td>101</td>
<td>100</td>
</tr>
</tbody>
</table>
<p>Buon divertimento con l&#8217;XML..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/07/13/leggere-e-visualizzare-file-xml-con-c-c-sharp-qualche-esempio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Intranet Governance: intervista a Jane McConnel</title>
		<link>http://www.diplod.it/2010/06/02/intranet-governance-intervista-a-jane-mcconnel/</link>
		<comments>http://www.diplod.it/2010/06/02/intranet-governance-intervista-a-jane-mcconnel/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 22:42:44 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[enterprise20]]></category>
		<category><![CDATA[gestionale]]></category>
		<category><![CDATA[intervista]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[mcconnel]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1117</guid>
		<description><![CDATA[Da un po' di tempo sono alle prese con lo sviluppo e la gestione di una intranet concepita per una azienda che ha filiali worldwide, ne ho approfittato per chiedere qualche consiglio a Jane McConnel, speaker dell'Enterprise 2.0 Forum.]]></description>
				<content:encoded><![CDATA[<p><a href="http://netjmc.com/intranet-trends-report/download-sample-pages-purchase-information" target="_blank">Global Intranet Strategies</a> è il report che ogni anni <strong>Jane McConnel</strong> produce dopo aver passato in rassegna diverse intranet aziendali, lo diffonde direttamente dal suo <a title="Jane McConnel" href="http://netjmc.com/blog" target="_blank">blog</a> (Globally Local.. Locally Global). Quest&#8217;anno Jane sarà presente come relatrice all&#8217;<strong><a title="E2.0 forum" href="http://www.enterprise2forum.it/">International Enterprise 2.0 Forum</a></strong>, il 9-10 Giugno a Milano; vista l&#8217;occasione scambiamo con lei qualche battuta. Una chiacchierata sulle modalità di governance e di gestione di una <em>robusta </em>intranet aziendale. Da un po&#8217; di tempo sono alle prese con lo sviluppo e la gestione di una intranet concepita per una azienda che ha filiali worldwide, ne ho approfittato per chiedere qualche consiglio. La <a title="Davide Del Monte Interviews Jane McConnel" href="http://www.enterprise2forum.it/it/node/190" target="_blank">stessa intervista</a>, nella versione inglese, la troverete sul blog dell&#8217;<em>E2.0 Forum</em>.</p>
<p><em><strong>Davide</strong></em><strong>: Che cosa dovrebbe avere una buona intranet?</strong><br />
<em> Jane</em>: Una buona intranet deve avere 3 cose:</p>
<ol>
<li>essere incentrata sull&#8217;utente,</li>
<li>avere una strategia allineata al business</li>
<li>Avere una governance e politiche di gestione integrate al modo con cui viene gestita l&#8217;impresa</li>
</ol>
<p><span id="more-1117"></span></p>
<p><strong><em> Davide</em>: Quali sono le best practices per adottare l&#8217;enterprise 2.0? Esiste una roadmap comune?</strong><br />
<em> Jane</em>: Ma dispiace ma non esistono roadmap comuni e collaudate. Alcune aziende definiscono prima la strategia, poi la implementano. Altre iniziano con sperimentazioni dal basso, poi ufficializzano ciò che funziona. Altri mettono in campo un minimo di strategia e un po&#8217; di sperimentazione dal basso, per poi farne una sintesi!</p>
<p>La chiave del successo è iniziare da ciò che è necessario al business, non dalla tecnologia. Fate progetti pilota dove c&#8217;è allo stesso tempo un bisogno e una sfida.</p>
<p><strong><em>Davide</em>: Wiki e blog dovrebbero essere utilizzati in una intranet? Se si, esiste un approccio da consigliare per spiegare agli utenti qual è il tool migliore da utilizzare , in base ai contenuti da pubblicare e al feedback che si desidera ricevere?</strong><br />
<em>Jane</em>: I Wiki servono per la co-creazione: fare cose assieme, fornendo uno strumenti per  &#8220;la voce del popolo&#8221;. Sono di proprietà del popolo o del singolo gruppo. Sono multi-dimensionali: i contenuti si creano spontaneamente. Potrebbero emergere talvolta anche cose inattese.<br />
I blog servono per fare esprimere una voce individuale, il punto di vista di un team, per condividere l&#8217;esperienza. Si fanno portatori del punto di vista di un singolo o di un gruppo di persone. Sono bi-dimensionali: viene riportato un certo punto di vista o una notizia, mentre tutte le altre persone possono commentare o fare domande.<br />
E&#8217; interessante notare che le mie ricerche degli ultimi anni, condotte per la Global Intranet Strategies survey, evidenziano che solo nell&#8217;ultimo anno i blog hanno assunto rilevanza al pari dei wiki nelle aziende. Entrambi hanno raggiunto il 45 % dell&#8217;utilizzo nell&#8217;inchiesta del 2009, su un campione di circa 300 organizzazioni in tutto il mondo.<br />
Fino all&#8217;anno scorso, i wiki la facevano da padrone. Credo che le società stiano famigliarizzando coi blog. I blog ottengono spesso più visibilità: persone che esprimono punti di vista. Richiedono probabilmente maggior tempo per la gestione rispetto ai wiki, basati sulla collaborazione, cosa che le imprese fanno da diverso tempo.</p>
<p><strong><em>Davide</em>: Connessioni col sistema ERP: è utile averle all&#8217;interno della intranet?</strong><br />
<em>Jane</em>: Assolutamente. Più che utile, è essenziale. E&#8217; la chiave di volta per far sì che la intranet diventi il luogo di lavoro all&#8217;interno dell&#8217;impresa.</p>
<p><strong><em>Davide</em>: Credi che esista una killing application? Si parla spesso di Sharepoint.. Lavoro su Sharepoint da quasi due anni, credo che sia una buona piattaforma per realizzare applicazioni web, molto malleabile per poter mappare i processi di business</strong><br />
<em>Jane</em>: Sharepoint è solo una delle tante soluzioni. Non penso che una soluzione da sola si possa considerare una killer app.</p>
<p><strong><em>Davide</em>: Accesso dall&#8217;esterno e tramite dispositivi mobili: credi che sia un obiettivo primario?</strong><br />
<em>Jane</em>: Non è primario ma è molto importante. E&#8217; uno dei 5 key trends che ho individuato per il 2010.</p>
<p><em><strong>Davide</strong></em><strong>: Qual è il miglior progetto che hai realizzato? Perchè?</strong><br />
<em>Jane</em>: Ce ne sono parecchi! I migliori sono quelli in cui la intranet ha cambiato il modo di lavorare dell&#8217;azienda, e il modo di fare business. La intranet esiste, in estrema sintesi, per servire i clienti. Per clienti, intendo i clienti esterni.<br />
Le intranet aiutano le organizzazioni a lavorare meglio: le aziende lavorano per servire i loro clienti.</p>
<p><strong><em>Davide</em>: Grazie mille per questa intervista Jane, spero di sentire qualche utile consiglio all&#8217;E2.0 Forum!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/06/02/intranet-governance-intervista-a-jane-mcconnel/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ci mancava l&#8217;Enterprise 2.0 forum?! Beh, si..</title>
		<link>http://www.diplod.it/2010/04/26/ci-mancava-lenterprise-2-0-forum-beh-si/</link>
		<comments>http://www.diplod.it/2010/04/26/ci-mancava-lenterprise-2-0-forum-beh-si/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 23:43:29 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[enterprise20]]></category>
		<category><![CDATA[eventi]]></category>
		<category><![CDATA[forum]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1083</guid>
		<description><![CDATA[L&#8217;occasione è quella del forum internazionale sull&#8217;enterprise 2.0, il 9 e 10 Giugno 2010. La location è Milano, non poteva essere altrimenti, l&#8217;edizione è già al terzo giro di boa. I temi sono i seguenti: Verso l&#8217;interno: Intranet 2.0, Community Management, Human Resources 2.0, Social Learning, Organizational Network Analysis, IT Governance Verso l&#8217;esterno: Social CRM, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>L&#8217;occasione è quella del <strong><a title="Forum Enterprise 2.0" href="http://www.enterprise2forum.it/" target="_blank">forum internazionale sull&#8217;enterprise 2.0</a></strong>, il <strong>9 e 10 Giugno</strong> 2010. La location è <strong>Milano</strong>, non poteva essere altrimenti, l&#8217;edizione è già al terzo giro di boa. I temi sono i seguenti:</p>
<blockquote>
<ul>
<li><strong>Verso l&#8217;interno</strong>: Intranet 2.0, Community Management, Human Resources 2.0, Social Learning, Organizational Network Analysis, IT Governance</li>
<li><strong>Verso l&#8217;esterno</strong>: Social CRM, Sales Community, Social Media Marketing, Social Media Monitoring</li>
<li><strong>Innovazione</strong>: Idea e Innovation Management, Crowdsourcing e Idea generation, Prediction market</li>
<li>Definire la strategia e costruire il business case</li>
<li>Nuovi schemi organizzativi e modelli di leadership</li>
<li>Sostenere l&#8217;adozione ed il cambiamento culturale</li>
<li>Driver di business, metriche e ritorno dell&#8217;investimento</li>
<li>Framework per coltivare le community ed ingaggiare i clienti e gli utenti</li>
<li>L&#8217;impatto dei social media sui processi di business: BPM 2.0, CRM 2.0, PLM 2.0</li>
<li>Best practice e lezioni attraverso casi di successo nazionali ed internazionali</li>
<li>Il passaggio dal marketing al social CRM</li>
<li>Software sociali e piattaforme collaborative</li>
</ul>
</blockquote>
<p>Sono temi che mi stanno particolarmente a cuore e coi quali mi sto scornando in prima persona; potrebbe essere una due giorni per approfondire qualche argomento. Gli <a title="speaker enterprise 2.0 forum 2010" href="http://www.enterprise2forum.it/speakers">speaker </a>sono parecchi, coi quali mi piacerebbe scambiare due chiacchiere. L&#8217;occasione è piuttosto ghiotta per poter discutere e analizzare casi concreti: tra i relatori leggo nomi come IBM, Oracle, Intel. Ovviamente si tratta di una conferenza a pagamento: per gli studenti senza portafoglio esiste però l&#8217;opportunità di partecipare gratuitamente inventandosi promoter dell&#8217;evento, per chi desidera maggiori informazioni <a title="E20 Forum" href="http://www.enterprise2forum.it/it/node/109" target="_blank">ecco il post dal blog ufficiale</a>.</p>
<p>Le date sono un po&#8217; proibitive per il sottoscritto, ma confido di farcela.. Qualcuno ha già fissato la data?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/04/26/ci-mancava-lenterprise-2-0-forum-beh-si/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Decidere se usare blog, wiki, IM, email o telefono..</title>
		<link>http://www.diplod.it/2010/04/14/decidere-se-usare-blog-wiki-im-email-o-telefono/</link>
		<comments>http://www.diplod.it/2010/04/14/decidere-se-usare-blog-wiki-im-email-o-telefono/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 17:06:10 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[comunicazione]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[IM]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[knowledge management]]></category>
		<category><![CDATA[telefono]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1056</guid>
		<description><![CDATA[Enterprise 2.0 per chi è sul pezzo, nuovi strumenti lavorativi per chi semplicemente li usa. Fatto sta che sono sempre più diffusi, all'interno delle organizzazioni, strumenti come i blog e i wiki. Sono arrivati già da tempo anche i software di instant messaging, un altro noioso compagno d'ufficio dopo il telefono.
E' sempre difficile però la scelta su quale strumento utilizzare; vi sono strumenti più o meno adatti in base alle informazioni da condividere e ai feedback necessari. La tipologia della relazione spesso fa la differenza sul raggiungimento dei risultati.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1064" title="comunicazione" src="http://www.diplod.it/wp-content/uploads/2010/04/comunicazione.jpg" alt="" width="416" height="260" /><br />
<small>[Foto <a title="Flickr" href="http://www.flickr.com/photos/assbach/262165233/" target="_blank">Flickr</a>]</small></p>
<p><strong>Enterprise 2.0</strong> per chi è sul pezzo, nuovi strumenti lavorativi per chi semplicemente li usa. Fatto sta che sono sempre più diffusi, all&#8217;interno delle organizzazioni, strumenti come i <strong>blog</strong> e i <strong>wiki</strong>; utilissimi ai team di lavoro per la gestione quotidiana delle attività, altrettanto utili all&#8217;azienda per conservare traccia del lavoro svolto e rendere questa conoscenza riutilizzabile in futuro. Sono arrivati già da tempo anche i software di <strong>instant messaging</strong>, un altro noioso compagno d&#8217;ufficio dopo il <strong>telefono</strong>. In fondo si tratta di tools per comunicare, ma non solo.</p>
<p>E&#8217; sempre difficile la scelta su quale strumento utilizzare, soprattutto per chi ne è a digiuno; vi sono strumenti più o meno adatti in base alle informazioni da condividere e ai feedback necessari. La tipologia della relazione spesso fa la differenza sul raggiungimento dei risultati.<br />
Per scrivere le riflessioni seguenti ho preso spunto da una <a title="LinkedIn" href="http://www.linkedin.com/groupAnswers?discussionID=16610347&amp;viewQuestionAndAnswers=&amp;gid=112679&amp;trk=EML_anet_qa_ttle-0Ut79xs2RVr6JBpnsJt7dBpSBA" target="_blank">discussione</a> sul tema che ho letto via <em>LinkedIn</em>, dove veniva citato <a title="Deciding when to use.." href="http://www.linkedin.com/redirect?url=http%3A%2F%2Fthelynchblog%2Ecom%2F2009%2F12%2F14%2Fdeciding-when-to-use-microblogging-e-mail-or-im%2F&amp;urlhash=3Ccz" target="_blank">questo interessante contributo</a>.</p>
<p><em>Veniamo al dunque, quando è meglio usare uno strumento piuttosto che un altro?</em></p>
<p><span id="more-1056"></span><em></em></p>
<ul>
<li><strong>Blog</strong>: è uno strumento informativo più che collaborativo. E&#8217; particolarmente indicato per team di lavoro distribuiti, dove il project manager deve tenere informati i vari attori, talvolta pure il cliente. Dagli articoli possono scaturire discussioni, ma generalmente si tratta di discussioni operative, destinate a perdersi col tempo poichè non sono strutturate. La discussione è asincrona. Le informazioni possono essere catalogate con tag e categorie, ma la componente cronologica è sempre prevalente e prima o poi le notizie finiscono nel dimenticatoio.</li>
<li><strong>Wiki</strong>: è un contenitore di conoscenza. Un repository all&#8217;interno del quale memorizzare la conoscenza, sia quella esplicita che tacita. L&#8217;informazione può essere strutturata attraverso menù di navigazione, link tra pagine ed eventualmente con una tassonomia. Il contenuto è vivo, viene continuamente modificato dagli utenti ma si conserva la traccia dell&#8217;evoluzione. Non è certamente adatto per sviluppare discussioni sulle faccende più operative e non si presta nemmeno come luogo di scambio col cliente, a meno di particolari situazioni. E&#8217; un luogo dove archiviare cose che possono tornare necessarie in futuro, come le best practices per lo sviluppo di un prodotto o per l&#8217;archiviazione di istruzioni operative.</li>
<li><strong>Instant Messaging</strong>: è perfetto per chiedere informazioni al volo senza disturbare troppo i colleghi o chi per loro. E&#8217; certamente meno invadente del telefono pur svolgendo la medesima funzione. La comunicazione è rallentata ma efficace: sincrona. Va usato con moderazione, ma è forse uno degli strumenti più rivoluzionari. Con i software di IM è inoltre possibile condividere file o la propria sessione del desktop, si tratta di funzionalità spesso poco utilizzate.</li>
<li><strong>Email</strong>: la rogna più grossa dei nostri tempi. Serve solo ed esclusivamente per comunicazioni ufficiali, come ad esempio la notifica di un appuntamento o l&#8217;assegnazione di un task. Sviluppare discussioni dove si chiede il parere di più persone così come collaborare su un file tramite mail è la cosa più sbagliata che si possa fare. Quando serve un feedback &#8220;evoluto&#8221;, mai usare la mail.</li>
<li><strong>Telefono</strong>: serve per chiedere &#8220;Dove sei?&#8221; ed eventualmente comunicare al volo alcune cose, come il classico &#8220;Arrivo più tardi!&#8221;. A volte, se servono molte informazioni immediatamente è meglio parlarsi, perchè l&#8217;instant messaging potrebbe rubare tempo ad entrambi. Si tratta di comunicazione sincrona; in fondo a volte è anche piacevole scambiarsi informazioni in modo naturale.</li>
</ul>
<p>A questi strumenti, inoltre, dobbiamo aggiungere i cosidetti <em>workspace</em>. Tipicamente siti web che raccolgono una o più funzionalità citate sopra e ne estendono le potenzialità con calendari o cartelle condivisi, dove archiviare file sui quali è richiesto l&#8217;intervento di più persone.</p>
<p>L&#8217;ultima frontiera della collaborazione è sicuramente il buon <a title="Google Wave" href="http://wave.google.com/" target="_blank">Google Wave</a>, che ancora in pochi utilizzano (me compreso) ma che alla lunga credo andrà a sostituire la mail, o perlomeno quel modo errato di usarla, che tutti prima o poi sperimentano. In sostanza unifica l&#8217;IM, l&#8217;editing collaborativo e la mail, aprendosi verso quel mondo infinito di applicazioni web: mappe, video, ecc..</p>
<p><strong>E voi, cosa ne pensate? Avete mai provato a spiegare a qualcuno che sia a digiuno di tutti quando è il momento di usare una cosa piuttosto che un&#8217;altra?</strong><br />
Nell&#8217;ottica della gestione delle informazioni, credo che sia importante istruire gli utenti circa gli strumenti che hanno a disposizione. Ma come farlo? Attraverso lunghe pagine descrittive del servizio? Può essere utile moderare i contributi e spostarli da un blog a un wiki e viceversa? Io sono ancora in fase di studio dei comportamenti..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/04/14/decidere-se-usare-blog-wiki-im-email-o-telefono/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enterprise 2.0 roadmap: un contest da 2000 dollari</title>
		<link>http://www.diplod.it/2010/03/22/enterprise-2-0-roadmap-un-contest-da-2000-dollari/</link>
		<comments>http://www.diplod.it/2010/03/22/enterprise-2-0-roadmap-un-contest-da-2000-dollari/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 18:10:14 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[cultura aziendale]]></category>
		<category><![CDATA[enterprise20]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[roadmap]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1022</guid>
		<description><![CDATA[Avete mai definito una strategia per diffondere le logiche di web 2.0 in azienda? Ovvero, per arrivare alla tanto decantata enterprise 2.0.. Se si, sono il primo a volerlo sapere.! E dopo un commento a questo articolo, potreste andare a pubblicare la vostra roadmap sul sito di AIIM entro il 2 aprile 2009: è in corso un contest che potrebbe farvi vincere 2000 dollari.
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1041" title="sketch" src="http://www.diplod.it/wp-content/uploads/2010/03/sketch.jpg" alt="" width="409" height="300" /><br />
<small>[Fonte: <a href="http://www.flickr.com/photos/purecaffeine/4325067780/">Flickr</a>]</small></p>
<p>Avete mai definito una strategia per <strong>diffondere le logiche di web 2.0 in azienda</strong>? Ovvero, per arrivare alla tanto decantata <strong><a title="Enterprise 2.0" href="http://it.wikipedia.org/wiki/Enterprise_2.0" target="_blank">enterprise 2.0</a></strong>.. Se si, sono il primo a volerlo sapere.! E dopo un commento a questo articolo, potreste andare a pubblicare la vostra roadmap sul sito di AIIM entro il <strong>2 aprile 2009</strong>: è in corso un <a title="AIIM: enterprise 2.0 roadmap contest" href="http://www.aiim.org/infonomics/aiim-wiki-enterprise20-contest.aspx" target="_blank">contest che potrebbe farvi vincere 2000 dollari</a>.</p>
<p>Diffondere la <strong>cultura 2.0</strong> in una azienda è una sfida notevole, sia dal punto di vista tecnico che dal punto di vista organizzativo. Se da un lato vi sono sempre più strumenti &#8220;all-in-one&#8221;, che permettono un veloce deploy delle applicazioni sociali e collaborative web based, dall&#8217;altra è sempre vivo il timore della perdita del controllo sui dati, ma anche e soprattutto sui processi o sulle prassi aziendali. Ecco perchè il coinvolgimento del top management divenda un punto fermo, senza questa sponsorship non riusciremo a raggiungere gli obiettivi. Così come è fondamentale definire i passi assieme al dipartimento HR, per tutti quegli aspetti legali dovuti alla privacy; infine sarà indispensabile individuare i <strong>key users</strong>, persone che possono dare grande valore aggiunto.</p>
<p><span id="more-1022"></span></p>
<p>Vi sono, a mio avviso, due tipologie di key user da scovare:</p>
<ul>
<li><strong>Gli Esperti</strong>: coloro che sanno come funziona l&#8217;azienda, il knowledge, come girano le informazioni, come le persone ottengono le cose. Sono tipicamente i &#8220;nonni&#8221;, lavorano in azienda da tempo e magari non hanno molta confidenza con gli strumenti informatici.</li>
<li><strong>I Visionari</strong>: coloro che sanno (nella loro testa) come dovrebbero apparire le informazioni, come dovrebbero essere taggate, come dovrebbero essere archiviate e presentate. Sono persone che sentono l&#8217;esigenza di comunicare e lavorare meglio, hanno la casella di posta elettronica intasata da discussioni con maree di allegati ma si sentono impotenti davanti a tutto ciò.</li>
</ul>
<p>Il <strong>fattore critico</strong> è sempre il <strong>tempo</strong> che questi utenti possono mettere a disposizione, dal top management ai key users, tipicamente nessuno ha mai tempo da dedicare all&#8217;IT per migliorare la propria condizione lavorativa. E&#8217; difficile far comprendere che si sta cercando di dare risposte a loro e forse proprio in questo senso la definizione della roadmap dovrebbe essere un punto di partenza ineluttabile.</p>
<p>Per chi volesse approfondire ecco <a href="http://aiimknowledgecenter.typepad.com/weblog/2010/03/share-your-enterprise-20-roadmap-and-win-2000.html" target="_blank">l&#8217;articolo di presentazione del contest </a>dal blog di AIIM. Ovviamente, finito il contest sarà interessante vedere i contributi pervenuti! I risultati sono attesi per l&#8217;11 Maggio 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/03/22/enterprise-2-0-roadmap-un-contest-da-2000-dollari/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ecco l&#8217;era degli ERP delle informazioni: Sharepoint Conference 2010, day after.</title>
		<link>http://www.diplod.it/2010/03/09/sharepoint-conference-2010-si-torna-sempre-un-po-piu-pieni/</link>
		<comments>http://www.diplod.it/2010/03/09/sharepoint-conference-2010-si-torna-sempre-un-po-piu-pieni/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 23:13:05 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[gestione della conoscenza]]></category>
		<category><![CDATA[knowledge management]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[web20]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=1016</guid>
		<description><![CDATA[Nell'era dell'information worker è diventato fondamentale avere una visione complessiva delle informazioni da gestire. E' diventato fondamentale avere una piattaforma, sulla quale coinvogliare le informazioni, attingendole da fonti dati esterne, da strumenti di office, o direttamente dagli utenti. L'hanno capito dalle parti di Redmon, stavolta forse sono arrivati per primi. Certo, è un evento: tipicamente copiavano altri. Io non ho ancora visto nulla dalle potenzialità di Sharepoint 2010: c'è veramente un sacco di roba da studiare.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.diplod.it/wp-content/uploads/2010/03/logo.png"><img class="size-full wp-image-1033  aligncenter" title="logo" src="http://www.diplod.it/wp-content/uploads/2010/03/logo.png" alt="logo" width="126" height="232" /></a></p>
<p>Si torna sempre un po&#8217; più pieni dalla <a title="sharepoint conference" href="http://www.sharepointconference.it/" target="_blank">Sharepoint Conference</a>, così è stato anche quest&#8217;anno. Dal 9 all&#8217;11 marzo, in una Milano timidamente innevata, purtroppo sono rimasto solo i primi due giorni. C&#8217;è una convinzione su tutte che mi porto a casa: <strong>è giunta l&#8217;era degli ERP delle informazioni</strong>.</p>
<p>Negli anni &#8217;90 si vendevano gli applicativi di processo, c&#8217;era il software per la fatturazione, il software per la gestione del magazzino, il software per la gestione degli ordini di acquisto, e via dicendo. Poi arrivò il gestionale integrato, quello che metteva sotto controllo l&#8217;intero processo; e dopo qualche anno di titubanze siamo arrivati nel 2000 e tutti abbiamo capito l&#8217;importanza del software che accentra i dati e monitorizza l&#8217;intero processo.<br />
Oggi, nel 2010, abbiamo il software per la gestione documentale, il CRM (Customer Relationship Management), il CMS (Content Management System), il software per la gestione delle trasferte, il social network dove i dipendenti si scambiano notizie, l&#8217;enterprise wiki per i tecnici della ricerca e sviluppo, il software per la business intelligence che rileva i dati dal gestionale, il software per l&#8217;archiviazione dei curriculum e per il recruiting, e via dicendo.. Ebbene, nell&#8217;era dell&#8217;information worker è diventato fondamentale avere una visione complessiva delle informazioni da gestire. <strong>E&#8217; diventato fondamentale avere una piattaforma</strong>, sulla quale coinvogliare le informazioni, attingendole da fonti dati esterne, da strumenti di office, o direttamente dagli utenti. L&#8217;hanno capito dalle parti di Redmon, stavolta forse sono arrivati per primi. Certo, è un evento: tipicamente copiavano altri. Io non ho ancora visto nulla dalle potenzialità di Sharepoint 2010: c&#8217;è veramente un sacco di roba da studiare.</p>
<ul>
<li>Social Networking: che sia davvero maturi i tempi per il facebook aziendale? Tagging ovunque, profilo personale, ecc..</li>
<li>Gestione documentale (ECM, per gli angofoni): tante possibilità di gestione dei metadata, di tutto ciò che da valore aggiunto al semplice documento</li>
<li>Enterprise Wiki: un wiki integrato alla intranet, esistevano già col vecchio Sharepoint, ma ora sono molto più evoluti.</li>
<li>Web analytics</li>
<li>Blogs</li>
<li>Connectors verso fonti dati esterne</li>
</ul>
<p><span id="more-1016"></span>Nella breve e intensa panoramica di questa due giorni mi sono davvero impressionato. Avevo visto <a title="Alfresco" href="http://www.alfresco.com/" target="_blank">Alfresco</a>, <a title="socialtext" href="http://www.socialtext.com/" target="_blank">Socialtext</a>, <a title="MovableType" href="http://www.movabletype.org/" target="_blank">MovableType</a> e tanti altri: ma si tratta appunto di piattaforme settoriali, perfette per fare una singola cosa, gestione documentale, wiki, blogging.. Quello che manca a tutte queste applicazioni è una visione d&#8217;insieme e integrata, cosa che appunto fa la differenza in SharePoint.</p>
<p><del datetime="2010-03-25T00:17:04+00:00"><strong>Quello che manca?</strong> Una visione web del mondo office. Manca appunto un &#8220;<a title="Enterprise Google Apps" href="http://www.google.com/enterprise/" target="_blank">Enterprise Google Apps</a>&#8220;, se ci fosse anche questo saremmo davvero al completo</del>. Per la versione 2010 hanno lavorato parecchio sulle feature web, sono arrivati i ribbon e tanto ajax, che rendono il tutto molto RIA.. In un&#8217;ottica veramente mobile e veramente collaborativa, dove magari è richiesta l&#8217;interazione del fornitore o del cliente (che potrebbe non avere installata l&#8217;ultima versione del software Microsoft), è bene prevedere l&#8217;editing dei documenti direttamente via web, laddove questi non siano particolarmente pesanti: ecco allora le <a title="Office Web Applications vs Google Apps" href="http://www.cmswire.com/cms/document-management/sharepoint-2010-and-office-2010-web-apps-better-than-google-apps-007049.php" target="_blank">Office Web Applications</a>, che portano online il famigliare ambiente Office.</p>
<p>Su questo campo, Google ha aperto la strada e Microsoft ha capito. Basti pensare che nonastante tutti i miglioramenti fatti su Outlook 2010, Gmail rimane ancora un miraggio.</p>
<p><em>NB</em>: per chi fosse curioso, <a title="Sharepoint 2010 download" href="http://sharepoint2010.microsoft.com/try-it/Pages/Trial.aspx" target="_blank">sul sito di Microsoft</a> si trovano le macchine virtuali con Sharepoint già bello pronto. I download sono piuttosto corposi, ma ne vale la pena. Mentre qui si trova il <a title="Office Web Apps" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=27d81b1c-18ae-4983-8e1c-224bb747eb99&amp;displaylang=en" target="_blank">download delle Office Web Apps</a>. Aspettando le sofferenze dell&#8217;upgrade..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/03/09/sharepoint-conference-2010-si-torna-sempre-un-po-piu-pieni/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tecnologie ICT per l&#8217;Enterprise 2.0: tra Project Management e Collaborazione</title>
		<link>http://www.diplod.it/2010/02/21/tecnologie-ict-per-lenterprise-2-0-tra-project-management-e-collaborazione/</link>
		<comments>http://www.diplod.it/2010/02/21/tecnologie-ict-per-lenterprise-2-0-tra-project-management-e-collaborazione/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 08:45:28 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Project Management]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[Università]]></category>
		<category><![CDATA[enterprise20]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[tesi]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=770</guid>
		<description><![CDATA[Durante lo stage e nei mesi a seguire mi sono occupato di PDM (Product Data Management) e di intranet (sorprendendomi di un versatilissimo Sharepoint) in un gran bel gruppo industriale. Avevo già pubblicato qualche idea, ora è il momento del pdf. Il tutto è rilasciato con Licenza Creative Commons.]]></description>
				<content:encoded><![CDATA[<p>Il titolo del post non deve spaventare, si tratta della mia <strong>tesi di Laurea</strong>. Finita la specialistica, è arrivato il momento di pubblicare i miei sforzi: diversi mesi di tirocinio hanno prodotto i loro frutti.</p>
<p>In realtà la laurea è avvenuta a Marzo, i festeggiamenti pure.. in un poetico irish pub addobbato a festa per <a title="San Patrizio" href="http://it.wikipedia.org/wiki/San_Patrizio" target="_blank">San Patrizio</a>.</p>
<p>Durante lo stage e nei mesi a seguire mi sono occupato di <a title="Product Data Management" href="http://it.wikipedia.org/wiki/Product_Data_Management" target="_blank">PDM</a> (Product Data Management) e di <a title="intranet" href="http://it.wikipedia.org/wiki/Intranet" target="_blank">intranet</a> (sorprendendomi di un versatilissimo Sharepoint) in un <a title="Landi Renzo" href="http://www.landi.it/" target="_blank">gran bel gruppo industriale</a>. Avevo già pubblicato <a title="qualche idea per la tesi" href="http://www.diplod.it/2008/07/10/project-management-raccolta-di-idee-per-la-tesi/" target="_self">qualche idea</a>, ora è il momento del <strong>pdf</strong>. Pubblico solo in parte, per ovvi motivi di riservatezza, il capitolo 7 relativo alla intranet sviluppata in azienda.</p>
<p>L&#8217;intero lavoro è rilasciato con licenza Creative Commons.<br />
<a class="download-link" title="tesi del monte davide" href="http://www.diplod.it/wp-content/uploads/2009/10/tesi-final-pubblica.pdf">Scarica il PDF: Tecnologie ICT per l&#8217;Enterprise 2.0: tra Project Management e Collaborazione</a></p>
<blockquote><p><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.5/it/"><img style="border-width:0" src="http://i.creativecommons.org/l/by-nc-nd/2.5/it/88x31.png" alt="Creative Commons License" /></a><br />
<span>Tecnologie ICT per l&#8217;enterprise 2.0: tra project management e collaborazione</span> by <a rel="cc:attributionURL" href="www.diplod.it">Davide Del Monte</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/2.5/it/">Creative Commons Attribuzione-Non commerciale-Non opere derivate 2.5 Italia License</a>.<br />
Permissions beyond the scope of this license may be available at <a rel="cc:morePermissions" href="www.diplod.it">www.diplod.it</a>.</p></blockquote>
<p>Di cosa parla questo lavoro? Il sommario vale più di mille parole:</p>
<p><span id="more-770"></span></p>
<blockquote><p><strong> 1.Introduzione&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	11<br />
</strong><br />
<strong> 2.Lo scenario&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	13</strong><br />
(a)Project Management in R&amp;D&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	14<br />
(b)La struttura organizzativa&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	18<br />
(c)Importanza della gestione progetti e Open Innovation&#8230;&#8230;&#8230;&#8230;..	21<br />
(d)Intranet: condivisione e architetture Service Oriented&#8230;&#8230;&#8230;&#8230;&#8230;	25<br />
(e)Gestione documentale abbinata ai progetti&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	27</p>
<p><strong> 3.Gli strumenti per l&#8217;innovazione&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	31</strong><br />
(a)Ai confini del Knowledge Management&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	32<br />
(b)Crowdsourcing&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	35<br />
i.caso Goldcorp&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	37<br />
ii.caso Colgate-Palmolive&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	38<br />
(c)Triz Innovation&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	38</p>
<p><strong> 4.Social Network e analisi delle reti di persone&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	45</strong><br />
(a)Enterprise 2.0 e reti sociali&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	44<br />
(b)I bisogni emergenti: Social Network e Appartenenza aperta&#8230;&#8230;.	47<br />
(c)Social Network Analysis e Value Network Analysis&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	53<br />
(d)Gli strumenti per l&#8217;analisi delle reti sociali&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	59<br />
Approfondimento tecnico: il software Ucinet&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	64<br />
(e)Small world network e i 6 Degrees su Facebook&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	68<br />
(f)Le reti a invarianza di scala e la dinamica dei sistemi complessi..	70<br />
(g)Elementi teorici per la costruzione di un Social Network&#8230;&#8230;&#8230;&#8230;.	74</p>
<p><strong> 5.Governance ICT: integrazione e architetture service oriented&#8230;&#8230;&#8230;&#8230;&#8230;	83</strong><br />
(a)complessità crescente e bisogno di integrazione&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	84<br />
(b)Service Oriented Architecture (SOA) e  Software as a Service<br />
(SaaS), Business Process Management (BPM) e Rich Internet Applications (RIA) nei modelli organizzativi rizomatici&#8230;&#8230;&#8230;&#8230;&#8230;	85<br />
(c)Dalle prime forme di scambio informazioni alla Enterprise<br />
Application Integration (EAI)&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	93<br />
(d)Accoppiamento del software: bene o male?&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	97<br />
(e)Il ruolo dell&#8217;ICT: Perché i progetti falliscono&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	99</p>
<p><strong> 6.Gli strumenti della Social Era…&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	103</strong><br />
(a)Virtual workspaces: tra wiki, blog e team di lavoro&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	104<br />
i.caso Lago&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	109<br />
ii.caso Serena&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	111<br />
(b)Sharepoint e Project Web Access: la collaborazione sui progetti<br />
secondo Microsoft&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	112<br />
(c)Qualche cenno sui vendor internazionali e i player italiani&#8230;&#8230;&#8230;	119<br />
(d)Qualche cenno sul mondo Open Source&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	124</p>
<p><strong> 7.Il caso LandiRenzo SpA: intranet per il reparto R&amp;D…&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	129</strong><br />
(a)L&#8217;azienda e l&#8217;unità R&amp;D&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	130<br />
(b)L&#8217;analisi di partenza&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	133<br />
i.Persone e progetti&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	133<br />
ii.Metodologie e prassi lavorative&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	134<br />
iii.La collaborazione e gli strumenti&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	136<br />
iv.I network relazionali&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	138<br />
v.I rapporti con le sedi estere&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	141<br />
(c)Il re-design della intranet R&amp;D: metodologie e problematiche..	142<br />
(d)Sharepoint e PWA: personalizzazioni della piattaforma e Web Parts&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	145<br />
i.Utenti, sincronizzazione Active Directory e<br />
ristrutturazione RBS&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	149<br />
ii.Calendari condivisi per i banchi e la strumentazione<br />
tecnica&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	152<br />
iii.Template Landi&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	155<br />
Approfondimento tecnico: Creazione tema 	Sharepoint&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	156<br />
iv.Realizzazione prototipo di project workspace: uno spazio collaborativo con wiki e blog&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	159<br />
(e)Product Data Management con il software CoCreate Model<br />
Manager: workflow e integrazione SAP&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	166<br />
i.Creazione di una nuova classe documentale&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	174<br />
ii.Creazione di nuovi materiali&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	176<br />
iii.Definizione workflow di approvazione disegni&#8230;&#8230;&#8230;&#8230;&#8230;.	178<br />
(f)Punti di forza e debolezza dei sistemi e ipotesi di sviluppo&#8230;&#8230;&#8230;	180<br />
i.PWA: i Key Users&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	181<br />
ii.PDM: integrazione SAP&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	183<br />
iii.Scarso utilizzo e mancanza di incentivi&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	184<br />
iv.Web Services con PDM&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	185<br />
v.Integrazione tra Sharepoint e SAP Portal&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.	186</p>
<p><strong> 8.Conclusioni: una nuova intranet di Gruppo&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	191<br />
</strong><br />
<em>Riferimenti Bibliografici&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	199<br />
Appendice A: Una Web Part con le news da Google, XML e XSL all&#8217;opera	202<br />
Appendice B: procedura per il deploy di un Application Template Sharepoint&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;	206<br />
Ringraziamenti&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;..	209</em></p></blockquote>
<p>Mi piacerebbe se da questo lavoro nascessero <strong>spunti di riflessione,</strong> se qualcuno si facesse avanti per indicarmi <strong>esperienze simili</strong>, per scambiare <strong>pareri</strong> e <strong>conoscenze</strong>. Buona lettura ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2010/02/21/tecnologie-ict-per-lenterprise-2-0-tra-project-management-e-collaborazione/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cervelli in fuga o talenti in Italia?</title>
		<link>http://www.diplod.it/2009/12/13/cervelli-in-fuga-o-talenti-in-italia/</link>
		<comments>http://www.diplod.it/2009/12/13/cervelli-in-fuga-o-talenti-in-italia/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 22:19:39 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Informazione e Media]]></category>
		<category><![CDATA[Università]]></category>
		<category><![CDATA[cervelli]]></category>
		<category><![CDATA[giovani]]></category>
		<category><![CDATA[italia]]></category>
		<category><![CDATA[laurea]]></category>
		<category><![CDATA[lavoro]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[wired]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=924</guid>
		<description><![CDATA[Come mai oggi sempre più giovani coltivano il mito dell'espatrio? Siamo davvero messi così male? Molte statistiche confermano: l'Italia non è Paese per giovani laureati. Ogni tanto mi sovviene il dubbio.. Io, nel mio quarto di secolo, sono soddisfatto del mio primo lavoro post laurea, e vedo intorno a me diversi giovani che "fanno". A volte mi chiedo se non sia  colpa del sistema mediatico, che promuove modelli "ignoranti" come riferimento.]]></description>
				<content:encoded><![CDATA[<div id="attachment_929" style="width: 420px" class="wp-caption aligncenter"><img class="size-full wp-image-929" title="via" src="http://www.diplod.it/wp-content/uploads/2009/12/via.jpg" alt="via" width="410" height="339" /><p class="wp-caption-text">Foto Flickr</p></div>
<p>Come mai oggi sempre più <strong>giovani</strong> coltivano il <strong>mito dell&#8217;espatrio</strong>? Siamo davvero messi così male? <a title="studenti.it" href="http://www.studenti.it/lavoro/giovani_estero.php" target="_blank">Molte</a> <a title="almalaurea - condizione occupazionale dei laureati" href="http://www.almalaurea.it/universita/occupazione/occupazione07/" target="_blank">statistiche</a><a title="laureati in fuga - repubblica" href="http://ricerca.repubblica.it/repubblica/archivio/repubblica/2009/12/01/laureati-in-fuga.html" target="_blank"> confermano</a>: l&#8217;Italia non è Paese per giovani <strong>laureati</strong>. Ogni tanto mi sovviene il dubbio.. Io, nel mio quarto di secolo, sono soddisfatto del mio primo lavoro post laurea, e vedo intorno a me diversi giovani che &#8220;fanno&#8221;. A volte mi chiedo se non sia  colpa del sistema mediatico, che promuove <strong>modelli &#8220;ignoranti&#8221;</strong> come riferimento.<br />
Proprio ieri è arrivato <em>wired</em> di Dicembre, evidentemente ci sono diversi lettori che la pensano più o meno come me. Nelle lettere indirizzate al magazine si <a title="wired: lorenzo thione" href="http://www.wired.it/magazine/archivio/2009/09/storie/the-big-bing.aspx" target="_blank">parlava di Lorenzo Thione</a>, un ragazzo che ha fondato <a title="Powerset" href="http://www.powerset.com/" target="_blank">Powerset</a> per poi venderla a Microsoft e farsi un bel gruzzoletto (100 milioni). La tecnologia di ricerca sviluppata da Thione è ora utilizzata per Bing, il motore di ricerca di Microsoft. Ora il fulcro non sta nel determinare se Bing è meglio di Google (su questo non c&#8217;è dubbio, il secondo è nettamente superiore), ma nel cercare di capire come mai in Italia nessuno ha mai sentito parlare di questo tizio.</p>
<blockquote><p>Se uno vincesse 100 milioni al SuperEnalotto diventerebbe una star. I tiggì strillerebbero l&#8217;allegra notizia, e i quotidiani manderebbero un inviato nel paese natio per parlare con amici e parenti. Già mi vedo le dieci domande. Come ha fatto ad azzeccare la mitica sestina? Come spenderà questa somma pazzesca? E via così. I settimanali di gossip andrebbero a caccia delle foto di famiglia cercando di allestire flirt con veline o calciatori, mentre i politici proverebbero a tradurre la popolarità in una candidatura: &#8220;Fai come lui/lei, vinci al SuperEnalotto&#8221;. Per sua fortuna, invece, Lorenzo Thione, per fare 100 milioni, ha dovuto studiare, andare negli Stati Uniti, avere una buona idea e lavorare duro. Così ha fatto Bing, e lo hanno bellamente ignorato. Fosse mai che poi uno come lui diventa un modello. O una speranza.</p></blockquote>
<p><span id="more-924"></span>Sempre su wired, Marco rispondeva a un&#8217;altra ragazza che dichiarava le sue intenzioni di trasferirsi a Stoccolma. Anche in questo caso, riporto le sue parole poichè rispecchiano in toto il mio pensiero:</p>
<blockquote><p>Ho letto con attenzione e commozione la lettera della ragazza che sta emigrando a Stoccolma. Cara amica, ti auguro il miglior bene, complimentandomi per il coraggio e la determinazione. Se permetti, io resto qua in Italia. Il Paese che mi ha dato i natali, del quale parlo la lingua e del quale mi sento cittadino. Non vuole essere una patetica dimostrazione di cieco patriottismo, ma una dichiarazione d&#8217;intenti. Se ci sono posti al mondo ai quali aspiriamo e che guardiamo con invidia e ammirazione, perchè non provare anche noi a diventare come loro? Il livello di civiltà di una nazione non dipende dal fato, ma da come i suoi cittadini la vogliono far diventare. Io credo che noi, giovani e meno giovani di oggi, che siamo consapevoli che il cambiamento è nelle nostre mani, abbiamo la capacità, la forza e la voglia di far diventare il nostro Paese un bel posto. Il senso civico, la consapevolezza che il benessere collettivo si riflette in benessere personale, il rifiuto dell&#8217;egoismo sociale, sono piantine che vanno coltivate e io non mi voglio tirare indietro, anche se i frutti dovessero coglierli i miei figli o i miei nipoti. Perciò, cara amica, a te e a tutti quelli che scelgono un&#8217;altra strada, i miei migliori auguri di tutto cuore.<br />
Io, qua, ho da fare.</p></blockquote>
<p>Su questo tema c&#8217;è pure <a title="La Fuga dei Talenti" href="http://fugadeitalenti.wordpress.com/" target="_blank">chi ha scritto un libro</a>. Io credo che l&#8217;Italia abbia un immenso problema: quello dei media. Se è vero che ormai buona parte dei giovani passa <a href="http://www.diregiovani.it/gw/producer/dettaglio.aspx?ID_DOC=32021" target="_blank">più tempo su internet che sulla tv</a>, è altrettanto vero che i modelli di riferimento spesso escono da quest&#8217;ultima. Avete mai visto un servizio nel tg della sera su un qualche ricercatore/scienziato/studioso/lavoratore emergente? E quanti servizi abbiamo dovuto sopportare sul <a title="bagnone - superenalotto" href="http://ricerca.repubblica.it/repubblica/archivio/repubblica/2009/08/24/bagnone-turisti-del-jackpot-se-avessi.html" target="_blank">piccolo borgo di Bagnone</a>? Se vinci il superenalotto con una schedina da 2 euro diventi un dio, se passi 5 anni all&#8217;università sei un pirla.</p>
<p>Ci sono tante, troppe, notizie poco incoraggianti. Se dovessi basarmi solo sui numeri <strong>partirei domani</strong>, ma se penso a come mi sentirei davvero <strong>realizzato</strong>, mi vedo in Italia. Con questo non dico che sono contrario a qualsiasi esperienza all&#8217;estero, magari ne farò tante e ben volentieri. Ma il mio obiettivo è mettere le radici qui, tra qualche anno. Ho seguito, durante gli studi, <a title="ciao america" href="http://www.duechiacchiere.it/811/ciao-america" target="_blank">i passi di Camu</a>, e in qualche modo lui fa parte di quei modelli positivi, che si trovano solo spulciando la rete. Perdendo tempo..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2009/12/13/cervelli-in-fuga-o-talenti-in-italia/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PBWorks: collaborazione emergente? Può servire anche nella corporate intranet.</title>
		<link>http://www.diplod.it/2009/12/09/pbworks-collaborazione-emergente-puo-servire-anche-nella-corporate-intranet/</link>
		<comments>http://www.diplod.it/2009/12/09/pbworks-collaborazione-emergente-puo-servire-anche-nella-corporate-intranet/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 23:56:23 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[ICT]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[collaborazione]]></category>
		<category><![CDATA[condivisione]]></category>
		<category><![CDATA[corporate]]></category>
		<category><![CDATA[file sharing]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[wiki]]></category>
		<category><![CDATA[workspace]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=915</guid>
		<description><![CDATA[Una delle maggiori esigenze nelle aziende è la possibilità di avere uno spazio di condivisione facilmente estendibile verso l'esterno, per comunicare con clienti o fornitori, per fare co-design, per scambiare files e conoscenza. Cosa serve quindi? Un'area FTP (magari Tortoise per tracciare le versioni dei files), un wiki, e tanta (troppa) amministrazione. Cosa potrebbe sostituire queste cose? PBWorks: un wiki con un'area di gestione file dotata del versioning.]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-917" title="pbwiki" src="http://www.diplod.it/wp-content/uploads/2009/12/pbwiki.png" alt="pbwiki" width="410" height="210" /></p>
<p>Ho cercato <a title="Cerca su Google: PBWiki" href="http://www.google.it/search?q=pbwiki" target="_blank">PBwiki</a> e Google mi propone <a title="PBWorks" href="http://pbworks.com/" target="_blank">PBWorks</a>. A volte le cose si scoprono anche così, cercandole. Magari sono pure arrivato lungo, perchè il <a title="Mashable" href="http://mashable.com/2009/04/28/pbwiki-pbworks/" target="_blank">cambio del marchio</a> è avvenuto ad Aprile 2009. In ogni caso ciò che ho visto oggi è un tool di tutto rispetto, che ha messo da parte il suo taglio prettamente wiki e si propone come strumento di collaborazione per piccoli team di lavoro.</p>
<p>Una delle maggiori esigenze nelle aziende di oggi è la possibilità di avere uno spazio di condivisione facilmente estendibile verso l&#8217;esterno, per comunicare con clienti o fornitori, per fare co-design, per scambiare files e conoscenza. Cosa serve quindi? Un&#8217;area FTP (magari <a title="Tortoise svn" href="http://tortoisesvn.net/" target="_blank">Tortoise</a> per tracciare le versioni dei files), un wiki, e tanta (troppa) amministrazione. Cosa potrebbe sostituire queste cose? <strong>PBWorks</strong>: un <strong>wiki</strong> con un&#8217;area di <strong>gestione file</strong> dotata del <strong>versioning</strong>. Ma soprattutto uno strumento facile da utilizzare, che può benissimo essere aperto in autonomia da qualsiasi utente senza il supporto IT e che è in grado di gestire diversi profili di accesso: amministratore, editore, lettore, ecc..</p>
<p>Non mancano RSS, backup, personalizzazione dei colori e del logo. Sono tutte funzionalità che devono esserci e sono considerate commodity. Tipicamente ciò che fa la differenza in questi strumenti è la facilità di gestione.</p>
<p>Nell&#8217;ottica di intranet management, dare la possibilità ai propri utenti di aprirsi e configurarsi uno spazio di lavoro in autonomia è cosa buona e giusta. Può però diventare problematico quando vi è la necessità di aprire l&#8217;accesso verso l&#8217;esterno: clienti e fornitori non avranno mai un utente di dominio. Ecco allora che si passa nel campo della extranet.</p>
<p><span id="more-915"></span></p>
<p><strong>Perchè non utilizzare servizi esterni?</strong> Gli utenti prima o poi <strong>lo farebbero da soli</strong>, a mio avviso meglio <strong>prevedere</strong> certi comportamenti e <strong>convogliare la domanda</strong> verso un <strong>unico strumento</strong>. PBWorks mi ha colpito per la sua estrema facilità di utilizzo e per la sua velocità di configurazione.<br />
In PBWorks ho notato tante di quelle funzionalità che il buon Giacomo Mason ha elencato per il <a title="Corporate wiki che vorrei" href="http://www.intranetmanagement.it/2008/03/il-corporate-wiki-che-vorrei/" target="_blank">corporate wiki ideale</a>. Ciò che non va sono le politiche di prezzo, se è vero che comunque viene data la possibilità di creare workspaces gratuitamente con utenti infiniti, è altrettanto vero che le licenze annuali per i servizi professionali sono piuttosto alte (nell&#8217;ordine dei 20 dollari per utente, Google ne chiede 40 per offrire la posta elettronica più tutta la suite di Google Apps).</p>
<p>Cosa mi servirebbe? Un servizio simile, se poi qualcuno conoscesse qualcosa di utilizzabile pure in locale e non come servizio, sarebbe il top. <a title="Wikispaces for business" href="http://www.intranetmanagement.it/2008/03/il-corporate-wiki-che-vorrei/" target="_blank">Wikispaces</a> è la concorrenza, ma pecca nella gestione dei files: manca infatti un ambiente di gestione dei documenti e relative revisioni.</p>
<p>Entrambi hanno però una cosa fondamentale: le <strong>API</strong>. Purtroppo ancora non ho avuto tempo per studiarmele a fondo, ma è proprio attraverso le API che si potrebbero gestire all&#8217;interno della propria intranet i workspaces aperti verso l&#8217;esterno dagli utenti, per tenere sempre la situazione sotto controllo. Questo, a mio avviso, è uno degli elementi fondamentali per scegliere il prodotto. Mi riserbo quindi la decisione finale dopo aver giochicchiato con le API. Semmai qualcuno lo avesse già fatto, è <strong>obbligato a commentare</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2009/12/09/pbworks-collaborazione-emergente-puo-servire-anche-nella-corporate-intranet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Psss.. Ho provato Google Wave!</title>
		<link>http://www.diplod.it/2009/11/19/psss-ho-provato-google-wave/</link>
		<comments>http://www.diplod.it/2009/11/19/psss-ho-provato-google-wave/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:26:03 +0000</pubDate>
		<dc:creator><![CDATA[Davide]]></dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Knowledge Management]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[comunicazione]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[innovazione]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=902</guid>
		<description><![CDATA[Communication and Collaboration Tool: modifiche in tempo reale, più utenti assieme che editano documenti e commentano i commenti di altri. Un'onda è un flusso comunicativo vivo che si aggiorna ed evolve, non servirà più ricercare le mail. Ho provato Google Wave..]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.diplod.it/wp-content/uploads/2009/11/Cattura.PNG"><img class="aligncenter size-medium wp-image-903" title="Prove tecniche con Google Wave" src="http://www.diplod.it/wp-content/uploads/2009/11/Cattura-300x160.PNG" alt="Prove tecniche con Google Wave" width="300" height="160" /></a></p>
<p>Ebbene, da poco più di un mese <strong>Google</strong> ha lanciato la preview di <strong>Wave</strong>: un <strong>nuovo modo di comunicare e lavorare</strong>. Era da tempo che non riuscivo a stupirmi utilizzando una applicazione web.. I vari Facebook, SlideShare, LinkedIn, Flickr e tutte le <a title="slideshare - linkedin" href="http://www.linkedin.com/opensocialInstallation/preview?_ch_panel_id=1&amp;_applicationId=1200" target="_blank">loro</a> <a title="slideshare - facebook" href="http://www.facebook.com/apps/application.php?id=2490221586" target="_blank">spassosissime</a> <a title="Flickr - Facebook" href="http://www.facebook.com/apps/application.php?id=2352557895" target="_blank">integrazioni</a> mi avevano abituato a standard elevati. Anche se poi, diciamocelo, sono cosette. Che sul lavoro possono servire, certo, ma non sono fondamentali.</p>
<p><strong>Skype</strong>, ad esempio, è una di quelle cose che in ambito lavorativo ti possono <strong>cambiare la vita</strong>: in bene o in peggio, questione di carattere. Ma restano i limiti di una messaggistica legata al testo.. dove un file arriva come qualcosa da scaricare e per cui è necessario individuare un posticino nel proprio disco fisso. Per non parlare dei limiti della messaggistica istantanea, se ti distrai un attimo è la fine.</p>
<p>La mail, beh.. Quando ho iniziato a utilizzare <strong>Gmail</strong> ho capito la differenza. E&#8217; un amore che matura col tempo, se poi ti ritrovi dopo qualche anno a lottare con l&#8217;archiviazione automatica di Outlook (per non parlare delle funzionalità di ricerca), capisci d&#8217;un botto quanto sia diverso il concetto di mail tra Google e Microsoft. Eppure, dopo un po&#8217;, anche la mail ti sta stretta.. Se ne devono essere accorti dalle parti di Mountain View, perchè hanno iniziato a riempirla di applicazioni che ne estendono gli utilizzi: sono nate le <a title="Gmail Labs Features" href="http://gmailblog.blogspot.com/2008/06/introducing-gmail-labs.html" target="_blank">Labs Features</a> per Gmail. Ecco allora le foto di Flickr, i video di youtube, calendar, i task.. tutti assieme integrati in Gmail.</p>
<p>Poi il botto: <strong><a title="Google Wave" href="https://wave.google.com/wave/" target="_blank">Google Wave</a></strong>. Arriva proprio come un&#8217;onda, e ti accorgi subito dopo due o tre salti che questa è una rottura. <strong>Il concetto di mail si evolve e si fonde con quello della messaggistica istantanea</strong>. La comunicazione diventa al tempo stesso sincrona e asincrona. Non c&#8217;è più solo il testo, ci sono i video, i file, le mappe, tutto assieme in un unico flusso comunicativo. Così rifletti: non ci metti molto per capire che se i tuoi colleghi utilizzassero sta roba assieme a te sarebbe davvero <strong>diverso</strong>.</p>
<p><span id="more-902"></span></p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/v_UyVmITiYQ&amp;hl=it_IT&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/v_UyVmITiYQ&amp;hl=it_IT&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>E&#8217; ancora tutto in preview, si accede su <strong>invito</strong>, io l&#8217;ho ricevuto ma ancora non ho la possibilità di offrirne a mia volta. Appena potrò lo farò più che volentieri: <strong>si accettano candidature</strong>. :)<br />
Per ora, l&#8217;unico modo è <a title="Richiedere invito per Google Wave" href="https://services.google.com/fb/forms/wavesignup/" target="_blank">segnalare la propria curiosità in questa pagina</a>. Per chi vuole informarsi, queste sono le <a title="Google Wave help" href="http://wave.google.com/help/wave/about.html" target="_blank">pagine di riferimento</a>.</p>
<p><strong>Communication and Collaboration Tool</strong>: modifiche in tempo reale, più utenti assieme che editano documenti e commentano i commenti di altri. Un&#8217;onda è un flusso comunicativo vivo che si aggiorna ed evolve, non servirà più ricercare le mail. Le useremo solo per le comunicazioni formali.<br />
Chissà che un giorno non diventi il fulcro della <a title="Google Enterprise" href="http://www.google.com/enterprise/" target="_blank">piattaforma enterprise di Google</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2009/11/19/psss-ho-provato-google-wave/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
