Didattica

Il corso ha una durata di 32 ore divise in 4 lezioni della durata di 8 ore.
Si svolge nella fascia oraria compresa tra le 9,30 e le 18,30.

Overview

Sviluppato dai ricercatori della Sun Microsystems, Java è attualmente il linguaggio multi-piattaforma/multi-sistema più utilizzato per applicazioni in Internet grazie alle sue caratteristiche di potenza, portabilità e flessibilità. Java è un linguaggio di programmazione molto diffuso in Internet per la realizzazione di applicazioni e siti web, con numerose possibilità di impiego.
Per essere competitivi al giorno d'oggi ogni azienda ha necessità di automatizzare i suoi flussi informativi. L'affermazione del modello orientato agli oggetti ed in particolar modo del linguaggio Java permettono lo sviluppo di software per qualunque tipo di realtà aziendale. Java consente di produrre software di qualità, mantenendo il controllo su tempi e costi, attraverso la definizione rigorosa di un processo per lo sviluppo del software e l'uso di tecnologie moderne e affidabili.

Conoscere la programmazione orientata agli oggetti e Java è il principale veicolo per inserirsi nel mondo del lavoro come figura specializzata in tale linguaggio.

Obiettivi formativi

Il corso fornisce la conoscenza delle tecnologie per lo sviluppo di componenti business e di persistenza in Java Enterprise Edition.

Destinatari

Il corso si rivolge a tutti i capi progetto, gli architetti software, gli analisti / analisti programmatori, gli sviluppatori e gli specialisti ICT con esperienza nel linguaggio Java e nei database relazionali, interessati allo sviluppo di applicazioni con utilizzo di strumenti avanzati di collegamento a basi di dati.

Prerequisiti

Per seguire con profitto il corso è richiesta:

  • ottima conoscenza del linguaggio Java
  • ottima conoscenza delle basi di dati e del linguaggio SQL
  • conoscenza basilare della lingua inglese tecnica

Programma

Riepilogo dell'Architettura Java EE

  • Architettura Java EE
  • Application Servers
  • Componenti e Container
  • Architettura a tre strati e separazione dei ruoli
  • Design Patterns per Java EE

Enterprise Java Beans
  • Struttura e logica di un EJB
  • Middletier implicito ed esplicito
  • Tipi di EJB

Implementare Session Beans 3.0
  • Session Beans Stateless e Stateful
  • Interfacce di Business Locali e Remote
  • Callback per il ciclo di vita
  • Annotazioni e Deployment Descriptor

Introduzione e approcci alla persistenza dei dati
  • Java Data Base Connectivity
  • Object Relationship Mapping
  • Cenni a Java Data Objects

Entity Bean 3.0 e Java Persistence API
  • Classi Entità
  • Associare Entità e Tabelle
  • Chiavi primarie singole e multiple
  • Generazione di chiavi primarie
  • Associazioni e Relazioni
  • Mappatura di relazioni unidirezionali e bidirezionali
  • Entità ed Ereditarietà
  • Entity Manager
  • Operazioni con le Entità
  • Query e Named Query
  • Persistence Unit
  • Java Persistence Query Language
  • Callback e listeners per le Entità

JMS e Message Driven Bean
  • Java Messaging System
  • Principi delle architetture a messaggi
  • Domini di messaggi
  • Topic e Queue
  • Message Driven Beans
  • Ciclo di vita di un MDB
  • MDB non JMS mediante JCA

EJB Interceptors
  • Concetti basilari di Aspect Oriented Programming
  • Intercettare l'esecuzione di metodi di business
  • Intercettare l'esecuzione di eventi del ciclo di vita
  • Classi Listeners per gli EJB
  • Associare interceptors e listeners agli EJB

Transazioni ed EJB
  • Concetto e utilità delle transazioni
  • Isolamento delle connessioni
  • Demarcazione della transazione
  • Modalità di gestione della transazione
  • Gestione dichiarativa delle transazioni
  • Attributi di transazione
  • Propagazione delle transazioni
  • Transazioni ed Entità
  • Transazioni e Message Driven Beans
  • Uso delle eccezioni per il controllo della transazione
  • Stateful Beans e Session Syncronization
  • Transazioni e concorrenza
  • Lock ottimistico e versionamento automatico delle Entità

Sicurezza negli EJB
  • JAAS
  • Utenti e Ruoli
  • Autenticazione e Autorizzazione
  • Autorizzazione Programmatica e API relative
  • Autorizzazione dichiarativa mediante Annotazioni e XML
  • Autorizzazione e Message Driven Beans

Esempi ed esercitazioni

Certificazioni

Il corso non prevede percorsi di certificazione specifici.