· PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31...

21
A

Transcript of · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31...

Page 1: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

A

Page 2: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

Per contattare l’autore:[email protected]/in/lucianomanelli

Page 3: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

Luciano Manelli

Programmazione per il Web

Teoria e laboratorio per l’analisi e lo sviluppodi una Web Application Java con le moderne tecnologie

Page 4: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

Copyright © MMXVAracne editrice int.le S.r.l.

[email protected]

via Quarto Negroni, Ariccia (RM)

()

----

I diritti di traduzione, di memorizzazione elettronica,di riproduzione e di adattamento anche parziale,

con qualsiasi mezzo, sono riservati per tutti i Paesi.

Non sono assolutamente consentite le fotocopiesenza il permesso scritto dell’Editore.

I edizione: maggio

Page 5: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

5

A mia mamma Anna e a mia figlia Sara genesi e futuro della mia passione

Page 6: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

6

Page 7: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

6

7

“Have the courage to follow

your heart and intuition”

Steve Jobs

Page 8: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

8

Page 9: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

9

8

9

Prefazione

Questo libro nasce dalla necessità di fornire una guida unica ed esau-stiva che gestisca il ciclo di vita di una web application dalla progetta-zione, allo sviluppo, alla gestione della documentazione, alla integra-zione con i sistemi informativi di un’organizzazione aziendale o gover-nativa. Il testo rappresenta il punto di partenza per studenti, neofiti e professionisti che vogliano approfondire lo studio delle applicazioni per il web in ambito privato e pubblico con le moderne tecnologie (xhtml, css, javascript, mysql, java, ajax, web services, uml), quale riferimento che possa sinergicamente coinvolgere tutti gli strumenti e le metodolo-gie di supporto allo sviluppo applicativo.

Proliferano infatti testi tecnici qualificati e settoriali, ma manca un collettore che possa fornire ai professionisti una visione completa di quei concetti teorici e pratici che siano di sostegno nel percorso di studi e di successo nella vita lavorativa. È necessario proporre una finestra attuale su quelle tecnologie che rappresentano il futuro dei sistemi in-formativi: la programmazione per il web individua quell’ambito che unisce la razionalizzazione e l’efficienza lavorativa alla nuova conce-zione di condivisione e fruibilità delle informazioni, lasciando comun-que spazio alla creatività e divenendo cardine per chi la apprende e la applica correttamente e strategica per le imprese e le Pubbliche Ammi-nistrazioni. La finalità del presente testo è quindi quella di accompa-gnare il lettore dallo sviluppo della semplice pagina web, al progetto della relativa web application in java, alla messa in esercizio del soft-ware, fornendo le procedure per ottenere il miglior risultato tecnico e gestionale.

Ho sempre pensato e sostenuto che i sogni debbano essere conqui-stati e spero che la lettura e lo studio del presente libro vada oltre al suo scopo strettamente didattico aprendo prospettive su una realtà in conti-nua evoluzione. Spero che il lettore fornisca feedback interessanti af-finché possa approfondire argomenti basilari nelle prossime pubblica-zioni in un’ottica costruttivista e costruzionista.

Page 10: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

10

Page 11: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

11

10

11

Indice

Prefazione.............................................................................................. 9

Indice ................................................................................................... 11

Introduzione ........................................................................................ 19

Ringraziamenti .................................................................................... 23

Capitolo I Servizi e Architetture Web ................................................ 25 1.1 Introduzione ............................................................................. 25

1.2 Internet ed il web 2.0................................................................ 26

1.2.1 Internet ................................................................................. 28

1.2.2 Il web 2.0 .............................................................................. 30

1.2.3 HTML 5 ................................................................................ 32

1.3 Sicurezza e Privacy .................................................................. 32

1.4 Reti ........................................................................................... 34

1.5 Algoritmi e Programmazione ................................................... 40 1.5.1 Diagrammi di Flusso ............................................................ 43

1.6 Programmazione per il web ..................................................... 49

1.6.1 Linguaggi di programmazione lato server ........................... 50

1.6.2 Licenze Software e software libero ...................................... 51

1.7 I servizi ..................................................................................... 51

1.8 I Sistemi Distribuiti .................................................................. 55

1.8.1 Cluster .................................................................................. 56

1.8.2 Grid Computing .................................................................... 58

1.8.3 Cloud Computing ................................................................. 67

1.8.4 I sistemi pervasivi ................................................................. 74

Page 12: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

