PROTOTIPIZZAZIONE DI UN MODELLO PER LA REALIZZAZIONE DI SITI WEB BASATO SU ZEND FRAMEWORK E DESIGN PATTERN MVC

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PROTOTIPIZZAZIONE DI UN MODELLO PER LA REALIZZAZIONE DI SITI WEB BASATO SU ZEND FRAMEWORK E DESIGN PATTERN MVC"

Transcript

1 UNIVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica e dell Automazione DIPARTIMENTO DI INGEGNERIA INFORMATICA, GESTIONALE E DELL AUTOMAZIONE PROTOTIPIZZAZIONE DI UN MODELLO PER LA REALIZZAZIONE DI SITI WEB BASATO SU ZEND FRAMEWORK E DESIGN PATTERN MVC Laureando: Giorgio Mandolini Relatore: Prof. Alessandro Cucchiarelli Anno accademico 2006/2007

2 Non credo nel conoscere ma nel saper imparare

3 Vorrei ringraziare la mia famiglia, che non ha mai smesso di credere in me supportandomi e spesso anche sopportandomi, con il sorriso sulle labbra, anche nei miei insuccessi. Grazie a voi non ho mai perso la fiducia in me stesso. Non posso fare a meno di ringraziare Ali, Ari, Bea, Nico e Noemi: ho vissuto con voi il vostro diploma... E voi con me la mia laurea! Grazie per i bellissimi momenti che mi avete regalato e la vostra capacità di farmi sorridere e risollevarmi nei momenti tristi. Un grazie a mio cugino Alberto e i nostri sogni di cambiare il mondo senza che esso cambi noi. Perché in fondo non sappiamo quale sia il nostro perché, ma dev'essere sicuramente un ottimo motivo! ; ) Al mio caro amico Mauro per cosa lo ringrazio? E' difficile dirlo... Anzi no! E' molto semplice: PER TUTTO! Sei una persona unica e un vero amico! Un sorriso a Laura che con i suoi modi di fare riesce sempre a stupirmi e farmi ridere di cuore. Grazie di cuore a Simone e Margherita: quante volte mi avrete spronato a dare il meglio di me? Credo che ormai avete perso il conto anche voi : ) Al mio maestro Lorenzo Massacci per le riunioni fiume durante il tirocinio e tutto lo staff di e xtrategy per avermi fatto crescere sia professionalmente che come persona, siete mitici ragazzi! Ai ragazzi di quota 145 : non ho mai capito se sono pazzo e sto con i pazzi, o se sono pazzo e i pazzi vengono da me.. Alla fine il risultato è lo stesso: io sono pazzo e voi siete piombati nella mia vita! Ringraziarvi tutti mi è impossibile e dimenticherei sicuramente qualcuno... Però Mirco, come posso non citare la tua risata alla Nelson? : ) Infine, un grazie tutto speciale ad Angela Trilli che ha movimentato un po' la stesura finale di questa tesi ; )

4 Università Politecnica delle Marche Indice Capitolo 1 Introduzione Problema del riutilizzo del codice Obiettivi...2 Capitolo 2 I Framework Scopo di un framework Utilizzo di un framework Criteri di scelta Vantaggi e svantaggi di un framework...10 Capitolo 3 Zend Framework I motivi della scelta Il design pattern MVC MVC con Zend Framework Zend_Controller Approfondimenti sul routing Riscrittura dell'url Zend_View Zend_Config...21 I

5 Università Politecnica delle Marche 3.9 Zend_Registry Zend_Db e Zend_Db_Table, accenni...24 Capitolo 4 Sviluppo del prototipo Limitazioni ed esigenze Funzionalità del prototipo Creazione di sezioni di pagina generiche Creazione di header HTML Creazione di footer HTML Creazione di elenchi e liste Gestione dei dati di configurazione Gestione degli errori Organizzazione della struttura cartelle File fondamentali del modello bootstrap.php File di configurazione config.xml Il front controller: index.php Creazione dei controllers Gestione del layout...50 Capitolo 5 Esempio di applicazione Studio del layout Studio dell'home page Studio della sezione news...57 II

6 Università Politecnica delle Marche 5.4 Studio del SiteController...59 Capitolo 6 Considerazioni finali...60 Appendice A Esempi di utilizzo...63 A.1 Esempi di processo di routing...63 A.2 Interazione Zend_Controller / Zend_View...64 A.3 Reperire i dati da un oggetto Zend_Config...65 A.4 Zend_Config_Ini: utilizzo di file.ini...66 A.5 Zend_Config_Xml: utilizzo di file.xml...68 A.6 Utilizzo della classe Rolando_Generico...69 A.7 Utilizzo della classe Rolando_Header...71 A.8 Valori consentiti per Rolando_Header...73 A.9 Utilizzo della classe Rolando_Lister...74 A.10 Utilizzo della classe Rolando_Error...75 Appendice B Codice sorgente...76 B.1 Classe Rolando_Generico...76 B.1.1 Selettore delle classi Rolando_Generico...76 B.1.2 Classe astratta Rolando_Generico_Abstract...77 B.1.3 Classe per template TPL Rolando_Generico_TPL...79 B.1.4 Classe per template STR Rolando_Generico_STR...81 B.1.5 Classe per template PHP Rolando_Generico_PHP...82 B.2 Classe Rolando_Header...84 III

7 Università Politecnica delle Marche B.3 Classe Rolando_Footer...88 B.4 Classe Rolando_Lister...91 B.5 Classe Rolando_Config...95 B.6 Classe Rolando_Error...99 B.7 File bootstrap.php B.8 File Config.xml B.9 File index.php B.10 I Controllers B.10.1 Controller speciale SiteController B.10.2 Controller IndexController B.10.3 Controller MvcController B.10.4 Controller NewsController B.11 Templates usati nel sito di prova B.11.1 Template di 1 livello B.11.2 Alcuni templates di 2 livello B.12 Modello News_Model Bibliografia IV

