Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo...
-
Upload
maura-tortora -
Category
Documents
-
view
219 -
download
3
Transcript of Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo...
Java Enterprise Edition (JEE)
2
JEE: cos’è
Insieme di specifiche per:
il progetto
lo sviluppo
l’assemblaggio
l’installazione
di applicazioni enterprise multi-tier.
PIATTAFORMA
3
Model – View – Controller (1)
4
Model – View – Controller (2)
5
Specifiche
Riguardano:
tier (livelli funzionali)
container e componenti
ruoli
servizi
tecnologie di servizi
tecnologie di comunicazione
6
Tier
Un applicazione multi-tier JEE suddivide le proprie funzionalità attraverso quattro tier:Client tierWeb tierEnterprise JavaBeans tier (business tier)Enterprise Information System tier
Ogni tier fornisce servizi utilizzando risorse di altri tier.
7
Client tier
Consente agli utenti l’interazione con l’applicazione JEE.
I programmi client traducono azioni e input dell’utente in richieste al server e presentano le risposte dal server in forma grafica.
8
Web tier
Rende le funzionalità dell’applicazione disponibili su Web.
Accede ai dati e alle funzioni di business di altri tier.
Gestisce il flusso di presentazione e il controllo dell’interazione con l’utente.
9
EJB tier (business tier)
Gestisce la logica applicativa (business logic) necessaria per il funzionamento dell’applicazione, implementata tramite componenti detti Enterprise JavaBeans.
10
EIS tier
Integra l’applicazione JEE con altri sistemi informativi d’impresa, tipicamente database, sistemi ERP (Enterprise Resource Planning), sistemi informativi preesistenti.
11
Componenti e Container
Un componente JEE è un’unità software funzionale che esegue una certa funzione applicativa all’ interno di un’applicazione JEE potendo interagire con altri componenti.
Ogni componente è gestito da un container che fornisce servizi di sistema come gestione delle risorse, delle transazioni, della sicurezza, della persistenza, del ciclo di vita, del threading.
12
Tier e Componenti
ComponentiWeb
ComponentiClient
ComponentiEJB
ComponentiEIS
Client tier Business tierWeb tier EIS tier
Middle tier
13
Componenti client
Web Browser: scarica pagine (anche dinamiche) HTML, WML o XML dal Web tier.
Applet: applicativo Java eseguito sulla JVM installata nel Web Browser.
Applicazione client: di solito ha un’intefaccia grafica creata tramite le API di Swing.
ComponentiWeb
ComponentiClient
ComponentiEJB
ComponentiEIS
Client tier Business tierWeb tier EIS tier
Middle tier
14
Componenti Web
Servlet: classe Java usata per la gestione delle richieste HTTP dai client, che vengono processate dinamicamente generando una risposta.
Java Server Pages (JSP): documenti text-based formati da codice statico HTML e codice Java necessario per generare contenuto dinamico.
ComponentiWeb
ComponentiClient
ComponentiEJB
ComponentiEIS
Client tier Business tierWeb tier EIS tier
Middle tier
15
Componenti EJBGestiscono la business logic dell’applicazione.
Ricevono dati dal proprio client (solitamente è il Web tier), li processano (se necessario) e li inviano al EIS tier per la loro memorizzazione (e viceversa).
Esistono tre tipi di EJB:
session bean
entity bean
message-driven bean
ComponentiWeb
ComponentiClient
ComponentiEJB
ComponentiEIS
Client tier Business tierWeb tier EIS tier
Middle tier
16
Componenti EISVengono utilizzati per la memorizzazione dei dati
di interesse aziendale.
Database
Sistemi ERP
Sistemi informativi
Sistemi per il processamento delle transazioni
ComponentiWeb
ComponentiClient
ComponentiEJB
ComponentiEIS
Client tier Business tierWeb tier EIS tier
Middle tier
17
Tier, container e componenti
18
Interazioni tra componenti
19
Servizi
naming: permettono di individuare oggetti utilizzando un meccanismo di directorydeployment: permettono di personalizzare i componenti e le applicazioni nella fase di deploy tramite un file XML (deployment descriptor)transazionalidi sicurezza: autenticazione dell’utente autorizzazione per l’accesso a risorse
20
Tecnologie di servizi
Java DataBase Connectivity (JDBC)
Java Transaction API (JTA)
Java Transaction Service (JTS)
Java Naming and Directory Interface (JNDI)
Connector Architecture
21
Tecnologie di comunicazione
Protocolli Internet: TCP/IP, HTTP, SSL
Protocolli RMI (Remote Method Invocation)
Tecnologie di messaging: JMS (Java Messaging System), JavaMail
Formato dei dati: HTML, XML, GIF, JPEG, JAR, Class
22
Modello JEE
23
Packaging
Strutturazione dei componenti di un’applicazione secondo uno schema definito dalle specifiche JEE.
Ogni componente è assemblato in un modulo assieme ad altri file e al deployment descriptor (DD) che è un file XML con i parametri di impostazione del componente per l’installazione.
24
Package
file .war: HTML, JSP, Servlet, classi di supporto e il DD web.xml
file .jar: EJB, classi di supporto e il DD ejb-jar.xml
file .ear: .war, .jar e il DD application.xml
25
Deployment
Installazione del modulo applicativo sull’Application Server.
Varia a seconda dell’Application Server.