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

Post on 01-May-2015

219 views 3 download

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.