8 Capitolo 1 Introduzione Internet è diventato lo strumento di comunicazione per eccellenza, come il principale vettore di informazioni nonché luogo di scambio di contenuti. Questa realtà sta diventando sempre più estesa e complessa, tanto da delineare uno scenario in cui le applicazioni web sono veri e propri sistemi che offrono informazioni e servizi di ogni tipo. Con la richiesta di applicazioni sempre più complesse diventa necessaria l'adozione di strumenti che ne rendano agevole lo sviluppo; è infatti molto importante trovare una metodologia di lavoro semplice ed efficace che renda possibile la realizzazione di sistemi seguendo un numero di passi finiti e ben organizzati. Si ottiene così una maggior produttività, accompagnata da una superiore qualità del prodotto finale, nonché la possibilità di riutilizzo delle soluzioni adottate per lo sviluppo di applicazioni future. 1

9 1.1 Problema del riutilizzo del codice Una delle necessità dello sviluppatore software è quella di poter riutilizzare codice precedentemente scritto, senza dover studiare nuove soluzioni ad ogni nuovo progetto. Poter contare su soluzioni precedentemente testate e funzionanti rende lo sviluppo dei nuovi progetti più agevole, nonché qualitativamente superiore: si può infatti contare su codice collaudato, che via via potrà essere reso più complesso e robusto in futuro. Quella dell'utilizzo di un framework è sicuramente una delle alternative più valide alla soluzione del problema appena posto: con questi strumenti è infatti possibile contare su una serie di librerie e strutture in grado di facilitare il lavoro dello sviluppatore, che può dedicare il proprio tempo a livelli di programmazione più elevati. 1.2 Obiettivi Obiettivo dello studio sarà quello di definire un prototipo di modello per la creazione di siti web: è infatti noto che ogni sito presenta una propria struttura, sia grafica che dei contenuti, che viene replicata tutta o in parte nelle varie pagine che lo compongono. Al prototipo sarà accompagnata una vera e propria metodologia di lavoro che attraverso uno studio preventivo dell'applicazione ne permetterà lo sviluppo e la manutenzione. 2

10 Oltre a ciò sarà possibile definire una sorta di scheletro adattabile e personalizzabile per la creazione semplice e pulita di un sito. Scopo di questo prototipo sarà dimostrare la facilità di sviluppo di siti web riconducibili ad un modello comune con home page, sezioni tematiche, cataloghi, news, integrati all'interno del sito stesso in una struttura ben definita. L'utilizzo di un modello di questo tipo, piuttosto che l'adozione di un CMS (Content Management System, ossia un sistema software per organizzare e facilitare la creazione di documenti e contenuti) viene preferito in quegli ambiti in cui l'utilizzatore non deve avere il controllo totale del sito, ma deve poter interagire con esso e gestirlo in maniera più limitata. Durante lo studio sono stati infatti definite tre tipologie di siti web, che si differenziano per dinamicità e grado di controllo. Siti STATICI Nessun tipo di controllo E' possibile aggiungere e rimuovere informazioni nelle relative sezioni del sito, ma non è possibile modificarne la struttura base Siti DINAMICI Controllo totale E' possibile interagire con il sito in ogni sua parte, aggiungere e rimuovere intere sezioni, cambiarne struttura e contenuti controllo crescente Siti DINAMICI Controllo parziale Fig. 1. Tipologie di siti web. 3

11 Non sempre infatti il cliente necessita di un sistema complesso come un CMS in quanto non può o non vuole dover gestire anche aree del sito che raramente vengono cambiate. Le ragioni di ciò sono molteplici e possono essere, ad esempio, l'inesperienza dell'utilizzatore o la mancanza di tempo di quest'ultimo che può affidare l'incarico della manutenzione ad un'agenzia di comunicazione. Il modello in studio sarà collocato tra le ultime due categorie di siti definite in fig. 1 e suo scopo principale sarà quello di semplificare il processo di sviluppo all'azienda di comunicazione che si occupa della relativa creazione e manutenzione. 4

12 Capitolo 2 I Framework Un framework è una struttura di supporto utilizzata nella produzione del software, che fornisce l'infrastruttura per il progetto e lo sviluppo di applicazioni. Alla base di un framework si ha un insieme di classi, librerie ed interfacce di base, che costituiscono l'infrastruttura di una applicazione, spesso corredata da strumenti ideati per aumentare la velocità di sviluppo delle applicazioni. Utilizzare un framework non è però da confondere con l'utilizzo di una semplice libreria di classi, infatti tra i due approcci vi è in realtà una sostanziale differenza. Una libreria di classi viene utilizzata dallo sviluppatore per svolgere determinate funzionalità: in questo caso il codice scritto invoca il codice di libreria già esistente, che si occupa di svolgere una determinata funzione. Il controllo di flusso resta però in mano allo sviluppatore che dovrà quindi occuparsi di come mettere insieme i pezzi. Adottare un framework significa invece attenersi ad un specifica architettura, in pratica estenderne le classi ed implementarne le interfacce. Non si ha più quindi la responsabilità di controllare il 5

13 flusso elaborativo: sarà infatti il framework a farlo per lo sviluppatore. Non è più il codice dello sviluppatore a richiamare il codice di libreria ma viceversa. Un framework è considerato come una parte di software esistente nel quale inserire il proprio: saranno le classi del framework ad invocare quest'ultimo. 2.1 Scopo di un framework Lo scopo di un framework è di risparmiare allo sviluppatore la riscrittura di codice già steso in precedenza per funzionalità simili, circostanza che si presenta sempre più spesso con il crescere della complessità delle applicazioni ed il presentarsi di funzionalità secondarie simili tra i vari progetti. Grazie all'utilizzo di un framework il programmatore potrà concentrarsi maggiormente sulle reali funzionalità della proprie applicazioni, senza dover pensare a tutto il codice sorgente. Il termine inglese framework può quindi essere tradotto come intelaiatura o struttura, che è appunto la sua funzione, a sottolineare che al programmatore rimane solo da creare il contenuto vero e proprio dell'applicazione. Un framework è definito da un insieme di classi astratte e dalle relazioni tra esse. Istanziare un framework significa fornire un'implementazione delle classi astratte. L'insieme delle classi concrete, definite ereditando il framework, eredita le relazioni tra le 6

