tesina corso ifts - Davide Caruso

annuncio pubblicitario
Database – Reti – Web-App
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 1 di 52
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
2.1I Database
2.1.1XML
2.1.2Access
2.2Le Reti di Calcolatori
2.2.1La Classificazione
2.2.2I componenti
2.2.3Internet e Intranet
2.2.4VPN e Proxy Web
2.3Gli Applicativi Software
2.3.1Le applicazioni Client-Server
2.3.2Le Applicazioni Web
2.3.2.1Lo scenario
2.3.2.2Server to server Autentication
2.3.3Il Sistema Operativo Linux e knoppix
2.3.4Php
2.3.4.1Smarty
2.3.5Applet Java
Capitolo 3 Lo stage al CED del Garibaldi
3.1Le problematiche della delegazione...
3.2Codice e soluzioni informatiche...
Capitolo 4 Care2x
Tesina di Davide Caruso per il Corso IFTS PIT 35
5
5
6
7
14
15
17
18
19
20
20
21
22
23
24
25
25
26
28
30
31
46
Pagina 2 di 52
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 35
Pagina 3 di 52
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 35
Pagina 4 di 52
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 35
Pagina 5 di 52
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 35
Pagina 6 di 52
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 35
Pagina 7 di 52
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 35
Pagina 8 di 52
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 35
Pagina 9 di 52
Database – Reti – Web-App
TEBELLE
Ecco come vengono rappresentate le tabelle in visualizzazione
struttura:
QUERY
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 10 di 52
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 35
Pagina 11 di 52
Database – Reti – Web-App
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 12 di 52
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 35
Pagina 13 di 52
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 35
Pagina 14 di 52
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 35
Pagina 15 di 52
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 35
Pagina 16 di 52
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 35
Pagina 17 di 52
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 35
Pagina 18 di 52
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 35
Pagina 19 di 52
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 35
Pagina 20 di 52
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 35
Pagina 21 di 52
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 35
Pagina 22 di 52
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 35
Pagina 23 di 52
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 35
Pagina 24 di 52
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 35
Pagina 25 di 52
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 35
Pagina 26 di 52
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 35
Pagina 27 di 52
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 35
Pagina 28 di 52
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 35
Pagina 29 di 52
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 35
Pagina 30 di 52
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 35
Pagina 31 di 52
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 35
Pagina 32 di 52
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 35
Pagina 33 di 52
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 35
Pagina 34 di 52
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
Tesina di Davide Caruso per il Corso IFTS PIT 35
id="logo_home"
Pagina 35 di 52
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
collapse:
collapse"
border="0"
cellpadding="0"
bordercolor="#111111"
cellspacing="0"
width="100%"
style="border-
id="AutoNumber1"
height="111">
<tr>
<td width="50%" height="38" align="left">Il sottoscritto&nbsp; </td>
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 36 di 52
Database – Reti – Web-App
<td width="50%" height="38">
<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>
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 37 di 52
Database – Reti – Web-App
<input name="group2" value="R" type="radio">
Riposi compensativi</span><br>
</p>
<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>
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 38 di 52
Database – Reti – Web-App
</html>
Tesina di Davide Caruso per il Corso IFTS PIT 35
Pagina 39 di 52
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 35
Pagina 40 di 52
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
src="{$image_dir}/home_logo.png"
id="logo_home"
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 35
Pagina 41 di 52
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 35
Pagina 42 di 52
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 35
Pagina 43 di 52
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 35
Pagina 44 di 52
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 35
Pagina 45 di 52
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 35
Pagina 46 di 52
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 35
Pagina 47 di 52
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 35
Pagina 48 di 52
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 35
Pagina 49 di 52
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 35
Pagina 50 di 52
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 35
Pagina 51 di 52
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 35
Pagina 52 di 52
Scarica
Random flashcards
geometria

2 Carte oauth2_google_01b16202-3071-4a8d-b161-089bede75cca

CRANIO

2 Carte oauth2_google_d7270607-b7ab-4128-8f55-c54db3df9ba1

Present simple

2 Carte lambertigiorgia

biologia

5 Carte patty28

DOMENICA 8 DICEMBRE

4 Carte oauth2_google_6fa38c4a-fb89-4ae3-8277-fdf97ca6e393

creare flashcard