12

1.8.5 Big Data ............................................................................... 75

1.9 Business Continuity e Disaster Recovery ................................ 76 1.10 La Pubblica Amministrazione Digitale ................................... 77

1.10.1 Codice dell’Amministrazione Digitale ................................. 78

1.10.2 Sistema Pubblico di Connettività ......................................... 81

1.11 Sviluppo di una Web Application ........................................... 82

Capitolo II HTML, XHTML, CSS e XML ....................................... 85

2.1 Introduzione ............................................................................. 85

2.2 HTML e XHTML .................................................................... 86

2.2.1 Strumenti per lo sviluppo ..................................................... 92 2.2.2 Struttura e sintassi dei documenti HTML/XHTML .............. 92

2.2.3 I form .................................................................................. 100

2.3 CSS ........................................................................................ 105

2.4 XML ...................................................................................... 110 2.5 Progettazione statica della Web Application ......................... 114

Capitolo III JavaScript ..................................................................... 123

3.1 Introduzione ........................................................................... 123

3.2 Il linguaggio JavaScript ......................................................... 123

3.3 Javascript per la Web Application ......................................... 135

3.4 Gli strumenti di sviluppo dei browser (F12) ......................... 138

Capitolo IV DataBase e MySQL ..................................................... 147

4.1 Introduzione ........................................................................... 147

4.2 Progettazione DataBase per la Web Application .................. 161 4.3 Introduzione a MySQL 5.6 Community ................................ 164

4.3.1 Installazione di MySQL ..................................................... 165

4.4 DataBase per la Web Application con MySQL..................... 174

12 Indice

Page 13: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

12

1.8.5 Big Data ............................................................................... 75

1.9 Business Continuity e Disaster Recovery ................................ 76 1.10 La Pubblica Amministrazione Digitale ................................... 77

1.10.1 Codice dell’Amministrazione Digitale ................................. 78

1.10.2 Sistema Pubblico di Connettività ......................................... 81

1.11 Sviluppo di una Web Application ........................................... 82

Capitolo II HTML, XHTML, CSS e XML ....................................... 85

2.1 Introduzione ............................................................................. 85

2.2 HTML e XHTML .................................................................... 86

2.2.1 Strumenti per lo sviluppo ..................................................... 92 2.2.2 Struttura e sintassi dei documenti HTML/XHTML .............. 92

2.2.3 I form .................................................................................. 100

2.3 CSS ........................................................................................ 105

2.4 XML ...................................................................................... 110 2.5 Progettazione statica della Web Application ......................... 114

Capitolo III JavaScript ..................................................................... 123

3.1 Introduzione ........................................................................... 123

3.2 Il linguaggio JavaScript ......................................................... 123

3.3 Javascript per la Web Application ......................................... 135

3.4 Gli strumenti di sviluppo dei browser (F12) ......................... 138

Capitolo IV DataBase e MySQL ..................................................... 147

4.1 Introduzione ........................................................................... 147

4.2 Progettazione DataBase per la Web Application .................. 161 4.3 Introduzione a MySQL 5.6 Community ................................ 164

4.3.1 Installazione di MySQL ..................................................... 165

4.4 DataBase per la Web Application con MySQL..................... 174

13

4.4.1 Schema logico della Web Application con MySQL ............ 183

Capitolo V Programmazione ad Oggetti e Java ............................... 187 5.1 Introduzione ........................................................................... 187

5.2 Programmazione ad Oggetti................................................... 187

5.3 Il linguaggio Java ................................................................... 192

5.3.1 Le classi, le variabili e i metodi ......................................... 193

5.3.2 Tipi primitivi e strutturati e operatori ................................ 197

5.3.3 Array ed ArrayList.............................................................. 200

5.3.4 Le istruzioni base................................................................ 202

5.3.5 Le librerie standard ............................................................ 203 5.3.6 Extends, Implements e interfacce ....................................... 204

5.3.7 Le eccezioni ........................................................................ 206

Capitolo VI Web Application con Java ed Eclipse .......................... 209

6.1 Introduzione ........................................................................... 209 6.2 MVC – Model View Controller ............................................. 209

6.3 Web Application, Servlet e JSP ............................................. 210

6.4 Eclipse LUNA ........................................................................ 214

6.5 Configurare la JDK 7 ............................................................. 216

6.6 Configurare Tomcat 8.0 ......................................................... 216

6.7 Creazione di un progetto Web ............................................... 219