14 classi; si ottiene in questo modo un insieme di classi concrete con un insieme di relazioni tra classi. 2.2 Utilizzo di un framework Utilizzare un framework significa implicitamente adottare una specifica architettura per la propria applicazione. A prima vista questo può sembrare vincolante invece, nel caso di un framework valido, questo è uno dei maggiori vantaggi: all'inizio di un progetto infatti la scelta dell'architettura è uno dei momenti fondamentali che può determinare il successo o l'insuccesso del progetto stesso. A volte è una scelta che viene trascurata o sottovalutata, principalmente per un errato approccio allo sviluppo applicativo considerato esclusivamente come un'attività di scrittura di codice, ma che produce effetti disastrosi se non ponderata attentamente. Utilizzare un framework maturo e già ampiamente testato significa attenersi ad una architettura che funziona e quindi significa iniziare un progetto da una base solida. Ciò porta inoltre ad un significativo risparmio di tempo e risorse in quanto lo sviluppatore non deve più preoccuparsi di realizzare componenti infrastrutturali ma può concentrarsi esclusivamente sullo sviluppo della logica ad alto livello che poi è il valore aggiunto della applicazione che si scrive. Non è raro nello sviluppo di un progetto assistere alla riscrittura di componenti di base che già esistono e che sono stati già ampiamente testati; possiamo dire che uno dei vantaggi nell'utilizzo di un 7

15 framework è che si viene aiutati a non reinventare la ruota come spesso purtroppo accade. E' chiaro che tutto ciò è vero quando si fa riferimento ad un framework giunto ad uno stadio di sviluppo maturo, già adottato da molti sviluppatori e quindi già ampiamente provato sul campo. Da un punto di vista pratico adottare un framework significa senz'altro ridurre i tempi di un progetto ed evitare errori nella fase di disegno in quanto si utilizza una infrastruttura realizzata secondo le best practises dell'ambito tecnologico di riferimento. E' bene precisare che un framework non va confuso con un design pattern: un design pattern è una strategia di soluzione di un problema comune, è qualcosa di concettuale che prescinde dall'implementazione tecnologica. Un framework è invece qualcosa di concreto, è un insieme di componenti che può essere usato per realizzare un'applicazione; componenti che, quando il framework è ben strutturato, sono sviluppati secondo i design pattern più diffusi nell'ambito specifico. 2.3 Criteri di scelta I criteri di scelta sono molteplici ed è bene chiarire che non esiste il framework ideale a tutti gli scopi. Possiamo individuare, tra le tante, le seguenti importanti caratteristiche: 8

16 Maturità del progetto E' bene utilizzare un framework maturo, ben sviluppato e testato, che sia supportato dalla comunità degli sviluppatori e quindi presente sul campo in progetti reali. Documentazione La documentazione è fondamentale per la risoluzione dei problemi che si incontrano nella realizzazione delle applicazioni, è importante che sia ricca e ben fatta, eventualmente corredata da esempi di utilizzo. Oltre a facilitare il lavoro è anche molto importante per la comprensione del framework che si sta utilizzando. Validità del disegno architetturale Come visto la scelta di un framework influisce sull'architettura applicativa. E' bene quindi verificare che sia disegnato correttamente e che siano adottati i design pattern e le best practises della tecnologia di riferimento. Adozione degli standard Un framework deve essere fondato sui componenti standard della tecnologia di riferimento. E' consigliato evitare le soluzioni proprietarie. Estensibilità Deve essere possibile estendere le funzionalità del framework per poterlo adattare alle proprie esigenze. 9

17 2.4 Vantaggi e svantaggi di un framework I vantaggi nell'utilizzo di un framework sono molteplici e tanto più si apprezzano quanto più il progetto è di grosse dimensioni ed elevata complessità. Di seguito vengono schematicamente riassunti alcuni dei principali vantaggi che si ottengono nell'adozione di un framework: Disegno architetturale Un buon framework deve essere fondato su un disegno architetturale valido, in quanto il suo codice è scritto in base alle best practises della tecnologia in uso. Ciò conferisce al progetto con esso sviluppato fondamenta solide dalle quali partire: non dimentichiamo infatti che framework significa intelaiatura ed è di fondamentale importanza sceglierne una valida, alla quale affidare i propri progetti. Riduzione dei tempi di progetto Lo sviluppatore non deve più scrivere codice riguardante le componenti infrastrutturali del proprio progetto: tale compito è infatti delegato al framework che metterà a disposizione la propria struttura. Ci si concentrerà solamente sulla logica applicativa risparmiando risorse in termini di energie di sviluppo e tempo impiegato. 10

18 Semplificazione dello sviluppo Anche lo sviluppo della logica applicativa viene semplificato se viene introdotto un framework valido: esso infatti metterà a disposizione dello sviluppatore una serie di componenti che andranno a risolvere gran parte dei compiti comuni a tutte le applicazioni WEB (gestione di query e database, logging, localizzazione ed internazionalizzazione...). Lo sviluppatore potrà quindi spostare la propria attenzione verso compiti più complessi, notevolmente semplificati grazie all'adozione di tali strumenti. E' molto importante sapere che un framework non è la soluzione a tutti i problemi: non esiste un framework universale ed è molto importante effettuare la scelta che meglio si adatta alle proprie esigenze, viceversa si andrebbe incontro a notevoli svantaggi. E' preferibile evitare framework poco generici, che impongono l'utilizzo di strumenti proprietari e che legano indissolubilmente la propria applicazione ad una specifica struttura. Il framework deve fornire una base per lo sviluppo ma la logica applicativa sviluppata deve essere utilizzabile anche al di fuori della struttura del framework stesso. 11

