TESINA CORSO IFTS [DOC]

2,924 views
2,739 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,924
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TESINA CORSO IFTS [DOC]

  1. 1. Database – Reti – Web-App Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 1 di 50
  2. 2. Database – Reti – Web-App Database - Reti - Web-App Indice Argomenti Trattati Pag. Capitolo 1 Il Tecnico Superiore Tecnologie Informatiche 3 Capitolo 2 Le tre principali Tecnologie: DataBase – Reti – WebApp 5 2.1I Database 5 2.1.1XML 6 2.1.2Access 7 2.2Le Reti di Calcolatori 14 2.2.1La Classificazione 15 2.2.2I componenti 17 2.2.3Internet e Intranet 18 2.2.4VPN e Proxy Web 19 2.3Gli Applicativi Software 20 2.3.1Le applicazioni Client-Server 20 2.3.2Le Applicazioni Web 21 2.3.2.1Lo scenario 22 2.3.2.2Server to server Autentication 23 2.3.3Il Sistema Operativo Linux e knoppix 24 2.3.4Php 25 2.3.4.1Smarty 25 2.3.5Applet Java 26 Capitolo 3 Lo stage al CED del Garibaldi 28 3.1Le problematiche della delegazione... 30 3.2Codice e soluzioni informatiche... 31 Capitolo 4 Care2x 46 Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 2 di 50
  3. 3. Database – Reti – Web-App 1.Tecnico Superiore Tecnologie Informatiche INTRODUZIONE Al giorno d'oggi nei vari settori del mondo del lavoro come ad esempio: Nel Turismo (Alberghi, Agenzie di viaggio, strutture ricettive di vario tipo come ad esempio il Porto dell’ Etna), Nella Sanità (Ospedali e cliniche private), Nell' E-Commerce (Negozi on line B2C e B2B), c'è un forte Investimento sulle nuove Soluzioni Informatiche basate sulle reti, per rendere più efficiente e amministrabile il lavoro. Questo genera quindi una richiesta di una nuova figura professionale altamente specializzata in grado di lavorare attraverso le nuove tecnologie informatiche. Il corso di Tecnico superiore per le tecnologie informatiche serve a formare i suturi lavoratori su queste nuove tecnologie. LA NUOVA FIGURA PROFESSIONALE Il tecnico superiore per i sistemi e le tecnologie informatiche interviene nelle attività di analisi, di messa in opera, della manutenzione e della gestione tecnica dei sistemi di elaborazione e delle infrastrutture di comunicazione che ne consentono l’interconnessione. In particolare le attività fondamentali di cui si occupa sono: Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 3 di 50
  4. 4. Database – Reti – Web-App identificare, analizzare e risolvere problemi operativi, eseguire le operazioni di normale manutenzione dei sistemi, fornire assistenza agli utenti nella risoluzione dei problemi. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 4 di 50
  5. 5. Database – Reti – Web-App 2. Le tre principali Tecnologie: DataBase – Reti – WebApp INTRODUZIONE Le principali tecnologie informatiche più diffuse in aziende pubbliche e private, attualmente, sono: I Database Le Reti Le Applicazioni Client-Server 2.1 I Database INTRODUZIONE In informatica, il termine database indica un archivio, strutturato in modo tale da consentire la gestione dei dati stessi (l'inserimento, la ricerca, la cancellazione ed il loro aggiornamento) da parte di applicazioni software. I principali modelli di database sono: Gerarchico e Relazionale. Un esempio di database gerarchico, cioè basato su una struttura ad albero, è l’XML, il linguaggio oltre che per scambi di dati su web, si sta diffondendo per la definizione di vere e proprie basi di dati. Esempi di database relazionali, cioè basato su tabelle e relazioni Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 5 di 50
  6. 6. Database – Reti – Web-App tra di esse, sono: Access, Oracle, MySql e MsQSL. 2.1.1 XML INTRODUZIONE L'XML, acronimo di eXtensible Markup Language, ovvero «Linguaggio di marcatura estensibile» è un metalinguaggio creato e gestito dal World Wide Web Consortium (W3C). L'XML, è un metalinguaggio utilizzato per creare nuovi linguaggi, atti a descrivere documenti strutturati. Mentre l'HTML ha un insieme ben definito e ristretto di tag, con l'XML è invece possibile definirne di propri a seconda delle esigenze. L'XML è oggi molto utilizzato anche come mezzo per l'esportazione di dati tra diversi DBMS. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 6 di 50
  7. 7. Database – Reti – Web-App CODICE Ecco un esempio di file .xml: LA STRUTTURA AD ALBERO Il database xml ha una struttura ad albero, cioè del tipo illustrato nel seguente schema: in cui ogni nodo figlio può avere nessuno, uno o più di uno nodi figli. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 7 di 50
  8. 8. Database – Reti – Web-App 2.1.2 Access INTRODUZIONE Microsoft Access è un relational database management system realizzato da Microsoft, incluso nel pacchetto Microsoft Office Professional ed unisce il motore relazionale Microsoft Jet Database Engine con una interfaccia grafica. Microsoft Jet Database Engine è un motore di database relazionale con limitate capacità, se paragonato a grossi sistemi come Oracle, MySQL o lo stesso compagno di squadra SQL Server, ma permette di gestire un numero di connessioni sufficienti per piccole reti di tipo SOHO(Small office / Home Office ). Dopo un certo numero di connessioni (circa cinque, ma dipende dalla dimensione delle viste e tabelle coinvolte) le prestazioni decadono sensibilmente, tanto da renderlo di fatto poco utilizzabile. Gestisce le transazioni, ha il supporto per l'integrità referenziale e permette connessioni di tipo nativo, con ADO ed il più vecchio Data Access Objects (DAO), ma anche connessioni ODBC. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 8 di 50
  9. 9. Database – Reti – Web-App LA STRUTTURA TABELLE E RELAZIONI In Access è possibile realizzare relazioni 1 ad 1 o i a molti ed è possibile gestire automaticamente l'integrità dei dati. L’AMBIENTE ACCESS L'ambiente access è un programma in interfaccia grafica che consente in maniera agevole di creare e gestire Tabelle, Query, Moduli, Report e Maschere. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 9 di 50
  10. 10. Database – Reti – Web-App TEBELLE Ecco come vengono rappresentate le tabelle in visualizzazione struttura: QUERY Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 10 di 50
  11. 11. Database – Reti – Web-App Nella pagina precedente la rappresentazione grafica delle query. REPORT Esempio di un report dellla tabella t_cliente mediante la creazione guidata. MODULI Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 11 di 50
  12. 12. Database – Reti – Web-App Nella pagina precedente l'ambiente di sviluppo vba ( Visual Basic For Application) per sviluppare moduli access. MASCHERE Esempio di Maschera per l'inserimento o la modifica di record sulla tabella t_cliente. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 12 di 50
  13. 13. Database – Reti – Web-App ACCESS E IL LINGUAGGIO SQL SQL (Structured Query Language) è un linguaggio creato per l'accesso a informazioni memorizzate nei database. Il linguaggio SQL consente, in particolare, di: definire tabelle, manipolare i dati, visualizzarli, gestire gli utenti ed irelativi permessi. Esempi di Codice SQL: SELECT * FROM t_clienti WHERE idCliente=[Inserisci id]; UPDATE Personale SET Livello=6 WHERE Matricola= '12368'; Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 13 di 50
  14. 14. Database – Reti – Web-App 2.2 Le Reti di Calcolatori INTRODUZIONE Una rete di calcolatori è un sistema che permette la condivisione di informazioni e risorse (sia hardware che software) tra diversi calcolatori. Il sistema fornisce un servizio di trasferimento di informazioni ad una popolazione di utenti distribuiti su un'area più o meno ampia. IL COFRONTO TRA LA RETE E I MAINFRAME I vantaggi della rete, rispetto ai Mainframe, sono: La tolleranza ai guasti  L'economicità dei singoli componenti  La gradualità della crescita e la flessibilità applicativa  Gli svantaggi della rete, rispetto ai Mainframe, sono: La scarsa sicurezza di base  Gli alti costi di manutenzione  Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 14 di 50
  15. 15. Database – Reti – Web-App 2.2.1 La classificazione CLASSIFICAZIONE PER ESTENSIONE GEOGRAFICA a seconda dell'estensione geografica, si distinguono diversi tipi di reti: lan (local area network) se la rete si estende all'interno di un edificio o di un comprensorio, con una estensione entro alcuni chilometri. man (metropolitan area network) se la rete si estende all'interno di una città. wan (wide area network) se la rete si estende oltre i limiti indicati precedentemente. CLASSIFICAZIONE IN BASE ALLA TOPOLOGIA Due sono le topologie principali, in base alla tecnologia assunta come modalità per il trasferimento dei dati: reti punto a punto e reti broadcast. Le reti punto a punto (point-to-point) consistono in un insieme di collegamenti tra coppie di elaboratori, che formano grafi di vario tipo (stella, anello, albero, grafo completo, anelli secanti ecc.). Per passare da una sorgente ad una destinazione, l'informazione deve attraversare diversi elaboratori intermedi. La strada che i dati devono seguire per arrivare correttamente a destinazione, è data dai protocolli di routing. Il routing è l'insieme delle problematiche relative al corretto ed efficace instradamento sulla rete dei dati. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 15 di 50
  16. 16. Database – Reti – Web-App Le reti broadcast invece sono formate da un unico mezzo fisico condiviso da più elaboratori, dove i messaggi inviati da un elaboratore vengono ricevuti da tutti gli altri. All'interno del messaggio vi è una parte relativa all'indirizzo del destinatario, in modo che tutte le altre macchine in ascolto possano scartare il messaggio in arrivo. Alcune reti prevedono indirizzi speciali di tipo broadcast e multicast. Il broadcast permette di inviare messaggi a tutte le stazioni collegate al mezzo fisico, mentre il multicast permette di farlo solo ad un gruppo di stazioni, ma non a tutte. Un esempio di una tale rete è la comunissima Ethernet. Le moderne reti broadcast sono realizzate con una topologia fisica a stella (point-to-point), in cui tutti gli elaboratori sono connessi ad un punto di concentrazione, dove un apparato attivo (switch o hub) crea l'illusione che siano tutti connessi allo stesso mezzo fisico. Talvolta si usa definire questi apparati centrostella, appunto perché si trovano al centro della rete a stella. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 16 di 50
  17. 17. Database – Reti – Web-App 2.2.2 I componenti PRINCIPALI COMPONENTI HARDWARE DI UNA RETE Hub, collega a livello fisico più dispositivi rete Bridge, divide la rete in due domini di collisione Switch, come bridge ma con più porte e più performance Router, si occupa dell’ instradamento dei pacchetti ed opera al terzo livello del modello ISO-OSI FIREWALL Un firewall (termine inglese dal significato originario di parete refrattaria, muro tagliafuoco', "muro ignifugo"'; in italiano anche parafuoco o parafiamma) è un componente passivo di difesa perimetrale che può anche svolgere funzioni di collegamento tra due o più tronconi di rete. Oltre al firewall a protezione perimetrale ne esiste un secondo tipo, definito "Personal Firewall", che si installa direttamente sui sistemi da proteggere (per questo motivo è chiamato anche Firewall Software). Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 17 di 50
  18. 18. Database – Reti – Web-App 2.2.3 Internet e Intranet INTERNET Internet è la prima ed unica rete di computer mondiale ad accesso pubblico realizzata. INTRANET L'intranet è una rete locale (LAN), o un raggruppamento di reti locali, usata all'interno di una organizzazione per facilitare la comunicazione e l'accesso all'informazione, che può essere ad accesso ristretto. La intranet serve ad evitare problemi di comunicazione interna. Spesso viene usata per gestire: E-mail BancaDati Promemoria Rapporti Settimanali o Mensili Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 18 di 50
  19. 19. Database – Reti – Web-App 2.2.4 VPN e Proxy Web VPN Una Virtual Private Network o VPN è una rete privata instaurata tra soggetti che utilizzano un sistema di trasmissione pubblico e condiviso come per esempio Internet. Lo scopo delle reti VPN è di dare alle aziende le stesse possibilità delle linee private in affitto ad un costo inferiore sfruttando le reti condivise pubbliche. Le reti VPN utilizzano collegamenti che necessitano di autenticazione per garantire che solo gli utenti autorizzati vi possano accedere; per garantire la sicurezza che i dati inviati in Internet non vengano intercettati o utilizzati da altri non autorizzati, esse utilizzano sistemi di crittografia. PROXY WEB È un applicazione utilizzata in ambiente di rete per accelerare le richieste dei client di una rete locale a Internet. Il proxy si occupa di eseguire operazioni di caching su disco delle informazioni Internet ricieste. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 19 di 50
  20. 20. Database – Reti – Web-App 2.3 Gli Applicativi Software INTRODUZIONE Esistono due principali tipi di applicazioni software: Le applicazioni client-server(con programma lato client residente sull' HD del PC client) Le Web-App ( con programma lato client residente sull' HD del web Server ed eseguito in real-time dal server) Le web-app sono costituiti da codice lato server in linguaggio di programmazione web dinamico, come ad esempio il PHP. Spesso le applicazioni complesse in php fanno uso si engine php come ad esempio Smarty. Le applicazioni web lato client vengono invece sviluppate spesso in java(vedi le applet java) oppure in formato Flash 2.3.1 APPLICAZIONI CLIENT-SERVER Appartengono a questa categoria tutte le applicazioni basate sulla tecnologia client-server, in cui, cioè, vi è un applicazione lato server che si occupa di gestire ed offrire dei servizi a più applicazioni lato client. Applicazioni di questo tipo sono spesso sviluppate in ambiente Microsoft Visual Studio ed utilizza dei database proprietari, come ad esempio il Nuconga. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 20 di 50
  21. 21. Database – Reti – Web-App 2.3.2 APPLICAZIONI WEB Sono delle applicazioni web-based, cioè accessibili via web per mezzo di un network, come ad esempio una intranet o attraverso la Rete Internet. Questo modello applicativo è divenuto piuttosto popolare alla fine degli anni novanta, in considerazione della possibilità per un client generico di accedere a funzioni applicative, utilizzando come terminale normali web browser. Infatti l'opportunità di aggiornare ed evolvere a costo ridotto il proprio applicativo, senza essere costretti a distribuire numerosi aggiornamenti ai propri clienti attraverso supporti fisici, ha reso la soluzione piuttosto popolare per molti produttori software. Più di recente colossi come Google e Microsoft hanno implementato interi pacchetti applicativi per office, tradizionalmente venduti in modo distribuito su supporti CD-ROM, e che ora si stanno velocemente trasformando a tutti gli effetti in webapps. Quei client finalizzati unicamente alla funzione di collegarsi quali terminale di web-application, vengono chiamati sovente thin client. ESEMPI DI APPLICAZIONI WEB Esempi che voglio citare tra i tanti sono: Google, Libero e tutti i motori di ricerca Care2x( applicazione che andrò a descrivere nella fase finale) La Soluzione Informatica fatta in stage… Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 21 di 50
  22. 22. Database – Reti – Web-App 2.3.2.1 Lo scenario In generale lo scenario di un applicazione web-App è di questo tipo: Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 22 di 50
  23. 23. Database – Reti – Web-App 2.3.2.2 Server to server Autentication In generale il problema della sicurezza viene risolto nel modo illustrato nel seguente schema: Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 23 di 50
  24. 24. Database – Reti – Web-App 2.3.3 Il Sistema Operativo Linux e knoppix LINUX Linux (o GNU/Linux) è un sistema operativo libero di tipo Unix (o unix-like) costituito dall'integrazione del kernel Linux con elementi del sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere. Linux è in realtà il nome del kernel sviluppato da Linus Torvalds a partire dal 1991 che, integrato con i componenti già realizzati dal progetto GNU (compilatore gcc, libreria Glibc e altre utility) e da software di altri progetti, è stato utilizzato come base per la realizzazione dei sistemi operativi e delle distribuzioni che vengono normalmente identificate con lo stesso nome. KNOPPIX KNOPPIX è un cd avviabile basato su Linux, realizzato da Klaus Knopper (sito di knoppix in inglese) con una collezione di programmi gratuiti, rilevamento automatico dell'hardware, supporto automatico per molte schede grafiche, schede audio, periferiche SCSI, USB e di altro tipo. KNOPPIX può essere utilizzato come una versione dimostrativa di Linux, un CD per l'apprendimento, un disco di ripristino o adattato ed usato come piattaforma per dimostrazioni e demo. Non è necessario installare niente sul disco fisso! Il CD contiene fino a 2 GB di programmi eseguibili. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 24 di 50
  25. 25. Database – Reti – Web-App Una dimostrazione tangibile del livello raggiunto dal Software Libero, una sistema comodo per verificare con i propri occhi la qualità raggiunta da questi programmi gratuiti. 2.3.4 Php PHP è un linguaggio di scripting interpretato, con licenza open source, originariamente concepito per la realizzazione di pagine web dinamiche. Attualmente è utilizzato principalmente per sviluppare applicazioni web lato server ma può essere usato anche per scrivere script a linea di comando o applicazioni standalone con interfaccia grafica. 2.3.4.1 Smarty Smarty è un motore di template per PHP. Più specificatamente, fornisce un modo semplice di separare la logica e il contenutodell' applicazione dalla sua presentazione. Questo concetto si può comprendere meglio in una situazione in cui il programmatore ed il progettista dei template hanno ruoli diversi, o nella maggior parte dei casi non sono la stessa persona. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 25 di 50
  26. 26. Database – Reti – Web-App 2.3.5 Applet Java In informatica, gli applet Java sono programmi scritti in linguaggio Java che possono essere eseguiti da un Web browser. Gli applet appaiono visivamente collocati all'interno di pagine Web, e sono solitamente usati per creare pagine dotate di funzioni interattive non realizzabili con altre tecnologie per il Web. I Java applets vengono eseguiti dai web browser utilizzanti la Java virtual machine (JVM), o in alternativa possono essere eseguiti utilizzando il Sun AppletViewer, un programma nato per testare gli applet. I Java applets sono stati annunciati da Sun nel 1995. Gli Applet sono utilizzati per fornire contenuti interattivi alla pagine web che il linguaggio HTML non è in grado di fornire. La maggioranza dei Web Browser utilizzano una sandbox per eseguire gli Applet in modo da impedire a questi di accedere alle informazioni salvate in locale sul computer. Il codice degli Applet viene scaricato dal web server nel web browser. Quest'ultimo riceve insieme all'Applet anche la pagina html che lo contiene. In alternativa l'Applet può provvedere ad aprire una finestra personale senza doversi appoggiare a codice html per mostrare l'interfaccia grafica. Gli Applet che vengono mostrati nelle pagine web vengono identificati dal tag html applet. Questo specifica la posizione del sorgente dell'Applet da Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 26 di 50
  27. 27. Database – Reti – Web-App scaricare. Dato che il bytecode Java è indipendente dalla piattaforma gli Applet Java possono essere eseguiti dai browser delle principali piattaforme senza problemi. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 27 di 50
  28. 28. Database – Reti – Web-App 3. Lo Stage al CED Durante l'attività di stage tenutosi dal 2/07/2008 al 19/08/2008 presso l'azienda ospedaliera “Garibaldi” di Catania ho svolto, su proposta del Coordinatore del CED (Centro Elaborazione Dati ) Davide Morales, accettando di mia spontanea volontà ed in forma gratuita, le seguenti attività: Installazione antivirus aziendale, Aggiornamento Sistema Operativo, impostazione Home Page e blocco dei registri mediante file .reg già impostati, controllo permessi utente e semplice assistenza tecnica, su decine di PC, situati nel settore amministrativo del A.O Garibaldi, ritornando anche più volte sugli stessi fino all’assenza di richiesta e alla soddisfazione dei dipendenti. I quali comunque si lamentavano vivamente, non della qualità del mio operato, ma, sul compito che mi era stato proposto, dicendo che a causa dell’ impostazione dell’ Home Page non potevano lavorare correttamente, in quanto fin quando non gli è arrivata la lettera con il nome utente e la password questi non potevano andare in internet. E secondo me avevano ragione! Su proposta di un Programmatore del settore amministrativo, accettando di mia spontanea volontà ed in forma gratuita, invece, ho svolto l’ Analisi, la Progettazione, la Realizzazione e il Debugging di una soluzione informatica che consente l’ automatizzazione della correzione degli errori sistematici presenti nei dati che vengono utilizzati per il risarcimento annuo del costo dei farmaci; realizzata in 5 giorni lavorativi effettivi, attraverso l’utilizzo del programma Microsoft Access. Essa è, di fatto, costituita da 2 Moduli ed alcune Query. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 28 di 50
  29. 29. Database – Reti – Web-App Ho anche lavorato su un attività, la creazione di un modulo web per la compilazione on line della Richiesta di assenza dal lavoro dei dipendenti aziendali, che non ho potuto completare, per motivi non miei, ma dell’ azienda. Le mansioni svolte dal personale del CED erano: Segreteria, per ricevere le segnalazioni di guasti o malfunzionamenti Hardware, PC inefficienti o infetti, rete intranet o internet a bit rate in download inferiore alla norma dalle centinaia di Client distribuite nei quattro ospedali del azienda Garibaldi Rilevamento delle presenze con delegazione della responsabilità ai caporeparto Team di Tecnici Hardware/software addestrati a svolgere le normali operazioni di rutine(es: rimozione virus , backup dati , formattazione HD, installazione, ripristino o aggiornamento sistema operativo) Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 29 di 50
  30. 30. Database – Reti – Web-App 3.1 Le problematiche della delegazione... A causa della delegazione tramite Gare di Appalto a ditte esterne della assistenza tecnica sui Server, Ruter, Switch, e il loro relativo cablaggio strutturato, costituenti la intranet aziendale, basata sulla tecnologia VPN, dell' alto costo di tali apparecchiature di rete e dell' assenza di personale altamente qualificato per la gestione di queste, problemi di isolamento dal database centrale ( basato su architettura Oracle) accadevano spesso provocando vistosi reclami soprattutto dai reparti dove l'interazione con il database è una azione giornaliera come ad esempio la Fratres ( Consociazione Nazionale dei Gruppi Donatori Fratres delle Misericordie d'Italia ) . Le stesse problematiche, ma in maniera meno grave si sono avute con l'esigenza dall' azienda di sviluppare nuovi moduli sul sito web aziendale, sul quale io ho lavorato, ma che non ho potuto completare fino in fondo. Uno dei moduli era la richiesta di assenza direttamente dal portale web tramite un identificazione unica per ogni dipendente dell' azienda , attraverso nome utente e password. Il lavoro è rimasto incompiuto per la mancanza di personale che mi indicasse come sviluppare al meglio l'applicazione e la mancanza di autorizzazione per l'accesso al database aziendale. Credo che il motivo sia stato anche l'assenza, ad oggi, da parte mia delle seguenti certificazioni: Microsoft SQL Server,  Oracle database administrator Cisco Accademy (CCNA livello 3-4), che il corso IFTS avrebbe potuto provvedere a sopperire a tale mancanza. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 30 di 50
  31. 31. Database – Reti – Web-App 3.2 CODICE E SOLUZIONI INFORMATICHE... CODICE E SOLUZIONI INFOMATICHE SVILUPPATE DA ME PER L'AZIENDA O SPEDALIERA GARIBALDI CODICE PHP File index.php sulla home page del portale dell intranet <? /////////////////INCLUDECONFIG ////////////////////// $start_time = microtime(1); include("config.php"); /////////////////REQUIRE CLASSES ////////////////// require(CLASS_DIR."/Admin.php"); $admin = new Admin; $admin->check(); //////////////////// INDEX ////////////////////////////// if( $admin->utente ){ $smarty->assign("welcome", welcome()); $smarty->assign("santo", santo()); $smarty->assign("utente", $admin->utente); ob_start(); $position = "MODULE"; if( $module && in_array("$module.php", $module_file) ){ include(MODULE_DIR."/$module.php"); }else{ $action = "HOME"; Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 31 di 50
  32. 32. Database – Reti – Web-App include(MODULE_DIR."/contenuti.php"); } $smarty->assign("OB_$position", ob_get_contents()); ob_end_clean(); ob_start(); $position = "LEFT_COL"; $action = "HOME"; include(MODULE_DIR."/file.php"); include(MODULE_DIR."/meteo.php"); $smarty->assign("OB_$position", ob_get_contents()); ob_end_clean(); }else{ ob_start(); $position = $action = "LOGIN"; include(MODULE_DIR."/admin.php"); $smarty->assign("OB_$position", ob_get_contents()); ob_end_clean(); } if( !$module ) $smarty->assign("home", 1); //$smarty->display('index.tpl'); //////// MODIFICA Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 32 di 50
  33. 33. Database – Reti – Web-App switch ($_REQUEST['new_moduli']) { case 1: $smarty->display('new_mod.tpl'); break; case 2: $smarty->display('mod_assenze.tpl'); break; case 3: $smarty->display('mod_assenze2.tpl'); break; case 4: $smarty->display('mod_assenze4.tpl'); break; default: $smarty->display('index.tpl'); } /////////////// CLOSE SCRIPT ////////////////// $smarty->clear_all_assign(); $smarty->clear_config(); mysql_close($db); print('<!-- Tempo di esecuzione: '.(microtime(1) - $start_time).'-- >'); ?> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 33 di 50
  34. 34. Database – Reti – Web-App CODICE SMARTY File mod_assenze.tpl su: .templates <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Language" content="it" /> <meta name="Author" content="Davide Caruso - www.davide986.altervista.org" /> <meta name="Copyright" content="{#applicazione_autore#} {#copyright#} - Davide Caruso - www.davide986.altervista.org" /> <meta name="Robots" content="NOINDEX,NOFOLLOW"> <link href="{$style_dir}/layout.css" rel="stylesheet" type="text/css" /> <!--[if IE 6]> <link href="{$style_dir}/ie6.css" rel="stylesheet" type="text/css" /> <![endif]--> <link href="{$style_dir}/print.css" rel="stylesheet" type="text/css" media="print" / > <script type="text/javascript" src="{$jscript_dir}/functions.js"></script> <script type="text/javascript" src="{$libs_dir}/Ajax/complete.js"></script> <title>{#applicazione_titolo#} - {#applicazione_utente#}</title> </head> {if $OB_LOGIN} <body> {$OB_LOGIN} {else} <body class="body_home"> <div id="container"> <div id="logo_home"> {if !$home}<a href="/">{/if}<img id="logo_home" Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 34 di 50
  35. 35. Database – Reti – Web-App src="{$image_dir}/home_logo.png" alt="{#applicazione_utente#}" >{if !$home}</ a>{/if} </div> <div id="menu"> {include file='user.tpl'} {include file='menu.tpl'} {$OB_LEFT_COL} </div> <div id="content"> <div class="home">{if !$home}<a href="/" style="color:#FFFFFF;">&laquo; {#home#}</a>{else}&nbsp;{/if}</div> <TABLE id=form cellSpacing=0> <TBODY> <TR> <TD class=title>Modulo Richiesta Assenze</TD></TR> <TR> <TD class=cont> <DIV class=empty style="width: 512; height: 324"><table border="0" cellpadding="1" cellspacing="0" width="100%"> <tbody><tr> <td width="6%"></td> <td width="89%"> <form method="post" name="form1" action="?new_moduli=3"> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="111"> <tr> <td width="50%" height="38" align="left">Il sottoscritto&nbsp; </td> <td width="50%" height="38"> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 35 di 50
  36. 36. Database – Reti – Web-App <input name="txtNome" size="26" maxlength="50" type="text"></td> </tr> <tr> <td width="50%" height="38" align="left">Qualifica:&nbsp; </td> <td width="50%" height="38"> <input name="txtQualifica" size="26" maxlength="50" type="text"></td> </tr> <tr> <td width="50%" height="39" align="left">U.O.:&nbsp; </td> <td width="50%" height="39"> <select name="txtUO" size="1"> <option value="SP">Settore Personale</option> <option value="SDS">Settore Direzione Staff</option> <option value="P">Provveditorato</option> <option value="E">Economato</option> <option value="EF">Economato Finanziario</option> <option value="AGL">Affari Generali e legali</option> </select></td> </tr> </table> <p align="left" class="Stile1"> </p> <p align="left" class="Stile1">Chiede, ai sensi delle vigenti disposizioni, di poter usufruire di: </p> <p align="left"> <span class="Stile1"> <input name="group2" value="I" checked="checked" type="radio"> Intero Giorno<br> <input name="group2" value="P" type="radio"> Parte del giorno<br> <input name="group2" value="R" type="radio"> Riposi compensativi</span><br> </p> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 36 di 50
  37. 37. Database – Reti – Web-App <p align="right"> <button type="submit" > <span class="blu">Avanti </span></button> </p> </form> </td> <td width="5%"></td> </tr> </tbody></table></DIV></TD></TR> <TR> <TD class=all> <a href="http://intranet.ao-garibaldi.ct.it/?new_moduli=1">Altri Moduli on line</a></TD> </TR></TBODY></TABLE> </div> <div id="credits_home"> <a href="http://www.mediaonline.it" target="_blank"><img src="{$image_dir}/logo_mol.png" alt="{#applicazione_autore#}" /></a> </div> </div> {/if} </body> </html> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 37 di 50
  38. 38. Database – Reti – Web-App CODICE SMARTY File mod_assenze2.tpl su: .templates <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Language" content="it" /> <meta name="Author" content="Davide Caruso - www.davide986.altervista.org" /> <meta name="Copyright" content="{#applicazione_autore#} {#copyright#} - Davide Caruso - www.davide986.altervista.org" /> <meta name="Robots" content="NOINDEX,NOFOLLOW"> <link href="{$style_dir}/layout.css" rel="stylesheet" type="text/css" /> <!--[if IE 6]> <link href="{$style_dir}/ie6.css" rel="stylesheet" type="text/css" /> <![endif]--> <link href="{$style_dir}/print.css" rel="stylesheet" type="text/css" media="print" /> <script type="text/javascript" src="{$jscript_dir}/functions.js"></script> <script type="text/javascript" src="{$libs_dir}/Ajax/complete.js"></script> <title>2{#applicazione_titolo#} - {#applicazione_utente#}</title> {php} include("includejava.html"); {/php} </head> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 38 di 50
  39. 39. Database – Reti – Web-App {if $OB_LOGIN} <body> {$OB_LOGIN} {else} <body class="body_home"> <div id="container"> <div id="logo_home"> {if !$home}<a href="/">{/if}<img id="logo_home" src="{$image_dir}/home_logo.png" alt="{#applicazione_utente#}" >{if ! $home}</a>{/if} </div> <div id="menu"> {include file='user.tpl'} {include file='menu.tpl'} {$OB_LEFT_COL} </div> <div id="content"> <div class="home">{if !$home}<a href="/" style="color:#FFFFFF;">&laquo; {#home#}</a>{else}&nbsp;{/if}</div> <form method="post" name="form13" action="?new_moduli=4" onsubmit="return verifica2();"> <input type="hidden" name="txtNome" value="{php} echo $_POST['txtNome']; {/php}" /> <input type="hidden" name="txtQualifica" value="{php} echo $_POST['txtQualifica']; {/php}" /> <input type="hidden" name="txtgroup2" value="{php}echo $_POST['group2']; {/php}" /> <input type="hidden" name="txtUO" value="{php} echo $_POST['txtUO'];{/php}" /> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 39 di 50
  40. 40. Database – Reti – Web-App <TABLE id=form cellSpacing=0> <TBODY> <TR> <TD class=title>Parte A - intero giorno lavorativo</TD></TR> <TR> <TD class=cont> <DIV class=empty><table border="0" cellpadding="1" cellspacing="0" width="100%"> <tbody><tr> <td width="6%"></td> <td width="88%"><p align="left" class="Stile1"><span class="Stile5"><span class="Stile6"> <p align="left"> <b>Causale(*): </b> <select name="combo_causale" size="1"> <option value="CO">Congedo Ordinario</option> <option value="PR">Permesso Retribuito</option> <option value="P">Permesso</option> <option value="AF">Astensione Facoltativa</option> <option value="AO">Astensione Obbligatoria</option> <option value="FS">Festività soppresse</option> <option value="S">Motivi di studio / Agg. Prof.le</option> <option value="I">Interdizione</option> <option value="GM">Gravi Motivi</option> <option value="PB">Permesso Breve</option> </select> </p> <p align="left"> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 40 di 50
  41. 41. Database – Reti – Web-App <b> di gg(*): </b> <input name="txtGiorni" type="text" size="5" value="??"/> </p> <p align="left"> <b>Data(*): </b> <b> Dal</b> <input type="text" name="txtDataDa" id="sel3" size="10" readonly="readonly" value="Inserisci -->" ><input type="reset" value=" ... " onclick="return showCalendar('sel3', '%d/%m/%Y');"> <b> Al</b> <input type="text" name="txtDataA" id="sel30" size="10" readonly="readonly" value="Inserisci -->" ><input type="reset" value=" ... " onclick="return showCalendar('sel30', '%d/%m/%Y');"> </p> <p align="left"> <b>In conto anno(*) </b> <input type="text" name="txtAnno" value="{php}echo date("Y");{/php}" size="4" maxlength="4" /> </p> <p align="left">(*) Campi Obbligatori</p> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 41 di 50
  42. 42. Database – Reti – Web-App <p> <hr /><p></p> <p align="left">In caso di accoglimento della presente richiesta, il sottoscritto informa che, durante il predetto periodo sarà reperibile al seguente indirizzo: </p> </p> <p align="left"> Via <input type="text" name="txtVia" size="25" maxlength="25" /> n. <input type="text" name="txtNumero" size="4" maxlength="4" /> </p> <p align="left"> Città: <input type="text" name="txtCitta" size="25" maxlength="25" /> tel.: <input type="text" name="txtTell" size="25" maxlength="25" /> </p> <p> <hr /> <p align="left">Altre informazioni utili <input type="text" name="txtAltreInfo" size="25" maxlength="25" /> <br> <br> Allegati <input type="text" name="txtAllegati" size="25" maxlength="25" /> </p> </p> <hr /> <p></p> <table width="100%" border="0" cellpadding="1" cellspacing="0"> <tr> <td width="50%" align="left"></td> <td width="50%" align="center"> <p> IL RICHIEDENTE </p> </td> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 42 di 50
  43. 43. Database – Reti – Web-App </tr> <tr> <td width="50%" align="left"> <b>Catania , </b> <input type="text" name="txtDataRic" id="sel300" size="10" readonly="readonly" value="{php}echo date("d/m/Y");{/php}" ><input type="reset" value=" ... " onclick="return showCalendar('sel300', '%d/%m/%Y');"> </td> <td width="50%" align="center"> <input type="text" name="txtFirma" size="25" maxlength="25" /> </td> </tr> <tr > <td width="50%" align="left" > </td> <td width="50%" align="right" height="50"> <button onclick="window.location.href='?new_moduli=2';"> Indietro </button> <button type="reset"> Cancella </button> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 43 di 50
  44. 44. Database – Reti – Web-App <button type="submit"> Avanti </button> </td> </tr> </table> </td> <td width="6%"></td> </tr> </tbody></table></DIV></TD></TR> <TR> <TD class=all><A class=all href="?new_moduli=1">Altre RICHIESTE</A></TD> </TR></TBODY></TABLE> </form> </div> <div id="credits_home"> <a href="http://www.mediaonline.it" target="_blank"><img src="{$image_dir}/logo_mol.png" alt="{#applicazione_autore#}" /></a> </div> </div> {/if} </body> </html> Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 44 di 50
  45. 45. Database – Reti – Web-App ILLUSTRAZIONE GRAFICA La pagina web è stata generata applicando il template mod_assenze2.tpl . Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 45 di 50
  46. 46. Database – Reti – Web-App 4.Care2x CARE2X, utilizzato in più di 20 nazioni, è una suite integrata, comoda ed elegante di softwares che creano un sistema SIO (Sistema Informativo Ospedaliero) per la gestione di ospedali, organizzazioni sanitarie e strutture ospedaliere pubbliche e private completamente libera ed Open Source rilasciata sotto licenza GNU GPL(General Public License). La donazione del codice di programmazione di CARE2X al mondo dell’opensource è da attribuirsi Elpidio Latorilla infermiere ed esperto di programmazione che per primo ebbe l’idea di creare un sistema open source per automatizzare gli ospedali. Da chi può essere usato La soluzione integrata CARE2X può essere usata da: •Ospedali •ASL •Poliambulatori •Cliniche pubbliche e private •Laboratori pubblici e privati •Organizzazioni per la tutela della salute Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 46 di 50
  47. 47. Database – Reti – Web-App •Studi medici privati •Case di cura pubbliche e private Tecnologia CARE2x è basato sulle tecnologie WEB che permettono di montare il programma su un server web su INTRANET, EXTRANET ed INTERNET con la possibilità di effettuare consultazioni di cartelle cliniche di singoli degenti da postazioni presenti in una LAN locale o da REMOTO tramite postazioni collegate a rete Internet utilizzando un semplice browser web come Firefox o Internet Explorer. Il programma CARE2X è compatibile ed è progettato per poter supportare i seguenti databases: •InterBase •MySQL •PostgreSQL •SAP DB •ORACLE •MS SQL2000 •IBM DB2 Lingue supportate: Le lingue supportate dal programma sono: •Italiano •Spagnolo •Inglese •Portoghese •Tedesco •Turco •Polacco •Arabo Piattaforme supportate Il programma CARE2X è una soluzione integrata multipiattaforma sviluppato per una grande varietà di sistemi operativi. I sistemi operativi su cui gira la suite CARE2X sono: •Linux Debian •GNU/Linux Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 47 di 50
  48. 48. Database – Reti – Web-App •FreeBSD •NetBSD •OpenBSD •Unix •Windows 95, 98, ME, NT, 2000, Xp e Vista •OS-2 WARP •MacOS Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 48 di 50
  49. 49. Database – Reti – Web-App • 1.Scegliere il PC che fare da Web-Server 2.Impostare dal Bios Il boot da Cd anziché da HD 3.Inserire il cd di care2x 4.digitare nel promt iniziale: >knoppix lang=it per impostare la lingua italiana 5.Lanciare il Mozilla 6.digitare l'url: localhost oppure 127.0.0.1 7. notare che il programma care2x alla prima esecuzione è privo di dati. 8.Ripristinare il database 9.Accedere al Portale da altri PC client o da cellulari moderni. Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 49 di 50
  50. 50. Database – Reti – Web-App Esempio Cellulare moderno con la possibilità di navigazione sul web. VISITA IL MIO SITO WEB: http://www.davide986.altervista.org/ Tesina di Davide Caruso per il Corso IFTS PIT 35Pagina 50 di 50

×