You are on page 1of 6

CORSO Java Base

ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso

ARCHETIPO di Formazione:
Minuta riepilogativa sul confronto telefonico
per decidere il taglio del Corso.

Sommario
Background di programmazione su linguaggi object-oriented.......................................2
Migliorare la produttivit in fase di sviluppo e acquisire la padronanza di Ambienti,
Framework e Best Practices:........................................................................................... 2
Competenze tecniche calate nel contesto infrastrutturale utilizzato quotidianamente:
Tomcat e Eclipse............................................................................................................ 3
Nozioni teoriche, propedeutiche alla comprensione e padronanza degli aspetti tecnici:
....................................................................................................................................... 4
Composizione della giornata
formativa
..6

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

CORSO Java Base


ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso

Dal confronto telefonico avvenuto in data odierna con Nicola Miletti sono emersi i seguenti argomenti che
caratterizzeranno la struttura programmatica del corso:

I discenti hanno tutti un background di programmazione su


linguaggi object-oriented (C#) e interpretati (PHP).
Tale know-how permetter di omettere l'introduzione al paradigma della programmazione orientata agli
oggetti, dei suoi componenti (Classi, Oggetti, Interfacce...) e delle propriet che caratterizzano tali linguaggi
(Ereditariet, Polimorfismo e Incapsulamento).

L'obiettivo richiesto quello di acquisire le competenze


necessarie per migliorare la produttivit in fase di sviluppo
e acquisire la padronanza di Ambienti, Framework e Best
Practices:

Ambienti (Eclipse),

Design Pattern
o

creazionali (Factory, Builder, Prototype e Singleton),

strutturali (Decorator, Faade, Proxy, Filters),

comportamentali (Chain of Responsability, Command, Event Listener/Observer, Iterator,


Memento, State Machine)

architetturali (MVC, Standalone Client, Client-Server, Multi-Tiers, Batch, Broker, Reflection,


Data Access Object, Data Transfer Object, Object-Relational-Mapping, Inversion Of Control)

Framework utilizzati che implementano i pattern architetturali ( confronto, contesti pratici, best
pratices ) :

MVC (Struts e JSF)

Standalone Client (Swing e Eclipse SWT)

Client-Server (TCP, HTTP, Unix Sockets)

Batch (EasyBatch, Spring Batch we JSR 352 in JEE7)

Broker (CORBA e JMS)

DAO e DTO Anti-Patterns (JDBC e MyBatis)

ORM (Hibernate e JPA in JEE6)

Inversion of Control (Spring Core e CDI in JEE6)

Cenni Architetturali SOA :

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

CORSO Java Base


ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso
o

Servizi Web SOAP e RESTFul,

EJB 3.x e Business Delegate

Ambienti distribuiti, bilanciati e in alta affidabilit (cluster)

L'approccio tematico a quanto sopra elencato sar del tipo:


1. Approccio ad un Contesto Pratico
2. Introduzione alla Problematica (Requisiti Utente)
3. Soluzione (studio di fattibilit):
-

Definizione dei requisiti attraverso casi d'uso

Scelta di uno o pi Design Pattern che garantiscano le caratteristiche funzionali individuate


dai casi d'uso
(Function Point)

Scouting dei Framework che implementano tali Design Pattern

Laboratorio Pratico di implementazione del Framework scelto attraverso l'utilizzo di Eclipse

Best Practices

E' emersa l'esigenza di acquisire le competenze tecniche in


questione calate nel contesto infrastrutturale utilizzato
quotidianamente dai discenti, ovvero Tomcat come
Application Server e Eclipse come Ambiente di Sviluppo.

Per questo motivo verr approfondita lanalisi dellimplementazione della gamma di soluzioni offerta
dagli ambienti sopra citati rispetto alle linee guida e specifiche tecniche generiche dettate dalla
Comunit Java attraverso le JSR (Java Specification Requests).

Inoltre verranno messi a confronto Frameworks diversi ma funzionalmente concorrenti per


permettere alla classe di sperimentare lo scouting delle soluzioni tecniche

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

CORSO Java Base


ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso

L'approccio deciso durante il confronto telefonico di


affrontare i vari aspetti nozionistici in ambiti estremamente
concreti, con una preponderanza verso laboratori pratici
piuttosto che esposizioni teoriche, non pu comunque
esimere la classe dall'affrontare le seguenti nozioni,
propedeutiche alla comprensione e padronanza degli aspetti
tecnici trattati:
1. Breve percorso storico e confronto con altri linguaggi O.O.
2. Esecuzione del codice: pre-compilatore, bytecode, JVM
- Best Practices per la scrittura del codice: Naming Conventions e metriche di qualit

3. Limiti della portabilit di un'applicazione Java (metodi nativi) : "Write once, run everywhere"
-> "Write once, debug anywhere"
4. Tipi Immutabili e Strutture di Dati
5. Gestione della memoria in Java: Aree di memoria, passaggio di argomenti ai metodi per valore o per
riferimento, Garbage Collection, Configurazione di Tomcat per ottimizzare l'uso della memoria
- Best Practices per l'ottimizzazione dell'uso della memoria: destory, finalize e strategie di
GarbageCollecting

6. Logging e Debugging: utilizzo di librerie di log e unit test


7. Programmazione test-driven, cenni di programmazione Agile
8. Programmazione event-driven in contesti web: JSF e Ajax
9. Separazione delle logiche:
a. . Presentation Logic
b. . Business Logic
c.

. Persistence Logic

d. . applicazioni multi-tiers
10. Programmazione di strati specializzati per il disaccoppiamento, riutilizzo del codice e
implementazione di ambienti distribuiti

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

CORSO Java Base


ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso

11. Disaccoppiamento e Coesione : sistemi strong-coopling e loose-coopling, tipi di coesione.


Dipendenze circolari
- Best Practices per il disaccoppiamento e la distribuzione:
-

Disaccoppiamento totale con protezione implicita

Inversion of Control

Applicazioni message oriented (MOM)

.Enterprise Service Bus

12. Programmazione Aspect-Oriented :


-

Come ottenere le caratteristiche dell'ereditariet multipla in Java.

Il Pattern Decorator

Le annotations e il pre-compilatore AspectJ

13. Strumenti di supporto alla programmazione e alla gestione del ciclo di vita del software (ALM)
-

Versionamento del codice e collaborazione : CVS, SVN, ecc...

Automazioni per la compilazione e la gestione delle dipendenze (librerie) : ANT e MAVEN a


confronto

Repository delle dipendenze e degli artefatti remoti e locali : NEXUS e ARTIFACTORY

Issue Tracker

Collaboration Platforms

Continuos Integration : JENKINS

- Best Practices sulle metodologie di programmazione: le metafore dell'altalena e della cattedrale nel
deserto

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

CORSO Java Base


ARCHETIPO di Formazione :
Minuta riepilogativa sul confronto telefonico per decidere il taglio del Corso

Composizine della giornata formativa:


La giornata formativa sar composta da 8 ore cos suddivise:

1a ora :
o

Riepilogo delle nozioni acquisite durante la giornata formativa precedente ed eventuali


approfondimenti on-demand

Introduzione agli argomenti che verranno trattati, correlazioni, motivazioni e contesti reali

Azioni necessarie allo svolgimento della formazione (download, installazione e


configurazione di ambienti, software e framework trattati durante la giornata)

Test di valutazione

dalla 2a alla 4a ora : esposizione delle nozioni teoriche previste (con pausa intermedia di 10 minuti)

Pausa Pranzo

dalla 5a alla 8a ora : laboratori pratici (con due pause intermedie di 10 minuti)

Questa minuta sar l'archetipo sul quale strutturer il programma delle 3 giornate di formazione che invier
entro domani.
Per domande o approfondimenti sono disponibile via e-mail

Grazie,

Richard Gennaro
Coordinatore dello Sviluppo
Software Architect - SOA Solutions Expert
Cell. +39

334.7156742

r.gennaro@vjtechnology.it

c/o Cogetech SpA

Formazione teorica
e laboratori pratici

Docente: Richard Gennaro

You might also like