19 Capitolo 3 Zend Framework Zend Framework è il framework di Zend, la società che supporta lo sviluppo e la distribuzione del linguaggio PHP. Si basa sull'ultima versione del PHP, giunto alla 5.2, ed è attualmente alla versione 1.0.2, anche se al momento dei test è stata utilizzata una versione beta. Programmazione ad oggetti e struttura delle applicazioni secondo il design pattern MVC (un design pattern architetturale utilizzato per separare i dati dall'interfaccia utente) sono i primi obiettivi che si intende centrare con l'utilizzo di questo framework, che mette a disposizione dello sviluppatore una serie di interessanti funzionalità. 3.1 I motivi della scelta E' stato scelto Zend Framework perché le caratteristiche che presenta rispecchiano quasi tutti i criteri di scelta precedentemente visti. E' infatti un framework molto completo, estensibile, ben documentato (anche con esempi di utilizzo), utilizza un'architettura (MVC) molto valida nel campo dell'ingegneria del software e fa pieno uso di 12

20 standard non proprietari. L'unico neo risulta nella maturità del progetto, infatti in fase di test è stata utilizzata una versione beta, mentre quella ufficiale risulta da poco operativa nel campo; tale dubbio è però stato fugato dalla grandissima comunità degli sviluppatori del progetto. 3.2 Il design pattern MVC Il design pattern MVC (acronimo di Model View Controller) è un pattern architetturale dell'ingegneria del software, utilizzato nelle applicazioni per separare i dati (modelli) dall'interfaccia utente (view) in modo che un cambiamento su uno di questi due aspetti non influenzi l'altro. La separazione tra la logica di funzionamento e la rappresentazione dei dati viene effettuata da un componente intermedio: il controller. Di seguito viene descritto lo scopo di ogni componente del pattern e relativo funzionamento: Model rappresenta ciò che si vuol fare, è il core dell'applicazione e ne definisce la logica di funzionamento interna, vincolata alle scelte implementative (es: utilizzo di un DB piuttosto che text files). 13

21 View si occupa della rappresentazione dei dati forniti dal modello, visualizzandoli a prescindere da come questi siano stati estratti. Controller è l'anello di congiunzione tra Model e View, si occupa di mappare le richieste dell'utente azionando il modello e selezionando la vista più appropriata. Richiesta utente Controller Selezione vista Cambio di stato Model Query View Fig. 2 Diagramma del design pattern MVC. Generalmente un'applicazione scritta utilizzando il pattern MVC lavora seguendo questi passi fondamentali: 1. L'utente interagisce con l'interfaccia. 2. Il controller gestisce la richiesta proveniente dall'utente secondo 14

22 un proprio algoritmo. 3. Il controller seleziona il modello appropriato alla richiesta 4. Il view utilizza i dati messi a disposizione dal modello per generare un output appropriato (il modello non ha conoscenze dirette sul view). 5. L'interfaccia utente resta in attesa di nuove richieste ed il ciclo ricomincia. 3.3 MVC con Zend Framework Il design pattern MVC viene implementato attraverso l'utilizzo di due specifiche classi, Zend_Controller e Zend_View che, come suggerisce il nome, si occupano rispettivamente del controller e del view. Per quanto riguarda invece l'aspetto dei modelli si ha una serie di classi che cercano di coprire un ampio insieme di utilizzi e funzionalità come l'interfacciamento a database, creazione ed esecuzione di queries, supporto alla localizzazione, creazione documenti PDF, RSS feed. Saranno presi in analisi principalmente i primi due aspetti di questo framework, infatti l'aspetto dei modelli è quello che viene di più lasciato in mano allo sviluppatore finale, che può decidere sia di scrivere da capo la propria logica, sia di utilizzare le classi messe a disposizione da Zend. 15

23 3.4 Zend_Controller Zend_Controller è il cuore del sistema MVC di Zend Framework ed è composto da una serie di classi che rappresentano ognuna una fase di funzionamento del controller. Si parte dal front controller, implementato attraverso Zend_Controller_Front, che si occupa di intercettare le richieste che vengono fatte al server per poi delegarle agli action controller Zend_Controller_Action; ogni richiesta si traduce infatti nella selezione del controller appropriato e di un relativo metodo, che in questo contesto viene definito azione. Il controllo passa quindi all'istanza di Zend_Controller_Action selezionata: è compito dello sviluppatore estendere la classe fondamentale fornita da Zend in modo da creare le proprie applicazioni, aggiungendo metodi e proprietà secondo le specifiche esigenze. Zend_Controller_Router e Zend_Controller_Dispatcher sono invece due moduli utilizzati appunto nella fase di routing e dispatching che legano il front controller con le varie action; nella fase di routing l'url viene interpretata e quindi individuati l'action controller opportuno, la relativa azione da invocare ed i parametri passati. Successivamente la richiesta viene inoltrata al dispatcher che si occupa di trovare e caricare il file fisico con il controller richiesto, istanziare quest'ultimo ed invocarne i metodi opportuni. 16

24 3.5 Approfondimenti sul routing Uno degli obiettivi del framework è quello di lavorare con URL semplici e pulite, di facile interpretazione. Per fare questo Zend_Controller_Router si occupa dell'estrazione dei dati dall'url utilizzando un sistema di token. L'URL viene infatti interpretata secondo il seguente schema: Dove ogni token ha un significato ben preciso: sitename: è il nome del server a cui si fa riferimento module: è opzionale, viene utilizzato per suddividere il sito in diverse applicazioni (es: news, blog, forum) controller: è l'action controller da richiamare per soddisfare la richiesta action: è l'azione che viene richiesta all'action controller selezionato p1/v1: coppie di parametri nella sintassi chiave/valore Il modulo è opzionale, infatti se non viene specificato tutte le richieste verranno redirette ai relativi controllers. L'utilizzo dei moduli ha senso in siti web molto complessi e serve per la creazione di routes ben suddivise verso i controllers. Questo accade quando si ha una gran quantità di controllers ed ha quindi senso suddividerli 17

