Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni64 pagine

01 Javaee Intro

Caricato da

Fabio Rossoni
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni64 pagine

01 Javaee Intro

Caricato da

Fabio Rossoni
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Java

 Enterprise  [Link]  
Gabriele  Tolomei  
DAIS  –  Università  Ca’  Foscari  Venezia  
Administrivia  
• Durata:  60  ore  
– lezioni  teoriche  +  esercitazioni  [Link]  
• Materiale  DidaDco  
– slides  pubblicate  sul  sito  web  del  corso  
hGp://[Link]/teaching/yyyy-­‐2014/java-­‐ee/  
– risorse  online  
• ContaD:  
– [Link]@[Link]  
Requisi.  
• CostruD  base  di  programmazione  [Link]  
– if-­‐else,  for,  while,  etc.  
• Paradigma  di  programmazione  Object-­‐Oriented  
(OO)  
– sintassi  Java  
• Fondamen.  di  computer  networking  
– applicazioni  client/server  su  Web  
– HTML/XML  
– protocollo  HTTP  (richiesta/risposta)  
Programma  del  Corso  
• 09/01  –  Introduzione  
• 10/01  –  Java  Servlets  
• 16-­‐17/01  –  JavaServer  Pages  (JSP)  
• 23-­‐24/01  –  Lab:  Applicazione  “AffableBean”  
• 30-­‐31/01  –  Enterprise  JavaBeans  (EJB)  +  Lab  
Modulo  1:  Introduzione  
• Tecnologia  Java  
– 1  Linguaggio  vs.  4  PiaGaforme  
• La  piaGaforma  Java  Enterprise  [Link]  (Java  EE)  
– Applicazioni  Enterprise  
• Java  EE  [Link]  Servers  
– JBoss  
• Ambiente  di  sviluppo  
– Eclipse  
Modulo  1:  Introduzione  
• Tecnologia  Java  
– 1  Linguaggio  vs.  4  PiaGaforme  
• La  piaGaforma  Java  Enterprise  [Link]  (Java  EE)  
– Applicazioni  Enterprise  
• Java  EE  [Link]  Servers  
– JBoss  
• Ambiente  di  sviluppo  
– Eclipse  
Tecnologia  Java:  Premessa  
• Java  è  sia  un  linguaggio  di  programmazione  che  una  
pia1aforma  
– il  linguaggio  di  programmazione    è  un  linguaggio  “ad  alto  livello”  che  
supporta  il  paradigma  OO  
– la  piaGaforma  specifica  l’ambiente  in  cui  le  applicazioni  (programmi)  
scriGe  in  Java  vengono  eseguite  (Java  Run6me  Environment  o  JRE)  
• 1  Linguaggio  di  Programmazione  vs.  4  PiaGaforme  
– Java  Standard  [Link]  (Java  SE)  
– Java  Enterprise  [Link]  (Java  EE)  
– Java  Micro  [Link]  (Java  ME)  
– JavaFX  
Le  PiaGaforme  Java  
• TuGe  le  piaGaforme  Java  consistono  di  
– Java  Virtual  Machine  (JVM)  +  Applica6on  Programming  Interface  (API)  
• La  JVM  è  un  [Link]  programma  (interprete)  eseguito  su  uno  specifico  
sistema  ospite  (host)  che  consente  l’esecuzione  di  programmi  Java  
– JVM  interpreta  il  codice  intermedio  (bytecode  contenuto  in  file  .class)  risultato  
della  compilazione  del  codice  sorgente  (.java)  
• Esistono  varie  implementazioni  JVM,  una  per  ciascun  sistema  host  
supportato  
– Linux  x86/x64  
– Mac  OS  X  x64  
– Win  x86/x64  
– …  
• La  API  è  una  collezione  di  componen.  sonware  “standard”  messi  a  
disposizione  degli  sviluppatori  Java  per  creare  nuovi  componen.  e/o  
applicazioni  
Java:  Linguaggio  +  PiaGaforma  

Java  Language  

JDK   Java  API  


JRE  
JVM   JVM   JVM  

Host     Linux   Mac  OS  X   Windows  


