<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns="http://purl.org/rss/1.0/"
 xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
 xmlns:admin="http://webns.net/mvcb/"
>

<channel rdf:about="http://www.siforge.org/articles/forum/../../articles/2002/12/04-eccezioni_java-3.html">
<title>[SIForge.org] Eccezioni Java #3: eccezioni e Object Orientation in pratica </title>
<link>http://www.siforge.org/articles/forum/../../articles/2002/12/04-eccezioni_java-3.html</link>
<description>Commenti all'articolo "Eccezioni Java #3: eccezioni e Object Orientation in pratica "</description>
<dc:language>it</dc:language>
<dc:publisher>redazione@siforge.org</dc:publisher>
<dc:creator>redazione@siforge.org</dc:creator>
<syn:updatePeriod>hourly</syn:updatePeriod>
<syn:updateFrequency>1</syn:updateFrequency>
<syn:updateBase>1901-01-01</syn:updateBase>
<items>
 <rdf:Seq>
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#48035694" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#24226630" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#77229806" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#10661657" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#76083241" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#55634353" />
  <rdf:li rdf:resource="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#41571668" />
 </rdf:Seq>
</items>
<image rdf:resource="http://www.siforge.org/images/skin/default/sidebar/icon32.gif" />
<textinput rdf:resource="http://www.siforge.org/articles/search/" />
</channel>

<image rdf:about="http://www.siforge.org/images/skin/default/sidebar/icon32.gif">
<title>SIForge.org</title>
<url>http://www.siforge.org/images/skin/default/sidebar/icon32.gif</url>
<link>http://www.siforge.org/</link>
</image>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#48035694">
<title>Gildo (27 nov 2003, 18:06:03)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#48035694</link>
<description>Non voglio lasciarvi senza notizie, ma non se ne fa niente! Lavoro da rifare! Chi conta ha deciso per le regole di business con il supporto di una classe 'Messaggio'.
... non mi piace per niente ... , ma...
un occhio alle soddisfazioni del lavoro, un occhio anche - e soprattutto - al portafoglio!
... legger&#242; l'articolo ...</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#24226630">
<title>STEFANO FAGO (27 nov 2003, 13:51:59)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#24226630</link>
<description>Un interessante articolo su validazione, eccezioni, regole ed altro: &lt;a href='http://aspectsecurity.com/stinger/article.html'>http://aspectsecurity.com/stinger/article.html&lt;/a> ...
</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#77229806">
<title>STEFANO FAGO (21 nov 2003, 10:41:29)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#77229806</link>
<description>...Interessante...&quot;Meccanismi di sicurezza sulla Logica di Sicurezza&quot;...Egr.Dott. &quot;Gildo&quot; facci sapere!!!...</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#10661657">
<title>Giovanni Giorgi (20 nov 2003, 19:17:58)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#10661657</link>
<description>
Riguardo a 
---
Abbiamo utilizzato le eccezioni per gestire se qualcosa va storto: l'utente non esiste, oppure, l'utente esiste ma la password &#232; errata, oppure, login e password sono corrette ma l'utente non ha una modalit&#224; di accesso sull'applicativo.

La domanda: &#232; corretto, in questa situazione, l'utilizzo delle eccezioni, oppure le risposte del sistema devono avvenire attraverso i meccanismi delle regole di business ? 
---
In generale sconsiglierei di usare le eccezioni in questi casi.
La ragione e' pratica: lanciare un eccezione e' un operazione enormemente lenta, perche' non sono state pensate per esprimere regole di business!

E' banale per un hacker costruire un programmino che forzi il sistema, per es tentando di far fare login ad un utente che non esiste.
Il risultato e' un DoS.

Mayer dice che le eccezioni sono come i pompieri che arrivano a spegnere l'incendio in casa: non li chiamiamo mica se qualcuno gioca solo con il citofono ;) </description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#76083241">
<title>STEFANO FAGO (20 nov 2003, 16:53:51)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#76083241</link>
<description>Per quella che &#232; la situazione esposta, mi sentirei di dire che l'approccio &#232; corretto specie se si riguardano le condizioni di errore come violazione del normale flusso applicativo...La cosa interessante &#232; sapere se sono state usate eccezioni di runtime o checked...E' un discorso interessante che ha anche diversi indotti: regole di validazione, configurazione della validazione, strati di validazione, errori dello stesso meccanismo di validazione, etc...Se puoi dettagliare qualcosa in pi&#249; sarebbe bello approfondire, anche nella considerazione che molti framework esistenti utilizzano l'approccio &quot;ad eccezioni&quot;(alcune proposte interessano anche l'uso del web.xml di una web-app)...</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#55634353">
<title>Gildo (19 nov 2003, 17:39:03)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#55634353</link>
<description>Abbiamo sviluppato dei pacchetti applicativi con il controllo utenti (login-password) per determinare le modalit&#224; di accesso. Abbiamo scelto come politica di gestione dell'utente in ingresso un processo diviso in tre passi:

1   Verifica login
2   Verifica password
3   Estrazione della modalit&#224; di utilizzo (in dipendenza dall'utente e dall'applicativo cui &#232; rivolta la richiesta di ingresso)

Abbiamo utilizzato le eccezioni per gestire se qualcosa va storto: l'utente non esiste, oppure, l'utente esiste ma la password &#232; errata, oppure, login e password sono corrette ma l'utente non ha una modalit&#224; di accesso sull'applicativo.

La domanda: &#232; corretto, in questa situazione, l'utilizzo delle eccezioni, oppure le risposte del sistema devono avvenire attraverso i meccanismi delle regole di business ?
Grazie</description>
</item>

<item rdf:about="http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#41571668">
<title>Marco Lamberto (31 ott 2003, 21:32:01)</title>
<link>http://www.siforge.org/articles/forum/index.cgi/show/t20021204__eccezioni_java__3#41571668</link>
<description>Segnalo questo link, a mio avviso interessante, relativo ad una modifica del linguaggio nel JDK 1.4:

Throwing Checked Exceptions during Instance Initialization
&lt;a href='http://www.sys-con.com/story/?storyid=35532'>http://www.sys-con.com/story/?storyid=35532&lt;/a></description>
</item>

<textinput rdf:about="http://www.siforge.org/articles/search/">
<title>Ricerca</title>
<description>Cerca negli articoli pubblicati</description>
<name>s_query</name>
<link>http://www.siforge.org/articles/search/</link>
</textinput>

</rdf:RDF>