25 in base all'applicazione cui fanno riferimento. In appendice A.1 alcuni esempi riguardanti il processo di routing. 3.6 Riscrittura dell'url Per poter ottenere il funzionamento appena illustrato il web server deve supportare un sistema di riscrittura dell'url, infatti tutte le chiamate devono essere redirette verso un'unica pagina PHP, che solitamente viene chiamata index.php. In questo modo si perde il concetto di pagina web intesa come file fisico: tutti i path richiamati diventano virtuali. Sarà in index.php che la richiesta verrà interpretata e processata caricando i corretti files fisici, istanziando i controllers e richiamando le relative actions. Nel caso del webserver Apache, frequentemente utilizzato insieme al linguaggio PHP, la riscrittura dell'url viene supportata attivando il modulo opzionale mod_rewrite. Una volta attivato il mod_rewrite nella root del sito va posizionato il file speciale.htaccess contenente le regole di riscrittura (rewrite rules) che il webserver andrà ad interpretare. RewriteEngine on RewriteRule!\.(js ico gif jpg png css swf)$ index.php Fig. 3 Esempio di file.htaccess. La regola descritta in fig. 3 vista attiva la riscrittura degli URL su 18

26 Apache e per la precisione reindirizza tutte le chiamate al file fisico index.php, ad eccezione di tutte quelle con l'estensione comprese tra quelle tra parentesi. Le richieste contenenti le estensioni tra parentesi non vanno redirette per un preciso motivo: se una pagina web ad esempio contenesse l'inclusione di una immagine.jpg e tale estensione non venisse indicata tra quelle da escludere allora si otterrebbe la redirezione della chiamata all'immagine stessa che di fatto non verrebbe visualizzata. Questo perché il path fisico all'immagine non verrà più interpretato come tale, ma verrà processato erroneamente come path virtuale. 3.7 Zend_View Zend_View, come suggerisce il nome, è la parte view del design pattern model view controller ed il suo scopo è separare gli script di visualizzazione da quelli dei modelli e dei controllers. Fornisce un sistema di helpers (specifici script per estendere le funzionalità di base della classe) e filtri per la creazione delle proprie visualizzazioni; all'interno degli script di visualizzazione si può lavorare direttamente in PHP oppure creare istanze di altri sistemi di template e interagire con esse. Durante lo studio verrà posta particolare attenzione agli helpers, infatti oltre a quelli di default è possibile aggiungerne altri scritti secondo le proprie esigenze. 19

27 Tra i compiti del prototipo, come si vedrà in seguito, vi è appunto mettere a disposizione vari helpers specificatamente pensati per la visualizzazione di intere sezioni di pagine WEB a seconda della loro funzione (header, footer, bottoniere...) L'utilizzo di Zend_View si può suddividere in due fasi: 1. il controller crea un'istanza di Zend_View e le assegna variabili 2. il controller incarica l'istanza di visualizzare una particolare vista, che genererà l'output (metodo render()) Durante il funzionamento la classe si occupa della popolazione del template utilizzando i dati appena ricevuti: in questo modo si attua la separazione tra logica e visualizzazione, infatti Zend_View non ha conoscenze sulla provenienza di tali dati. E' compito del controller passare tali dati all'istanza di Zend_View, valorizzandone le proprietà dall'esterno. Tra le funzionalità di questa classe vanno citate inoltre quelle relative alla sua configurazione, che viene effettuata attraverso specifici metodi: setscriptpath() viene passato come argomento il path alla cartella contenente i templates da utilizzare, in questo modo il metodo render() utilizza solamente il nome del file. 20

28 addscriptpath() viene passato come argomento il path di eventuali altre cartelle contenenti templates aggiuntivi. addhelperpath() viene passato come argomento il path alla cartella contenente gli eventuali helpers aggiuntivi In appendice A.2 un esempio di utilizzo di Zend_View insieme a Zend_Controller 3.8 Zend_Config Zend_Config è una classe scritta per semplificare l'accesso e l'uso dei dati di configurazione delle applicazioni, che vengono resi accessibili attraverso un'interfaccia ad oggetti. I dati di configurazione possono provenire da vari tipi di formato che supportano il salvataggio gerarchico di dati. Attualmente Zend_Config si appoggia su dati salvati in file di testo, attraverso le classi Zend_Config_Ini e Zend_Config_Xml, rispettivamente per il formato.ini e.xml. Qualora i dati di configurazione siano già disponibili sotto forma di array PHP, è sufficiente passare quest'ultimo al costruttore di Zend_Config, senza l'utilizzo di sottoclassi scritte per il supporto ai vari formati di file. 21

29 In appendice A.3 si può notare un esempio in cui i dati vengono resi disponibili attraverso un'interfaccia a oggetti nidificata e di semplice interpretazione, soprattutto se lo sviluppatore fa utilizzo di nomi parlanti. I dati di configurazione vengono passati al costruttore di Zend_Config tramite un array associativo (che può essere multidimensionale) in modo da organizzare di dati dal generico allo specifico, mentre le classi di interfacciamento si occupano di preparare i dati di configurazione salvati su storage e produrre l'array associativo in questione. Gli script utente possono fornire questi array direttamente: se i dati di configurazione sono pochi infatti possono essere scritti direttamente in un array, senza scomodare l'utilizzo delle sintassi ini o xml e l'utilizzo delle relative classi. I dati messi a disposizione da Zend_Config sono in sola lettura: eventuali assegnazioni come la seguente produrranno eccezioni. $config->database->host = 'new_example.com Questo comportamento di default può essere cambiato, indicandolo al costruttore durante la creazione dell'oggetto. E' inoltre importante non confondere le modifiche in memoria con il salvataggio su memoria di massa: il cambiamento di una proprietà di Zend_Config non si ripercuote nel file di configurazione da cui essa è stata letta, ma resterà tale solamente a livello di run time, durante il 22

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it

Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it TEMPLATE IN MWCMS D A N I E L E U G O L E T T I - G R U P P O M E T A Si prega di comunicare eventuali errori o inesattezze riscontrate, scrivendo una mail a: otebac@beniculturali.it C ONTENTS I template

Dettagli

Come difendersi dai VIRUS

Come difendersi dai VIRUS Come difendersi dai VIRUS DEFINIZIONE Un virus è un programma, cioè una serie di istruzioni, scritte in un linguaggio di programmazione, in passato era di solito di basso livello*, mentre con l'avvento

Dettagli

CA Process Automation