Java:  Vantaggi  
• Portabilità  (“Write-­‐Once-­‐Run-­‐Anywhere”)  
– Applicazione  sviluppata  in  accordo  alle  specifiche  di  una  piaGaforma  
Java  e  compilata  su  un  determinato  host  
– Applicazione  eseguita  su  qualsiasi  altro  host  purché  questo  fornisca  
un’implementazione  della  stessa  piaGaforma  (JVM  +  API)  
– Ad  es.  applicazione  Java  SE  sviluppata/compilata  su  Windows  ed  
eseguita  su  Linux  
• Facilità  di  sviluppo  sonware  
• Sicurezza  
• …  
Java  SE  
• È  la  piaGaforma  di  riferimento  quando  si  parla  di  Java  
• Java  SE  API  fornisce  le  funzionalità  “core”  del  linguaggio  
– .pi  [Link]  (ad  es.,  int,  boolean,  char,  etc.)  
– classi  e  oggeD  base  (ad  es.,  Class,  Object,  String,  etc.)  
– classi  e  oggeD  per  [Link]  
• I/O  
• Security  
• Database  
• Graphical  User  Interface  (GUI)  
• XML  
• …    
Modulo  1:  Introduzione  
• Tecnologia  Java  
– 1  Linguaggio  vs.  4  PiaGaforme  
• La  piaGaforma  Java  Enterprise  [Link]  (Java  EE)  
– Applicazioni  Enterprise  
• Java  EE  [Link]  Servers  
– Jboss  
• Ambiente  di  sviluppo  
– Eclipse  
Java  EE  
• Realizza  una  piaGaforma  “standard”  per  lo  sviluppo,  
l’esecuzione  e  la  [Link]  di  applicazioni  enterprise:  
– Mul6-­‐6er  à  struGurate  a  “livelli”  
– Web-­‐enabled  à  accessibili  via  Web  
– Server-­‐centric  à  eseguite  in  uno  specifico  ambiente  server  
– Component-­‐based  à  [Link]  da  componen.  sw  in  esecuzione  su  
una  o  più  istanze  server  distribuite  
• Si  basa  sulla  piaGaforma  Java  SE  a  cui  aggiunge  specifiche  e  
strumen.  (API)  ad  hoc  
• Condivide  i  vantaggi  delle  applicazioni  Java  SE:  
– 1  specifica  standard  vs.  molte  implementazioni  
– implementazioni  disponibili  per  la  maggior  parte  di  sistemi  host  
– portabilità,  facilità  di  sviluppo,  riuso,  sicurezza,  etc.  
Applicazioni  Enterprise  
• Applicazioni  progeGate  e  sviluppate  per  risolvere  
problemi  .pici  delle  “grandi  aziende”  
• [Link]  anche  per  piccole  imprese/organizzazioni  
che  sfruGano  l’[Link]  grado  di  conneDvità  
ormai  raggiunto  
• Esempi:  
– E-­‐commerce  
– Online  Banking  
– …  
ArchiteGura  Mul.-­‐.er  
Client   Data  
Middle  Tier  
Tier   Tier  

• Modello  architeGurale  “astraGo”  per  applicazioni  enterprise  


– indipendente  dalle  scelte  tecnologiche  (linguaggio,  piaGaforma,  etc.)  
• Le  funzionalità  dell’applicazione  sono  suddivise  in  3  “livelli”  isola.  (Tiers):  
– Client  Tier  à  esegue  richieste  al  Middle-­‐.er  
– Middle  Tier  à  [Link]  le  richieste  provenien.  dai  clients  e  processa  i  da.  
dell’applicazione  
– Data  Tier  à  [Link]  i  da.  in  struGure  di  memorizzazione  permanen.  
• Java  EE  è  una  [Link]  realizzazione  del  modello  che  si  concentra  sul  
Middle  Tier  à  Java  EE  [Link]  Server  
Java  EE:  ArchiteGura  Mul.-­‐.er  

Java  EE  [Link]  Server  

Connector/
Web   Web   Legacy  
Messaging  
Client   Tier   Tier  
Tier  

B2B   Business   Data  Access   Data  


Client   Tier   Tier   Tier  

Client  Tier   Middle  Tier   Data  Tier  


Java  EE:  Client  Tier  
• Il  Client  Tier  comprende  gli  [Link]  client  che  
“[Link]”  l’applicazione  enterprise  comunicando  
con  il  Java  EE  [Link]  Server  
• I  clients  sono  di  solito  in  esecuzione  su  hosts  diversi  da  
quello  che  ospita  il  server  
• 2  .pi  di  [Link]  client:  
– Web  Client  à  un  browser  web  che  esegue  richieste  via  
HTTP  al  Web  Tier      
– B2B  Client  à  una  o  più  applicazioni  che  eseguono  richieste  
al  Business  Tier  tramite  SOAP/Web  Services  o  Java  RMI  
 
