ACADEMY SVILUPPATORE JAVA PERCORSO ACADEMY SVILUPPATORE JAVA DESCRIZIONE ACADEMY Al termine del percorso di formazione i partecipanti potranno utilizzare con padronanza i linguaggi di programmazione Java. Inoltre verranno fornite informazioni sulla Salute e Sicurezza sui luoghi di lavoro, secondo l’accordo Stato Regioni del 21/12/11 e del D.lgs 81/08 e sui Diritti e Doveri dei lavoratori temporanei. ACADEMY SVILUPPATORE JAVA -1- SVILUPPATORE JAVA DURATA 30 giornate di formazione OVERNET EDUCATION ZIONI D PERCORSO ARGOMENTI MODULO 1: STRUTTURA DELLA PROGRAMMAZIONE JAVA – 8 ORE • • • Presentazione, struttura e scopo del corso Evoluzione, versioni e struttura della programmazione Java Installazione e configurazione di Java su Windows MODULO 2: PRESENTAZIONE E APPROFONDIMENTI SULL'AMBIENTE DI SVILUPPO ECLIPSE EE CONCETTI FILOSOFICI E OPERATIVI DELLA PROGRAMMAZIONE OBJECT ORIENTED – 8 ORE • • • • • Incapsulamento Ereditarietà o Polimorfismo o Astrazione Riuso Classi Oggetti MODULO 3: INTRODUZIONE ALLE CLASSI, OGGETTI, VARIABILI D’ISTANZA E METODI – 12 ORE • • • • • • • • • • • • • Tipi Variabili Espressioni Operatori Costrutti di controllo e decisionali: Stringhe; Arrays; Oggetti wrapper; Uso di classi di libreria, import, concetto di package; Cast di tipi; Elementi static; Modificatori di visibilità; Costruzione di classi semplici; MODULO 4: SOFTWARE ENGINEERING E PRINCIPALI ELEMENTI CHE COMPONGONO L’ARCHITETTURA DI UN PROGETTO IT COMPLESSO – 20 ORE • • • • • • • • • • • Ciclo di vita del software Ciclo di vita del progetto Strumenti Java per la gestione del ciclo di vita Incapsulamento, Costruttori, Getter e Setter JavaBeans Ereditarietà Polimorfismo e suoi aspetti Intefacce e classi Astratte Eccezioni Input e Output Classi generiche ACADEMY SVILUPPATORE JAVA -2- OVERNET EDUCATION • • • • Classi interne Interfacce funzionali Reflection Annotations MODULO 5: JAVA COLLECTIONS FRAMEWORK – 8 ORE • • • • Set, Collection e Map Iterable Collection utilities Interfaccia Stream, Predicates, Optionals MODULO 6: PROGRAMMAZIONE CONCORRENTE – 8 ORE • • • • Multithreading Controllo dell’esecuzione dei thread e Thread safety Sincronizzazione ThreadExecutor MODULO 7: DISCIPLINA DI PROGRAMMAZIONE E PULIZIA DEL CODICE – 8 ORE • • • • Uso efficace di Eclipse Controllo di versione in Eclipse con Subversion e Git Coding conventions e Checkstyle Ant e Maven MODULO 8: DATABASE RELAZIONALI ED SQL (CENNI) – 8 ORE • • • • • • • Sistemi per la gestione di base dati Modello relazionale Connessione a MySql Creazione e gestione di database in MySql da riga di comando e da ambiente grafico Linguaggio SQL Plugin Eclipse per l'accesso ai dati JDBC MODULO 9: DA DAO A OBJECT RELATIONAL MAPPING – 8 ORE • • • • Pattern DAO Pattern ORM Architettura di JPA JPA in Eclipse ACADEMY SVILUPPATORE JAVA -3- OVERNET EDUCATION • JPA Annotations MODULO 10: MAPPING JPA AVANZATO E IMPLEMENTAZIONI JPA - 8 ORE • • • • • Approccio Code first Approccio Database first JPQL Persistenza con Hibernate EclipseLink e OpenJPA MODULO 11: DESIGN PATTERNS – 8 ORE • • • • • Coupling e Coherence Pattern creazionali principali Pattern strutturali principali Pattern comportamentali principali Pattern architetturali principali MODULO 12: INVERSIONE DEL CONTROLLO – 8 ORE • • • • Container managed beans CDI Weld Spring container ( Spring core; Spring bean factory; AOP; Context e Spring components annotations) MODULO 13: JAVA ENTERPRISE EDITION – 8 ORE • • • • • • • Container managed resources Overview di Java EE Enterprise features principali: EJB e Web profile Applicativi web multi-tier e Application Servers Tomcat: architettura e installazione Glassfish: architettura e installazione Deployment MODULO 14: SVILUPPO DI APPLICAZIONI WEB – 8 ORE • • • • • Il modello Web Application Il web ed il protocollo HTTP Java Servlet e JSP JSTL e EL Il pattern MVC ACADEMY SVILUPPATORE JAVA -4- OVERNET EDUCATION MODULO 15: SERVER SIDE JAVA WEB APPLICATIONS – 8 ORE • • Java MVC web frameworks JSF MODULO 16: SERVER SIDE JAVA WEB APPLICATIONS – 8 ORE • • Spring Web e Spring MVC View enignes comuni MODULO 17: ESECUZIONE DI UN’APPLICAZIONE IN UN CONTAINER – 8 ORE • • Container managed persistence Gestione delle transazioni con JTA MODULO 18: SERVER SIDE JAVA WEB APPLICATIONS – 8 ORE • • • • Pattern SOA Web services overview Approcci SOAP e REST Creazione di semplici servizi SOAP MODULO 19: CLIENT SIDE WEB FRONT END – 32 ORE • • • Overview delle client technologies Lo stack HTML5/CSS3/JS HTML5 SVILUPPO DELLA GRAFICA DI UN’APPLICAZIONE WEB • • • CSS3; Presentazione del framework per il responsive web design: Bootstrap Client aspect responsiveness CLIENT SIDE WEB FRONT END • • • • • • Linguaggio JavaScript AJAX Client time responsiveness Formato di interscambio JSON Librerie JavaScript: jQuery Pattern MVVM CLIENT SIDE WEB FRONT END • Single Page Applications ACADEMY SVILUPPATORE JAVA -5- OVERNET EDUCATION • • Angular MODULO 20: ENTERPRISE JAVA BEANS – 40 ORE • • • EJP e JPA Session beans Message Drive Beans RESTFUL WEB SERVICES • • • API JAX-RS Implementazione di riferimento: Jersey Definizione di un API REST CONCETTI AVANZATI (CENNI) • • Utilizzo delle Lambda Expressions Utilizzo dei Generics CODING BEST PRECTICES • • • • Utilizzo corretto delle risorse contese Gestione ed uso delle eccezioni Logging Unit Testing ARCHITETTURE AVANZATE (CENNI) • • • Microservizi Non blocking event loop Closures e callback ACADEMY SVILUPPATORE JAVA -6- OVERNET EDUCATION Centro Direzionale Milanofiori Strada 4 – Palazzo Q5 20089 Rozzano MI 02 365738 [email protected] www.overneteducation.it ACADEMY SVILUPPATORE JAVA -7- OVERNET EDUCATION