Lezione 2 – EJB
Ingegneria del software
Modulo 3 - Tecniche d’implementazione
Unità didattica 1 - Ingegneria dei componenti
Ernesto Damiani
Università degli Studi di Milano
EJB (Enterprise Java Beans) (1)
• Inizi anni ‘90
– Si passa dal modello applicativo client-server a due
strati a modelli applicativi più flessibili a tre strati e
multistrato
– I nuovi modelli hanno separato la logica di business da
servizi di sistema e l’interfaccia utente, ponendola in uno
strato intermedio tra i due
• Servizi middleware
– monitor di transazioni, middleware per il recapito di
messaggi, intermediazione di richiesta oggetti
• Enfasi sui client leggeri e facili da attivare
EJB (Enterprise Java Beans) (2)
• Componenti lato server
• Alta disponibilità (24x7)
• Tollerante ai guasti
• Transazionale
• Ambiente multi-utente sicuro
J2EE (Java 2 Enterprise Edition)
• Piattaforma di sviluppo
– Portabile
– Multiutente
– Sicura
• EJB è un caposaldo di J2EE
• È una specificazione, non un prodotto
Tecnologie J2EE
• EJB (Enterprise JavaBeans)
• RMI (Java Remote Method Invocation)
• JNDI (Java Naming and Directory Interface)
• JDBC (Java Database Connectivity)
• JTA e JTS (Java Transaction API and Service)
• JPS (Java Servlets e Java Server Pages)
• Java IDL - implementazione CORBA di Sun
COM (Component Object Model)
• Microsoft COM è stato il primo modello a
componenti
• Viene da OLE (Object Linking and Embedding)
• DCOM (Distributed COM) consente la creazione e
l’accesso a oggetti COM su un’altra macchina
(nato nel 1996 con NT 4)
• Permette la comunicazione tra componenti
Disponibilità di COM
• Windows e Macintosh
• Software AG, Compaq hanno esteso il supporto
DCOM su molte piattaforme UNIX
• Il mercato principale di COM era focalizzato su
Windows
Un semplice oggetto COM
• Un oggetto COM ha metodi e uno stato
– Indipendenti dal linguaggio
• L’accesso avviene attraverso l’interfaccia
– Supporta più interfacce
Specificazione delle interfacce
• COM definisce uno standard a livello binario
– Implementazione delle interfacce indipendente dal
linguaggio
• Le interfacce sono definite in IDL (Interface
Definition Language)
• Un’interfaccia ha un GUID come identificatore
IUnknown
IDispatch
Interfacce
• Estensione dell’interfaccia esistente per
aggiungere nuove funzionalità
• Ad esempio, un vecchio word processor non
funziona con una nuova versione del
dizionario
Complementi sulle interfacce
• La nuova interfaccia aggiunge nuove
funzionalità
• Qui, entrambe le versioni di word processor
funzionano con tutte le versioni del dizionario
FINE
Scarica

EJB - Università degli Studi di Milano