CA Process Automation CA Process Automation Glossario Release 04.2.00 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente (d'ora in avanti indicata come

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i!

Manuale Utente. S e m p l i c e m e n t e D a t i M i g l i o r i! Manuale Utente S e m p l i c e m e n t e D a t i M i g l i o r i! INDICE INDICE... 3 INTRODUZIONE... 3 Riguardo questo manuale...3 Informazioni su VOLT 3 Destinatari 3 Software Richiesto 3 Novità su Volt...3

Dettagli

Guida ai Servizi Internet per il Referente Aziendale

Guida ai Servizi Internet per il Referente Aziendale Guida ai Servizi Internet per il Referente Aziendale Indice Indice Introduzione...3 Guida al primo accesso...3 Accessi successivi...5 Amministrazione dei servizi avanzati (VAS)...6 Attivazione dei VAS...7

Dettagli

Perché un software gestionale?

Perché un software gestionale? Gestionale per stabilimenti balneari Perché un software gestionale? Organizzazione efficiente, aumento della produttività, risparmio di tempo. Basato sulle più avanzate tecnologie del web, può essere installato

Dettagli

Data warehouse.stat Guida utente

Data warehouse.stat Guida utente Data warehouse.stat Guida utente Versione 3.0 Giugno 2013 1 Sommario INTRODUZIONE 3 I concetti principali 4 Organizzazione dei dati 4 Ricerca 5 Il browser 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

White Paper. Operational DashBoard. per una Business Intelligence. in real-time

White Paper. Operational DashBoard. per una Business Intelligence. in real-time White Paper Operational DashBoard per una Business Intelligence in real-time Settembre 2011 www.axiante.com A Paper Published by Axiante CAMBIARE LE TRADIZIONI C'è stato un tempo in cui la Business Intelligence

Dettagli

Elaidon Web Solutions

Elaidon Web Solutions Elaidon Web Solutions Realizzazione siti web e pubblicità sui motori di ricerca Consulente Lorenzo Stefano Piscioli Via Siena, 6 21040 Gerenzano (VA) Telefono +39 02 96 48 10 35 elaidonwebsolutions@gmail.com

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

I.Stat Guida utente Versione 1.7 Dicembre 2010

I.Stat Guida utente Versione 1.7 Dicembre 2010 I.Stat Guida utente Versione 1.7 Dicembre 2010 1 Sommario INTRODUZIONE 3 I concetti principali di I.Stat 4 Organizzazione dei dati 4 Ricerca 5 GUIDA UTENTE 6 Per iniziare 6 Selezione della lingua 7 Individuazione

Dettagli

Documentazione Servizio SMS WEB. Versione 1.0

Documentazione Servizio SMS WEB. Versione 1.0 Documentazione Servizio SMS WEB Versione 1.0 1 Contenuti 1 INTRODUZIONE...5 1.1 MULTILANGUAGE...5 2 MESSAGGI...7 2.1 MESSAGGI...7 2.1.1 INVIO SINGOLO SMS...7 2.1.2 INVIO MULTIPLO SMS...9 2.1.3 INVIO MMS

Dettagli

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org.

Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Calc è il programma per la gestione di fogli di calcolo della suite OpenOffice.org. Nuovo documento Anteprima di stampa Annulla Galleria Apri Controllo ortografico Ripristina Sorgente dati Salva Controllo

Dettagli

FileMaker Server 13. Pubblicazione Web personalizzata con PHP

FileMaker Server 13. Pubblicazione Web personalizzata con PHP FileMaker Server 13 Pubblicazione Web personalizzata con PHP 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

SISSI IN RETE. Quick Reference guide guida di riferimento rapido

SISSI IN RETE. Quick Reference guide guida di riferimento rapido SISSI IN RETE Quick Reference guide guida di riferimento rapido Indice generale Sissi in rete...3 Introduzione...3 Architettura Software...3 Installazione di SISSI in rete...3 Utilizzo di SISSI in Rete...4

Dettagli

CA RC/Update for DB2 for z/os

CA RC/Update for DB2 for z/os SCHEDA PRODOTTO CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os CA RC/Update for DB2 for z/os (CA RC/Update) è uno strumento di gestione di dati e oggetti DB2 che consente agli amministratori

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

Virtualizzazione e installazione Linux

Virtualizzazione e installazione Linux Virtualizzazione e installazione Linux Federico De Meo, Davide Quaglia, Simone Bronuzzi Lo scopo di questa esercitazione è quello di introdurre il concetto di virtualizzazione, di creare un ambiente virtuale

Dettagli

FileMaker Server 13. Guida di FileMaker Server

FileMaker Server 13. Guida di FileMaker Server FileMaker Server 13 Guida di FileMaker Server 2010-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono

Dettagli

FileMaker Server 13. Guida introduttiva

FileMaker Server 13. Guida introduttiva FileMaker Server 13 Guida introduttiva 2007-2013 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 Stati Uniti FileMaker e Bento sono marchi

Dettagli

Dati importati/esportati

Dati importati/esportati Dati importati/esportati Dati importati Al workspace MATLAB script Dati esportati file 1 File di testo (.txt) Spreadsheet Database Altro Elaborazione dati Grafici File di testo Relazioni Codice Database

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

Dettagli

AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0

AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0 AGGIORNAMENTO PROTOCOLLO VERSIONE 3.9.0 Con questo aggiornamento sono state implementate una serie di funzionalità concernenti il tema della dematerializzazione e della gestione informatica dei documenti,

Dettagli

Funzioni di base. Manualino OE6. Outlook Express 6

Funzioni di base. Manualino OE6. Outlook Express 6 Manualino OE6 Microsoft Outlook Express 6 Outlook Express 6 è un programma, incluso nel browser di Microsoft Internet Explorer, che ci permette di inviare e ricevere messaggi di posta elettronica. È gratuito,

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

MANUALE Gest-L VERSIONE 3.2.3

MANUALE Gest-L VERSIONE 3.2.3 MANUALE Gest-L VERSIONE 3.2.3 Installazione GEST-L 4 Versione per Mac - Download da www.system-i.it 4 Versione per Mac - Download da Mac App Store 4 Versione per Windows 4 Prima apertura del programma

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello del sistema 4 2.1 Requisiti hardware........................ 4 2.2 Requisiti software.........................

Dettagli

Simplex Gestione Hotel

Simplex Gestione Hotel Simplex Gestione Hotel Revisione documento 01-2012 Questo documento contiene le istruzioni per l'utilizzo del software Simplex Gestione Hotel. E' consentita la riproduzione e la distribuzione da parte

Dettagli

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it

Guida all'installazione di SLPct. Manuale utente. Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Guida all'installazione di SLPct Manuale utente Evoluzioni Software www.evoluzionisoftware.it info@evoluzionisoftware.it Premessa Il redattore di atti giuridici esterno SLpct è stato implementato da Regione

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

Guida all'uso di StarOffice 5.2

Guida all'uso di StarOffice 5.2 Eraldo Bonavitacola Guida all'uso di StarOffice 5.2 Introduzione Dicembre 2001 Copyright 2001 Eraldo Bonavitacola-CODINF CODINF COordinamento Docenti INFormati(ci) Introduzione Pag. 1 INTRODUZIONE COS'È

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Import Dati Release 4.0

Import Dati Release 4.0 Piattaforma Applicativa Gestionale Import Dati Release 4.0 COPYRIGHT 2000-2005 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati.questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali

AlboTop. Software di gestione Albo per Ordini Assistenti Sociali AlboTop Software di gestione Albo per Ordini Assistenti Sociali Introduzione AlboTop è il nuovo software della ISI Sviluppo Informatico per la gestione dell Albo professionale dell Ordine Assistenti Sociali.

Dettagli

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011

Sistemi Web-Based - Terminologia. Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 Sistemi Web-Based - Terminologia Progetto di Sistemi Web-Based Prof. Luigi Laura, Univ. Tor Vergata, a.a. 2010/2011 CLIENT: il client è il programma che richiede un servizio a un computer collegato in

Dettagli

Seagate Access per Personal Cloud Manuale utente

Seagate Access per Personal Cloud Manuale utente Seagate Access per Personal Cloud Manuale utente 2015 Seagate Technology LLC. Tutti i diritti riservati. Seagate, Seagate Technology, il logo Wave e FreeAgent sono marchi depositati o marchi registrati

Dettagli

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno

GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno GeoGebra 4.2 Introduzione all utilizzo della Vista CAS per il secondo biennio e il quinto anno La Vista CAS L ambiente di lavoro Le celle Assegnazione di una variabile o di una funzione / visualizzazione

Dettagli

Gestione Nuova Casella email

Gestione Nuova Casella email Gestione Nuova Casella email Per accedere alla vecchia casella questo l indirizzo web: http://62.149.157.9/ Potrà essere utile accedere alla vecchia gestione per esportare la rubrica e reimportala come

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore

Cicli in Visual Basic for Application. For contatore = inizio To fine istruzioni Next contatore Cicli in Visual Basic for Application Le strutture del programma che ripetono l'esecuzione di una o più istruzioni sono chiamate Cicli. Alcune strutture per i cicli sono costruite in modo da venire eseguite

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

Arcserve Replication and High Availability

Arcserve Replication and High Availability Arcserve Replication and High Availability Guida operativa per Oracle Server per Windows r16.5 La presente documentazione, che include il sistema di guida in linea integrato e materiale distribuibile elettronicamente

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

GUIDA ALL UTILIZZO DELL ECM 8

GUIDA ALL UTILIZZO DELL ECM 8 GUIDA ALL UTILIZZO DELL ECM 8 GUIDA ALL UTILIZZO DELL ECM 8 1) Introduzione Pg 3 2) L area amministratore Pg 3 2.1) ECM Pg 4 2.1.1) Sezione Struttura Pg 5 2.1.2) Sezione Documento Pg 7 2.1.3) Sezione Pubblicazione

