○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Indice Prefazione Introduzione PAR TE PRIMA ● PREP ARAZIONE PARTE PREPARAZIONE XV XVII 1 Capitolo 1 Architettura 1.1 Communication Services 1.2 Content Management Services 1.3 Business Logic Services 1.4 Presentation Services 1.5 Business Intelligence Services 1.6 Portal Services 1.7 Kit per sviluppatori 1.8 Caching Services 1.9 System Services 1.10 Database Services 1.11 Riepilogo 3 5 9 11 12 15 16 17 20 24 26 32 Capitolo 2 Installazione 2.1 Operazioni preliminari 2.2 Installazione di 9iAS 2.3 Trucchi e insidie dell’installazione 2.4 Dopo l’installazione: gli assistenti alla configurazione 2.5 Disinstallazione 2.6 Riepilogo 33 33 35 43 45 47 49 VI INDICE Capitolo 3 Configurazione e messa a punto di iAS 51 3.1 Messa a punto rapida e suggerimenti per la configurazione 51 3.2 Primi passi 53 3.3 Introduzione alle porte 57 3.4 Avvio, arresto e riavvio di iAS (Apache) 59 3.5 Configurazione di iAS (Apache) 61 3.6 Interfaccia grafica per la configurazione di iAS 67 3.7 Gestione e configurazione dei moduli 69 3.8 Configurazione della sicurezza di iAS 78 3.9 Monitoraggio del Web Server di iAS 85 3.10 Messa a punto di iAS 90 3.11 Messa a punto dei moduli delle applicazioni 93 3.12 Messa a punto dell’hardware e del sistema operativo 100 3.13 Riepilogo 106 Capitolo 4 Funzionamento 24 ore su 24, 7 giorni su 7 4.1 Oracle Real Application Clusters 4.2 Transparent Application Failover 4.3 Oracle Data Guard 4.4 Advanced Replication 4.5 Internet Application Server 4.6 Soluzioni di terzi 4.7 Soluzioni combinate 4.8 Strategie di massima disponibilità personalizzate 4.9 Riepilogo 107 111 117 118 122 125 127 127 Strategie antidisastri 5.1 Primi passi e definizioni iniziali 5.2 Classificazione dei disastri 5.3 Domande chiave cui rispondere nell’analisi di un piano antidisastri relativo a Oracle 5.4 Solida documentazione e pratiche migliori 5.5 Riepilogo generale: formulazione del piano vero e proprio (CFSA) 5.6 Test seri e frequenti: analisi, pianificazione, test, ripetizione 5.7 Partecipazione, formazione e preparazione di utenti finali e clienti 5.8 Riepilogo 129 130 132 Capitolo 5 127 128 134 140 148 153 154 155 INDICE PAR TE SECONDA ● CONCETTI FONDAMENT ALI PARTE FONDAMENTALI VII 159 Capitolo 6 Sviluppo HTML 161 6.1 Come scrivere codice HTML 162 6.2 Aggiunta di un’icona per il sito Web 168 6.3 Come fornire un collegamento per il sito Web 168 6.4 Visualizzazione del sorgente HTML senza i risultati 169 6.5 Determinazione del browser 169 6.6 Uso delle metatag 170 6.7 Uso delle tabelle HTML 172 6.8 Creazione di un modulo HTML 177 6.9 Uso di URL e di collegamenti ipertestuali 186 6.10 Moduli forzatamente affiancati 191 6.11 Cascading Style Sheet 192 6.12 Creazione dell’oggetto e/o del testo per i messaggi di posta elettronica 196 6.13 Invio di posta elettronica da un modulo HTML 197 6.14 Rientro del testo 197 6.15 Inserimento di due titoli nella stessa riga 198 6.16 Determinazione del frame 198 6.17 Regole di etichetta nell’uso dei frame 199 6.18 Come creare l’aspetto di una finestra con cornice 200 6.19 Riferimento agli script CGI 200 6.20 Come tenere traccia dei visitatori del sito 202 6.21 Riepilogo 203 Capitolo 7 Sviluppo JavaScript 7.1 Confronto tra JavaScript e PL/SQL 7.2 Difficoltà di iAS 7.3 Incompatibilità tra browser 7.4 Codice specifico del browser a partire dal codice dinamico 7.5 Riutilizzo del codice JavaScript 7.6 Uso di procedure in package PL/SQL 7.7 Elaborazione di avvisi personalizzati 7.8 Visualizzazione delle proprietà sullo schermo 7.9 Nuove finestre e passaggio di parametri 7.10 Assegnazione di variabili JavaScript 7.11 Uso del pulsante Submit 7.12 Convalida di campi del modulo 7.13 Uso del codice PL/SQL e di vari browser 7.14 Array bidimensionali in JavaScript 7.15 Assegnazione di variabili JavaScript 205 207 214 215 218 219 223 223 224 230 231 232 233 235 235 236 VIII INDICE 7.16 7.17 7.18 7.19 7.20 7.21 7.22 7.23 7.24 7.25 7.26 7.27 Capitolo 8 Capitolo 9 Richiamo di una procedura PL/SQL da un elenco di selezione Modifica contemporanea dei frame Errore di accesso negato Passaggio di spazi come parte dell’URL Il debug di onFocus con avvisi non funziona Uso di typeof per evitare l’errore object expected La funzione eval Argomenti di funzione dinamici Array di oggetti per simulare tabelle e righe Iscrizione alla newsletter onFocus Strumenti JavaScript visuali Riepilogo 237 238 238 239 239 240 242 243 244 245 246 247 XML 8.1 Introduzione alle regole di base di XML 8.2 Analisi della struttura e della sintassi di un documento XML 8.3 Analisi di XML Schema 1.0 8.4 Analisi delle API di documento XML più comuni 8.5 Analisi di XPath 8.6 Uso dei fogli di stile XML per formattare e visualizzare i documenti XML 8.7 Supporto XML in Oracle9i 8.8 Oracle9i e Oracle Text 8.9 Analisi di Oracle XML Parser 8.10 Analisi di Oracle XML Class Generator 8.11 Analisi di Oracle XML SQL Utility 8.12 Potenzialità di Oracle XSQL Servlet 8.13 XML e Advanced Queuing 8.14 Rimozione del documento XML dalla coda di messaggi 8.15 Analisi di XML 8.16 Uso regolare di SOAP 8.17 Riepilogo 249 250 Sviluppo per dispositivi wireless 9.1 Programmazione del database per telefoni cellulari compatibili con il Web e per dispositivi portatili wireless 9.2 Programmazione di PDA wireless 9.3 Oracle9iAS Wireless Edition 9.4 Riepilogo 339 252 259 268 271 279 281 282 283 296 301 310 316 327 330 336 338 340 359 361 377 INDICE Capitolo 10 Capitolo 11 Capitolo 12 IX Migrazione da OAS a iAS 10.1 Perché fare l’aggiornamento? 10.2 Apache, Apache, Apache 10.3 Cosa funzionerà 10.4 Cosa non funzionerà 10.5 Cosa deve cambiare 10.6 Novità di iAS 10.7 Prima di iniziare: cosa mi occorre davvero? 10.8 Effetti di iAS sulle applicazioni PL/SQL già in uso 10.9 Riepilogo 379 379 382 383 385 386 389 391 Package PL/SQL incorporati 11.1 Cifratura di dati importanti con DBMS_OBFUSCATION_TOOLKIT 11.2 Lettura di altri siti Web con UTL_HTTP 11.3 Query e codice PL/SQL dinamici con DBMS_SQL, EXECUTE IMMEDIATE e cursori di riferimento 11.4 Invio di posta elettronica dal database con UTL_SMTP 11.5 Comunicazione attraverso i socket TCP/IP con UTL_TCP 11.6 Pianificazione dal database con DBMS_JOB 11.7 Invio di messaggi tramite il database con DBMS_PIPE 11.8 Impostazione delle proprietà di sessione con DBMS_SESSION 11.9 Recupero dell’ora in millesimi di secondo con DBMS_UTILITY.GET_TIME 11.10 Riepilogo 395 Sicurezza 12.1 Concetti generali di sicurezza e approcci fondamentali alla sicurezza 12.2 Sicurezza del RDBMS 12.3 Virtual Private Database 12.4 Sicurezza a livello di applicazione 12.5 Sicurezza della rete 12.6 Riepilogo 439 392 393 396 403 411 422 424 429 430 435 436 438 439 450 450 463 470 482 X INDICE PAR TE TERZA ● MODULI PARTE Capitolo 13 Capitolo 14 Java 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 J2xE Java per lo sviluppatore PL/SQL La Java Virtual Machine (JVM) di Oracle Servlet Java JDBC (Java Database Connectivity) SQLJ JavaServer Pages (JSP) Java Stored Procedure Business Components for Java (BC4J) JDeveloper PL2JAVA: uso di PL/SQL in Java Riepilogo 483 485 488 489 506 510 515 518 521 559 563 568 584 586 Il modulo PL/SQL 587 14.1 Passaggio da PL/SQL e HTML allo sviluppo Web 588 14.2 Installazione del Web Toolkit 596 14.3 Passaggio di parametri alle procedure PL/SQL 596 14.4 PL/SQL Server Pages (PSP) 600 14.5 Recupero delle variabili ambientali CGI 610 14.6 Mantenimento della cronologia del codice sorgente 611 14.7 Memorizzazione dei cookie 612 14.8 Riferimenti alle pseudocolonne 613 14.9 Calcolo del tempo in centesimi di secondo 614 14.10 Chiamate esterne da PL/SQL 614 14.11 Wrapping o protezione delle procedure contro la visualizzazione del sorgente 615 14.12 Reindirizzamento degli utenti a un altro URL 616 14.13 Query su più selezioni di una casella di riepilogo 617 14.14 Testo a capo senza ricorrere a <PRE> 619 14.15 Cancellazione del buffer 620 14.16 Debug di PL/SQL 620 14.17 Deautenticazione degli utenti 621 14.18 Scomparsa delle sessioni 621 14.19 Cifratura delle informazioni chiave 622 14.20 Ordinamento dei dati in base alle richieste dell’utente 622 14.21 Modifica del codice PL/SQL 624 14.22 Nomi di dominio da indirizzi IP 625 14.23 Pulsanti di opzione mancanti 626 14.24 Definizione eccessiva delle azioni 626 INDICE 14.25 14.26 14.27 14.28 14.29 Conversione di numeri in parole Come ottenere informazioni sugli utenti Utilità di htp.linkrel Ottimizzazione di PL/SQL Riepilogo PAR TE QUAR TA ● GLI STRUMENTI DI ORACLE PARTE QUART Capitolo 15 Capitolo 16 XI 627 628 633 634 639 641 Designer 15.1 Esplorazione delle opzioni di layout dei moduli di Web PL/SQL Generation 15.2 Accesso ai valori degli elementi dei componenti master dai componenti detail 15.3 Creazione di componenti LOV 15.4 Definizione degli elementi di azione 15.5 Package generati da Designer 15.6 Viste nei moduli generati 15.7 Costruzione di un efficace schema di sicurezza del database quando si usano moduli generati 15.8 Uso di eventi e routine denominate 15.9 Preferenze e attributi chiave di Web PL/SQL Generator 15.10 Uso di frame e fogli di stile 15.11 Uso di elementi non limitati 15.12 Area del testo utente 15.13 Uso di JavaScript 15.14 Sovrascrittura della funzionalità predefinita di Designer 15.15 Uso degli argomenti 15.16 Gestione del ciclo di sviluppo del software con gli strumenti di gestione della configurazione 15.17 Generazione di oggetti di database con sorgente Java 15.18 Riepilogo 643 Oracle9iAS Portal 16.1 Da WebDB a Oracle Portal 16.2 Architettura di Oracle Portal 16.3 Installazione di Oracle Portal 16.4 Le basi di Oracle Portal 16.5 Sicurezza di Oracle Portal 16.6 Monitoraggio di Oracle Portal 16.7 Concetti avanzati di Oracle Portal 16.8 Riepilogo 695 696 696 699 714 743 748 750 764 646 652 653 655 657 664 665 666 668 670 676 677 681 685 687 688 690 693 XII INDICE Capitolo 17 Oracle Developer: moduli e report 17.1 Oracle Forms 17.2 Funzionamento di Forms Server 17.3 Oracle Reports 17.4 Riepilogo 765 766 767 798 823 Capitolo 18 IFS: 18.1 18.2 18.3 18.4 18.5 18.6 18.7 825 826 826 830 830 831 840 840 Capitolo 19 Caching del Web e del database 841 19.1 Che cos’è la cache? 842 19.2 Tipi di cache 844 19.3 Vantaggi e svantaggi del caching 850 19.4 Come controllare il caching dalle applicazioni 851 19.5 Oracle9iAS Web Cache 856 19.6 Oracle9iAS Database Cache 895 19.7 Riepilogo 897 Capitolo 20 Oracle Enterprise Manager 20.1 Gli Intelligent Agent 20.2 I Management Server 20.3 Console 20.4 Accesso alla console mediante un browser Web 20.5 Installazione del server di paging e di posta elettronica 20.6 Riepilogo Internet File System Documentazione in linea Installazione di IFS Riconfigurazione di IFS Avvio di IFS Come accedere a IFS Gestione dell’unità IFS Riepilogo PAR TE QUINT A ● SUPPOR TO TECNICO PARTE QUINTA SUPPORTO Capitolo 21 Risoluzione dei problemi 21.1 Conoscete la risposta 21.2 Sapete come trovare la risposta 21.3 Sapete chi conosce la risposta 21.4 Sapete quando è il momento di chiedere aiuto 21.5 Riepilogo 899 901 905 912 935 936 938 939 941 941 942 944 945 945 INDICE Capitolo 22 Capitolo 23 Capitolo 24 XIII Debug del codice 22.1 Tecniche generali di debug 22.2 Visualizzazione di schermate HTML con le applicazioni PL/SQL 22.3 Determinazione di chi detiene il lock su una riga 22.4 Acquisto di strumenti di debug PL/SQL 22.5 Debug senza interferire con la vista dell’utente 22.6 Ricerca degli errori generali di Oracle 22.7 Analisi dei file log 22.8 Tecniche di gestione degli errori per ridurre il tempo di recupero 22.9 Invio di messaggi di errore con raise_application_error 22.10 Progettazione della logica di debug/trace in un’applicazione 22.11 Presentazione contemporanea di tutti gli errori di convalida con un array di errori 22.12 Uso dei package di report di versione 22.13 Marcatura del percorso con il trace dell’applicazione 22.14 Wrapping del codice di produzione 22.15 Riepilogo 947 948 Log e analisi dei siti 23.1 Introduzione ai log di uso di iAS 23.2 Ripristino o rolling del file log 23.3 Recupero di ulteriori informazioni sui formati dei file log 23.4 Ricerca di strumenti per la gestione dei siti Web 23.5 Analisi della soluzione SM WebTrends 23.6 Riepilogo 983 985 993 Motori di ricerca: come guadagnare posizioni in classifica 24.1 Scelta delle parole chiave 24.2 Posizionamento delle parole chiave 24.3 Dialogare con i robot 24.4 Come acquisire popolarità da collegamento 24.5 Come acquisire popolarità da clic 24.6 Evitare lo spamming 24.7 Costruzione di pagine “doorway” Trojan 24.8 Sottomissione manuale 949 949 951 951 951 952 952 962 967 971 975 978 981 981 995 995 996 1001 1003 1005 1006 1012 1013 1015 1016 1018 1020 XIV INDICE 24.9 Classificazione a pagamento 24.10 Acquisto di software e servizi di sottomissione 24.11 Come evitare problemi legali 24.12 Importanza della promozione offline 24.13 Altre insidie 24.14 Riepilogo 24.15 Bibliografia 1021 1022 1024 1025 1026 1028 1028 Capitolo 25 Oracle Text e Ultra Search 25.1 Oracle Text 25.2 Oracle Ultra Search 25.3 Master.com 25.4 Riepilogo 1031 1031 1033 1041 1043 Capitolo 26 Test del carico e dell’applicazione 26.1 Software per il test del carico e dell’applicazione 26.2 Scrittura del proprio programma di test del carico 26.3 Servizi di test del carico 26.4 Riepilogo 1045 Indice analitico 1063 1045 1049 1058 1061