partner

Scritto il: martedì, 21 aprile 2009 - 15:00:44

News

Tutte le news del Jug!


Scritto il: lunedì, 5 ottobre 2009 - 10:41:45

# JAXItalia 2009, Milano 12-14 Novembre, Holiday Inn Assago

JAXItalia 2009  - Milano 12 – 14 novembre, Holiday Inn Assago

 

JAX, l’evento "made in Germany" leader in Europa dal 2001 su Java / architetture enterprise / SOA/ metodi agili sbarca finalmente anche in Italia!
I più noti ed acclamati speaker italiani tra cui Ugo Landini, Filippo Diotalevi, Gianugo Rabellino, Fabrizio Giudici, Giovanni Puliti, Bruno Bossola assieme a esperti di fama internazionale come Neal Ford, Brian McAllister, Scott Davis, Kito Mann ed altri ancora, si troveranno a Milano per discutere con la community italiana delle novità, delle metodologie e dei tools inerenti lo sviluppo in Java e nel mondo dell’Open Source.
 
Tre giornate di Sessions, Workshops, Keynotes, Short talks su JSF, Groovy, OSGi, Domain Driven Design, JRuby, Solid, Scala, Language Oriented Programming, RIA,…..
  • Giovedì: “Agile Methods and Tools Day“ + 2 full day Workshops  
  • Venerdì:  keynotes e sessions suddivise nelle aree tematiche
    • Enterprise
    • Web
    • Core
    • Agile
    • Emerging technologies
  • Sabato: giornata dedicata ai short talks del “Community Day” (accesso gratuito) + 2 full day Workshops 
 
Il tutto accompagnato dall’expo (venerdì e sabato) dove incontrare le aziende e fare networking!
Agenda a cura di Sebastian Meyen, Gianugo Rabellino e Filippo Diotalevi
 
Tariffa agevolata VERY EARLY BIRD per iscrizioni fino al 10 ottobre: 199€ al giorno!
Con il Super Conference Pass (3 giorni) ricevi inoltre un Netbook gratuito!

Segui anche tu le novità e gli updates relativi al programma e agli speaker che verranno a Milano, seguendoci su: www.jaxitalia.com
 
www.jaxitalia.com

Scritto il: martedì, 17 marzo 2009 - 18:37:15

# Session o Application scope?

Session o Application scope?

Proprio in questi giorni mi sono trovato ad intervenire su un applicativo con lo scopo di uniformare la produzione dei log e dare così la possibilità di redarre successivamente alcune statistiche. In quest'ottica è emersa la domanda di cui poi il titolo di questo breve articolo.

Ma facciamo un passo alla volta e partiamo prima dalle definizioni.

L'application scope è uno spazio di memoria dove è possibile salvare oggetti che sono poi accessibli da qualunque sessione dello stesso applicativo. Quindi una sola istanza di un oggetto visibile a tutti.

Il session scope è anch'esso uno spazio di memoria dove è possibile salvare oggetti ma, in questo caso, questi saranno visibili solo dalle servlet e dalle jsp della stessa sessione. Quindi un'istanza per ogni sessione.

Uso tipico del session scope è quello di immagazzinarvi le informazioni relative al livello di autorizzazione dell'utente. In questo modo, qualunque servlet o jsp necessiti di controllare il livello di accesso ad una data risorsa può recuperare l'informazione dalla sessione senza bisogno di accedere nuovamente alla base dati.

Tornando all'esempio pratico, nell'applicativo in questione è stato implementato un oggetto chiamato LoggerManager. Questo riceve in input delle stringhe, accede al file di log e scrive le informazioni sul filesystem.

Ecco quindi la domanda "dove salvare questo oggetto".

La risposta è facile: nell'application scope.

Questo per due ragioni. In primo luogo perch? l'oggetto in questione non ha nessun legame con l'utente che utilizza l'applicativo (e quindi nessun legame con una singola sessione); in secondo luogo, ma più importante, per una questione di accesso esclusivo al file di log.

Infatti, qualora il LoggerManager fosse salvato a livello di sessione e qualora due utenti si trovassero a utilizzare contemporaneamente l'applicativo, ci troveremmo ad avere due istanze di LoggerManager con una conseguente alta probabilità che queste cerchino di accedere contemporanemente al file di log.

Al contrario, ponendo LoggerManager a livello di application scope, avremo una sola istanza (comune a tutte le sessioni) e quindi un solo oggetto che accede al file di log (assicurandoci così un accesso esclusivo allo stesso).

 

di Luca Busnelli.