Dettagli

GUIDA RAPIDA emagister-agora Edizione BASIC

GUIDA RAPIDA emagister-agora Edizione BASIC GUIDA RAPIDA emagister-agora Edizione BASIC Introduzione a emagister-agora Interfaccia di emagister-agora Configurazione dell offerta didattica Richieste d informazioni Gestione delle richieste d informazioni

Dettagli

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement BRM BusinessRelationshipManagement Tutte le soluzioni per la gestione delle informazioni aziendali - Business Intelligence - Office Automation - Sistemi C.R.M. I benefici di BRM Garantisce la sicurezza

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

Altre opzioni Optralmage

Altre opzioni Optralmage di Personalizzazione delle impostazioni............ 2 Impostazione manuale delle informazioni sul fax......... 5 Creazione di destinazioni fax permanenti................ 7 Modifica delle impostazioni di

Dettagli

Metodologie di Analisi e Valutazione delle Posizioni e delle Prestazioni

Metodologie di Analisi e Valutazione delle Posizioni e delle Prestazioni HUMANWARE S.A.S. Via Tino Buazzelli, 51 00137 - Roma Tel.: +39 06 823861 Fax.:+39 06 233214866 Web: www.humanware.it Email: humanware@humanware.it Metodologie di Analisi e Valutazione delle Posizioni e

Dettagli

Manuale Software. www.smsend.it

Manuale Software. www.smsend.it Manuale Software www.smsend.it 1 INTRODUZIONE 3 Multilanguage 4 PANNELLO DI CONTROLLO 5 Start page 6 Profilo 7 Ordini 8 Acquista Ricarica 9 Coupon AdWords 10 Pec e Domini 11 MESSAGGI 12 Invio singolo sms

Dettagli

ARTICOLO 4: CONDIZIONI DI REALIZZAZIONE E DI FATTURAZIONE DELLE PRESTAZIONI

ARTICOLO 4: CONDIZIONI DI REALIZZAZIONE E DI FATTURAZIONE DELLE PRESTAZIONI CONDIZIONI PARTICOLARI DI WEB HOSTING ARTICOLO 1: OGGETTO Le presenti condizioni generali hanno per oggetto la definizione delle condizioni tecniche e finanziarie secondo cui HOSTING2000 si impegna a fornire