6.8 Creazione di una JSP.............................................................. 223

6.9 Servlet 3.0 e Servlet 2.5 ......................................................... 229

6.10 Deployment Descriptor .......................................................... 233 6.11 Creazione di una Classe ......................................................... 235

6.12 Gestione dei form ................................................................... 237

6.13 I JavaBean .............................................................................. 243

13Indice

Page 14: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

14

6.14 Request Redirect e Dispatcher ............................................... 247

6.15 Request e Session .................................................................. 248 6.16 Documentation Comments .................................................... 256

6.17 Log4J ..................................................................................... 257

6.18 Connessione al DB MySQL, persistenza e Roll-Back .......... 262

6.19 Esempi di gestione degli errori .............................................. 267

6.20 Ricerca ................................................................................... 269

6.21 Ricerca con AJAX ................................................................. 274

6.22 Web Application integrata con CSS e controlli JS ................ 278

6.23 Applicazione in ambiente di produzione Tomcat .................. 282 6.24 Upload File ............................................................................ 284

6.25 Invio Email ............................................................................ 287

6.26 Marshal e Unmarshal XML ................................................... 289

6.27 Web Services ......................................................................... 294 6.28 REST ..................................................................................... 311

6.29 I framework ........................................................................... 312

6.30 I CMS e Liferay ..................................................................... 313

6.31 Suggerimenti per lo sviluppo web in Java ............................. 315

Capitolo VII Usabilità ed Accessibilità dei siti web........................ 317

7.1 Usabilità dei siti e delle applicazioni Web ............................ 317

7.1.1 Interazione Uomo Macchina ............................................. 318

7.1.2 Progettazione ed analisi di siti usabili .............................. 320

7.1.3 Test di Usabilità ................................................................. 328 7.1.4 Usabilità della Web Application ........................................ 330

7.1.5 Spunti di usabilità per le Intranet ...................................... 332

7.2 Accessibilità dei siti e delle applicazioni web ....................... 333

14 Indice

Page 15: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

14

6.14 Request Redirect e Dispatcher ............................................... 247

6.15 Request e Session .................................................................. 248 6.16 Documentation Comments .................................................... 256

6.17 Log4J ..................................................................................... 257

6.18 Connessione al DB MySQL, persistenza e Roll-Back .......... 262

6.19 Esempi di gestione degli errori .............................................. 267

6.20 Ricerca ................................................................................... 269

6.21 Ricerca con AJAX ................................................................. 274

6.22 Web Application integrata con CSS e controlli JS ................ 278

6.23 Applicazione in ambiente di produzione Tomcat .................. 282 6.24 Upload File ............................................................................ 284

6.25 Invio Email ............................................................................ 287

6.26 Marshal e Unmarshal XML ................................................... 289

6.27 Web Services ......................................................................... 294 6.28 REST ..................................................................................... 311

6.29 I framework ........................................................................... 312

6.30 I CMS e Liferay ..................................................................... 313

6.31 Suggerimenti per lo sviluppo web in Java ............................. 315

Capitolo VII Usabilità ed Accessibilità dei siti web........................ 317

7.1 Usabilità dei siti e delle applicazioni Web ............................ 317

7.1.1 Interazione Uomo Macchina ............................................. 318

7.1.2 Progettazione ed analisi di siti usabili .............................. 320

7.1.3 Test di Usabilità ................................................................. 328 7.1.4 Usabilità della Web Application ........................................ 330

7.1.5 Spunti di usabilità per le Intranet ...................................... 332

7.2 Accessibilità dei siti e delle applicazioni web ....................... 333

15

Capitolo VIII Documentazione e Gestione di Progetto ................... 341

8.1 Introduzione ........................................................................... 341 8.2 Relazione con il cliente - what the customer wanted ............. 341

8.3 Gestione di un Progetto Software .......................................... 344

8.4 Unified Modeling Language .................................................. 349

8.4.1 Use Case Model.................................................................. 350

8.4.2 Class diagram model .......................................................... 352

8.4.3 Activity model ..................................................................... 353

8.4.4 Sequence model .................................................................. 353

8.4.5 Component model ............................................................... 354 8.4.6 Deployment model .............................................................. 355

8.5 Strumenti per lo sviluppo UML ............................................. 356

8.6 Documentazione per una Web Application ........................... 357

8.7 La documentazione di progetto .............................................. 358 8.7.1 Introduzione al documento ................................................. 358

