Realizzare un laboratorio per la didattica sulla piattaforma applicativa Microsoft Silvano Coriani ([email protected]) Academic Developer Evangelist Developer & Platform Evangelism Microsoft Microsoft Certified Microsoft Certified Microsoft Certified Microsoft Certified Microsoft Certified Trainer Solution Developer Application Developer System Engineer + Internet DataBase Administrator Agenda • Pianificare l’architettura della rete del laboratorio • Implementare i servizi di rete principali • Automatizzare l’installazione del software sui client • Organizzare la sicurezza • Sviluppare con VS.NET 2003 senza privilegi amministrativi • Utilizzare gli Academic Tools per Visual Studio.NET 2003 Pianificare l’architettura della rete del laboratorio Analizzare requisiti e servizi del lab • Il lab fa parte della rete della scuola oppure è un’isola a se stante? • Sicurezza • Distribuzione e installazione del software • Amministrazione centralizzata vs. locale • Che tipo di servizi sono necessari? • Accesso a internet dalle macchine del laboratorio? • Necessità di preservare la stato dei PC e ripristino rapido della configurazione iniziale? Analizzare requisiti e servizi del lab • Che tipo di applicativi e servizi per la didattica devo installare? • Pacchetti ormai datati? • Compatibilità con OS recenti • Utilizzo di componentistica hardware particolare? • Schede di acquisizione dati, tavolette grafiche, ecc. • Applicativi dell’ultima generazione? • Visual Studio.NET 2003, SQL Server 2000 / MSDE, ecc. • A seconda delle diverse problematiche potrebbe essere necessario orientarsi su particolari OS • Es. Windows 9x per l’accesso diretto all’hw Scelta del sistema operativo di rete • Windows 2000 Server e Windows Server 2003, nelle varie edizioni, consentono di implementare le funzionalità necessare alla creazione di un tipico laboratorio • • • • Servizi di rete Sicurezza Application Server Evitare la Web Edition per problematiche di installazione di diversi prodotti • Grazie alla famiglia Windows Server System è possibile coprire tutte le altre comuni esigenze • Database server • Mail server • Condivisione delle informazioni / portale del laboratorio Possibili scenari architetturali • Workgroup indipendente dalla rete della scuola • Server e macchine del laboratorio come “isole” da amministrare localmente • Posso beneficiare / utilizzare i comuni servizi di rete per semplificare l’amministrazione • DHCP e DNS integrati per la gestione degli indirizzi IP e la risoluzione dei nomi • Condividere una risorsa (share di rete, virtual directory, servizi, ecc.) richiede una configurazione locale dei permessi • Complessità di configurazione • Per l’installazione automatica del sw posso basarmi su applicativi di terze parti • Es. Ghost e prodotti simili Possibili scenari architetturali • Creazione di un dominio, o di un sottodominio della rete della scuola • Struttura centralizzata di amministrazione delle risorse della rete • Basato su Active Directory • Consente di creare delle politiche di gestione delle risorse e di semplificare l’amministrazione • Group Policy per la gestione della sicurezza, della configurazione del client, dell’installazione del software, ecc. • Consente di gestire problematiche quali le deleghe amministrative per un gruppo di risorse, ecc. Active Directory Forest Domain Domain Tree Domain Domain Domain Domain Tree Domain OU Domain Objects OU Domain OU Possibili scenari architetturali • Consente di implementare i Remote Installation Services (RIS) per gestire l’installazione automatica del sistema operativo e del software applicativo sulle macchine degli studenti • Necessità di Active Directory, DHCP e DNS per funzionare • Le schede di rete devo essere conformi alle specifiche PXE (Intel) • Servizi presenti in Windows 2000 Server e Windows Server 2003 • Non installati di default, occorre selezionarli tra i Windows Components Remote Installation Services BINL 2 2 DHCP RIS Server Server 3 1 RIS Client Active Directory 6 5 Client Account 4 GPO & Image Settings Client Installation Wizard Possibili scenari architetturali • Utilizzo di Terminal Services • Utilizzo dei singoli PC come “terminali” del server remoto • Il sw viene installato centralmente sul server • Occorre dimensionare correttamente il server centrale • http://www.msdnaa.net/devsystem/default.aspx • Inclusi in Windows 2000 Server e Windows Server 2003 • In modalità “Application mode” per gestire le normali attività degli studenti nel laboratorio Terminal Services RDP TCP/IP Client My Documents My Network Places My Computer Recycle Bin Terminal Server Internet Explorer Start 12:00 PM Utilizzo di Microsoft Virtual PC 2004 • Possibilità di lavorare su macchine virtuali “ospitate” dai singoli PC e dal server del laboratorio • Creazione di una “immagine” standard della macchina base dello studente • Copia del file sui PC del laboratorio • Occorre Virtual PC installato sui PC • Almeno 256Mb di RAM • 128 per il sistema host, 128 per la Virtual Machine • La macchina virtuale può mantenere le modifiche oppure essere “resettata” alla nuova accensione • Soluzione adatta a laboratori condivisi tra diverse materie o corsi I principali servizi di rete • In Windows Server 2000/2003 sono presenti tutti i servizi di rete necessari al funzionamento del laboratorio • Risoluzione dei nomi • DNS • Assegnazione automatica degli indirizzi IP • DHCP • Creazione e gestione di subnet di rete, condivisione di connessioni Internet, NAT • RRAS (Routing e Remote Access) DHCP Non-DHCP Client: static IP configuration DHCP Client: IP configuration from DHCP server IP Address1 DHCP Client: IP configuration from DHCP server IP Address2 DHCP Database IP Address1 IP Address2 IP Address3 DHCP Server Installare il DHCP Service Networking Services To add or remove a component, click the check box. A shaded box means that only part of the component will be installed. To see what’s included in a component, click Details. Subcomponents of Networking Services: COM Internet Services Proxy 0.0 MB 0.8 MB 0.0 MB Domain Name System (DNS) Dynamic Host Configuration Protocol (DHCP) 0.0 MB Internet Authentication Service 0.0 MB QoS Admission Control Service 0.0 MB Simple TCP/IP Services 0.0 MB Site Server LDAP Services 1.8 MB Description: Enables a network connected to the Internet to automatically assign a temporary IP address to a host when the host connects to the network. Total disk space required: Space available on disk: 0.9 MB Details... 912.4 MB OK Cancel DNS Forward Lookup IP address for nwtraders.msft? IP address = 192.168.1.50 DNS Server Reverse Lookup Name for 192.168.1.50? Name = nwtraders.msft DNS Server DHCP e DNS In Windows Server i due servizi sono integrati DHCP Server Computer1 1 Request for IP address Assign IP address of 192.168.120.133 Dynamic Update 2 Dynamic Update Computer1 192.168.120.133 DNS Server Zone Database Network Address Translators (NATs) 192.168.0.10 Web Server w2.x2.y2.z2 Web Browser w1.x1.y1.z1 Internet NAT Internet Information Services 6.0 Process Mgr metabase WWW Service Config Mgr INETINFO Application Pool 1 Application Pool 2 Web Garden W3WP.exe W3WP.exe W3WP.exe ASP.NET ISAPI ISAPI Extensions (ASP, etc.) ASP.NET ISAPI CLR Application Domain CLR Application Domain HTTP.sys ISAPI Filters CLR Application Domain CLR Application Domain Sviluppare con VS.NET 2003 senza privilegi amministrativi Privilegi necessari all’utilizzo di VS.NET 2003 • L’installazione di VS.NET 2003 necessità di privilegi amministrativi • Per utilizzare successivamente il pacchetto non è necessario possedere tali privilegi ma occorre essere membri dei gruppi • Debugger Users • Indispensabile per poter eseguire il debugging passo passo delle applicazioni • VS Developers • Necessario per l’interazione con il server Web nello sviluppo di tali progetti • E ovviamente avere i privilegi necessari sulle risorse alle quali si accede • Es. cartelle del file system, ecc. Privilegi necessari all’utilizzo di VS.NET 2003 • Per il debug delle applicazioni Web esiste un’altro requisito: • L’identità del processo che ospita l’applicazione web deve essere la stessa dell’utente che esegue il debug • In Windows Server 2003 si configura a livello di Application Pool di Internet Information Services 6.0 • In Windows XP occorre agire sul file machine.config e modificare il tag <processModel /> • In generale, è consigliabile eseguire il debug di applicazioni web “locali”, piuttosto che su un server centralizzato • Necessita web server installato sulle macchine degli studenti (Windows 2000 Pro, XP o 2003) Privilegi necessari all’utilizzo di VS.NET 2003 • In tutti e due i casi l’operazione deve essere eseguita utilizzando una identità amministrativa • Questa operazione potebbe essere eseguita attraverso un logon script (eseguito con credenziali amministrative) che richiede allo studente di inserire la propria password e che modifica le impostazioni della macchina locale Utilizzare gli Academic Tools per Visual Studio.NET 2003 Academic Tools • Insieme di strumenti integrati con Visual Studio.NET 2003 • Orientati alla didattica • Creazione e pubblicazione di esercitazioni • Raccolta e valutazione dei risultati • Basati su una infrastruttura di rete tradizionale • Server Web centralizzato per le pubblicazioni • Disponibili in modalità Shared Source • È possibile personalizzarne lingua / funzionamento secondo le proprie esigenze • http://www.msdnaa.net/academicTools Strumenti per il docente • Assignment Publishing Tools • Abilitano la pubblicazione di corsi ed esercitazioni per gli studenti attraverso un server Web, una share di rete o un sito FTP • Assignment Manager • Consente la gestione delle sottomissioni per le esercitazioni, il tracking di queste ultime, la notifica dei risultati e di messaggi • Code Extraction • Consente di creare uno scheletro di applicazione per gli studenti, rimuovendo il codice selezionato creando così il progetto dal quale partiranno gli studenti per la soluzione del problema assegnato • Documentazione • Descrive le varie operazioni possibili con gli Academic Tools, include tutorial ed esempi utili agli scopi didattici Strumenti per lo studente • Application Wizards • Aiutano gli studenti nella creazione di un nuovo progetto per una esercitazione • C/C++ Console Application Wizard • Come sopra, ma orientato ad applicazioni C/C++. • Esempi • Una serie di esempi che rappresentano i più comuni problemi di programmazione, dalla creazione di strutture dati, ordinamenti e applicazioni tipo chat • Documentazione • Informazioni relative all’utilizzo degli Academic Tools più una documentazione esaustiva sulle più comuni problematiche legate allo sviluppo Considerazioni finali • Implementare e gestire un laboratorio per la didattica richiede spesso le stesse tecniche necessarie a gestire una rete aziendale • Documentazione e linee guida possono essere riutilizzate con successo • Utilizzare i servizi di amministrazione che i vari sistemi operativi mettono a disposizione consente all’amministratore di automatizzare o comunque ridurre le attività manuali necessarie • Occorre comprendere bene le potenzialità di tali servizi • Una corretta pianificazione della sicurezza è necessaria e consente di prevenire danneggiamenti o operazioni non lecite da parte degli studenti sull’infrastruttura del laboratorio Link utili • Microsoft TechNet • http://www.microsoft.com/technet/default.mspx • MSDN AA – Installare un laboratorio .NET (MSR) • http://www.msdnaa.net/devsystem/default.aspx • MSDN Studenti • http://www.microsoft.com/italy/msdn/studenti • MSDN Online • http://msdn.microsoft.com © 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.