FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · Con il termine heap si fa riferimento a quella zona...

Post on 27-Aug-2020

3 views 0 download

Transcript of FORMAZIONE TECNICA SISTEMISTICA APPLICATIVA · Con il termine heap si fa riferimento a quella zona...

Il software che crea successo

FORMAZIONE TECNICASISTEMISTICA APPLICATIVA

Corso di certificazione base

Prima giornata

• Introduzione alle tecnologie

• Requisiti HW/SW applicazioni HR/AGO

• Database: installazione e manutenzione SQL Server

• JVM: reperimento, tecnologia e installazione su Windows

• Tomcat: reperimento, tecnologia a installazione su Windows

• Analisi ed utilizzo Tomcat Manager e log di Tomcat

• JDBC Driver e configurazione DBConfig

• Installazione e configurazione MIPHR/PagheW

• Parametrizzazioni applicative: DMS, Percorsi, HR Abilitazioni, Live Update, Gadget aggiornamenti, Licenza applicativa

• Introduzione ai Web Server: installazione e configurazione Microsoft IIS

2

Seconda giornata

• Database: installazione e manutenzione PostgreSQL

• JVM: reperimento, tecnologia e installazione su Linux

• Tomcat: reperimento, tecnologia a installazione su Linux

• JDBC Driver e configurazione DBConfig

• Installazione e configurazione MIPHR/AGO

• Parametrizzazioni applicative: DMS, Percorsi, HR Abilitazioni, Live Update, Gadget aggiornamenti, Licenza applicativa

• Introduzione ai Web Server: installazione e configurazione Apache HTTPD

3

4

Introduzione alle tecnologie

CLIENT SIDE SERVER SIDE

BROWSER

MS Internet Explorer

Google Chrome

Mozilla Firefox

WEB SERVER

MS IIS

Apache HTTPD

SERVLET CONTAINER

Apache Tomcat

DATABASE

MS SQL Server

PostgreSQL

Oracle

WEBAPPS

5

Introduzione alle tecnologie

CLIENT SIDE SERVER SIDE

DATABASE

JDBCMSSQL 1433

POSTGRES 5432ORACLE 1521

SERVLET CONTAINER

AJP 8009WEB SERVER

HTTP 80HTTPS 443BROWSER

6

Requisiti HW/SW per HR/AGO

7

Requisiti HW/SW per HR/AGO

8

Database – Installazione e configurazione MS SQL

Server 2016

Attenzione: MS SQL Server (qualsiasi versione) va installato nella stessa lingua del sistemaoperativo.

Scaricare il download al seguente link:

https://www.microsoft.com/it-IT/download/details.aspx?id=54284

Scaricare MS SQL Server Management Studio per la gestione del DB:

https://docs.microsoft.com/it-it/sql/ssms/download-sql-server-management-studio-ssms

Per i riferimenti dettagliati di installazione consultare il link:https://corso.zucchettilab.it/index.html

9

Alcune operazioni potranno richiedere il riavvio di Windows invece nel caso di avvisi è possibile proseguire con l’installazione.

10

• Selezionare: Servizi motore di database

• Scegliere la Directory radice istanza

• Assegnare il nome dell’istanza desiderata

11

• Per i DB Microsoft l’encoding standard è Latin1_General_CI_AS.

• Motore di Database di SQL Server

->Tipo di avvio AUTOMATICO

• SQL Server Browser-> Tipo di avvio

DISABILITATO

12

• Aggiungi utente corrente: permette in aggiunta l’accesso come amministratore dell’istanza all’utente di Windows che ha installato il servizio

• Selezionare Modalità mista scegliendo una password per l’ accesso dell’utente sa

13

• Installare il tool SQL Management Studio per la gestione dell’istanza installata

14

• Eseguire lo strumento StrumentoGestione Configurazione SQL Server ed abilitare il protocollo TCP/IP indicando la porta in ascolto del servizio per gli IP in uso (default 1433) impostando la stessa come statica e non dinamica

15

• Accedere ad MS SQL Management Studio e creare un nuovo database(Es. MIPZUCCHETTI)

16

• Impostare per il file di data (mdf) l’opzione di crescita con incremento di 512MB, mentre per il file di log un incremento di 256MB

17

• Applica Criteri Password: E’ possibile lasciarla attiva ma impostare una password complessa ed alfanumerica

• Tipo di Autenticazione: SQL Server

18