Dettagli

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi

Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi Le funzioni di shell La bash supporta la programmazione procedurale e prevede la possibilità di definire funzioni utilizzando le sintassi alternative: function nome { lista-comandi } oppure nome ( ) {

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

Piattaforma Applicativa Gestionale. Import dati. Release 7.0

Piattaforma Applicativa Gestionale. Import dati. Release 7.0 Piattaforma Applicativa Gestionale Import dati Release 7.0 COPYRIGHT 2000-2012 by ZUCCHETTI S.p.A. Tutti i diritti sono riservati. Questa pubblicazione contiene informazioni protette da copyright. Nessuna

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI?

PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? PUBLIC, PRIVATE O HYBRID CLOUD: QUAL È IL TIPO DI CLOUD OTTIMALE PER LE TUE APPLICAZIONI? Le offerte di public cloud proliferano e il private cloud è sempre più diffuso. La questione ora è come sfruttare

Dettagli

Asset sotto controllo... in un TAC. Latitudo Total Asset Control

Asset sotto controllo... in un TAC. Latitudo Total Asset Control Asset sotto controllo... in un TAC Latitudo Total Asset Control Le organizzazioni che hanno implementato e sviluppato sistemi e processi di Asset Management hanno dimostrato un significativo risparmio

Dettagli

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009

Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Corso SOL Gestione catalogo libro moderno 21-22 settembre 2009 Introduzione generale Autenticazione dell operatore https://sebina1.unife.it/sebinatest Al primo accesso ai servizi di Back Office, utilizzando

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

MEGA Process. Manuale introduttivo

MEGA Process. Manuale introduttivo MEGA Process Manuale introduttivo MEGA 2009 SP4 1ª edizione (giugno 2010) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono in alcun modo un

Dettagli

Lezione n 1! Introduzione"

Lezione n 1! Introduzione Lezione n 1! Introduzione" Corso sui linguaggi del web" Fondamentali del web" Fondamentali di una gestione FTP" Nomenclatura di base del linguaggio del web" Come funziona la rete internet?" Connessione"

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita;

Supporto alle decisioni e strategie commerciali/mercati/prodotti/forza vendita; .netbin. è un potentissimo strumento SVILUPPATO DA GIEMME INFORMATICA di analisi dei dati con esposizione dei dati in forma numerica e grafica con un interfaccia visuale di facile utilizzo, organizzata

Dettagli

La piattaforma IBM Cognos

La piattaforma IBM Cognos La piattaforma IBM Cognos Fornire informazioni complete, coerenti e puntuali a tutti gli utenti, con una soluzione economicamente scalabile Caratteristiche principali Accedere a tutte le informazioni in

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso

WORD (livello avanzato): Struttura di un Documento Complesso. Struttura di un Documento Complesso Parte 5 Adv WORD (livello avanzato): Struttura di un Documento Complesso 1 di 30 Struttura di un Documento Complesso La realizzazione di un libro, di un documento tecnico o scientifico complesso, presenta

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

Guida alla gestione dei File in Aulaweb 2.0

Guida alla gestione dei File in Aulaweb 2.0 Guida alla gestione dei File in Aulaweb 2.0 Università degli Studi di Genova Versione 1 Come gestire i file in Moodle 2 Nella precedente versione di Aulaweb, basata sul software Moodle 1.9, tutti i file

Dettagli

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL.

Codici sorgenti di esempio per l'invio di email da pagine WEB per gli spazi hosting ospitati presso ITESYS SRL. Data: 8 Ottobre 2013 Release: 1.0-15 Feb 2013 - Release: 2.0 - Aggiunta procedura per inviare email da Windows con php Release: 2.1-20 Mar 2013 Release: 2.2-8 Ottobre 2013 - Aggiunta procedura per inviare

Dettagli

PLM Software. Answers for industry. Siemens PLM Software

PLM Software. Answers for industry. Siemens PLM Software Siemens PLM Software Monitoraggio e reporting delle prestazioni di prodotti e programmi Sfruttare le funzionalità di reporting e analisi delle soluzioni PLM per gestire in modo più efficace i complessi

Dettagli

INFORMATIVA SUI COOKIE

INFORMATIVA SUI COOKIE INFORMATIVA SUI COOKIE I Cookie sono costituiti da porzioni di codice installate all'interno del browser che assistono il Titolare nell erogazione del servizio in base alle finalità descritte. Alcune delle

Dettagli

HORIZON SQL CONFIGURAZIONE DI RETE

HORIZON SQL CONFIGURAZIONE DI RETE 1-1/9 HORIZON SQL CONFIGURAZIONE DI RETE 1 CARATTERISTICHE DI UN DATABASE SQL...1-2 Considerazioni generali... 1-2 Concetto di Server... 1-2 Concetto di Client... 1-2 Concetto di database SQL... 1-2 Vantaggi...

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11

Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo&Web CMS Tutorial: installazione di Museo&Web CMS Versione 0.2 del 16/05/11 Museo & Web CMS v1.5.0 beta (build 260) Sommario Museo&Web CMS... 1 SOMMARIO... 2 PREMESSE... 3 I PASSI PER INSTALLARE MUSEO&WEB

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

Quali dati potremmo modificare? Impostazioni sul campionato, risultati, designazioni, provvedimenti disciplinari, statistiche e tanto ancora.

Quali dati potremmo modificare? Impostazioni sul campionato, risultati, designazioni, provvedimenti disciplinari, statistiche e tanto ancora. WCM Sport è un software che tramite un sito web ha l'obbiettivo di aiutare l'organizzazione e la gestione di un campionato sportivo supportando sia i responsabili del campionato sia gli utilizzatori/iscritti

Dettagli

CHIAVETTA INTERNET ONDA MT503HSA

CHIAVETTA INTERNET ONDA MT503HSA CHIAVETTA INTERNET ONDA MT503HSA Manuale Utente Linux Debian, Fedora, Ubuntu www.ondacommunication.com Chiavet ta Internet MT503HSA Guida rapida sistema operativo LINUX V 1.1 33080, Roveredo in Piano (PN)

Dettagli

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli