Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo...

25
Java Enterprise Edition (JEE)

Transcript of Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo...

Page 1: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

Java Enterprise Edition (JEE)

Page 2: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

2

JEE: cos’è

Insieme di specifiche per:

il progetto

lo sviluppo

l’assemblaggio

l’installazione

di applicazioni enterprise multi-tier.

PIATTAFORMA

Page 3: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

3

Model – View – Controller (1)

Page 4: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

4

Model – View – Controller (2)

Page 5: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

5

Specifiche

Riguardano:

tier (livelli funzionali)

container e componenti

ruoli

servizi

tecnologie di servizi

tecnologie di comunicazione

Page 6: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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.

Page 7: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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.

Page 8: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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.

Page 9: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

9

EJB tier (business tier)

Gestisce la logica applicativa (business logic) necessaria per il funzionamento dell’applicazione, implementata tramite componenti detti Enterprise JavaBeans.

Page 10: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

10

EIS tier

Integra l’applicazione JEE con altri sistemi informativi d’impresa, tipicamente database, sistemi ERP (Enterprise Resource Planning), sistemi informativi preesistenti.

Page 11: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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.

Page 12: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

12

Tier e Componenti

ComponentiWeb

ComponentiClient

ComponentiEJB

ComponentiEIS

Client tier Business tierWeb tier EIS tier

Middle tier

Page 13: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 14: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 15: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 16: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 17: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

17

Tier, container e componenti

Page 18: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

18

Interazioni tra componenti

Page 19: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 20: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

20

Tecnologie di servizi

Java DataBase Connectivity (JDBC)

Java Transaction API (JTA)

Java Transaction Service (JTS)

Java Naming and Directory Interface (JNDI)

Connector Architecture

Page 21: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 22: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

22

Modello JEE

Page 23: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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.

Page 24: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

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

Page 25: Java Enterprise Edition (JEE). 2 JEE: cosè Insieme di specifiche per: il progetto lo sviluppo lassemblaggio linstallazione di applicazioni enterprise.

25

Deployment

Installazione del modulo applicativo sull’Application Server.

Varia a seconda dell’Application Server.