8.7.2 Requisiti Funzionali e non Funzionali ............................... 359

8.7.3 Banche Dati ........................................................................ 362

8.7.4 Architettura dell’applicazione ............................................ 362

8.7.5 Strumenti di progettazione - UML...................................... 362

8.8 La documentazione di configurazione del Progetto ............... 364

8.9 Il manuale utente .................................................................... 365

8.10 Strumenti di gestione e valutazione di Progetto..................... 365

8.10.1 ITIL ..................................................................................... 365 8.10.2 CMMI ................................................................................. 366

8.10.3 PMBOK .............................................................................. 366

8.10.4 AgiD.................................................................................... 366

15Indice

Page 16: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

16

8.10.5 Ciclo di Deming ................................................................. 367

8.10.6 SAL/SAP ............................................................................. 367 8.10.7 KPI ..................................................................................... 367

8.10.8 SLA ..................................................................................... 368

8.10.9 Function Point ................................................................... 368

8.11 Strumenti e metodologie di sviluppo di Progetto .................. 368

8.11.1 MVC ................................................................................... 368

8.11.2 Test ..................................................................................... 369

8.11.3 Repository .......................................................................... 369

8.11.4 Continuous Integration ...................................................... 370 8.11.5 Code Inspection ................................................................. 370

8.11.6 Eclipse Modeling Project ................................................... 370

8.11.7 Business Process Management e JBoss ............................. 370

Capitolo IX Sistemi Informativi ...................................................... 373 9.1 Introduzione ........................................................................... 373

9.2 Storia ...................................................................................... 374

9.3 Sistemi Informativi nell’Organizzazione Aziendale ............. 376

9.4 ERP ........................................................................................ 378

9.4.1 La suite ERP ...................................................................... 379

9.4.2 Motivazioni e vantaggi di utilizzo ...................................... 383

9.5 DSS ........................................................................................ 384

9.5.1 Data Warehouse e Data Mart ............................................ 386

9.5.2 OLAP ................................................................................. 390 9.5.3 Data Mining ....................................................................... 392

9.5.4 Query ................................................................................. 394

9.5.5 Knowledge ......................................................................... 394

16 Indice

Page 17: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

16

8.10.5 Ciclo di Deming ................................................................. 367

8.10.6 SAL/SAP ............................................................................. 367 8.10.7 KPI ..................................................................................... 367

8.10.8 SLA ..................................................................................... 368

8.10.9 Function Point ................................................................... 368

8.11 Strumenti e metodologie di sviluppo di Progetto .................. 368

8.11.1 MVC ................................................................................... 368

8.11.2 Test ..................................................................................... 369

8.11.3 Repository .......................................................................... 369

8.11.4 Continuous Integration ...................................................... 370 8.11.5 Code Inspection ................................................................. 370

8.11.6 Eclipse Modeling Project ................................................... 370

8.11.7 Business Process Management e JBoss ............................. 370

Capitolo IX Sistemi Informativi ...................................................... 373 9.1 Introduzione ........................................................................... 373

9.2 Storia ...................................................................................... 374

9.3 Sistemi Informativi nell’Organizzazione Aziendale ............. 376

9.4 ERP ........................................................................................ 378

9.4.1 La suite ERP ...................................................................... 379

9.4.2 Motivazioni e vantaggi di utilizzo ...................................... 383

9.5 DSS ........................................................................................ 384

9.5.1 Data Warehouse e Data Mart ............................................ 386

9.5.2 OLAP ................................................................................. 390 9.5.3 Data Mining ....................................................................... 392

9.5.4 Query ................................................................................. 394

9.5.5 Knowledge ......................................................................... 394

17

9.5.6 Classificazione Dei DSS ..................................................... 394

9.6 EIS e ESS ............................................................................... 396 9.7 CRM e SCM........................................................................... 398

9.8 La Intranet Aziendale ............................................................. 402

9.9 Conclusioni ............................................................................ 405

Indice delle Figure ............................................................................ 407

Indice delle Tabelle ........................................................................... 413

Bibliografia ....................................................................................... 415

17Indice

Page 18: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

18

Page 19: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

19

18

19

Introduzione

Questo testo introduce i concetti teorico-pratici fondamentali per lo sviluppo di una Web Application in Java con le attuali tecnologie, fino a giungere allo studio dei sistemi informativi aziendali, cuore del suc-cesso di ogni organizzazione pubblica e privata. Verranno quindi intro-dotti dettagliatamente gli elementi cardine delle applicazioni web-based quali xhtml, css, javascript, mysql, java, ajax, web services, uml, per poi trattare specificatamente accessibilità, usabilità e documentazione tecnica.