• Eseguire sul DB creato una nuova query che cambierà il ruolo di DBOwner per l’utente SQL creato: sp_changedbowner ‘zucchetti’

19

Eseguire la query:

alter database NOMEDB set read_committed_snapshot on with rollback immediate;

per abilitare l’isolamento dello snapshot

20

JAVA – Cenni e storia

• All’inizio degli anni ‘80 la diminuzione del prezzo dell’hardware e l’aumento delle performance avevaaperto la strada alla diffusione di Internet e al suo utilizzo come mezzo per la distribuzione diapplicazioni.

• La complessità dei linguaggi di programmazione allora presenti (ad esempio il C) convinse la SunMicrosystem, in collaborazione con Netscape Corporation, a creare un linguaggio di programmazioneadatto alla nuova generazione di applicazioni allora in progettazione, nacque così Oak, da cui, l’anno dopoderivò Java

21

JAVA – Caratteristiche

Java nasce con l’intento di creare un linguaggio Object Oriented che permettesse di gestire quelli che allora si ritenevano i due problemi più rilevanti :

• Creare un linguaggio ad oggetti più semplice da programmare del C++

• Permettere la creazione di programmi slegati da una architettura precisa

22

JAVA – Caratteristiche

• Il primo degli obbiettivi fu raggiunto liberando il programmatore dall’onere della gestione dellamemoria (e togliendo dalle sue mani la gestione dei puntatori) creando un linguaggio destinatoalla grande diffusione basato su un sistema di gestione della memoria chiamato GargbageCollector in cui automaticamente la memoria viene assegnata e rilasciata a seconda delleesigenze del programma.

• Il secondo punto fu invece risolto applicando il concetto di Macchina Virtuale (JVM) e facendosostanzialmente in modo che i programmi siano compilati in una sorta di codice “intermedio”(chiamato bytecode) che non è destinato ad essere eseguito direttamente dall’hardware ma chedeve essere, a sua volta, interpretato da un secondo programma, la macchina virtuale appunto.Questo significa che lo stesso codice può essere eseguito su più piattaforme semplicementetrasferendo il bytecode (e non più il sorgente) purché sia disponibile una JVM.

23

JAVA – Come funziona una JVM

Class Loader

ExecutionEngine

Native Interface

Runtime Data Area

Area dei Metodi

Registri Heap Stack

24

JAVA – Come funziona una JVM

Elementi della JVM – La memoria

• Area di memorizzazione dei metodiL'area di memorizzazione dei metodi contiene le tabelle dei simboli necessari per il link dinamico, informazioni

di debug aggiuntive, ambienti di sviluppo da associare all'implementazione di qualsiasi metodo e i bytecodedi Java che implementano tutti i metodi presenti nel sistema.

• RegistriI registri della macchina virtuale di Java sono affini ai registri che si trovano in un computer reale, essi

contengono lo stato in cui si trova la macchina durante le operazioni, influiscono sul funzionamento diquest'ultima e vengono aggiornati dopo l'esecuzione di ciascun bytecode.

• HeapCon il termine heap si fa riferimento a quella zona della memoria nella quale vengono allocati gli oggetti appena

creati. Al momento dell'avvio della JVM, una certa area di memoria viene assegnata allo heap. Il Garbagecollector è deputato alla rimozione degli oggetti non più utilizzati dal programma man mano che questo è in esecuzione.

• StackLo stack viene utilizzato per passare i parametri alle istruzioni che vengono man mano eseguite e per ricevere i

risultati da queste prodotti.

25

JAVA – Gestione della memoria

• Poiché Java ha eliminato la necessità di una gestione della memoria a livello di programmazione, la memoriaviene gestita automaticamente da un sistema che si occupa di “pulire” le aree di memoria allocate e direndere disponibili per successive operazioni.

• Il Garbage Collector (GC) si occupa di verificare che l’elemento presente in memoria non sia più referenziatoe, se l’elemento non ha riferimenti lo elimina liberando la memoria occupata e rendendola disponibile.L’intervento del GC che blocca tutte le attività della JVM fino al termine del suo intervento.

• Nel caso di un intenso utilizzo della memoria può accadere che gli interventi del GC non portino ad unaeffettiva liberazione delle aree di memoria o che la memoria non abbia aree contigue disponibili (memoryleak). In questo caso la JVM può far intervenire il GC in modo quasi continuo portando ad un blocco dellaJV e ad un necessario riavvio.

• L’esaurirsi delle risorse disponibili può portare a rilevare degli errori di memoria.

26

