25
EJB Enterprise Java Beans B. Pernici

EJB Enterprise Java Beans B. Pernici. Approccio Java

Embed Size (px)

Citation preview

Page 1: EJB Enterprise Java Beans B. Pernici. Approccio Java

EJBEnterprise Java Beans

B. Pernici

Page 2: EJB Enterprise Java Beans B. Pernici. Approccio Java

Approccio Java

OggettiJavaBeans

Oggettiapplicativi

Interprete Java(Java Virtual Machine)

OggettiJavaBeans

Oggettiapplicativi

Interprete Java(Java Virtual Machine)

RMI

Page 3: EJB Enterprise Java Beans B. Pernici. Approccio Java

Application server – architettura a componenti

ComponentiComponenti

Interfacce concordate specificate dall’architettura a componenti

Page 4: EJB Enterprise Java Beans B. Pernici. Approccio Java

Approccio EJB

• Separare logica applicativa dall’uso di servizi di middleware

• Gestione del “ciclo di vita” di un componente

Page 5: EJB Enterprise Java Beans B. Pernici. Approccio Java

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

Page 6: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 7: EJB Enterprise Java Beans B. Pernici. Approccio Java

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.

Page 8: EJB Enterprise Java Beans B. Pernici. Approccio Java

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)

Page 9: EJB Enterprise Java Beans B. Pernici. Approccio Java

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)

Page 10: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 11: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 12: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 13: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 14: EJB Enterprise Java Beans B. Pernici. Approccio Java

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

Page 15: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 16: EJB Enterprise Java Beans B. Pernici. Approccio Java

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

Page 17: EJB Enterprise Java Beans B. Pernici. Approccio Java

Session beans

• Stateless

• Stateful– Pooling– Passivation– Attivazione (ejbactivate)– cancellazione

Page 18: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 19: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 20: EJB Enterprise Java Beans B. Pernici. Approccio Java

Deployment

• Sessione– Nome– Home (classi)– Tipo (stateful/stateless)– Chi gestisce la transazione

• Da programma (con begin, commit, abort)

• Container (transazioni dichiarative): implicite, servizio transazionale

Page 21: EJB Enterprise Java Beans B. Pernici. Approccio Java

Entity beans

• loading e storing

• Bean-managed persistence

• Container-managed persistence

Page 22: EJB Enterprise Java Beans B. Pernici. Approccio Java
Page 23: EJB Enterprise Java Beans B. Pernici. Approccio Java

Deployment descriptor

• Entity– Classi (per entita’)– Persistenza (bean/container managed)

• Risorse– JDBC

• Assembly– Metodi transazionali

Page 24: EJB Enterprise Java Beans B. Pernici. Approccio Java

Message beans

• Message middleware

• JMS: – Principali domini (domain):

• Publish/subscribe (pub/sub)

• Point-to-point (PTP) – ogni msg consumato una volta sola

Page 25: EJB Enterprise Java Beans B. Pernici. Approccio Java