ejb enterprise java beans b. pernici. approccio java
Post on 01-May-2015
221 Views
Preview:
TRANSCRIPT
EJBEnterprise Java Beans
B. Pernici
Approccio Java
OggettiJavaBeans
Oggettiapplicativi
Interprete Java(Java Virtual Machine)
OggettiJavaBeans
Oggettiapplicativi
Interprete Java(Java Virtual Machine)
RMI
Application server – architettura a componenti
ComponentiComponenti
Interfacce concordate specificate dall’architettura a componenti
Approccio EJB
• Separare logica applicativa dall’uso di servizi di middleware
• Gestione del “ciclo di vita” di un componente
Enterprise Jave Beans• JavaBeans:
– class Java con metodi get/set– Reusable components– Possono essere composti per creare applicazioni– Piu’ piccoli di EJB– Development components, possono contribuire a costruire un
EJB
• EJB– Deployable components:
• “vivono” in ambiente run-time: application server che ne gestisce il ciclo di vita (deploy)
– Tecnologia server-side
Architettura J2EE (Java 2 platform, enterprise edition)
J2EE server
Servizi
JNDI (naming and directory)
Transaction s.
Security s.
Database driver
JMS
Business partner,other system
Applets, applications,
CORBA clients
DBBack-end systems
servletsJSPs
EJBs
connectors
Legacy, ERP
Business partner,other system
Web services
techn. IIOP HTTP
JMS SQL (JDBC) Proprietary protocol Web services techn.
Ruoli
Costruisce applicazione
Costruisc
e EJB
Bean provider
Tool provider
EJB container/server provider
Appl. assembler
Fornisce strumenti
Fornisce EJB
container/server
deployer
deployment
Amministratore (mantiene il sistema)
Implicit middleware
• Remote interface (e local interface)• Con dichiarazioni (descrittore “deployment
descriptor”) – file XML
• Gestione degli Enterprise Beans in un “container”, instance pooling
• Request interceptor• Home interface• Servizi di ricerca di home interface (JNDI: Java
Naming and Directory Interface)
Tipi di Bean
• Session bean– rappresentano processi applicativi, azioni (“verbi”)
• Entity Bean– Rappresentano i dati applicativi, data objects (“nomi”)
• Message-driven bean– Simili a session beans, chiamate solo tramite messaggi
– Logica a livelli
Esempio: session beans che chiamano entity bean
• Session bean– Sportello bancario
(operazioni)– Autorizzazione carta
credito– Invio ordini– Motore per catalogo– Broker per asta– Router approvazione
acquisto
• Entity bean– Conto corrente
– Carta di credito
– Ordine, linea ordine
– Prodotto
– Offerta, voce
– Ordine di acquisto
Session beans
• Stateless
• Stateful– Pooling– Passivation– Attivazione (ejbactivate)– cancellazione
Deployment
• Sessione– Nome– Home (classi)– Tipo (stateful/stateless)– Chi gestisce la transazione
• Da programma (con begin, commit, abort)
• Container (transazioni dichiarative): implicite, servizio transazionale
Entity beans
• loading e storing
• Bean-managed persistence
• Container-managed persistence
Deployment descriptor
• Entity– Classi (per entita’)– Persistenza (bean/container managed)
• Risorse– JDBC
• Assembly– Metodi transazionali
Message beans
• Message middleware
• JMS: – Principali domini (domain):
• Publish/subscribe (pub/sub)
• Point-to-point (PTP) – ogni msg consumato una volta sola
top related