JAVA – Reperimento ed installazione

• Quella di seguito descritta interesserà l’installazione della Java di Oracle/SUN versione 1.8 upd144 con Modulo JDK su un S.O. Microsoft Windows Server 2016

• Prelevare il file dal sito della Oracle/SUN regolandosi sulla versione certificata con gli applicativi dautilizzare

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

• Per i riferimenti dettagliati di installazione consultare il link: https://corso.zucchettilab.it/index.html

27

• Lo standard Zucchetti prevedel’installazione nel percorso:unità:\Zucchetti\Javarelativamente al mondo HR o AGO

28

• Per l’installazione della parte JRE il setuppropone di default il percorso di installazioneC:\Program Files\Java\jre1.8.0_144.E’ possibile lasciare questo percorso invariato

29

Apache Tomcat – Reperimento ed installazione

• Quella di seguito descritta interesserà l’installazione di Apache Tomcat versione 8.5.16 su un S.O.Microsoft Windows Server 2016

• Prelevare il file dal sito dell’Apache Org. regolandosi sulla versione certificata con gli applicativi dautilizzarehttps://archive.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/

• Per i riferimenti dettagliati di installazione consultare il link: https://corso.zucchettilab.it/index.html

30

• Scegliere il Tipo di installazione “Normal”

• Selezionare nelle opzioni sottostanti ilcampo “Service Startup” all’interno dellavoce “Tomcat” al fine di attivare lo startupautomatico del servizio in caso di riavviodel server

• Avviare l’installazione escegliere l’opzione NEXT allaprima maschera, allasuccessiva selezionare IAGREE per continuare

31

• Compilare i valori in base alla configurazione delserver ospitante utilizzando porte TCP/IP libere

• Denominare il servizio con il riferimento all’ambito ed inserire i valori relativi all’utente manager del tomcat (user e password)

• Per il percorso della Java da utilizzare riportare interamente il path dell’installazione indicata precedentemente della JDK, sostituendo quello riportato di default

32

• Compilare il percorso di installazione delTomcat seguendo lo standard Zucchetti:unità:\Zucchetti\TomcatArelativamente al mondo HR o AGO

• In presenza di più nodi Tomcat,creare delle nuove directory diinstallazione Es. TomcatB,configurando porte TCP/IP diverserispetto al servizio Tomcat giàinstallato

33

• Impostare l’utente chegestisce il serviziointeragendo con la sezionerelativa alla Connessione

• In questa sezione è possibileavviare il servizio perverificarne la correttafunzionalità

• Avviare avviare un browserInternet e digitare ilpercorso:http://localhost:8080

34

• All’interno del percorso C:\Zucchetti\TomcatA\conf editare il file “catalina.properties”

Sostituendo tutto il blocco tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\con la sola riga tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*.jar

• Individuare nello stesso file il parametro

tomcat.util.scan.StandardJarScanFilter.jarsToScan=\log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jarsostituendolo con il seguentetomcat.util.scan.StandardJarScanFilter.jarsToScan=\log4j-web*.jar,log4j-taglib*.jar,log4javascript*.jar,slf4j-taglib*.jar,standard.jar

• All’interno del percorso C:\Zucchetti\TomcatA\conf editare il file“logging.properties “

aggiungendo alla fine del file il seguente parametroorg.apache.catalina.webresources.Cache.level = SEVERE

al fine di non registrare tutti i messaggi informativi di Apache Tomcat nelle fasi di avvio del servizio

35

JAVA_OPTS per HR

-XX:MaxMetaspaceSize=768m-Xss768m

JAVA_OPTS per AGO

-XX:MaxMetaspaceSize=768m-Xss768m-XX:MaxMetaspaceFreeRatio=75-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false

36

• E’ possibile intervenire, tramite opportuni parametri, sul sistema di gestione dellamemoria della JVM.

-Xmx

-XX:MaxMetaspaceSize

-XssDimensione massima dell’HEAP

Dimensione dello STACK (per thread)

Dimensione massima del Permanent Generation

JAVA – Gestione della memoria ed eventuali problemi

• Se il GC non riesce a gestire correttamente la memoria o se le richieste di allocazione dimemoria superano la memoria momentaneamente disponibile viene generato un errore diOutOfMemory.

ERROR: java.lang.OutOfMemoryError: Metadata space

Indica che la memoria di Metaspace è esaurita

Aumentare il parametro di memoria -XX:MaxMetaspaceSize

ERROR: java.lang.OutOfMemoryError: Java Heap space

