Your SlideShare is downloading. ×
  • Like
Development & Production enviroments - Ambiente di sviluppo e ambiente di produzione
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Development & Production enviroments - Ambiente di sviluppo e ambiente di produzione

  • 132 views
Published

Lezione integrativa a supporto di un corso di formazione professionale in "Web Design" organizzato da "Scuola La Tecnica - Benevento"

Lezione integrativa a supporto di un corso di formazione professionale in "Web Design" organizzato da "Scuola La Tecnica - Benevento"

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
132
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. SVILUPPO WEB Development & Production Enviroments Lezione integrativa del corso: “Web Design 2–246” Pasquale Fiorillo - Scuola La Tecnica 2013
  • 2. Scopo della lezione ● ● Panoramica sui concetti basilari di sviluppo Panoramica sull'ambiente di sviluppo che utilizzerete durante il corso “Web Design – 246”: XAMPP ● Panoramica sui reali ambienti di produzione ● Panoramica sull'uso del laboratorio Scuola La Tecnica
  • 3. Ciclo di vita del software Si riferisce alle attività da svolgere per produrre un software e la sua documentazione: ● Analisi (contesto, caratteristiche, requisiti, costi) ● Progettazione (definizione della struttura in funzione dei requisiti) ● Implementazione (sviluppo) ● Collaudo (testing, valutazione della correttezza rispetto ai requisiti) ● ● Rilascio (installazione nell'ambiente di produzione, consegna sorgenti e documentazione) Manutenzione (modifiche post-rilascio, correzione bug)
  • 4. Modelli di sviluppo Modello a cascata Modello evolutivo Prevede l'esecuzione sequenziale delle fasi di analisi, progetto, sviluppo, collaudo e manutenzione. Coinvolge maggiormente il committente, prevede versioni periodiche parziali o prototipi del prodotto finale. Elimina gli errori nei requisiti.
  • 5. Software? Ma noi facciamo siti! Ieri (1995): pagine web statiche ● ● ● Solo lo sviluppatore può cambiare il contenuto (edit HTML) Oggi: contenuti dinamici ● ● Nessuna banca dati Scarsa esigenza di modifiche/nuovi contenuti a breve termine. ● ● Nuovi contenuti in brevissimo tempo Il committente deve poter inserire/modificare il contenuto Collegato ad una banca dati CMS – tecnologie server-side – il software!!!
  • 6. CMS: Joomla! Joomla! è un software di content management (CMS) per la realizzazione di siti web, scritto completamente in linguaggio PHP. ● Open source ● Estendibile tramite plugin ● Localizzazione italiana ● Paradigma MVC (Model View Controller) – Grafica e logica sono separate ● Gratis!
  • 7. Dall'URL alla pagina web Come funziona? ● ● ● ● ● Utente digita l'indirizzo nel browser, Es: www.scuolalatecnica.it I componenti dei nostri ambienti (quello che ci serve) ● La richiesta viene presa in carico dal server web Il server web richiama l'interprete PHP PHP legge i dati dal database, e costruisce la pagina HTML da restituire al browser L'utente visualizza la pagina richiesta Browser web: Firefox, IE, Chrome, safari, ecc. ● Server web: Apache, IIS, nginx, ... ● Interpreti: PHP, perl, java, aspx (.NET) ● Database: MySQL, MS-SQL, Oracle, ...
  • 8. Perché ambienti separati? Continuità di servizio ● ● ● Modifiche post rilascio Implementazioni nuove funzionalità Test Sicurezza ● ● Diversi collaboratori/sviluppatori Flessibilità di sviluppo VS Rigidità di produzione ● Disastri a causa di errori ● Bug-free software
  • 9. L'ambiente di sviluppo: XAMPP Perchè? ● Un unico pacchetto che comprende tutto il necessario ● Facile da installare (wizard) ● Multi piattaforma (windows, linux, osx) ● Gratis! ● Versione installabile e versione “portabile” (senza installazione)* ● http://www.apachefriends.org/it/xampp.html * Nel LAB Scuola La Tecnica non è permesso installare software
  • 10. L'ambiente di sviluppo: XAMPP Strumenti ● Server-side: Web server, PHP, MySQL ● PhpMyAdmin: amministrazione del database MySQL ● XAMPP Control: start / stop
  • 11. Ambienti di produzione Tecnologie / Servizi ● Shared hosting / Hosting multidominio ● ● Windows (IIS, .NET, MS-SQL) ● Linux (Apache, PHP, MySQL) VPS / Cloud VPS ● Sistemi operativi Server dedicato COSTI / COMPLESSITA' / SCALABILITA'
  • 12. Ambienti di produzione Shared Hosting Hosting Multidominio ● Economico ● Non richiede particolari skill ● Non richiede particolari skill ● Multidominio e multiaccount ● Amministrabile da web ● ● Monodominio Adatto al cliente finale sia privato che business ● Adatto a rivenditori o grossi progetti
  • 13. Ambienti di produzione VPS (Virtual Private Server) ● ● ● ● ● ● Server virtuale Richiede skill per l'amministrazione e la messa in sicurezza del sistema operativo e dei suoi servizi Amministrabile da web solo per quanto riguarda le operazioni sull'OS (es: reboot) Altamente configurabile Adatto a grossi progetti che richiedono una elasticità elevata o particolari funzioni non disponibili in ambienti di shared hosting Nella versione “cloud” è più scalabile e di solito è prevista la fatturazione oraria Server dedicato ● Hardware fisico dedicato solo a voi ● Richiede le stesse skill per la VPS ● Non ha nessun tipo di interfaccia web ● Costoso ● ● Poco scalabile (finite le risorse si cambia hardware) Di solito non adatto ad ospitare progetti webrelated
  • 14. Interfacce di amministrazione phpMyAdmin ● Serve a gestire i database da interfaccia web ● Lo troverete “ovunque” ● OpenSource ● Gratis!
  • 15. Interfacce di amministrazione PLESK ● Serve a gestire un servizio di hosting ● E-mail ● Spazio web e domini ● Account FTP ● ...
  • 16. Interfacce di amministrazione cPANEL ● Serve a gestire un servizio di hosting ● E-mail ● Spazio web e domini ● Account FTP ● ...
  • 17. Interfacce di amministrazione VPS/Server dedicato ● Serve a gestire l'intero sistema operativo
  • 18. Installiamo il nostro ambiente di sviluppo ✔ ✔ ✔ ✔ Download e “installazione” di XAMPP portable Avvio di Apache e MySQL Creazione nuovo database per Joomla Download e setup di Joomla
  • 19. ...Sito web completato, e ora? ✔ ✔ ✔ ✔ ✔ Registrare un dominio internet Comprare un servizio di hosting Accedere all'amministrazione del servizio di hosting e creare un account FTP e un database MySQL Upload di tutti i file tramite un client FTP (ES: filezilla) Importazione del database MySQL
  • 20. Grazie Pasquale 'sid' Fiorillo info@pasqualefiorillo.it www.pasqualefiorillo.it Twitter: @siddolo Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 3.0 Italia.