Il testo rappresenta il punto di partenza per studenti, neofiti e profes-sionisti che vogliano approfondire lo studio delle applicazioni per il web e si basa su una quindicennale esperienza lavorativa sui sistemi informativi e su esperienze di docenza in corsi universitari. Esso si ri-volge sia al pubblico degli studenti che a quello dei professionisti, in quanto fornisce un quadro esaustivo sui moderni aspetti tecnologici ed informativi che un’azienda o una Pubblica Amministrazione deve te-nere sotto controllo in un’ottica di costante aggiornamento al fine di migliorare i processi ed ottimizzare le modalità di lavoro non solo per garantire l’automazione esistente, ma anche per sperimentare nuovi modi di operare e dirigere. I sistemi informativi e le infrastrutture tec-nologiche, infatti, regolano ed influenzano sempre più la qualità della vita di ogni giorno e le attività di aziende, Amministrazioni ed Enti Pub-blici e sono elementi strategici per lo sviluppo economico in un mo-mento storico in cui economicità e agilità rappresentano la mission di ogni organizzazione con mentalità vincente, necessarie per non restare fuori dal processo di crescita. Diventa quindi fondamentale fornire delle basi solide, attuali e moderne, affinché i professionisti ed i futuri pro-fessionisti possano lavorare, produrre ed essere all’avanguardia con gli ultimi sviluppi tecnologici. Infatti, oramai, i sistemi informativi (grandi o piccoli) sono così pervasivi in ambito aziendale e pubblico (oltre che domestico e privato) che risulta riduttivo creare applicazioni basate su tecnologie obsolete o non competitive.

Questo testo ha l’obiettivo di sviluppare una forma mentis a tutto tondo e una metodologia di sviluppo nel lettore sulle applicazioni per il

Page 20: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

20

web e sulla relativa integrazione con i sistemi informativi che apra i suoi orizzonti ad un mondo in continua e pressante evoluzione e che lo stimoli per ulteriori approfondimenti là dove lo ritenesse opportuno nel suo ambito lavorativo, ovvero dove la sua passione lo dovesse portare in ambito di indirizzo di studi universitari e di ricerca.

Da un punto di vista didattico, il presente lavoro può anche essere considerato come un riferimento, quale unico momento, nel corso di studi universitario, in cui viene affrontata la materia, materia che co-munque sarà trasversale negli studi futuri e in tutte le future applica-zioni. Il libro è impostato per fornire un crescendo di informazioni che si cerca di armonizzare per giungere al capitolo finale in cui vengono trattati i sistemi informativi.

Il testo affronta nel primo capitolo lo studio dei moderni servizi e delle moderne architetture per il web, da internet ai sistemi distribuiti, con un breve richiamo alle basi di programmazione, per giungere ai concetti di business continuity e disaster recovery ed introdurre il Co-dice dell’Amministrazione Digitale e il Sistema di Pubblica Connetti-vità, elementi cardine per interfacciarsi con le Pubbliche Amministra-zioni.

Il primo capitolo si conclude introducendo quello che poi sarà il filo conduttore di tutto il libro: un’applicazione web. Filo conduttore, per-ché la teoria, anche approfondita, perde di valore se non ha un reale scopo, un obiettivo finale che possa dare un senso pratico, concreto e fattibile allo studio che si sta conducendo. Il libro non deve rimanere prettamente ambito di tecnici altamente specializzati, ma deve essere alla portata di tutti coloro che vogliano introdursi all’argomento condu-cendo uno studio completo, concreto e finalizzato. Si lascia al lettore la possibilità di approfondire gli argomenti di maggiore interesse.

Il secondo capitolo affronta, in ottica di sviluppo di una applicazione web lato client, lo HTML/XHTML e gli stili delle pagine web (CSS), introducendo anche lo XML, per terminare con una bozza di layout dell’applicativo introdotto nel capitolo I. Il terzo capitolo introduce la sezione dinamica di una pagina web con Javascript, terminando anch’esso con una serie di controlli ad hoc per l’applicativo web che si vuole sviluppare.

20 Introduzione

Page 21: · PDF file6.2 MVC – Model View Controller ... 6.9 Servlet 3.0 e Servlet 2.5 ... 6.31 Suggerimenti per lo sviluppo web in Java