Indica che la memoria di Heap è esaurita

• Aumentare il parametro di memoria -XmX

37

Tomcat – Utilizzo ed accesso Tomcat Manager

Per accedere al Tomcat Manager è necessario per ragioni di sicurezza autorizzare in modo esplicito quali IP abilitare modificando il file TomcatA/webapps/manager/META-INF/context.xml

Gli IP localhost sono già abilitati

Aggiungere l’IP desiderato nel parametro “allow” come evidenziato

allow="192\.\168\.\1\.\110|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

in alternativa usare

allow=".*" />

oppure

allow="\d+\.\d+\.\d+\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

per consentire l’accesso al Tomcat Manager da qualsiasi IP

38

Tomcat – Tomcat Directory e Logs

La directory di installazione di Tomcat è organizzata nelle seguenti sottodirectory:

• Bin (contiene gli script per avviare, riavviare e arrestare Tomcat)

• Conf (sono contenuti i file di configurazione di tomcat, i più importanti sono server.xml e web.xml)

• Lib (contiene i file jar di cui Tomcat fa uso)

• Log (sono presenti tutti i file di log per monitorare l'andamento del servizio)

• Temp (contiene file temporanei generati dal server in runtime)

• Webapps (Il cuore di Tomcat. In questa cartella ci sono tutti i file war dei quali abbiamo fatto il deployed)

• Work (sono contenute tutte le Servlet che sono state generate da una pagina JSP)

39

Tomcat – Tomcat Directory e Logs

Analizzando in dettaglio la directory log, possiamo notare che ad ogni avvio del servizio Tomcat saranno creati i seguenti files

In ogni file di log sono registrate tutte le attività inerenti il servizio installato, Java OPTS configurate ed eventuali errori collegati ai contesti in esecuzione

40

Installazione e configurazione MIPHR/PagheW

Ogni applicativo necessita della licenza

Il cliente può scaricare le licenze applicative da MyZucchetti (solo con l’utenza del cliente alla quale è stato registrato il contratto).

La licenza viene generata automaticamente in base al contratto inserito nel sistema informatico, normalmente il processo automatico viene completato il giorno successivo al caricamento del contratto.

Ad oggi ci sono quattro tipi di licenze:

HR (MIP, PagheWEB, HR-WorkFlow, CU770WEB, Presenze, etc.) AGO ATOOL START

La licenza consiste in un file xml, it.zucchetti.infinity.license.xml, che va copiata nella cartella WEB-INF/cfg di ogni applicativo, assicurandosi che sia la licenza corretta per il tipo di applicativo (HR, AGO, ATOOL, START).

Eseguire l'amministrazione del database con licenze non corrette (o con moduli diversi da quelli poi utilizzati) può dare origine ad anomalie applicative.

Installazione e configurazione MIPHR/PagheW

DBConfig

DBConfig MSSQL (2005 e successivi)JDBCConnectionURL.1=jdbc:sqlserver://192.168.0.1:1433;DatabaseName=DBNAMEJDBCDriver.1=com.microsoft.sqlserver.jdbc.SQLServerDriverUserName.1=usernamePassword.1=passwordInstance.1=SERVLETDefaultUserTimeout=3600

DBConfig POSTGRESQLJDBCConnectionURL.1=jdbc:postgresql://192.168.0.1:5432/DBNAMEJDBCDriver.1=org.postgresql.DriverUserName.1=usernamePassword.1=passwordInstance.1=SERVLETDefaultUserTimeout=3600

DBConfig ORACLE (verificare la compatibilità dei moduli con Oracle, quali AGO)JDBCConnectionURL.1=jdbc:oracle:thin:@192.168.0.1:1521:ORACLE_SIDJDBCDriver.1=oracle.jdbc.driver.OracleDriverUserName.1=usernamePassword.1=passwordInstance.1=SERVLETDefaultUserTimeout=3600

Database

Modalità di connessione al database

Applicativo WEB

file DBConfigWEB-INF/classes

driver jdbcWEB-INF/lib

Driver JDBC

Il driver di connessione va aggiunto in ogni applicazione nella seguente directory: Applicazione/WEB-INF/lib

È importante che nella directory WEB-INF/lib (di ogni applicativo web) non ci siano più driver per lo stesso database, ad esempio sqljdbc.jar e sqljdbc4.jar, oppure postgresql-8.4-703.jdbc3.jar e postgresql-9.3-1102.jdbc41.jar.

Il driver va scaricato in base alle versioni del database e della java utilizzati:

Microsoft JDBC: https://docs.microsoft.com/it-it/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017

Oracle JDBC: http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html PostgreSQL JDBC: https://jdbc.postgresql.org/download.html

Installazione e configurazione MIPHR/PagheW

Installazione e configurazione MIPHR/PagheW

Per iniziare le attività di installazione collegarsi al portale MyZucchetti e scaricare l’ultimo installatore aggiornato dell’applicazione HRPortal

Area Tecnica > Post-vendita > Prodotti > HR > Portale > Installazioni

Prendere visione delle note PDF allegate ed una volta configurata correttamente la webapp all’interno del nodo Tomcat installato, comprensiva di licenza, DBConfig e driver jdbc, sarà richiesta l'esecuzione dell'amministrazione del database al fine di creare la struttura tabellare necessaria

Al termine dell’amministrazione, eseguire il primo accesso con le seguenti credenziali

Username: administratorPassword: admin

Al successivo riavvio dei servizi Tomcat, verrà richiesto dopo la successiva login, di aggiornare la password con una nuova

Installazione e configurazione MIPHR/PagheW

In base alla complessità della password scelta, verrà assegnato un punteggio inerente il livello di sicurezza della stessa

Il setup sistemistico inziale prevede la configurazione delle seguenti funzionalità:

Installazione e configurazione MIPHR/PagheW

• Configurazione archivio DMS

• Configurazione percorsi relativi ed assoluti

• Configurazione Live Update

• Configurazione gadget aggiornamenti

• Configurazione gadget licenza applicativa

• Configurazione HR abilitazioni per i moduli da installare/aggiungere

Installazione e configurazione MIPHR/PagheW

• Impostare il percorso DMS in Workspace – Archivio – Impostazioni – Impostazioni Globali

• Impostare i percorsi relativi ed assoluti delle webapps installate in in Pannello di Controllo – Sistema –Configurazione – Definizione Configurazione

Installazione e configurazione MIPHR/PagheW

• Impostare le credenziali Live Update per lo scarico automatico degli aggiornamenti in Pannello di Controllo – Sistema –Aggiornamento – Sistema –Configurazione Live Update

• Impostare il gadget per l’installazione degli aggiornamenti HR in Aggiungi Gadget – Portale ERM –Aggiornamenti Applicativi

Installazione e configurazione MIPHR/PagheW

• Impostare il gadget per l’installazione/rinnovo della licenza HR in MyHome - Aggiungi Gadget –Portale ERM – Gestione Licenza Applicativa

• Aggiungere in base agli applicativi installati, i relativi codici applicativi con abilitazioni agli ambienti in uso nel menu HR Abilitazioni dell’utente o gruppo di sicurezza

Introduzione ai Web Server : Microsoft IIS

Quella di seguito descritta interesserà l’installazione di Microsoft IIS versione 8.X su un S.O. Microsoft Windows Server 2016

Microsoft IIS è un modulo nativo del sistema operativo Windows ed è installabile utilizzando lo strumento Server Manager nel menù Aggiungi Ruoli e Funzionalità

Per i riferimenti dettagliati di installazione consultare il link: https://corso.zucchettilab.it/index.html

Introduzione ai Web Server : Microsoft IIS

• Dal Server Manager del server aprire il menu Manage e cliccare su Add Roles and Features

• Scegliere il componente Web Server (IIS)

Introduzione ai Web Server : Microsoft IIS

• Aggiungere gli eventuali ulteriori componenti richiesti

Aggiungere i seguenti Role services: • Performance – Dynamic Content Compression• Security – Windows Authentication (facoltativo

per configurazione SSO)• Application Development – CGI• Application Development – ISAPI Extensions• Application Development – ISAPI Filters

Introduzione ai Web Server : Microsoft IIS

• Aprire un browser e verificare il funzionamento di IIS testando l’url http://localhost

Introduzione ai Web Server : Microsoft IIS

Una volta installato è possibile configurare IIS per l’interfacciamento con i nodi Tomcat, attraverso:

• Configurazione filtro ISAPI Connettere Internet Information Services ai Tomcat senza aggiungere chiavi al registro di sistema di Windows

• Configurazione Virtual Host Configurare diversi Virtual Host per permettere la pubblicazione di diversi applicativi web, anche aventi lo stesso nome, su siti differenti.

Per i riferimenti dettagliati di installazione consultare il link: https://corso.zucchettilab.it/index.html