Java  EE:  Web  Tier  
• Il  Web  Tier  consiste  di  componen.  che  [Link]  le  
interazioni  tra  i  Web  client  e  il  Business  Tier  
• Funzioni  principali:  
– generazione  dinamica  (“on-­‐the-­‐fly”)  dei  contenu.  per  i  diversi  
client  
– raccolta  da.  di  input  che  gli  uten.  inviano  tramite  interfaccia  
Web  client  
– generazione  output  sulla  base  delle  componen.  del  Business  
Tier  
– controllo  del  flusso  di  navigazione  sul  client  
– mantenimento  dello  stato  per  una  sessione  utente  
– logica  [Link]  di  base  e  memorizzazione  temporanea  di  
informazione  all’interno  di  componen.  Java  (JavaBeans)  
Java  EE:  Web  Tier  
Tecnologia   Scopo  
Classi  Java  che  processano  le  richieste  HTTP  e  
Servlets   generano  dinamicamente  le  risposte  (HTML)  
Framework  per  il  design  dell’interfaccia  
JavaServer  Faces   utente  di  applicazioni  Web  
[Link]  applicazioni  JavaServer  Faces  che  
JavaServer  Faces  Facelets   usano  pagine  XHTML  anziché  JSP  
Insieme  di  tags  standard  usa.  in  JSP  e  
Expression  Language   Facelets  per  riferirsi  a  componen.  Java  EE  
Documen.  testuali  compila.  e  trasforma.  in  
JavaServer  Pages  (JSP)   Servlets  per  aggiungere  contenuto  dinamico  a  
pagine  HTML  
Tag  library  che  raccoglie  funzionalità  comuni  a  
JavaServer  Pages  Standard  Tag  Library   pagine  JSP  
OggeD  Java  per  la  memorizzazione  
JavaBeans  Components   temporanea  dei  contenu.  di  un’applicazione  
Java  EE:  Business  Tier  
• Il  Business  Tier  consiste  di  componen.  che  
forniscono  la  cosiddeGa  business  logic  
dell’applicazione  
• Per  “business  logic”  si  intende  l’insieme  del  
sonware  che  si  occupa  delle  funzionalità  di  un  
determinato  contesto  di  business  
• [Link]  il  “core”  dell’intera  applicazione  in  
quanto  vero  e  proprio  responsabile  della  fase  
di  processing  
Java  EE:  Business  Tier  

Tecnologia   Scopo  
Componen.  [Link]  dall’[Link]  Server  
Enterprise  JavaBeans  (EJB)   che  incapsulano  le  funzionalità  principali  
dell’applicazione  
API  per  la  creazione  di  Web  Services  REST  (via  
JAX-­‐RS  RESTful  Web  Services   HTTP  GET  e  POST)  
API  per  la  creazione  ed  il  consumo  di  Web  
JAX-­‐WS  Web  Service  Endpoints   Services  XML/SOAP  
API  per  il  mapping  tra  i  da.  contenu.  nei  
Java  Persistence  API  En..es   sistemi  di  memorizzazione  persistente  e  
corrisponden.  oggeD  Java  
Essenzialmente  EJB  che  non  richiedono  
 Java  EE  Managed  Beans   requisi.  di  sicurezza/transazionalità  
Java  EE:  Data  Tier  
• Il  Data  Tier  si  riferisce  alle  varie  “sorgen.  da.”  
cui  può  aDngere  l’applicazione  e  comprende:    
– [Link]  Database  Management  Systems  (MySQL,  
Oracle,  etc.)  
– Enterprise  Resource  Planning  Systems  (SAP)  
– Mainframes  (IBM  AS/400)  
• Le  sorgen.  da.  
– sono  localizzate  su  hosts  diversi  da  quello  su  cui  è  in  
esecuzione  il  Java  EE  [Link]  Server  
– vengono  accedute  dalle  componen.  del  Business  Tier  
Java  EE:  Data  Tier  

