<br />
<b>Warning</b>:  strpos() expects parameter 1 to be string, array given in <b>/home/theserverside/public_html/wp-includes/blocks.php</b> on line <b>20</b><br />
{"id":505,"date":"2015-08-13T22:24:08","date_gmt":"2015-08-13T22:24:08","guid":{"rendered":"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/?p=505"},"modified":"2015-08-15T17:52:16","modified_gmt":"2015-08-15T17:52:16","slug":"","status":"publish","type":"post","link":"https:\/\/www.theserverside.technology\/it\/2015\/08\/13\/windows-10-ora-ha-il-suo-super-package-manager\/","title":{"rendered":"","raw":""},"content":{"rendered":"","protected":false,"raw":""},"excerpt":{"rendered":"","protected":false,"raw":""},"author":8,"featured_media":506,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_en_post_content":"Windows 10 \u00e8 appena stato rilasciato e si pu\u00f2 iniziare a scoprire tutte le funzionalit\u00e0 che il nuovo sistema si porta dietro, alcune molto note, altre molte meno. E' il caso di <em>PackageManagement<\/em>,\u00a0 un nome poco fantasioso che nasconde per\u00f2 il debutto sulle versioni client di Windows di un package manager che a molti ricorder\u00e0 il famoso <em>apt-get<\/em> disponibile su molte distribuzioni Linux. In realt\u00e0 sarebbe meglio definirlo un super package manager perch\u00e9 unifica le funzionalit\u00e0 di tutti i diversi sistemi di installazione e gestione applicazioni disponibili su Windows e sviluppati nel corso degli anni, oltre che rappresentare un sistema di <em>inventoring e discovery. <\/em>Basato<em>\u00a0<\/em>su Powershell ed il nuovo Windows Management Framework 5.0, <em>PackageManager<\/em> \u00e8 in realt\u00e0 il perfezionamento di diverse funzionalit\u00e0 e tecnologie sviluppate nel corso degli anni.\r\n\r\n[blockquote right=\"pull-right\"]In realt\u00e0 sarebbe meglio definirlo un super package manager perch\u00e9 unifica le funzionalit\u00e0 di tutti i diversi sistemi di installazione e gestione applicazioni disponibili su Windows e sviluppati nel corso degli anni, oltre che rappresentare un sistema di inventoring e discovery. [\/blockquote]\r\n\r\n[section label=\"Super package manager\"]\r\n<h3><strong>Super package manager<\/strong><\/h3>\r\nIl nome in codice di questa tecnologia \u00e8 significativo perch\u00e9 era <em>OneGet<\/em>, che potremmo tradurre come Get <em>unico<\/em> o <em>univoco<\/em>, e questo tradisce l'obiettivo della nuova funzionalit\u00e0: unificare i dati di provenienti da tutti i sistemi di gestione del software inclusi in Windows. Un compito non semplice se si considera che le diverse tecnologie introdotte negli anni: MSI, MSU, APPX (le nuove applicazioni Windows 8+) e le fonti come il Pannello di Controllo e cos\u00ec via.\r\n\r\n[caption id=\"attachment_512\" align=\"alignleft\" width=\"300\"]<a href=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/3056.oneget-architecture.png\"><img class=\"size-medium wp-image-512\" src=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/3056.oneget-architecture-300x165.png\" alt=\"L'architettura interna di PackageManager\" width=\"300\" height=\"165\" \/><\/a> L'architettura interna di PackageManager[\/caption]\r\n\r\nLa particolarit\u00e0 di Package Manager \u00e8 la sua capacit\u00e0 di riunire quelli che vengono chiamati <em>provider<\/em> che non sono altro che interfacce verso diverse tecnologie di discovery, inventory e installazione. Viene cos\u00ec fornito un singolo set di API, esposte da Powershell, attraverso cui \u00e8 possibile gestire fonti locali e remote, ognuna delle quali viene collegata al sistema dal suo apposito <em>provider<\/em>. Sebbene Windows10 venga installato con provider di default per le tecnologie pi\u00f9 comuni,\u00a0\u00e8 probabile che presto vengano sviluppate da terze parti interfacce che integrano tecnologie diverse, arricchendo di funzionalit\u00e0 e possibilit\u00e0 il nuovo sistema di gestione.\r\n\r\n[section label=\"Cos'\u00e8 PackageManager\"]\r\n<h3><strong>Quale problema risolve PackageManager<\/strong><\/h3>\r\nNella sua presentazione Microsoft ha indicato come target per la nuova tecnologia gli ITPro e i DevOp. In sostanza con PackageManager gli amministratori dei sistemi client possono creare sofisticate\u00a0procedure di deploy e configurazione attraverso la realizzazione di script Powershell e la possibilit\u00e0 di verificare i software installati su Windows, la versione installata, la presenza di eventuali nuove versioni e la possibilit\u00e0 di installare \/ disinstallare software. Diventa quindi possibile inviare comandi come\r\n\r\n<span style=\"color: #333399;\"><em>Find-Package google-chrome-x64 | Install-Package -Verbose -Force<\/em> <\/span>\r\n\r\nche installa Chrome a 64bit ma anche controllare quali pacchetti o software (grazie all'integrazione con il provider <em>Programs<\/em>) siano gi\u00e0 installati.\r\n\r\n[section label=\"Funzionalit\u00e0 principali\"]\r\n<h3><strong>Funzionalit\u00e0 principali<\/strong><\/h3>\r\nCome mostrato nell'immagine, i comandi che si possono utilizzare con il <em>PackageManager<\/em> non sono tantissimi: si tratta delle funzioni principali di gestione.\r\n\r\n[caption id=\"attachment_518\" align=\"aligncenter\" width=\"550\"]<a href=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_01.png\"><img class=\"wp-image-518 size-full\" src=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_01.png\" alt=\"L'elenco dei cmdlet disponibili\" width=\"550\" height=\"164\" \/><\/a> L'elenco dei cmdlet disponibili[\/caption]\r\n\r\nI cmdlet sono abbastanza auto-esplicativi. \u00a0Con il secondo comando evidenziato nell'immagine che compare di seguito, viene effettuata la ricerca di tutte le versioni disponibili per il pacchetto <em>PSReadline<\/em> utilizzando per\u00f2 solamente il provider <em>PSModule<\/em>.\r\n\r\n[caption id=\"attachment_519\" align=\"aligncenter\" width=\"550\"]<a href=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_02.png\"><img class=\"size-full wp-image-519\" src=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_02.png\" alt=\"La ricerca di un pacchetto e delle sue versioni attraverso PackageManager\" width=\"550\" height=\"163\" \/><\/a> La ricerca di un pacchetto e delle sue versioni attraverso PackageManager[\/caption]\r\n\r\nLe potenzialit\u00e0 di <em>PackageManager<\/em> sono evidenti se si pensa che ogni provider pu\u00f2 operare su repository indipendenti e che in teoria si pu\u00f2 cercare un pacchetto usando tutti i provider. La capacit\u00e0 di sviluppare provider personalizzati apre infatti molteplici scenari, soprattutto in ambito aziendale.\r\n\r\nNel terzo esempio, si procede all'installazione di un pacchetto specificandone la versione e senza necessit\u00e0 di specificare il provider:\r\n\r\n[caption id=\"attachment_520\" align=\"aligncenter\" width=\"550\"]<a href=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_03.png\"><img class=\"size-full wp-image-520\" src=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_03.png\" alt=\"L'installazione di uno dei pacchetti\" width=\"550\" height=\"104\" \/><\/a> L'installazione di uno dei pacchetti[\/caption]\r\n\r\nNell'ultimo esempio, invece, vengono elencati i pacchetti installati:\r\n\r\n[caption id=\"attachment_522\" align=\"aligncenter\" width=\"550\"]<a href=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_04.png\"><img class=\"size-full wp-image-522\" src=\"http:\/\/theserverside.eu-w.cloudapps.enterprisehost.biz\/wp-content\/uploads\/2015\/08\/pckgman_04.png\" alt=\"Inventory dei pacchetti installati\" width=\"550\" height=\"105\" \/><\/a> Inventory dei pacchetti installati[\/caption]\r\n\r\nLa particolarit\u00e0 di questo comando \u00e8 che viene utilizzato il provider speciale <em>Programs<\/em> che \u00e8 connesso al Pannello di Controllo e corrisponde alla visualizzazione <em>Aggiungi\/Rimuovi programmi<\/em> di Windows. Il parametro <em>-IncludeWindowsInstaller<\/em> serve a generare un elenco completo di pacchetti confrontando Windows Installer con la sezione <em>Aggiungi\/Rimuovi programmi<\/em> di Windows nella quale vengono elencati solo i programmi che decidono di registrarsi in quella sezione. E' necessario ricordare, infatti, che la registrazione di un programma nella sezione <em>Aggiungi\/Rimuovi programma<\/em> del Pannello di Controllo \u00e8 \"volontaria\", cio\u00e8 l'installer del software pu\u00f2 decidere di farla o meno.\r\n\r\n[section label=\"Conclusioni\"]\r\n<h3><strong>Conclusioni<\/strong><\/h3>\r\nIl nuovo <em>PackageManager<\/em> \u00e8 una novit\u00e0 molto attesa nel mondo della gestione dei client Windows. Le tecnologie di automazione lato server sono da anni uno dei cavalli di battaglia della piattaforma Windows perch\u00e9 Microsoft ha iniziato questo percorso molti anni fa, combinando tecnologie come Powershell, la gestione dei server attraverso il Server Manager fino ad arrivare alla gestione delle singole applicazioni o ruoli attraverso apposite funzionalit\u00e0 come la Web Platform o le estensioni di System Center VMM.\r\n\r\nDal lato dei client, le novit\u00e0 hanno impiegato pi\u00f9 tempo ad arrivare anche se le basi - anche in questo caso - sono state gettate molti anni fa e la testimonianza di questo \u00e8 la compatibilit\u00e0 di questa tecnologia (e di tutto Windows Management Framework) con Windows 2008 R2.\r\n\r\nSe ve lo state chiedendo, il motivo per cui Redmond sta investendo molto in queste tecnologie \u00e8 semplice: diventata service provider con Azure, Microsoft ha bisogno di una piattaforma completa che consenta a lei ed a chi sceglie Windows di gestire decine, centinaia, potenzialmente migliaia o pi\u00f9 macchine in maniera semplice ed efficace attraverso l'automazione. Per Microsoft sarebbe semplice buttare gi\u00f9 qualche nuova tecnologia e lasciare ai partner e\/o clienti l'onere di modificare il proprio modo di lavorare per incorporarla, come viene fatto da molte altre aziende.\r\n\r\nInvece anche con <em>PackageManager<\/em> Microsoft ha dimostrato di\u00a0volersi fare carico di tutto l'ecosistema Windows fornendo non solo la compatibilit\u00e0 con le tecnologie precedenti ma innovando il sistema con il supporto di provider multipli e personalizzati.","_en_post_name":"windows-10-ora-ha-il-suo-super-package-manager","_en_post_excerpt":"","_en_post_title":"Windows 10 ora ha il suo super package manager","_it_post_content":"","_it_post_name":"","_it_post_excerpt":"","_it_post_title":"","edit_language":"it"},"categories":[34],"tags":[107,105,106,109,108],"_links":{"self":[{"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/posts\/505"}],"collection":[{"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/comments?post=505"}],"version-history":[{"count":13,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/posts\/505\/revisions"}],"predecessor-version":[{"id":524,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/posts\/505\/revisions\/524"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/media\/506"}],"wp:attachment":[{"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/media?parent=505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/categories?post=505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.theserverside.technology\/it\/wp-json\/wp\/v2\/tags?post=505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}