20

web e sulla relativa integrazione con i sistemi informativi che apra i suoi orizzonti ad un mondo in continua e pressante evoluzione e che lo stimoli per ulteriori approfondimenti là dove lo ritenesse opportuno nel suo ambito lavorativo, ovvero dove la sua passione lo dovesse portare in ambito di indirizzo di studi universitari e di ricerca.

Da un punto di vista didattico, il presente lavoro può anche essere considerato come un riferimento, quale unico momento, nel corso di studi universitario, in cui viene affrontata la materia, materia che co-munque sarà trasversale negli studi futuri e in tutte le future applica-zioni. Il libro è impostato per fornire un crescendo di informazioni che si cerca di armonizzare per giungere al capitolo finale in cui vengono trattati i sistemi informativi.

Il testo affronta nel primo capitolo lo studio dei moderni servizi e delle moderne architetture per il web, da internet ai sistemi distribuiti, con un breve richiamo alle basi di programmazione, per giungere ai concetti di business continuity e disaster recovery ed introdurre il Co-dice dell’Amministrazione Digitale e il Sistema di Pubblica Connetti-vità, elementi cardine per interfacciarsi con le Pubbliche Amministra-zioni.

Il primo capitolo si conclude introducendo quello che poi sarà il filo conduttore di tutto il libro: un’applicazione web. Filo conduttore, per-ché la teoria, anche approfondita, perde di valore se non ha un reale scopo, un obiettivo finale che possa dare un senso pratico, concreto e fattibile allo studio che si sta conducendo. Il libro non deve rimanere prettamente ambito di tecnici altamente specializzati, ma deve essere alla portata di tutti coloro che vogliano introdursi all’argomento condu-cendo uno studio completo, concreto e finalizzato. Si lascia al lettore la possibilità di approfondire gli argomenti di maggiore interesse.

Il secondo capitolo affronta, in ottica di sviluppo di una applicazione web lato client, lo HTML/XHTML e gli stili delle pagine web (CSS), introducendo anche lo XML, per terminare con una bozza di layout dell’applicativo introdotto nel capitolo I. Il terzo capitolo introduce la sezione dinamica di una pagina web con Javascript, terminando anch’esso con una serie di controlli ad hoc per l’applicativo web che si vuole sviluppare.

21

Il capitolo IV illustra i database e il linguaggio SLQ, introducendo la progettazione, concettuale, logica e fisica e facendo esplicito riferi-mento a MySQL, dall’installazione del DBMS gratuito più usato al mondo, alla creazione e configurazione del DB per l’applicativo che si sta studiando.

Il capitolo V introduce la programmazione ad oggetti e i fondamenti di Java, per poi giungere al capitolo VI, cuore del libro, in cui viene sviluppato e messo in esercizio un applicativo web in java basato su servlet e jsp e sulle integrazioni con le informazioni acquisite nei capi-toli precedenti, fino a giungere alla implementazione di un Web Ser-vice.

Il capitolo VII, nella prima parte fornisce le basi di usabilità di un sito web con esempi concreti, anche riferiti all’applicativo in studio. Nella seconda parte introduce le regole e le norme di accessibilità che un sito/portale/applicativo web dovrebbe soddisfare.

Il capitolo VIII chiude lo studio dell’applicazione sviluppata con uno degli elementi più importanti: l’impostazione e la documentazione di progetto, fornendo anche alcune linee guida per la migliore conduzione dello stesso.

Infine, l’ultimo capitolo introduce i Sistemi Informativi effettuando una panoramica sugli strumenti software principali: dallo ERP (per la gestione integrata dei dati aziendali), ai DSS (per la definizione della business intelligence), al CRM (per la gestione delle relazioni con i clienti), al SCM (per la gestione dei sistemi di fornitura), per poi chiu-dere con la Intranet quale cardine dello sviluppo, della condivisione e della integrazione del business aziendale in cui tutte le applicazioni (compresa quella che si è sviluppata) confluiscono in maniera omoge-nea e collaborativa.

Un professionista, un’azienda, un’Amministrazione Pubblica de-vono rimanere al passo coi tempi e questa politica risulta vincente solo se ha la prioritaria caratteristica di essere innovativa nelle idee e nei processi organizzativi dei suoi promotori, ma soprattutto se si basa su tecnologie e metodologie moderne, sicure, scalabili, e, possibilmente, libere.

21Introduzione