Tecnologia   Scopo  
API  a  basso  livello  per  l’accesso  ed  il  recupero  
Java  Database  [Link]  API  (JDBC)   dei  da.  memorizza.  su  suppor.  permanen..  
Tipicamente  usata  per  eseguire  query  SQL  ad  
un  [Link]  RDBMS  
API  per  la  creazione  di  Web  Services  REST  (via  
Java  Persistence  API   HTTP  GET  e  POST)  
API  per  la  creazione  ed  il  consumo  di  Web  
Java  EE  Connector  Architecture   Services  XML/SOAP  
API  per  la  definizione  e  la  [Link]  delle  
Java  [Link]  API  (JTA)   transazioni  tra  sorgen.  da.  [Link]  e  
distribuite  
Modulo  1:  Introduzione  
• Tecnologia  Java  
– 1  Linguaggio  vs.  4  PiaGaforme  
• La  piaGaforma  Java  Enterprise  [Link]  (Java  EE)  
– Applicazioni  Enterprise  
• Java  EE  [Link]  Servers  
– JBoss  
• Ambiente  di  sviluppo  
– Eclipse  
Java  EE  [Link]  Servers  
• Server  che  implementa  la  piaGaforma  Java  EE  
• Ospita  i  componen.  Middle  Tier  di  un’applicazione  
enterprise  mul.-­‐.ered  
• Fornisce  i  servizi  standard  specifica.  da  Java  EE  a  ques.  
componen.  soGoforma  di  container:  
– [Link]  della  concorrenza,  scalabilità  
– sicurezza  
– persistenza,  transazioni  
– [Link]  del  ciclo  di  vita  dei  componen.  sw  
• Java  EE  servers  “famosi”:  GlassFish  (Oracle),  JBoss  AS  (Red  
Hat),  WebLogic  (Oracle-­‐BEA),  WebSphere  (IBM),  etc.  
– hGp://[Link]/wiki/Comparison_of_applica.on_servers#Java    
 
Java  EE  Containers  
• Interfaccia  tra  un  componente  dell’applicazione  e  
le  funzionalità  di  “basso  livello”  fornite  dalla  
piaGaforma  per  supportare  quel  componente  
• Le  funzionalità  di  un  container  sono  specificate  
dalla  piaGaforma  
• Un  .po  di  container  per  ciascun  .po  di  
componente  
• Java  EE  Server  fornisce  ai  vari  containers  un  
ambiente  omogeneo  in  cui  è  [Link]  il  
funzionamento  di  ciascun  componente  
dell’applicazione  
Web  Container  
• Interfaccia  tra  le  componen.  web  ed  il  server  
web  
• Un  componente  web  può  essere  una  Servlet,  una  
pagina  JSF  o  JSP  
• [Link]  il  ciclo  di  vita  del  componente  
• Smista  le  richieste  ai  vari  componen.  
dell’applicazione  
• Fornisce  interfacce  verso  “da.  contestuali”  (ad  
es.  informazioni  sulla  richiesta  corrente)  
[Link]  Client  Container  
• Interfaccia  (gateway)  tra  le  applicazioni  client  
Java  EE  ed  il  server  Java  EE  
• I  clients  sono  [Link]  applicazioni  Java  SE  
che  usano  i  componen.  server  Java  EE  
• In  esecuzione  su  macchine  client  
(generalmente  diverse  dal  server  Java  EE)  
EJB  Container  
• Interfaccia  tra  Enterprise  JavaBeans  che  
implementano  la  business  logic  
dell’applicazione  e  il  server  Java  EE  
• In  esecuzione  sulla  macchina  che  ospita  il  
server  Java  EE  
• [Link]  l’esecuzione  dei  componen.  EJB  
dell’applicazione  
Java  EE  Server:  JBoss  
• Implementazione  open  source  delle  specifiche  Java  EE  
– JBoss  Enterprise  Middleware  Suite  (JEMS)  
• JEMS  [Link]:  
– Java  EE  [Link]  Server  (JBoss  AS,  Tomcat)  
– O/R  Mapping  e  Persistence  (Hibernate)  
– Portal  Playorm  (JBoss  Portal)  
– Business  Process  Management  and  Rules  (JBoss  jBPM,  
JBoss  Rules)  
– Object/Data  Cache  (JBoss  Cache)  
– Distributed  [Link]  Management  (JBoss  [Link])  
– Development  Tools  (JBoss  Tools  plugin  for  Eclipse)  
JBoss  AS:  Un  po’  di  storia…  
• ProgeGo  open  source  di  un  EJB  Container  
(1999)  
• Supporto  di  J2EE  server  (ver.  2.x)  
• Service-­‐oriented  Architecture  (ver.  3.x)  
• Supporto  di  Java  EE  1.4  +  EJB  3  (ver.  4.x)  
• Supporto  di  Java  EE  5  (ver.  5.x)  
• Supporto  di  Java  EE  6  (ver.  6.x)  
• Versione  aGuale:  JBoss  7.1.1  à  WildFly  8  
JBoss  AS  5.1  
• Java  EE  [Link]  Server  che  useremo  durante  il  
corso  
• JBoss  Web  à  Apache  Tomcat  6.0  
• JBoss  WS  3.0  à  Supporto  Web  Services  per  JAX-­‐
WS/JAX-­‐RPC  
• 2  nuove  configurazioni:  
– standard:  fully  Java  EE  
– web:  Java  Servlet/JSP  container  +  JTA/JCA  +  JPA  (il  
server  può  essere  acceduto  solo  via  HTTP)  
• Riferimento  documentazione:  
– hGp://[Link]/jbossas/docs/5-­‐[Link]  
JBoss  AS  5.1:  ArchiteGura  
JBoss  AS  5.x:  Requisi.  di  Sistema  

