250 likes | 382 Views
Java Enterprise Edition (JEE). JEE: cos’è. Insieme di specifiche per: il progetto lo sviluppo l’ assemblaggio l’ installazione di applicazioni enterprise multi-tier. PIATTAFORMA. Model – View – Controller (1). Model – View – Controller (2). Specifiche. Riguardano:
E N D
JEE: cos’è Insieme di specifiche per: • il progetto • lo sviluppo • l’assemblaggio • l’installazione di applicazioni enterprise multi-tier. PIATTAFORMA
Specifiche Riguardano: • tier (livelli funzionali) • container e componenti • ruoli • servizi • tecnologie di servizi • tecnologie di comunicazione
Tier Un applicazione multi-tier JEE suddivide le proprie funzionalità attraverso quattro tier: • Client tier • Web tier • Enterprise JavaBeans tier (business tier) • Enterprise Information System tier Ogni tier fornisce servizi utilizzando risorse di altri tier.
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.
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.
EJB tier (business tier) Gestisce la logica applicativa (business logic) necessaria per il funzionamento dell’applicazione, implementata tramite componenti detti Enterprise JavaBeans.
EIS tier Integra l’applicazione JEE con altri sistemi informativi d’impresa, tipicamente database, sistemi ERP (Enterprise Resource Planning), sistemi informativi preesistenti.
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.
Client tier Web tier Business tier EIS tier Componenti Client Componenti Web Componenti EJB Componenti EIS Middle tier Tier e Componenti
Client tier Web tier Business tier EIS tier Componenti Client Componenti Web Componenti EJB Componenti EIS Middle tier 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.
Client tier Web tier Business tier EIS tier Componenti Client Componenti Web Componenti EJB Componenti EIS Middle tier 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.
Client tier Web tier Business tier EIS tier Componenti Client Componenti Web Componenti EJB Componenti EIS Middle tier Componenti EJB Gestiscono la business logicdell’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
Client tier Web tier Business tier EIS tier Componenti Client Componenti Web Componenti EJB Componenti EIS Middle tier Componenti EIS Vengono utilizzati per la memorizzazione dei dati di interesse aziendale. • Database • Sistemi ERP • Sistemi informativi • Sistemi per il processamento delle transazioni
Servizi • naming: permettono di individuare oggetti utilizzando un meccanismo di directory • deployment: permettono di personalizzare i componenti e le applicazioni nella fase di deploy tramite un file XML (deployment descriptor) • transazionali • di sicurezza: • autenticazione dell’utente • autorizzazione per l’accesso a risorse
Tecnologie di servizi • Java DataBase Connectivity (JDBC) • Java Transaction API (JTA) • Java Transaction Service (JTS) • Java Naming and Directory Interface (JNDI) • Connector Architecture
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
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.
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
Deployment Installazione del modulo applicativo sull’Application Server. Varia a seconda dell’Application Server.