JBoss  5.x  
Java  SE  (JDK)   1.5+  
OS/Playorm   Any  Java-­‐compliant  
Main  Memory  (RAM)   512  MB  
CPU   400  MHz  
Disk   100  MB  
DB  ([Link])   Any  JDBC-­‐compliant  

NOTA:  JBoss  AS  non  richiede  l’intero  JDK,  per  cui  il  solo  JRE  è  sufficiente  per  un  
correGo  funzionamento  delle  applicazioni  in  ambiente  di  produzione.  
TuGavia,  JDK  è  [Link]  e  raccomandato  perché  fornisce  tools  extra  di  supporto  
JBoss  AS  5.1:  Directories  
• La  directory  “root”  di  installazione  è  riferita  come  
$JBOSS_HOME  (variabile  di  ambiente)  o  [Link]  (Java  
system  property)  e  [Link]:  

• Importante  conoscere  il  layout  delle  directories  per:  


– localizzare  le  librerie  
– aggiornare  la  configurazione  del  server  
– eseguire  il  deployment  di  applicazioni  e  servizi  
JBoss  AS  5.1:  Directory  bin  
JBoss  AS  5.1:  Directory  client  
JBoss  AS  5.1:  Directory  common  
JBoss  AS  5.1:  Directory  docs  
JBoss  AS  5.1:  Directory  lib  
JBoss  AS  5.1:  Directory  server  
JBoss  AS  5.1:  Directory  default/conf  
JBoss  AS  5.1:  Directory  default/data  
JBoss  AS  5.1:  Directory    
default/deploy  
JBoss  AS  5.1:  Directory    
default/deployers  
JBoss  AS  5.1:  Directory  default/lib  
JBoss  AS  5.1:  Directory  default/log  
JBoss  AS  5.1:  Directory  default/tmp  
JBoss  AS  5.1:  Directory  default/work  
JBoss  AS:  Startup  
• Su  Unix/Linux/Mac  OS  X  
– eseguire  via  shell  $JBOSS_HOME/bin/[Link]  
• Su  Windows  
– eseguire  via  shell  $JBOSS_HOME\bin\[Link]  
• Avvio  di  default  su  localhost  ([Link])  
• Possibile  avvio  come  “system  service”  
– il  server  viene  lanciato  all’avvio  dell’host  
JBoss  AS:  Startup  
Se  tuGo  va  a  buon  fine  su  h1p://localhost:8080/status…  
JBoss  AS:  Shutdown  
• Su  Unix/Linux/Mac  OS  X  
– /etc/init.d/jboss  stop  se  il  server  è  stato  avviato  
come  un  serivzio  di  sistema  
– $JBOSS_HOME/bin/[Link]  –S  
• Su  Windows  
– NET  STOP  JBoss  se  il  server  è  stato  avviato  come  un  
serivzio  di  sistema  
– $JBOSS_HOME\[Link]  
• Ctrl+C  
– se  il  server  è  stato  avviato  in  “foreground”  usando  lo  
script  run  
Eclipse  +  JBoss  AS  
• Ambiente  che  useremo  durante  il  corso  
• JBoss  AS  si  integra  con  Eclipse  tramite  un  set  di  
plugins  chiama.  JBoss  Tools  
• L’integrazione  consente  il  controllo  dell’intero  
ciclo  di  sviluppo,  deployement,  debugging,  
monitoring  di  applicazioni  Java  EE  
• Startup/Shutdown  del  server  JBoss  direGamente  
da  interfaccia  Eclipse  
• NOTA:  consigliato  mantenere  la  ges2one  di  JBoss  
separata  da  Eclipse  
Ciclo  di  Vita  Applicazioni  Java  EE  
• Ciclo  di  sviluppo/deployment  
– ProgeGazione  contenu.  [Link]  (HTML,  CSS,  etc.)  
– Sviluppo  contenu.  dinamici  (Servlets,  JSPs,  EJBs,  etc.)  
– Deployment  descriptors  ([Link],  [Link],  
ejb-­‐[Link],  etc.)  
– Packaging  (JAR,  WAR,  EAR,  etc.)  
– Deployment  packages  (JAR,  WAR,  EAR,  etc.)  su  Java  
EE  server  (JBoss  AS)  
– [Link]  applicazioni  Java  EE  in  esecuzione  sul  server  
Ciclo  di  Vita  Applicazioni  Java  EE  
Deployment  Descriptors  
• Sono  files  che  contengono  le  “istruzioni”  per  
un  dato  container  su  come  usare  e  [Link]  i  
componen.  Java  EE  
– Sicurezza  
– Transazioni  
– Persistenza  
• Customizzabili  (XML-­‐based)  
• [Link]  la  portabilità  dei  componen.    
Deployment  su  JBoss  AS  
• Deployment  (2  fasi):  
– Copia  dell’applicazione  (packaged)  all’interno  del  server  
specificato  da  ${[Link]}/deploy/  
– JBoss  si  occupa  di  rendere  l’applicazione  pronta  all’uso  
• Undeployment  (2  fasi):  
– Rimozione  dell’applicazione  (packaged)  dal  server  
specificato  da  ${[Link]}/deploy/  
–  JBoss  si  occupa  di  disinstallare  l’applicazione  ed  
eliminare  le  sue  risorse    
Deployment  su  JBoss  AS  
• Supporto  delle  dipendenze  necessarie  
• Hot  vs.  Cold  Deployment  
• Le  applicazioni  packaged  sono  “scompaGate”  
all’interno  della  directory  ${[Link]}/
deploy/  
– JBoss  elimina  il  contenuto  della  directory  ad  ogni  avvio  
• Re-­‐deployment  [Link]  di  tuD  quei  componen.  i  
cui  deployment  descriptors  vengono  modifica.  
mentre  JBoss  è  in  esecuzione  
• Supporto  di  “nested  deployments”  (ad  es.  WAR  
all’interno  di  un  EAR)  
Deployers  su  JBoss  AS  
• ArchiteGura  di  deployment  “estendibile”  
• Supporto  [Link]  per:  
– JAR  libraries  
– WARs  
– EARs  
– EJBs  
– Web  Services  
– Client  
– …  
Deployers  su  JBoss  AS:  WARs  
• Web  [Link]  ARchives  (.war)  
• [Link]  le  applicazioni  web  che  contengono  i  
seguen.  descriGori:  
– WEB-­‐INF/[Link]  
– WEB-­‐INF/jboss-­‐[Link]  (opzionale)  
– WEB-­‐INF/[Link]  (opzionale)  
Deployers  su  JBoss  AS:  EARs  
• Enterprise  [Link]  Archives  (.ear)  
• [Link]  le  applicazioni  enterprise  che  
contengono  i  seguen.  descriGori:  
– META-­‐INF/[Link]  
– META-­‐INF/jboss-­‐[Link]  (opzionale)  
Deployers  su  JBoss  AS:  EJBs  
• Enterprise  JavaBeans  (.jar)  
• [Link]  gli  archivi  di  EJB  che  contengono  i  
seguen.  descriGori:  
– META-­‐INF/ejb-­‐[Link]  
– META-­‐INF/[Link]  (opzionale)  
Hot  vs.  Cold  Deployment  
• Hot  
– Veloce  
– Rischio  di  eccezioni  sollevate  dal  ClassLoader  
– Proprietà  di  configurazione  non  riconosciute  
– [Link]  quando  i  cambiamen.  riguardano  JavaServer  Pages  
che  vengono  comunque  ricompilate  dal  Servlet  engine  
• Cold  
– Più  lento  ma  stabile  
– Richiede  lo  shutdown  di  JBoss  AS  
– Opzionalmente  rimuove  alcune  dir  temporanee  
– Re-­‐deploy  dell’applicazione  da  zero  
– Re-­‐start  di  JBoss  AS  
Esercitazione:  Deployment  
• Deployment  di  un  archivio  web  di  esempio  
([Link])  
• Avvio  di  JBoss  AS  
• Un-­‐deployment  (JBoss  in  esecuzione)  
• Shutdown/Startup  di  JBoss  
• Modifica  del  file  WEB-­‐INF/[Link]  

Potrebbero piacerti anche